劉 虎,段元梅
(湖南科技學(xué)院 信息工程學(xué)院,湖南 永州 425199)
隨著互聯(lián)網(wǎng)的日漸普遍以及移動(dòng)通信網(wǎng)絡(luò)的快速升級(jí)換代,移動(dòng)通信網(wǎng)絡(luò)開始出現(xiàn)了移動(dòng)銀行、電子商務(wù)等新興高新技術(shù)業(yè)務(wù),但是這些技術(shù)的背后埋藏了很多安全隱患,比如密碼的安全完備性問題、密碼存儲(chǔ)的安全性問題以及設(shè)置加密的安全性問題。文章主要關(guān)注連接的安全性問題,連接的安全性問題事關(guān)用戶安全以及透明性問題,是現(xiàn)代網(wǎng)絡(luò)信息傳輸?shù)闹匾芯坎糠种?使重要信息得以良好的保護(hù)。
數(shù)據(jù)加密即指一段明文數(shù)據(jù)通過加密算法轉(zhuǎn)換成不可讀數(shù)據(jù)(也稱“密文”),使其只能通過相應(yīng)解密手段后才能獲得原來明文數(shù)據(jù),通過數(shù)據(jù)加密,可進(jìn)一步有效保證數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸?shù)确矫娴陌踩訹1]。通過根據(jù)加密的結(jié)果是否可以解密,加密算法可被分為兩大類:可逆加密和不可逆加密。
可逆加密即可通過密文逆向解密獲得明文數(shù)據(jù)的加密,可通過密鑰完成對(duì)明文/密文的加密/解密,可逆加密可根據(jù)密鑰類型又可以分成對(duì)稱加密和非對(duì)稱加密。
(1)對(duì)稱加密。通過單個(gè)密鑰的加密算法,且這個(gè)密鑰可同時(shí)用于數(shù)據(jù)的加密與解密,其具有加密速度快、計(jì)算量小、適用于大量數(shù)據(jù)加密等特點(diǎn),不過其缺點(diǎn)也很明顯,安全性低,密鑰分配與管理任務(wù)會(huì)隨著數(shù)據(jù)的增加而不斷增加。常見的對(duì)稱加密有:DES,3DES,AES,PBE 等。
(2)非對(duì)稱加密。非對(duì)稱加密只有單個(gè)密鑰不同,非對(duì)稱加密需要公鑰和私鑰兩個(gè)密鑰進(jìn)行加密和解密,一般應(yīng)用場(chǎng)景:客戶端公鑰加密數(shù)據(jù),服務(wù)器私鑰解密,服務(wù)器持有私鑰進(jìn)行數(shù)據(jù)簽名,客戶端公鑰進(jìn)行驗(yàn)證。由于私鑰的存在,數(shù)據(jù)安全性得到了大大的增強(qiáng),但是由于其加密算法復(fù)雜,非對(duì)稱加密速度慢于對(duì)稱加密。常見的非對(duì)稱算法有:RSA,DSA,ECC 等。
不同于可逆加密使用密鑰完成對(duì)對(duì)明文/密文的加密/解密,不可逆加密不存在密鑰,直接通過加密算法處理成密文,且加密后的密文無法被解密,如a+b=7,可以得知結(jié)果是7,卻無法逆向得出a 與b 的值,由于數(shù)據(jù)無法被逆向破解,其數(shù)據(jù)安全保障進(jìn)一步得到提升,近年來不可逆加密的應(yīng)用領(lǐng)域正在逐漸增大,目前已知市面上黑客破解手段只有“字典窮舉”和“彩虹表”兩種方法。
常見的非對(duì)稱算法有:MD5,SHA,HMAC 等。
高校作為一個(gè)小型社會(huì)場(chǎng)所,在信息的傳播方面有著多樣的手段,如:黑板報(bào)、校園廣播、班級(jí)會(huì)議、互聯(lián)網(wǎng)等。作為信息的接收者學(xué)生,正流行的新的生活、學(xué)習(xí)方式。本文基于安卓手機(jī)系統(tǒng)的廣泛應(yīng)用范圍,提出一種信息傳播新方式——湘科院學(xué)生服務(wù)便利平臺(tái)。
本團(tuán)隊(duì)開發(fā)了一款A(yù)pp,名叫掌上科院,掌上科院(湘科院學(xué)生服務(wù)便利平臺(tái)App)是一款基于安卓平臺(tái)的應(yīng)用程序,以移動(dòng)通信技術(shù)為基礎(chǔ),以手機(jī)、平板電腦等智能終端設(shè)備為載體,實(shí)現(xiàn)學(xué)校教學(xué)、科研、管理等信息資源和相關(guān)資訊收集、傳輸、共享的客戶端軟件。其對(duì)教師、學(xué)生、學(xué)校管理者之間進(jìn)行有效的信息溝通具有重要作用。功能模塊(可更新):校內(nèi)動(dòng)態(tài)、成績(jī)查詢、課程表、校內(nèi)交流模塊、備忘事項(xiàng)及提醒、新生導(dǎo)航、社團(tuán)班級(jí)群管理。
用于用戶賬號(hào)或數(shù)據(jù)的檢測(cè),當(dāng)檢測(cè)到異常時(shí)進(jìn)行異常處理,一般與保護(hù)模塊相關(guān)聯(lián)。
(1)登錄狀態(tài)檢查。賬號(hào)異地登錄、異常登錄、異常操作等檢查。
(2)數(shù)據(jù)異常檢查。通常使用單變量異常檢測(cè)方法,該方法可以把極端值當(dāng)作異常值,涉及一些機(jī)器學(xué)習(xí)的算法,經(jīng)常用到OneClassSVM 向量機(jī),屬于無監(jiān)督的算法,它可以用來檢測(cè)新的樣本是否符合以前的數(shù)據(jù)分布,該算法主要有3 個(gè)參數(shù)。
第一,Kernel(核函數(shù))和Degree(級(jí)別),這兩個(gè)變量相關(guān),經(jīng)驗(yàn)來看,Kernel 默認(rèn)應(yīng)該為rbf,Degree 應(yīng)為3。
第二,Gamma 是與rbf 相關(guān)的參數(shù)。建議是該值設(shè)置較低為好,且越低越好,通常為實(shí)例數(shù)的倒數(shù)和變量數(shù)倒數(shù)之間的最小值。它決定了模型是否應(yīng)該符合某個(gè)精確的分布,區(qū)間為0 到1 的左開右閉區(qū)間,默認(rèn)是0.5,但這個(gè)值并不是最優(yōu)的,所以可以根據(jù)一個(gè)公式確定:nu_estimate=0.95?outliers_fraction+0.05。
第三,通常outliers_fraction 的區(qū)間在0.02~0.1。
通過這些方法來把后臺(tái)的數(shù)據(jù)異常檢測(cè)部分搭設(shè)好,防止出現(xiàn)惡意數(shù)據(jù)以及其他不期望的數(shù)據(jù)存在。
(3)證書檢查。證書檢查可防止一些惡意攻擊。
(1)用戶身份認(rèn)證,通過一定的手段,完成對(duì)用戶身份的確認(rèn)。認(rèn)證方法有很多,基本可以分為:基于公鑰加密算法的認(rèn)證、基于共享密鑰的認(rèn)證、基于生物學(xué)特性的認(rèn)證。身份認(rèn)證常用的認(rèn)證形式有:認(rèn)證工具、靜態(tài)密碼、智能卡、短信密碼、動(dòng)態(tài)密碼、生物特征識(shí)別、雙因素、云證書等[2]。
(2)登錄認(rèn)證。當(dāng)一般用戶登錄成功后生成認(rèn)證標(biāo)志,類似于網(wǎng)站開發(fā)中的session。數(shù)據(jù)庫設(shè)置一個(gè)狀態(tài)位,并且保持訪問狀態(tài),一旦轉(zhuǎn)態(tài)位改變,就退出登錄。
(3)權(quán)限認(rèn)證。普通用戶、特殊用戶及管理員等不同賬戶之間有著不同的權(quán)限。普通用戶只有登錄認(rèn)證的權(quán)限,特殊用戶擁有查看部分后臺(tái)開放信息的權(quán)利,而管理員擁有所有權(quán)限,但是由唯一的機(jī)器碼以及標(biāo)識(shí)ID 確定,也就是只有一個(gè)管理員能存在,且只能由指定機(jī)器使用。
服務(wù)器方面寫一些過濾的策略,防止服務(wù)器被侵入??蛻舴矫嫦拗撇糠謾C(jī)器權(quán)限,設(shè)置一定的過濾原則,禁止敏感端口以及權(quán)限。該模塊需要一定的匯編能力編寫,因?yàn)榭赡苌婕耙恍┍容^底層的指令操作,否則用高級(jí)語言不太容易實(shí)現(xiàn)某些操作,因此系統(tǒng)只能做到利用工具進(jìn)行保護(hù)。
(1)防火墻是系統(tǒng)自帶的規(guī)則設(shè)置器,很好地利用系統(tǒng)自帶的規(guī)則調(diào)用同樣是很重要的安全手段,也是最基本的安全手段之一。設(shè)計(jì)人員可以利用防火墻做好服務(wù)端的安全防護(hù),可以利用免費(fèi)的服務(wù)器安全軟件,例如網(wǎng)站安全狗[3]。
(2)服務(wù)器定期自我查殺可有效防止木馬病毒的惡意破壞,可根據(jù)服務(wù)器質(zhì)量、開發(fā)人員等定制查殺規(guī)則。
利用加密標(biāo)準(zhǔn)進(jìn)行加密操作,使用高級(jí)語言即可,該方面的算法一般涉及哈希的算法,這些算法的好處也就是通過一定的規(guī)則生成數(shù)據(jù),還可以把數(shù)據(jù)進(jìn)行二次封裝,此處的二次封裝是指按約定添加某些特定的字符再生成數(shù)據(jù),因此也加大了反密碼難度。由于本設(shè)計(jì)屬于低成本系統(tǒng),雖然一般人不會(huì)想到用有比較強(qiáng)大的計(jì)算能力的機(jī)器去破解,但是本設(shè)計(jì)將設(shè)置一個(gè)合適的閾值來限制盡可能發(fā)生的破解問題。
(1)傳輸加密。通過哈希算法加密和不對(duì)稱加密相結(jié)合,組成一條比較可靠的數(shù)據(jù)傳輸通道。
(2)存儲(chǔ)加密。用戶密碼通過明文密碼經(jīng)過md5加密后,得到一次密文后加隨機(jī)鹽再次進(jìn)行md5 加密,經(jīng)過第二次加密后得到的密文存儲(chǔ)到數(shù)據(jù)庫。當(dāng)數(shù)據(jù)被竊取時(shí),這種二次加密可有效防止“暴力窮舉”和“彩虹表”等破解方式,這樣用戶密碼的安全性能得到極大的提高。
本文設(shè)置了一個(gè)任務(wù)計(jì)劃,觸發(fā)形式有兩種,一種是以時(shí)間為函數(shù)關(guān)系,進(jìn)行觸發(fā),即定時(shí)進(jìn)行觸發(fā)。還有一種即每當(dāng)發(fā)生一個(gè)警告程度較高的操作的時(shí)候進(jìn)行一次部分操作備份,借鑒了SQL 數(shù)據(jù)庫管理的部分理論知識(shí),該任務(wù)計(jì)劃必須登錄方可以查看,屬于特殊用戶的權(quán)限模塊。該模塊主要用于用戶意外中斷操作之后能重新回到上下文,代碼難度較高。