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