包空軍,孫占鋒
(鄭州輕工業(yè)大學(xué),河南 鄭州 450001)
計(jì)算機(jī)在各個(gè)領(lǐng)域當(dāng)中并被廣泛應(yīng)用,其中,企業(yè)隱私信息在網(wǎng)絡(luò)中的安全性越來越受到關(guān)注。為了保護(hù)企業(yè)的機(jī)密信息不被有意或意外泄露,數(shù)據(jù)泄漏防范技術(shù)應(yīng)運(yùn)而生。
李家春等[1]提出一種基于防止協(xié)作式位置信息攻擊的位置隱私保護(hù)方法,設(shè)計(jì)基于用戶與好友在線交互的關(guān)系強(qiáng)度計(jì)算方法,給出關(guān)系強(qiáng)度與位置隱私的相關(guān)性和量化方法,提出基于協(xié)同位置信息隱藏和時(shí)間調(diào)整的位置隱私保護(hù)算法。在twitter數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該方法能夠滿足用戶的位置隱私保護(hù)需求,且保護(hù)效果較好。王曉明等[2]提出一種無線網(wǎng)絡(luò)數(shù)據(jù)傳輸加密協(xié)議的設(shè)計(jì),利用AES加密算法加密用戶數(shù)據(jù)中的數(shù)據(jù)頭與數(shù)據(jù)體,根據(jù)TCP與UDP傳輸協(xié)議的不同屬性,設(shè)計(jì)對(duì)應(yīng)的數(shù)據(jù)加密方案。
上述兩種方法在一定程度上可以防止敏感信息的泄漏,但防止用戶通過非敏感數(shù)據(jù)和綜合其它外部知識(shí)間接推斷敏感信息的性能較差。為此提出一種網(wǎng)址鏈接數(shù)據(jù)防泄漏算法。其創(chuàng)新之處在于兩方面:一方面采用同態(tài)加密算法,在云模式下更好的控制子系統(tǒng),解決平臺(tái)重要信息泄露問題,實(shí)現(xiàn)信息的保密傳輸;另一方面通過混沌序列防泄漏算法的設(shè)計(jì),分析網(wǎng)址鏈接數(shù)據(jù)防泄漏算法的抗破譯能力,運(yùn)用密文數(shù)據(jù)統(tǒng)計(jì)呈現(xiàn)的狀態(tài),判斷該算法的防泄漏性能,有效提高安全性和運(yùn)行速度。
全同態(tài)加密保證了數(shù)據(jù)處理器處理后數(shù)據(jù)的明文信息,可以直接處理數(shù)據(jù)的密文,從而使用戶信息得到相應(yīng)的安全保障,但是其無法判斷數(shù)據(jù)是否為明文。因此,本文采用全同態(tài)加密算法,在操作密文的同時(shí),可以恢復(fù)明文[3-4],完善傳統(tǒng)的加密模式。
首先,所提方法的原始信息加解密示意圖如圖1所示。云背景下信息加解密如圖2所示。
圖1 原始信息加解密示意圖
圖2 云背景下信息加解密示意圖
如圖2所示,在信息加解密過程中,該系統(tǒng)可以向連接到服務(wù)器的多個(gè)用戶發(fā)送請(qǐng)求,但不利于隱藏和保護(hù)隱私信息。以上所有訪問都需要通過服務(wù)器進(jìn)行操作,訪問控制模型的設(shè)計(jì)是針對(duì)云服務(wù)的特殊環(huán)節(jié),主要是保證隱私訪問的安全性,即只有滿足信任級(jí)別的要求,才能授予權(quán)限[5],這確保了用戶可以在其清晰可控的范圍內(nèi)訪問網(wǎng)頁,也可以提高訪問級(jí)別,增加私有數(shù)據(jù)的保護(hù)程度,滿足用戶自身對(duì)網(wǎng)頁的應(yīng)用需求,保護(hù)私有數(shù)據(jù)。
需要對(duì)私有信息實(shí)施保護(hù)措施,Alice內(nèi)存在私有函數(shù)fA與私有信息xA,Bob將私有信息yB用私有公鑰kB實(shí)施加密,獲得E(y)傳輸?shù)紸lice,Alice利用私有函數(shù)fA加密私有信息xA與E(yB)。充分利用全同態(tài)性質(zhì)[6],函數(shù)fA將被隱藏處理,可通過Bob獲得E(fA(xA,yB))。Bob利用私有的私鑰加密操作D(E(fA(xA,yB)))=fA(xA,yB)。加密信息的處理過程在圖3中展現(xiàn)。
圖3 加密信息處理過程
圖3對(duì)數(shù)據(jù)信息進(jìn)行加密處理,Alice中存在私有函數(shù)fA,并運(yùn)用私有公鑰kB加密函數(shù)fA發(fā)送到Bob當(dāng)中。Bob根據(jù)私有信息xB運(yùn)算出E(fA)(xB)。利用同態(tài)性,對(duì)Bob的信息xB隱藏處理,獲得了E(fA(xB)),并將其發(fā)送給Alice。Alice用私鑰解密它以獲得fA(xB)。加密函數(shù)的處過程在圖4中展現(xiàn)。
通過以上研究,使用同態(tài)加密技術(shù)對(duì)重要數(shù)據(jù)進(jìn)行加密并存儲(chǔ)在云平臺(tái)上。在這個(gè)過程中,用戶使用的關(guān)鍵字是同態(tài)密文,因此不需要對(duì)密文數(shù)據(jù)進(jìn)行解密。這不僅保證了存儲(chǔ)在云存儲(chǔ)平臺(tái)上的用戶數(shù)據(jù)的安全性,也緩解了用戶對(duì)云平臺(tái)不完全信任的現(xiàn)象,在一定程度上保證了用戶的搜索隱私。
由于定量混沌系統(tǒng)的信息丟失之后[7],序列信息逐漸趨于零,很難保證長期預(yù)測的準(zhǔn)確性。另外,混沌同步是實(shí)現(xiàn)信息解密的關(guān)鍵手段,但由于相關(guān)信息在泄露之后,計(jì)算機(jī)系統(tǒng)只能恢復(fù)到整個(gè)系統(tǒng)的起始狀態(tài),所以,混沌序列的防泄漏方法被列為現(xiàn)代密碼學(xué)的一個(gè)重要研究前沿。
由于web鏈路數(shù)據(jù)在傳輸過程中穩(wěn)定性較差,并且伴隨著一定程度的離散現(xiàn)象發(fā)生,因此需要獲得離散時(shí)間動(dòng)態(tài)系統(tǒng)軌跡。一維離散非線性動(dòng)力系統(tǒng)定義表達(dá)式為
xn+1=T(xn)
(1)
在式(1)中,xn∈V,n=0,1,2,3…,而T:V→V作為映射過程,將網(wǎng)址實(shí)時(shí)狀態(tài)xn映射至下一個(gè)狀態(tài)xn+1。若從初始值x0開始并重復(fù)應(yīng)用T,則會(huì)獲取到序列{xn,n=0,1,2,3…},此序列代表離散時(shí)間動(dòng)態(tài)系統(tǒng)的軌跡。
非線性動(dòng)力系統(tǒng)具有隨機(jī)性,對(duì)初始值的設(shè)定有較高的要求,需要符合序列密碼的要求。設(shè)置從初始值的定義公式為
x0=μ×xn×(1-xn)
(2)
在式(2)中μ∈(0,4),xn∈(0,1)。當(dāng)μ∈(3.5699456…,4)時(shí),logistic映射序列呈現(xiàn)出混沌的狀態(tài)。因此,{xn,n=0,1,2,3…}從初始值x0在logistic映射的基礎(chǔ)上產(chǎn)生,展現(xiàn)出非周期且不收斂狀態(tài)。
公式中的logistic映射混沌系統(tǒng)生成的序列的概率分布函數(shù)P表達(dá)式即
(3)
通過P(x)能夠方便地計(jì)算出由Logistic映射產(chǎn)生的混沌序列進(jìn)行統(tǒng)計(jì)。在x的時(shí)間平均值,即混沌序列軌跡點(diǎn)的平均值表達(dá)式為
(4)
針對(duì)互相關(guān)函數(shù),分別選擇兩個(gè)初始值x0和y0,那么序列的互相關(guān)函數(shù)公式即
(5)
從以上分析可知,混沌動(dòng)力系統(tǒng)的形式簡單,對(duì)初始條件敏感,并且具有白噪聲的統(tǒng)計(jì)特性[8]。
該動(dòng)態(tài)系統(tǒng)中,實(shí)數(shù)序列映射到整數(shù)序列形成的偽隨機(jī)序列{xk}稱為加密密鑰序列,也就是在發(fā)送數(shù)據(jù)給對(duì)方之前對(duì)數(shù)據(jù)進(jìn)行加密,將加密后的數(shù)據(jù)發(fā)送給對(duì)方,解密后才能得到明確的文本,由此,本文采用一種Logistic混沌映射的防泄漏模型,進(jìn)行數(shù)據(jù)防泄漏設(shè)置,該模型如圖4所示。
圖4 混沌序列防泄漏模型
考慮序列的隨機(jī)性和加密速度,設(shè)計(jì)完整的網(wǎng)址鏈接數(shù)據(jù)防泄漏算法,在圖5中展現(xiàn)。
圖5 混沌防泄漏算法框圖
隨機(jī)數(shù)的間隔M取5為宜,而Yk取Xk小數(shù)點(diǎn)后的第4、5、6位,可以從根本上提升抗干擾能力[9]。已經(jīng)證明,為了克服轉(zhuǎn)換過程中的不利影響,可以去除一部分多余的數(shù)據(jù),因?yàn)橛脩艉茈y記住兩個(gè)浮點(diǎn)數(shù)作為密碼,在實(shí)際操作中需要將用戶記憶的字符串映射到X0和α當(dāng)中。
密碼分析的關(guān)鍵是獲得用戶設(shè)定的初始值x0或參數(shù)μ,將這兩個(gè)值作為浮點(diǎn)數(shù),設(shè)定計(jì)算機(jī)的浮點(diǎn)數(shù)的有效位數(shù)為16位,則15+15=30位的總數(shù)具有不確定性,其中可能組合數(shù)為1030。然而,現(xiàn)有的56bit DES防泄漏算法,對(duì)密鑰耗盡攻擊十分有效,即具有窮盡的譯碼安全性[10]。
為了提高對(duì)選擇明文攻擊的防御性,需要對(duì)Xn實(shí)施數(shù)據(jù)處理后,將Xn和Xn+1間的關(guān)系復(fù)雜化,以避免攻擊者通過簡單的操作求解μ的值。為了使其關(guān)系復(fù)雜化,利用區(qū)間取數(shù)的方法。如果Xn和Xn+1間有一個(gè)數(shù)字,那么兩者的關(guān)系為:
(6)
網(wǎng)站鏈接數(shù)據(jù)在傳輸過程中所得到的部分?jǐn)?shù)據(jù)是低價(jià)值數(shù)據(jù),需要將其預(yù)處理、過濾和安全存儲(chǔ),實(shí)現(xiàn)綜合處理,而隨著時(shí)間的推移,網(wǎng)站鏈接數(shù)據(jù)將會(huì)增加,因此要對(duì)網(wǎng)站鏈接數(shù)據(jù)進(jìn)行系統(tǒng)的管理、分類和定期清理。
采用混沌和色散的概念,使網(wǎng)站鏈接數(shù)據(jù)能夠隱藏冗余的明文信息,那么防漏系統(tǒng)幾回充分利用密文空間,即混沌序列充分利用防漏空間。此時(shí),明文和密鑰序列都被作為數(shù)據(jù)流的一個(gè)字節(jié),選取任意字節(jié)的明文m和密鑰k。設(shè)m取不同的值,即某一位出現(xiàn)0或1的概率不相等,并設(shè)出現(xiàn)0或1的數(shù)據(jù)位為單獨(dú)事件。設(shè)定第一明文字節(jié)出現(xiàn)1的概率為Q,在理想標(biāo)準(zhǔn)下,密鑰序列須符合白噪聲特性[12],即每字節(jié)出現(xiàn)0或1的概率相等,為0.5。加密后鏈接數(shù)據(jù)密文c第一位出現(xiàn)1的概率表達(dá)式為
Q(ci=1)=Q(mi=1,ki=0)+Q(mi=0,ki=1)
=Q×0.5+(1-Q)×0.5=0.5
(7)
因此,可以判斷加密密文的概率分布一致,至此實(shí)現(xiàn)網(wǎng)絡(luò)鏈接數(shù)據(jù)防泄漏算法設(shè)計(jì)。
為了驗(yàn)證本文所設(shè)計(jì)算法的防泄漏的有效性,在PC機(jī)上搭建了實(shí)驗(yàn)環(huán)境。硬件配置為:InterCorei5-2350M CPU @ 2.40GHz,8.0GB RAM。軟件環(huán)境為Windows 8 64位操作系統(tǒng),Matlab R 2014 b。此次實(shí)驗(yàn)使用麻省理工大學(xué)入侵檢測實(shí)驗(yàn)室的KDD99數(shù)據(jù)集,選取的數(shù)據(jù)標(biāo)簽分為正常數(shù)據(jù)(3542條)與DOS攻擊類數(shù)據(jù)(1458條)一共5000條數(shù)據(jù)。將文獻(xiàn)[1]方法與文獻(xiàn)[2]方法的數(shù)據(jù)保護(hù)方法作為對(duì)照組,并以生產(chǎn)不同長度明文的時(shí)間、入侵檢測率作為實(shí)驗(yàn)指標(biāo)。
針對(duì)不同明文生成長度,當(dāng)k=150和k=n1/2時(shí)的不同狀態(tài),對(duì)所需時(shí)間消耗進(jìn)行分析,具體內(nèi)容如表1所示。
表1 不同長度明文生成時(shí)間消耗
從表2可以看出,對(duì)于較小的文本,為了增加密文的抗攻擊性和防泄漏性,可以選擇不同k值的狀態(tài)進(jìn)一步確定。對(duì)容量較大的文本,選擇k值為k=n1/2。為減少明文的加密時(shí)間,可以選擇k=150。
為進(jìn)一步驗(yàn)證本文算法的數(shù)據(jù)防泄漏性能,將入侵檢測率作為實(shí)驗(yàn)指標(biāo),檢測出的攻擊數(shù)據(jù)占比越多,入侵檢測率越高,越能保護(hù)網(wǎng)絡(luò)鏈接數(shù)據(jù)的安全。在本實(shí)驗(yàn)中,將5000條數(shù)據(jù)隨機(jī)劃分為5組,每組1000條。用本文提出的網(wǎng)址鏈接數(shù)據(jù)防泄漏算法與文獻(xiàn)[1]以及文獻(xiàn)[2]方法檢測5組數(shù)據(jù)中的DOC攻擊數(shù)據(jù)。在MATLAB中,對(duì)5組數(shù)據(jù)實(shí)施分析操作,統(tǒng)計(jì)出不同方法的入侵檢測率。具體內(nèi)容如圖6所示。
圖6 不同方法的入侵檢測率對(duì)比圖
通過圖6可以看出,檢測5組數(shù)據(jù)過程中,對(duì)比的兩種方法入侵檢測率在30%~60%之間,本文算法的入侵檢測率則始終高于80%。是因?yàn)楸疚耐ㄟ^混沌序列抗泄漏算法的設(shè)計(jì),提高了對(duì)攻擊數(shù)據(jù)檢測精度,與其它兩種算法相比較而言更加可靠,且具有顯著優(yōu)越性。
1)為完善網(wǎng)址鏈接數(shù)據(jù)傳輸過程易發(fā)生隱私泄露的情況,提出一種網(wǎng)址鏈接數(shù)據(jù)防泄漏算法,基于同態(tài)加密算法構(gòu)建新的數(shù)據(jù)加密與存儲(chǔ)模式,當(dāng)密鑰值k=n1/2時(shí),其抗攻擊性和防泄漏性較強(qiáng)。
2)為了避免物理同步混沌系統(tǒng)中攻擊者入侵問題,利用計(jì)算機(jī)軟件實(shí)現(xiàn)了數(shù)據(jù)文件的加密,取得了滿意的效果,其入侵檢測率高于80%,當(dāng)密鑰值k=150時(shí),明文的加密時(shí)間較低,傳輸過程的運(yùn)行速度快。
3)受到實(shí)驗(yàn)平臺(tái)和現(xiàn)有技術(shù)的限制,所提方法只能單獨(dú)設(shè)置密鑰值,即只能滿足單一防御目標(biāo),下一階段研究重點(diǎn)要放在系統(tǒng)運(yùn)行過程復(fù)雜度上面,減少系統(tǒng)所占用的內(nèi)存,增加系統(tǒng)的同步處理能力。