李紅映,黃美麗,莫路鋒,*,盧尚林
(1.浙江農(nóng)林大學(xué),浙江 杭州 311300;2.浙江農(nóng)林大學(xué)信息工程學(xué)院,浙江 杭州 311300)
隨著信息技術(shù)的不斷發(fā)展,在各個(gè)領(lǐng)域中,對(duì)于數(shù)據(jù)信息的應(yīng)用成為了現(xiàn)實(shí)生活中不可或缺的部分[1]。正因如此,數(shù)據(jù)信息的安全問題也逐漸成為了目前社會(huì)中研究的重點(diǎn),為了有效地保護(hù)信息數(shù)據(jù)的安全,在數(shù)據(jù)進(jìn)行傳輸時(shí)需對(duì)數(shù)據(jù)進(jìn)行加密處理,隨之如何在多源異構(gòu)大數(shù)據(jù)環(huán)境下支持范圍密文內(nèi)高效的對(duì)數(shù)據(jù)進(jìn)行安全訪問卻成為了目前面臨的挑戰(zhàn)之一[2]。
文獻(xiàn)[3]提出無線通信網(wǎng)絡(luò)多維離散數(shù)據(jù)加密方法,該方法首先確定無線通信網(wǎng)絡(luò)中加密目標(biāo),并對(duì)多維離散數(shù)據(jù)加密目標(biāo)進(jìn)行聚類計(jì)算,隨之確定加密聚類中心;其次對(duì)加密目標(biāo)進(jìn)行AES加密計(jì)算,對(duì)加密數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換,實(shí)現(xiàn)多維離散數(shù)據(jù)的加密,該方法在對(duì)數(shù)據(jù)進(jìn)行加密時(shí),沒有對(duì)數(shù)據(jù)進(jìn)行過濾,不能清除虛假數(shù)據(jù)包,導(dǎo)致全局?jǐn)?shù)據(jù)初始化的時(shí)間較長。文獻(xiàn)[4]提出基于分層壓縮的數(shù)據(jù)加密方法,該方法以矢量數(shù)據(jù)結(jié)構(gòu)特點(diǎn)為依據(jù),通過最小編碼單元對(duì)線目標(biāo)和面目標(biāo)完成SEC壓縮,利用隨機(jī)置亂MCOS的平均點(diǎn)距離對(duì)矢量數(shù)據(jù)位置進(jìn)行加密,最終,通過XOR操作對(duì)MCOS頂點(diǎn)方向進(jìn)行循環(huán)加密,實(shí)現(xiàn)矢量數(shù)據(jù)幾何形狀的加密。該方法在對(duì)數(shù)據(jù)進(jìn)行加密時(shí),沒有對(duì)數(shù)據(jù)進(jìn)行過濾,不能把復(fù)雜數(shù)據(jù)序列進(jìn)行簡化,導(dǎo)致數(shù)據(jù)加密時(shí)間較長。文獻(xiàn)[5]提出基于嵌入式的數(shù)據(jù)加密方法,該方法首先建立混沌模型,通過混沌模型增強(qiáng)數(shù)據(jù)序列的隨機(jī)性,將數(shù)據(jù)的位置信息進(jìn)行置亂,最終通過嵌入式方式把明文數(shù)據(jù)的字節(jié)進(jìn)行替換,實(shí)現(xiàn)端到端的數(shù)據(jù)加密。該方法在對(duì)數(shù)據(jù)進(jìn)行加密時(shí),沒有對(duì)數(shù)據(jù)進(jìn)行過濾,沒有縮小數(shù)據(jù)范圍,不能保證數(shù)據(jù)信息的安全,導(dǎo)致對(duì)數(shù)據(jù)密文進(jìn)行搜索時(shí)間開銷較大。
為了解決上述方法存在的問題,提出多源異構(gòu)大數(shù)據(jù)下支持范圍密文搜索屬性加密方法,該方法首先對(duì)數(shù)據(jù)進(jìn)行過濾,其次通過密文搜索屬性加密方法對(duì)全局?jǐn)?shù)據(jù)進(jìn)行初始化,授權(quán)中心賦予密鑰來完成對(duì)數(shù)據(jù)的加密以及對(duì)用戶屬性的撤銷等,最終實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密以及在確保安全性的同時(shí)對(duì)密文完成檢索。
多源異構(gòu)大數(shù)據(jù)下的數(shù)據(jù)過濾方法其主要原理是:該方法的基礎(chǔ)是構(gòu)建一個(gè)密鑰池,并且設(shè)定只有固定基站可以對(duì)密鑰池進(jìn)行訪問,以及了解對(duì)應(yīng)編號(hào)和密鑰,對(duì)傳感器進(jìn)行設(shè)置之前,需從密鑰池中獲取較小的密鑰環(huán),并設(shè)定在該節(jié)點(diǎn)之內(nèi)[6];基站向簇頭發(fā)送數(shù)據(jù)時(shí),簇頭在收到基站的相應(yīng)命令的同時(shí),并對(duì)簇內(nèi)的每個(gè)節(jié)點(diǎn)發(fā)送采集數(shù)據(jù)的命令,簇內(nèi)節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行采集后,全部發(fā)送給簇頭;簇頭將接收到的全部數(shù)據(jù)信息進(jìn)行聚合操作,獲取的對(duì)應(yīng)數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行小波變換;利用魯棒性水印方式把簇頭數(shù)據(jù)以及當(dāng)前的時(shí)間戳進(jìn)行嵌入,獲取對(duì)應(yīng)數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行逆變換,最終完成對(duì)數(shù)據(jù)的剔除與過濾[7],具體步驟如下:
1)密鑰預(yù)置
對(duì)于建立的密鑰池,可表示為Ω={λ1,λ2,…,λn},其中密鑰子集表示為λi,并且全部的密鑰子集大小需相等以及滿足于λi∩λj=?。每個(gè)密鑰子集中所含有的密鑰個(gè)數(shù)表示為m,將密鑰子集定義為λi={kj|i×m≤j≤(i+1)×m-1},其中kj為密鑰,每個(gè)密鑰中含有兩部分,分別為kjE、kjd,kjE用于加密水印信息,kjd用于水印信息的嵌入和提取,且滿足于0 2)添加水印 當(dāng)密鑰預(yù)置完成后,若簇頭接收到基站發(fā)出命令時(shí),簇頭會(huì)對(duì)內(nèi)部的每個(gè)節(jié)點(diǎn)發(fā)送采集數(shù)據(jù)命令,進(jìn)行數(shù)據(jù)采集,最終將采集到全部數(shù)據(jù)傳輸?shù)酱仡^,簇頭會(huì)將接收到的數(shù)據(jù)進(jìn)行聚合操作,其得到聚合結(jié)果表示為D,完成對(duì)數(shù)據(jù)D的水印添加[8]。 3)數(shù)據(jù)過濾 圖1 數(shù)據(jù)D的小波變換系數(shù) 在多源異構(gòu)大數(shù)據(jù)下支持范圍內(nèi)且保證數(shù)據(jù)安全的環(huán)境下進(jìn)行密文搜索,密文搜索屬性加密是解決該問題的有效途徑,通過上述對(duì)虛假數(shù)據(jù)進(jìn)行剔除與過濾,將搜索范圍進(jìn)行縮小,為后續(xù)搜索數(shù)據(jù)的安全性作出鋪墊[10],密文搜索屬性加密方法的具體步驟如下所述。 假設(shè)全部用戶集合表示為SU,相同的授權(quán)中心集合表示為SA。每個(gè)授權(quán)中心都會(huì)給合法用戶分別賦予一個(gè)屬性集,分發(fā)的屬性集表示為ATTi,k,且(i∈SA,k∈SU)。計(jì)算全局每個(gè)用戶的私鑰公式如下: (1) 對(duì)用戶的屬性集進(jìn)行假設(shè),表示為ATTi,k(i∈SA,k∈SU),給定的用戶查詢關(guān)鍵詞表示為Q={q1,q2,…qk},搜索用戶選取的秘密隨機(jī)值表示為s,且s∈Ζp。此時(shí),通過Loc(·)函數(shù)把查詢關(guān)鍵詞qj所在位置映射到W中相應(yīng)位置,進(jìn)而實(shí)現(xiàn)關(guān)鍵詞的搜索,關(guān)鍵詞映射后位置表示為{Loc(j)∈[1,m]}j∈[1,k]。最終,將陷門發(fā)送到云服務(wù)器中,進(jìn)行相應(yīng)搜索。 當(dāng)云服務(wù)器接收到用戶的陷門后,首先對(duì)用戶的屬性進(jìn)行判斷,檢測該用戶是否滿足于密文的訪問結(jié)構(gòu),在訪問結(jié)構(gòu)Α中,賦予的相應(yīng)屬性集表示為I?{1,2,…,l},將I進(jìn)行定義,表示為 I={x,ρ(x)∈ATTi,k}(i∈SA,k∈SU) (2) 并且存在于{ωx∈Ζp}x∈I,使∑x∈Iωxλx=s2。在搜索過程中,不論查詢關(guān)鍵詞集合中所匹配的詞是所提取關(guān)鍵詞集中的原始關(guān)鍵詞還是語義的擴(kuò)展關(guān)鍵詞,只要查詢關(guān)鍵詞集Q出現(xiàn)在某個(gè)數(shù)據(jù)文件所提取的關(guān)鍵詞集W中,即存在Q?W,且E1=E2,即搜索成功。 (3) 2)公共屬性密鑰更新:首先將舊公共屬性密鑰和屬性更新后的新密鑰進(jìn)行輸入,其次授權(quán)中心AAi會(huì)將屬性密鑰進(jìn)行更新,得到新的公共屬性密鑰如下 (4) 由授權(quán)中心AAi將更新后的公共屬性密鑰進(jìn)行發(fā)布,以及將更新后的屬性版本號(hào)密鑰發(fā)送給全局用戶,最終,將屬性撤銷列表發(fā)送到云服務(wù)器當(dāng)中。 3)密文更新:將索引集和更新后的公共屬性密鑰進(jìn)行輸入,數(shù)據(jù)所有者將進(jìn)行索引操作。 4)用戶私鑰更新:當(dāng)用戶身份信息確認(rèn)時(shí),此時(shí)將現(xiàn)有的密鑰組件和屬性更新后的密鑰組件進(jìn)行輸入,進(jìn)而得到更新后的密鑰組件。 為了驗(yàn)證多源異構(gòu)大數(shù)據(jù)下支持范圍密文搜索屬性加密方法的可行性與有效性,需對(duì)多源異構(gòu)大數(shù)據(jù)下支持范圍密文搜索屬性加密方法進(jìn)行相關(guān)實(shí)驗(yàn),本次實(shí)驗(yàn)環(huán)境為:操作系統(tǒng)為Windows7,CPU是Intel Core i5-6700U,GPU為GeForce GTX1080,內(nèi)存大小為DDR32GB,開發(fā)環(huán)境為Keras2.1.0,開發(fā)工具使用的是PyCharm。 分別采用多源異構(gòu)大數(shù)據(jù)下支持范圍密文搜索屬性加密方法(方法1)、無線通信網(wǎng)絡(luò)多維離散數(shù)據(jù)加密方法(方法2)、基于分層壓縮的數(shù)據(jù)加密方法(方法3)進(jìn)行相關(guān)實(shí)驗(yàn),對(duì)比不同方法處于初始化階段所對(duì)應(yīng)的數(shù)據(jù)初始化時(shí)間開銷,對(duì)比結(jié)果如圖2所示。 圖2 對(duì)比不同方法的初始化時(shí)間開銷 據(jù)圖2數(shù)據(jù)可知,方法1的初始化時(shí)間要優(yōu)于方法2和方法3,因?yàn)榉椒?在對(duì)數(shù)據(jù)進(jìn)行加密與搜索前,對(duì)數(shù)據(jù)進(jìn)行過濾處理,有效的剔除虛假數(shù)據(jù)信息,因此,方法1處于初始化階段,取得了初始化時(shí)間上的優(yōu)越性,以及為后續(xù)的加密和搜索數(shù)據(jù)奠定了基礎(chǔ)。 通過對(duì)比不同方法處于加密階段所對(duì)應(yīng)的數(shù)據(jù)加密時(shí)間開銷,對(duì)比結(jié)果如圖3所示。 圖3 對(duì)比不同方法的加密時(shí)間開銷 分析圖3中數(shù)據(jù)可知,方法2和方法3的數(shù)據(jù)加密時(shí)間均低于方法1,證明方法1的加密時(shí)間較為理想,因?yàn)榉椒?在對(duì)數(shù)據(jù)進(jìn)行加密與搜索前,對(duì)數(shù)據(jù)進(jìn)行過濾處理,將復(fù)雜度較高的數(shù)據(jù)序列進(jìn)行優(yōu)化,縮小了加密范圍,使數(shù)據(jù)的加密時(shí)間得到提高。 通過對(duì)比不同方法處于搜索階段所對(duì)應(yīng)的密文搜索時(shí)間開銷,對(duì)比結(jié)果如圖4所示。 圖4 對(duì)比不同方法的搜索時(shí)間開銷 由圖4數(shù)據(jù)可知,方法1的密文搜索時(shí)間,要低于方法2和方法3,證明方法1的密文搜索速度更快,因?yàn)榉椒?是在對(duì)數(shù)據(jù)進(jìn)行過濾的基礎(chǔ)上對(duì)密文數(shù)據(jù)進(jìn)行搜索,數(shù)據(jù)經(jīng)過篩選,有效保留有用信息數(shù)據(jù)以及清除虛假信息,縮小搜索范圍的同時(shí)保證了數(shù)據(jù)的安全性,進(jìn)而提高了密文的搜索效率。 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)中存在著海量的傳輸數(shù)據(jù),對(duì)傳輸數(shù)據(jù)的安全性進(jìn)行管理與控制變得愈發(fā)重要。目前的數(shù)據(jù)加密方法在對(duì)數(shù)據(jù)進(jìn)行加密以及對(duì)加密后的數(shù)據(jù)進(jìn)行訪問時(shí),沒有對(duì)數(shù)據(jù)進(jìn)行過濾,導(dǎo)致全局?jǐn)?shù)據(jù)初始化的時(shí)間較長、數(shù)據(jù)加密的時(shí)間較慢以及對(duì)密文搜索的時(shí)間開銷較大。對(duì)此問題,提出多源異構(gòu)大數(shù)據(jù)下支持范圍密文搜索屬性加密方法,首先建立密鑰池,其次對(duì)數(shù)據(jù)進(jìn)行聚合操作完成水印的添加,最后利用小波變換完成數(shù)據(jù)的過濾,從而縮小了數(shù)據(jù)范圍,最終通過密文搜索屬性加密方法對(duì)全局?jǐn)?shù)據(jù)進(jìn)行初始化,以及授權(quán)中心初始化,生成用戶私鑰,并對(duì)全局?jǐn)?shù)據(jù)進(jìn)行加密,并生成相應(yīng)陷門,在此基礎(chǔ)上,對(duì)密文數(shù)據(jù)進(jìn)行搜索以及對(duì)用戶屬性的撤銷,進(jìn)而實(shí)現(xiàn)了對(duì)數(shù)據(jù)的加密以及對(duì)加密后的數(shù)據(jù)進(jìn)行搜索與訪問,該方法有效的解決了目前方法中存在的問題,縮短了數(shù)據(jù)加密時(shí)間的同時(shí)保證了對(duì)密文數(shù)據(jù)訪問的安全性。3 支持范圍密文搜索屬性加密方法
3.1 全局初始化
3.2 授權(quán)中心初始化
3.3 生成用戶私鑰
3.4 加密方法
3.5 陷門生成
3.6 搜索過程
3.7 用戶屬性撤銷
4 實(shí)驗(yàn)與結(jié)果
5 結(jié)束語