王學(xué)周
(萊蕪職業(yè)技術(shù)學(xué)院信息工程系,山東 濟南271100)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的用戶應(yīng)用互聯(lián)網(wǎng),用戶在互聯(lián)網(wǎng)中傳輸各種信息.由于網(wǎng)絡(luò)中數(shù)據(jù)越來越多,通常以明文形式保存在數(shù)據(jù)庫中,同時多跳網(wǎng)絡(luò)中敏感數(shù)據(jù)較多,數(shù)據(jù)的安全性越來越受到重視.若敏感數(shù)據(jù)遭到外泄,會產(chǎn)生麻煩,并且利益受損.敏感數(shù)據(jù)加密是一種保護數(shù)據(jù)安全的重要形式,即使盜取了數(shù)據(jù),但是沒有密碼,也解不開數(shù)據(jù),無法獲取敏感數(shù)據(jù)的詳細(xì)信息,因此對敏感數(shù)據(jù)進(jìn)行加密,保護數(shù)據(jù)信息的完整性[1].
全同態(tài)加密方法是一類具有代數(shù)同態(tài)屬性的加密方法,允許密文與密文之間進(jìn)行任意計算,其計算結(jié)果與明文對應(yīng)的加密結(jié)果相同.這種加密方法在數(shù)據(jù)的安全計算、云計算等領(lǐng)域得到了廣泛的應(yīng)用.文獻(xiàn)[2]提出多跳多策略屬性基全同態(tài)加密方案,提出了一個基于誤差學(xué)習(xí)(LWE)問題的高效的多跳多策略屬性基全同態(tài)加密方案,首先對單策略屬性基全同態(tài)加密方案適當(dāng)變形,其次將方案對應(yīng)到多用戶場景,最后,利用多跳多密鑰全同態(tài)轉(zhuǎn)化機制來實現(xiàn)新的參與方密文加入后的同態(tài)運算.但是該方法對多通道敏感數(shù)據(jù)進(jìn)行加密后,數(shù)據(jù)泄露量仍然較多,導(dǎo)致加密效果差.文獻(xiàn)[3]提出
面向云計算的同態(tài)加密改進(jìn)方法,該方案借鑒了ElGamal 算法和RSA 算法,利用中國剩余定理實現(xiàn),通過實驗測試,驗證了該方案的正確性和同態(tài)性.但是該方法在多通道敏感數(shù)據(jù)加密上的計算量高、密鑰尺寸大,導(dǎo)致加密時間長.
針對上述方法存在的問題,提出多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法.多跳網(wǎng)絡(luò)為一個可以不斷擴展的網(wǎng)絡(luò)架構(gòu),能夠?qū)崿F(xiàn)無線設(shè)備之間的傳輸,其核心是能夠讓網(wǎng)絡(luò)中的每個節(jié)點都接收與發(fā)送網(wǎng)絡(luò)信號.最后,為了保證所設(shè)計方法的有效性,進(jìn)行仿真實驗,結(jié)果表明,此次設(shè)計的多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法的加密數(shù)據(jù)泄露量比傳統(tǒng)方法的泄漏量少,加密效果好,加密時間短,較傳統(tǒng)方法更具優(yōu)勢.
在建立多通道敏感數(shù)據(jù)全同態(tài)加密機制之前,初始化多通道敏感數(shù)據(jù),生成密鑰函數(shù),多通道敏感數(shù)據(jù)采集模型如圖1所示.
圖1 多通道敏感數(shù)據(jù)采集模型Fig. 1 Multi channel sensitive data acquisition model
隨機抽取多通道中的敏感數(shù)據(jù)h→μ,輸出如下形式的密鑰:
根據(jù)密鑰生成公鑰函數(shù),如下:
其中,a與b分別代表隨機生成的加密元素.
將加密的明文數(shù)據(jù)看做明文多項式,將選取的元素構(gòu)成矩陣,輸出的密文如下述公式:
為進(jìn)一步加強多通道敏感數(shù)據(jù)全同態(tài)加密效果,為密鑰賦予攻擊方案,目的是避免外界對敏感數(shù)據(jù)的攻擊[4].在密鑰攻擊中,將解密預(yù)言機所查詢的矩陣列為一個單位向量,因此將隨機的加密值添加到密文中,在這一過程中,保證修改后的密文矩陣與其他密文矩陣一樣,以區(qū)分解密條件.因此,在上述矩陣中添加一行密文信息,得到如下矩陣:
為了擴展上述攻擊形式,利用上述矩陣進(jìn)行重復(fù)攻擊,以得到多通道敏感數(shù)據(jù)中一個解密密鑰的某個比特值[5].
對生成的密文向量截取后,密文與密鑰的內(nèi)積具有一定的改變,存在一定的變量,為了提高解密準(zhǔn)確性,定義一個算法,在密文向量中的每個元素截取n個比特位,截取后的向量為:
公式(5)中,c代表截取比特位的向量,代表解密密文的內(nèi)積參數(shù),wn為解密參數(shù)是否正確的判斷因子[6].
根據(jù)上述密鑰生成過程,僅僅用向量積會導(dǎo)致維數(shù)膨脹,若兩個密文相乘,其中一個密鑰會轉(zhuǎn)換到公鑰中[7].轉(zhuǎn)換后會生成較多的向量,這些向量是隨機存在的,將這些向量隨機方法矩陣行上,則滿足:
公式(6)中,Wg代表敏感數(shù)據(jù)的維向量,lq代表取整誤差,n代表密鑰轉(zhuǎn)換過程中產(chǎn)生的隨機整數(shù)[8].
經(jīng)過上述轉(zhuǎn)換,打包敏感數(shù)據(jù)加密密文,將加密密文放入到維數(shù)中,輸入隨機誤差向量,輸出相應(yīng)的密文:
公式(7)中,a、y分別代表隨機誤差向量,Δs代表q的密文,m為密鑰矩陣行對應(yīng)的比特向量[9].
上述完成多通道敏感數(shù)據(jù)全同態(tài)加密機制的建立,為多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密提供基礎(chǔ)依據(jù)[10].
在上述多通道敏感數(shù)據(jù)全同態(tài)加密機制建立完成的基礎(chǔ)上,對多通道敏感數(shù)據(jù)全同態(tài)加密,整個加密框架結(jié)構(gòu)如圖2所示.
在上述加密解密的過程中,會逐漸增加計算噪音,當(dāng)噪音超過計算范圍時,則會導(dǎo)致全同態(tài)加密后的數(shù)據(jù)與實際運算的結(jié)果不同[11].為避免因為噪聲較長,導(dǎo)致結(jié)果計算不準(zhǔn)確現(xiàn)象的發(fā)生,對多跳網(wǎng)絡(luò)中的解密電路壓縮,以減少密文噪音[12].在公鑰中添加私鑰信息,在對多通道敏感數(shù)據(jù)加密時使用這部分私鑰信息對密文預(yù)處理,在解密后,直接運算解密結(jié)果,表達(dá)式為:
得到上述結(jié)果后,還需要重加密處理,得到全同態(tài)加密方案,具體步驟如下:
step1:初始化,確定自己的進(jìn)程標(biāo)識符,讀取密鑰的同時加載全同態(tài)加密算法;
將多項式組進(jìn)行分解,表達(dá)式為:
公式(9)中,g為數(shù)據(jù)加密過程中的加密函數(shù),skˉ代表加密的密鑰個數(shù),為密文的復(fù)雜度.
采用上述方法反復(fù)更新密文,然后進(jìn)行下一次同態(tài)運算[14].
step2:多通道敏感數(shù)據(jù)分發(fā),獲取多調(diào)網(wǎng)絡(luò)中敏感數(shù)據(jù),將這些數(shù)據(jù)的節(jié)點信息散發(fā)到各個節(jié)點中;
step3:計算多通道敏感數(shù)據(jù),收集解密后數(shù)據(jù);
step4:對重加密過程優(yōu)化,將公鑰線性化提升為二次方形式,壓縮多通道敏感數(shù)據(jù)公鑰的壓縮尺寸[15].減少密鑰尺寸能夠擴大相應(yīng)的明文域,在這一過程中不用獲取多通道敏感數(shù)據(jù)的敏感信息,可以直接對密文直接計算.向密鑰控制中心生成請求,密鑰控制中心收到請求后根據(jù)敏感數(shù)據(jù)的安全參數(shù)生成私鑰與安全控制參數(shù).
step5:完成多通道敏感數(shù)據(jù)全同態(tài)加密,釋放資源,以此完成多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密.
上述分析從理論上驗證了此次設(shè)計的多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法的有效性,為保證其具有實際應(yīng)用意義,進(jìn)行實驗.并為了使實驗結(jié)果更具說明性,將此次設(shè)計的方法與基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法和面向云計算的同態(tài)加密改進(jìn)方法對比,對比三種方法的加密效果和加密時間.
圖2 全同態(tài)加密框架結(jié)構(gòu)圖Fig. 2 Structure diagram of fully homomorphic encryption framework
圖3 MapReduce集群網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)Fig. 3 Topology of MapReduce cluster network
其中,各個主機節(jié)點的硬件與軟件配置如表1所示.
表1 虛擬主節(jié)點配置參數(shù)Tab. 1 Configuration parameters of virtual master node
其中5個從節(jié)點的配置如表2所示.
表2 虛擬從節(jié)點配置參數(shù)Tab. 2 Configuration parameters of virtual slave node
數(shù)據(jù)庫表如圖4所示,分析圖4可知,上述數(shù)據(jù)庫還沒有被加密,分別使用基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法、面向云計算的同態(tài)加密改進(jìn)方法和本文方法對其加密,加密數(shù)據(jù)共包含200條,其中100條使用此次設(shè)計的方法進(jìn)行加密,另外100條采用傳統(tǒng)加密方法加密.
為了提高實驗結(jié)果的說明性,在實驗過程中,添加攻擊條件,每間隔2 min對于數(shù)據(jù)進(jìn)行一次攻擊,共進(jìn)行10次攻擊,每次攻擊10條信息,對比10次攻擊下,數(shù)據(jù)的泄露情況.為了保證實驗的嚴(yán)謹(jǐn)性,每次對數(shù)據(jù)的攻擊都保證相同的攻擊方式.
表3 加密數(shù)據(jù)泄露量對比Tab. 3 Comparison of encrypted data leakage volume
分析表3可知,基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法和面向云計算的同態(tài)加密改進(jìn)方法加密后的數(shù)據(jù)泄露量較多,每組實驗中都存在數(shù)據(jù)泄露現(xiàn)象.這是因為傳統(tǒng)方法是先將相關(guān)密文信息返回,然后解密之后再進(jìn)行計算,這種計算耗時較長,所以為數(shù)據(jù)攻擊帶來了條件,導(dǎo)致數(shù)據(jù)泄露情況多.而此次設(shè)計的方法數(shù)據(jù)泄露量較少,僅有第四組實驗和第八組實驗中,發(fā)生數(shù)據(jù)泄露情況,但是僅有一條數(shù)據(jù)發(fā)生泄露.因此,通過上述實驗?zāi)軌蜃C明,此次設(shè)計的多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法較基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法、面向云計算的同態(tài)加密改進(jìn)方法泄露數(shù)量少,加密效果好,為數(shù)據(jù)安全起到了一定的保障作用.
為了進(jìn)一步驗證本文方法的有效性,對基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法、面向云計算的同態(tài)加密改進(jìn)方法和本文方法的加密時間進(jìn)行對比,對比結(jié)果如圖5所示.
分析圖5可知,隨著數(shù)據(jù)長度的增長,三種方法的加密時間也在逐漸上升,而本文方法的加密時間上升幅度較小,且比基于誤差學(xué)習(xí)問題的高效的多跳多策略屬性基全同態(tài)加密方法和面向云計算的同態(tài)加密改進(jìn)方法的加密時間短.
圖4 實驗測試的明文數(shù)據(jù)庫表結(jié)構(gòu)Fig. 4 Table structure of plaintext database for experimental test
圖5 加密耗時對比結(jié)果Fig. 5 Encryption time comparison results
安全、高效的數(shù)據(jù)加密方法能夠改變網(wǎng)絡(luò)上的數(shù)據(jù)處理、傳輸和存儲方式,由于傳統(tǒng)的加密方法加密效果差,加密時間長,為此設(shè)計了一種多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法.并通過實驗驗證了此次設(shè)計的多跳網(wǎng)絡(luò)中多通道敏感數(shù)據(jù)全同態(tài)加密方法的有效性,符合全同態(tài)加密技術(shù)的研究趨勢,實際應(yīng)用意義強.雖然此次設(shè)計的方法取得了一定的成果,但是仍然存在一定的不足.主要的不足是密鑰尺寸還是相對較大,在下一步的研究中,在本文設(shè)計的基礎(chǔ)上,再次減少密鑰尺寸,從而保證多敏感數(shù)據(jù)的安全性.