• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      邊緣計(jì)算模式下密文搜索與共享技術(shù)研究

      2022-04-29 05:16:16王繼鋒王國峰
      通信學(xué)報(bào) 2022年4期
      關(guān)鍵詞:關(guān)鍵字密文密鑰

      王繼鋒,王國峰

      (1.西安交通大學(xué)管理學(xué)院,陜西 西安 710049;2.國網(wǎng)匯通金財(cái)(北京)信息科技有限公司,北京 100053;3.朗新科技集團(tuán)股份有限公司,江蘇 無錫 214135)

      0 引言

      隨著萬物互聯(lián)的高速發(fā)展,數(shù)據(jù)呈爆炸性趨勢增長,物聯(lián)網(wǎng)得到了快速發(fā)展[1]。2020 年,全球物聯(lián)網(wǎng)設(shè)備數(shù)量達(dá)到126 億[2],全球物聯(lián)網(wǎng)市場規(guī)模達(dá)到2 480 億美元,預(yù)計(jì)到2025 年全球物聯(lián)網(wǎng)市場規(guī)模將超過1.5 萬億美元[3]。隨著5G 通信、物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,中國物聯(lián)網(wǎng)市場規(guī)模由2015 年的7 510.6 億元增長至2019 年的15 700 億元[4],且2020 年中國新增5G 連接設(shè)備超過2 億個(gè),5G 基礎(chǔ)設(shè)施數(shù)量已躍居世界之首[5]。

      萬物互聯(lián)時(shí)代,每天產(chǎn)生的數(shù)據(jù)量急增,數(shù)據(jù)在地理上分散,對數(shù)據(jù)安全性和響應(yīng)時(shí)間都提出了更高的要求。云計(jì)算模式為大數(shù)據(jù)處理提供了高效的計(jì)算平臺(tái),但目前網(wǎng)絡(luò)帶寬的增長速度遠(yuǎn)遠(yuǎn)趕不上數(shù)據(jù)的增長速度[6-7]。因此需要解決帶寬和時(shí)延兩大瓶頸。邊緣計(jì)算在靠近數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣提供計(jì)算服務(wù)和存儲(chǔ)資源,這里的邊緣是指從云服務(wù)器到數(shù)據(jù)源之間的任意資源[6]。由于邊緣計(jì)算能夠在靠近終端設(shè)備的邊緣節(jié)點(diǎn)處理和存儲(chǔ)數(shù)據(jù),從而能夠較好地滿足實(shí)時(shí)響應(yīng)、多終端接入和節(jié)省網(wǎng)絡(luò)流量等需求,受到學(xué)術(shù)界和工業(yè)界的高度關(guān)注[8]。

      盡管邊緣計(jì)算具有諸多優(yōu)點(diǎn),但也面臨著各種隱私和安全威脅。作為云計(jì)算的拓展,邊緣計(jì)算仍具有與云計(jì)算相同的數(shù)據(jù)安全問題:用戶數(shù)據(jù)在云計(jì)算平臺(tái)存儲(chǔ)和計(jì)算,處于不可信環(huán)境中。針對此問題,用戶的數(shù)據(jù)在上傳至云計(jì)算平臺(tái)之前,可利用近數(shù)據(jù)端的邊緣節(jié)點(diǎn)直接對數(shù)據(jù)進(jìn)行計(jì)算和處理,以保護(hù)用戶隱私數(shù)據(jù),降低邊緣計(jì)算模式隱私泄露風(fēng)險(xiǎn)。由于邊緣節(jié)點(diǎn)介于本地用戶和云服務(wù)器之間,這一特性使在云計(jì)算模式中的典型的數(shù)據(jù)加密機(jī)制無法直接應(yīng)用于邊緣計(jì)算模式。因此,如何設(shè)計(jì)基于邊緣計(jì)算的隱私數(shù)據(jù)保護(hù)和共享方案成為研究的熱點(diǎn)和挑戰(zhàn)。

      本文利用邊緣節(jié)點(diǎn)位于用戶端這一優(yōu)勢,通過邊緣節(jié)點(diǎn)對用戶數(shù)據(jù)進(jìn)行加密,保護(hù)用戶隱私數(shù)據(jù),將密文上傳到云計(jì)算平臺(tái)。然而,云計(jì)算平臺(tái)難以對直接加密后的數(shù)據(jù)進(jìn)行計(jì)算和數(shù)據(jù)搜索。本文針對此問題設(shè)計(jì)了邊緣計(jì)算模式下密文搜索方案,使邊緣節(jié)點(diǎn)與云計(jì)算平臺(tái)協(xié)同配合,在邊緣節(jié)點(diǎn)加密數(shù)據(jù)的同時(shí),基于隱私保護(hù)數(shù)據(jù)構(gòu)建加密索引,將密文索引上傳到云計(jì)算平臺(tái),借助云計(jì)算平臺(tái)實(shí)現(xiàn)密文搜索功能,在保護(hù)用戶隱私數(shù)據(jù)的同時(shí),提供對加密數(shù)據(jù)的搜索功能。

      進(jìn)一步地,不同用戶的數(shù)據(jù)在不同邊緣節(jié)點(diǎn)加密,密鑰安全隔離,若數(shù)據(jù)上傳者和數(shù)據(jù)使用者位于不同邊緣節(jié)點(diǎn)下,如邊緣節(jié)點(diǎn)B 下的用戶需要訪問邊緣節(jié)點(diǎn)A 下的用戶上傳的數(shù)據(jù),就需要在不同邊緣節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)安全共享。本文結(jié)合基于身份加密和公鑰加密機(jī)制,實(shí)現(xiàn)密鑰在不同邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)之間安全分享,從而實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和安全共享。

      由于邊緣節(jié)點(diǎn)資源是動(dòng)態(tài)變化的,需要密文搜索與共享方案能夠根據(jù)業(yè)務(wù)和用戶的動(dòng)態(tài)需求,支持對文檔內(nèi)容進(jìn)行動(dòng)態(tài)更新,從而文檔資源可按需調(diào)整,提升方案的靈活性;另外,如果位于邊緣節(jié)點(diǎn)A 下的用戶移動(dòng)到邊緣節(jié)點(diǎn)B 下,要在邊緣節(jié)點(diǎn)B 下搜索原來的數(shù)據(jù),就需要對原來的密鑰、索引和相關(guān)數(shù)據(jù)進(jìn)行相應(yīng)遷移。針對此問題,本文設(shè)計(jì)了一種數(shù)據(jù)動(dòng)態(tài)更新方案,在邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)之間安全地同步和遷移索引,實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和動(dòng)態(tài)更新。

      本文的主要貢獻(xiàn)有以下幾點(diǎn)。

      1) 針對邊緣計(jì)算模式設(shè)計(jì)安全性高、實(shí)用性好的密文搜索方案,并從查詢性能和安全性方面對該方案進(jìn)行系統(tǒng)的定量分析。從性能和安全性分析方面可以看出,本文設(shè)計(jì)的密文搜索方案安全性高,不需要專門定制及修改當(dāng)前的云應(yīng)用程序,是保護(hù)用戶數(shù)據(jù)的有效解決方案。

      2) 提出一種數(shù)據(jù)安全共享方案,結(jié)合身份加密和公鑰加密,實(shí)現(xiàn)密鑰在不同邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)之間安全分享,從而實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和安全共享。

      3) 設(shè)計(jì)加密索引動(dòng)態(tài)更新方案,支持索引數(shù)據(jù)遷移同步,在添加、刪除或更新文檔內(nèi)容時(shí),依然支持用戶進(jìn)行數(shù)據(jù)搜索,使數(shù)據(jù)更新和數(shù)據(jù)搜索并行執(zhí)行,從而提高事務(wù)執(zhí)行效率。

      1 相關(guān)工作

      邊緣計(jì)算在數(shù)據(jù)源頭提供服務(wù),將原有云計(jì)算中心的部分或全部任務(wù)遷移到邊緣節(jié)點(diǎn)執(zhí)行,使其在很多物聯(lián)網(wǎng)應(yīng)用和移動(dòng)應(yīng)用上發(fā)揮巨大作用,如增強(qiáng)現(xiàn)實(shí)、圖像識(shí)別、網(wǎng)站性能優(yōu)化、智慧城市、車聯(lián)網(wǎng)等[7,9]。盡管邊緣計(jì)算具有諸多優(yōu)勢,但也面臨著數(shù)據(jù)隱私和安全威脅。本文假設(shè)邊緣節(jié)點(diǎn)部署在用戶側(cè),處于用戶可控范圍內(nèi),且是可信的;其他邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)部署在遠(yuǎn)端或云計(jì)算平臺(tái),處于半可信或惡意敵手的環(huán)境中。邊緣節(jié)點(diǎn)介于本地用戶和云計(jì)算平臺(tái)之間,可以很好地過濾和保護(hù)用戶數(shù)據(jù)隱私。

      1.1 數(shù)據(jù)隱私保護(hù)

      在用戶數(shù)據(jù)傳送到云計(jì)算平臺(tái)之前,對數(shù)據(jù)加密可以有效保護(hù)用戶的隱私數(shù)據(jù)。ShadowCrypt[10]利用瀏覽器插件對用戶數(shù)據(jù)做加密保護(hù),其針對的數(shù)據(jù)為文本型輸入數(shù)據(jù),不適用于更復(fù)雜的物聯(lián)網(wǎng)場景。Mylar[11]針對Web 應(yīng)用服務(wù)防止用戶隱私數(shù)據(jù)泄露,僅支持Meteor JavaScript 框架,向后兼容性不足。在邊緣計(jì)算模式下,方晨等[12]基于區(qū)塊鏈和聯(lián)邦學(xué)習(xí)實(shí)現(xiàn)邊緣計(jì)算隱私保護(hù);巫光福等[13]基于區(qū)塊鏈與云-邊緣計(jì)算混合架構(gòu)對車聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行安全存儲(chǔ)與共享;Kumari 等[14]基于Carmichael 定理的改進(jìn)同態(tài)加密方案保護(hù)醫(yī)療數(shù)據(jù)安全和隱私。

      在保護(hù)用戶數(shù)據(jù)隱私的前提下進(jìn)行數(shù)據(jù)計(jì)算操作,可首先在本地對數(shù)據(jù)做特殊加密操作,然后在密文上進(jìn)行計(jì)算。同態(tài)加密[15-17]和差分隱私[18-19]算法已廣泛應(yīng)用于此類場景。Lu 等[15]利用同態(tài)加密,為物聯(lián)網(wǎng)異構(gòu)設(shè)備設(shè)計(jì)了一種輕量級數(shù)據(jù)聚合方案,保護(hù)數(shù)據(jù)機(jī)密性和完整性,但沒有涉及身份隱私和移動(dòng)性。Lyu 等[20]設(shè)計(jì)了基于秘密共享和差分隱私的隱私保護(hù)數(shù)據(jù)聚合方案。該方案同樣不涉及移動(dòng)性。安全多方計(jì)算在多用戶之間進(jìn)行安全計(jì)算,同時(shí)保護(hù)各方輸入數(shù)據(jù)的隱私[21-22]。很多文獻(xiàn)使用混淆電路方法設(shè)計(jì)實(shí)際應(yīng)用協(xié)議,如人臉識(shí)別[23]和遠(yuǎn)程診斷[24],但這些方案需要很高的計(jì)算量及通信復(fù)雜度。基于秘密共享機(jī)制,Damgard 等[25]設(shè)計(jì)了一種用于相等性測試、比較和位分解的通用協(xié)議。為了提高效率,Nishide 等[26]構(gòu)建了用于求解2 個(gè)數(shù)大小關(guān)系的協(xié)議,不需要依賴位分解操作。Dinur 等[27]基于分布式離散對數(shù)問題設(shè)計(jì)了一個(gè)同態(tài)秘密共享協(xié)議。

      1.2 密文數(shù)據(jù)搜索

      針對密文數(shù)據(jù)搜索,Song 等[28]首先設(shè)計(jì)了一個(gè)可實(shí)用的方案,此方案搜索數(shù)據(jù)時(shí)需要云計(jì)算平臺(tái)對密文數(shù)據(jù)進(jìn)行全文掃描,具有一定的復(fù)雜度,安全性也需要進(jìn)一步提高。Curtmola 等[29]構(gòu)建倒排索引密文搜索方案,提高了安全性和搜索性能,但不支持文檔動(dòng)態(tài)更新。在邊緣計(jì)算模式下,王娜等[30]基于分塊技術(shù)設(shè)計(jì)了密文搜索方案;Li 等[31]利用云計(jì)算輔助設(shè)計(jì)了關(guān)鍵詞排序搜索方案;Liu 等[32]設(shè)計(jì)了適合于邊緣計(jì)算場景的數(shù)據(jù)安全搜索和存儲(chǔ)方案。

      為支持高級搜索功能,Kamara 等[33]通過維護(hù)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)密文搜索方案,實(shí)現(xiàn)動(dòng)態(tài)更新機(jī)制。Boneh 等[34]構(gòu)建關(guān)鍵字搜索公鑰加密(PEKS,public key encryption with keyword search)算法實(shí)現(xiàn)多用戶數(shù)據(jù)加密搜索,具有一定的時(shí)間開銷。Liu等[35]在PEKS 基礎(chǔ)上借助云計(jì)算平臺(tái)參與計(jì)算,以提高計(jì)算性能。

      1.3 密文安全共享

      用戶數(shù)據(jù)使用用戶對應(yīng)的密鑰進(jìn)行加密,密鑰是私有的。如果某一用戶A 想要向另一用戶B 分享自己的某加密文檔,用戶B 需要收到用戶A 的加密數(shù)據(jù),同時(shí)需要從用戶A 獲得密文數(shù)據(jù)對應(yīng)的密鑰,才能看到解密后的明文,所以加密密鑰需要在不同用戶之間安全地共享。

      在邊緣計(jì)算模式中,邊緣節(jié)點(diǎn)可對用戶數(shù)據(jù)進(jìn)行加密,同時(shí)管理數(shù)據(jù)密鑰。為實(shí)現(xiàn)不同邊緣節(jié)點(diǎn)下的用戶之間的數(shù)據(jù)共享,公鑰加密(PKE,public key encryption)機(jī)制可有效地在不同邊緣節(jié)點(diǎn)之間實(shí)現(xiàn)安全密鑰共享。但PKE 需確認(rèn)身份證書的合法性,判斷證書是否過期或撤銷,產(chǎn)生很多證書狀態(tài)查詢請求,降低通信效率。身份加密(IBE,identity based encryption)機(jī)制可解決身份驗(yàn)證問題,但需要確保生成和托管私鑰的計(jì)算節(jié)點(diǎn)是可信的。

      Shamir[36]基于IBE 提出一種加密和簽名方案,但不具備可完全實(shí)用性。Boneh 等[37]基于Weil 對設(shè)計(jì)了一種可實(shí)用的方案,但需要將私鑰進(jìn)行托管。為解決私鑰托管問題,文獻(xiàn)[38-39]利用IBE 和PKE進(jìn)行數(shù)據(jù)保護(hù),Lewko 等[40]設(shè)計(jì)多授權(quán)方的數(shù)據(jù)加密方案。在邊緣計(jì)算場景中,SHARE-ABE[41]基于屬性加密方案設(shè)計(jì)數(shù)據(jù)共享框架;Zhang 等[42]在移動(dòng)邊緣計(jì)算模式中設(shè)計(jì)一種抗密鑰濫用的輕量級數(shù)據(jù)共享方案。

      為了安全地在邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)之間分享密鑰,本文結(jié)合IBE 和PKE 設(shè)計(jì)密鑰安全共享方案,利用云計(jì)算平臺(tái)計(jì)算和存儲(chǔ)能力,實(shí)現(xiàn)不同用戶之間的密文共享機(jī)制。

      2 密文搜索與共享系統(tǒng)模型

      2.1 背景知識(shí)

      令{0,1}m代表所有m位字符串的集合。為從分布X中隨機(jī)取元素x,為從集合S中隨機(jī)取元素x,x←A′為經(jīng)過算法A′得到x。Zq為加法群{0,1,···,q-1},q為模。為Zq中去除單位元O的集合。對于足夠大的s和任意多項(xiàng)式p(·),若函數(shù)f滿足,則認(rèn)為f(s)為可忽略的。給定任意概率多項(xiàng)式時(shí)間算法A′,分布X和Y計(jì)算不可區(qū)分需滿足

      偽隨機(jī)函數(shù)f的安全性滿足{0,1}m×{0,1}n→ {0,1}s,其是多項(xiàng)式時(shí)間可計(jì)算的,其中,m,n,s> 0。對任意隨機(jī)函數(shù)F、概率多項(xiàng)式時(shí)間對手A、足夠大s和多項(xiàng)式p,有

      對稱加密算法E安全性滿足:對任意概率多項(xiàng)式時(shí)間對手A、足夠大s和多項(xiàng)式p,有

      其中,A得不到c的明文信息,|m0|=|m1|。若方案e=(K,E,De)滿足以上安全性,則具有選擇密文攻擊安全性,其中,K表示密鑰算法,E表示加密算法,De 表示解密算法。

      可搜索加密算法一般包含如下多項(xiàng)式時(shí)間算法。

      1) 密鑰生成算法。由安全參數(shù)s作為輸入,生成密鑰k,k=KeyGen(s)。

      2)索引生成算法。由文檔集合D和密鑰k作為輸入,生成索引I,I=BuildIndex(k,D)。

      3) 令牌生成算法。由密鑰k和關(guān)鍵字w作為輸入,生成搜索令牌Tw,Tw=Trapdoor(k,w)。

      4) 搜索算法。由搜索令牌Tw和索引I作為輸入,生成針對文檔集合D的查詢結(jié)果D(w),D(w)=Search(Tw,I)。

      針對密文搜索的攻擊主要有2 個(gè)目標(biāo),一是猜測用戶查詢的關(guān)鍵字,即得到查詢令牌和關(guān)鍵字的映射關(guān)系;二是猜測密文內(nèi)容。

      在密文搜索相關(guān)術(shù)語中,搜索模式是指對于返回結(jié)果相同的2 個(gè)搜索令牌,能否決定這2 個(gè)搜索令牌對應(yīng)于同一個(gè)關(guān)鍵字的概率不大于。訪問模式是指從返回結(jié)果中能夠獲取的信息,如判定2 個(gè)文檔同時(shí)含有的關(guān)鍵字的信息[43-44]。

      密文搜索安全性級別定義如下。

      選擇明文攻擊(CPA,chosen plaintext attack)安全性。在未查詢前提下,密文及索引不會(huì)泄露有關(guān)明文的任何信息,但有可能泄露其他信息,如文檔中關(guān)鍵字個(gè)數(shù)信息或位置信息。

      非自適應(yīng)選擇關(guān)鍵字攻擊(CKA1,non-adaptive chosen keyword attack)安全性。攻擊者在一次查詢的前提下,密文和索引除泄露搜索模式和訪問模式以外不會(huì)泄露其他有關(guān)明文和關(guān)鍵字的信息。

      自適應(yīng)選擇關(guān)鍵字攻擊(CKA2,adaptive chosen keyword attack)安全性。允許攻擊者在已搜索的令牌和搜索結(jié)果的基礎(chǔ)上發(fā)出查詢請求,密文和索引除泄露搜索模式和訪問模式以外不會(huì)泄露其他有關(guān)明文和關(guān)鍵字的信息。

      根據(jù)密文搜索泄露信息劃分安全等級從低到高排列如下。

      Le4:云計(jì)算平臺(tái)可以得知關(guān)鍵字在文檔中的具體位置和出現(xiàn)次數(shù)。

      Le3:云計(jì)算平臺(tái)可以得知哪些文檔中含有相同的關(guān)鍵字,關(guān)鍵字在文檔中第一次出現(xiàn)的位置(不知道具體每一次的位置和出現(xiàn)次數(shù))。

      Le2:云計(jì)算平臺(tái)可以得知哪些文檔中含有相同的關(guān)鍵字。

      Le1:僅當(dāng)用戶使用查詢功能時(shí),云計(jì)算平臺(tái)才能得知哪些文檔中含有相同的關(guān)鍵字。隨著用戶查詢次數(shù)逐漸增多,云計(jì)算平臺(tái)得知的信息也逐漸積累,該安全模型逐漸退化為Le2。

      Le0:在Le1 的基礎(chǔ)上,即使多次查詢也不暴露文檔中含有相同的關(guān)鍵字的信息。僅會(huì)暴露常規(guī)查詢統(tǒng)計(jì)信息(文檔的密文長度、查詢用戶的IP地址和查詢頻率等)。

      密文搜索的攻擊者的前置知識(shí)等級及關(guān)聯(lián)如圖1 所示。

      圖1 攻擊者的前置知識(shí)等級及關(guān)聯(lián)

      預(yù)知查詢信息。1) 部分查詢信息:例如文檔內(nèi)容為微信聊天記錄,攻擊者可以參考典型用戶的使用習(xí)慣,推測用戶關(guān)心的內(nèi)容和比較常用的關(guān)鍵字等。2) 部分查詢關(guān)鍵字:攻擊者知道某些確切的查詢關(guān)鍵字,即部分查詢令牌和對應(yīng)的關(guān)鍵字已泄露給了攻擊者,攻擊者試圖猜測所有的查詢關(guān)鍵字內(nèi)容。

      預(yù)知文檔信息。1) 部分文檔信息:例如文檔為郵件內(nèi)容,攻擊者可以根據(jù)用戶的身份大致知道郵件可能的類型,如財(cái)務(wù)報(bào)表、競拍的標(biāo)底、合同協(xié)議等。2) 部分文檔內(nèi)容:知道某些確切的文檔內(nèi)容或某些文檔的重要信息,知道文檔集合一定包含某些內(nèi)容,例如群發(fā)郵件被攻擊者獲取等。3) 所有文檔信息:不僅知道全部的明文文檔內(nèi)容,而且知道某些查詢對應(yīng)的確切關(guān)鍵字。

      針對密文搜索的攻擊者可分為2 種。1) 被動(dòng)攻擊者:遵從正常的服務(wù)流程,不主動(dòng)進(jìn)行攻擊,希望通過用戶的查詢猜測出“密文文檔內(nèi)容”和“查詢關(guān)鍵字內(nèi)容”。2) 主動(dòng)攻擊者:利用攻擊或欺騙手段獲取文檔集合中的某些選定文檔,或誘導(dǎo)用戶進(jìn)行某一選定的查詢。根據(jù)密文搜索攻擊相關(guān)文獻(xiàn)[43-44],攻擊方法可通過對明文及密文搜索過程和結(jié)果進(jìn)行統(tǒng)計(jì),利用查詢計(jì)數(shù)進(jìn)行查詢恢復(fù)攻擊(即查詢某關(guān)鍵字返回結(jié)果和對應(yīng)文檔個(gè)數(shù)),或根據(jù)關(guān)鍵字對或多個(gè)關(guān)鍵字在同一文檔中共同出現(xiàn)的概率進(jìn)行擬合和優(yōu)化得到明文內(nèi)容。

      2.2 系統(tǒng)模型

      邊緣計(jì)算由多個(gè)位于本地設(shè)備和云計(jì)算平臺(tái)之間的邊緣節(jié)點(diǎn)協(xié)同完成數(shù)據(jù)存儲(chǔ)與計(jì)算任務(wù)。一般而言,邊緣節(jié)點(diǎn)與用戶之間的鏈接和安全更可靠,與云計(jì)算平臺(tái)之間的交互和鏈接更穩(wěn)定。如在邊緣節(jié)點(diǎn)就是用戶的主機(jī)上的虛擬機(jī)或局域網(wǎng)服務(wù)器的場景下,用戶可以將隱私信息直接發(fā)送給邊緣節(jié)點(diǎn)處理,邊緣節(jié)點(diǎn)與用戶之間的可信度很高。再如某公司某一業(yè)務(wù)上云,該業(yè)務(wù)由不同部門合作完成,各部門位于不同地區(qū),相互之間存在數(shù)據(jù)交互。各部門分別在己方可信環(huán)境內(nèi)部署邊緣節(jié)點(diǎn),用于和云計(jì)算平臺(tái)及其他部門展開業(yè)務(wù)交互。這種情況下己方的邊緣節(jié)點(diǎn)被認(rèn)為是可信的,云計(jì)算平臺(tái)和其他部門的邊緣節(jié)點(diǎn)被認(rèn)為是“誠實(shí)而好奇”的半可信實(shí)體,己方部門用戶的數(shù)據(jù)隱私安全問題需要受到保護(hù)。

      邊緣計(jì)算模式下密文搜索與共享系統(tǒng)架構(gòu)由用戶、邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)3 個(gè)關(guān)鍵角色組成,如圖2 所示,利用邊緣節(jié)點(diǎn)位置和功能的特殊性,對用戶和云計(jì)算平臺(tái)之間的傳輸數(shù)據(jù)進(jìn)行加密和索引,以保護(hù)用戶的隱私數(shù)據(jù),并實(shí)現(xiàn)搜索功能;同時(shí)利用云計(jì)算平臺(tái)超強(qiáng)計(jì)算能力和超大存儲(chǔ)空間,存儲(chǔ)密文數(shù)據(jù)并維護(hù)和更新數(shù)據(jù)索引。用戶數(shù)據(jù)在邊緣節(jié)點(diǎn)處進(jìn)行加密,構(gòu)建索引,同時(shí)密文數(shù)據(jù)和加密索引同步更新到云計(jì)算平臺(tái)。當(dāng)用戶檢索數(shù)據(jù)時(shí),密文搜索功能由云計(jì)算平臺(tái)執(zhí)行,由云計(jì)算平臺(tái)返回相應(yīng)的密文數(shù)據(jù)。如果返回的密文在邊緣節(jié)點(diǎn)處有對應(yīng)的密鑰,則可直接解密返回給用戶;如果沒有對應(yīng)的密鑰,則需要和密鑰所在的邊緣節(jié)點(diǎn)進(jìn)行密鑰安全傳輸,獲得相應(yīng)的密鑰后即可對密文進(jìn)行解密。當(dāng)用戶對原始文件數(shù)據(jù)修改后,對應(yīng)的文件索引需要同步更新,以確保正確的檢索結(jié)果。

      圖2 密文搜索與共享系統(tǒng)架構(gòu)

      在密文搜索與共享系統(tǒng)架構(gòu)中,邊緣節(jié)點(diǎn)隱私保護(hù)機(jī)制通過識(shí)別和過濾應(yīng)用層協(xié)議來加密和保護(hù)用戶的隱私數(shù)據(jù)。隱私數(shù)據(jù)保護(hù)主要由以下功能模塊組成。

      1) 數(shù)據(jù)識(shí)別模塊。根據(jù)服務(wù)器名稱標(biāo)識(shí)(SNI,server name indication)、統(tǒng)一資源定位符(URL,uniform resource locator)等特征字段分析應(yīng)用協(xié)議,識(shí)別用戶隱私數(shù)據(jù)。通過分析請求內(nèi)容格式,找到要加密的數(shù)據(jù),以交給數(shù)據(jù)加密模塊加密明文數(shù)據(jù);并把要搜索的數(shù)據(jù)交給索引服務(wù)模塊構(gòu)建索引。

      2) 數(shù)據(jù)加密模塊。加解密用戶隱私數(shù)據(jù),針對屬于同一文件的用戶數(shù)據(jù),構(gòu)造密文元數(shù)據(jù)。元數(shù)據(jù)內(nèi)容包括密鑰標(biāo)識(shí)、邊緣節(jié)點(diǎn)標(biāo)識(shí)、特征標(biāo)識(shí)等。元數(shù)據(jù)存儲(chǔ)在邊緣節(jié)點(diǎn)處,用于標(biāo)識(shí)加密數(shù)據(jù),以便接收到密文數(shù)據(jù)時(shí),可以識(shí)別并找到對應(yīng)的密鑰進(jìn)行解密。解密操作根據(jù)元數(shù)據(jù)中的特征標(biāo)識(shí)定位到密文內(nèi)容,利用密鑰標(biāo)識(shí)獲得密鑰并解密。

      3) 索引服務(wù)模塊。當(dāng)用戶加密后的文件上傳到云計(jì)算平臺(tái)后,會(huì)返回對應(yīng)的文件標(biāo)識(shí)符。索引服務(wù)模塊得到文件標(biāo)識(shí)符和數(shù)據(jù)識(shí)別模塊緩存的明文數(shù)據(jù)并建立加密索引,在文件數(shù)據(jù)更新時(shí)維護(hù)和更新搜索索引。邊緣節(jié)點(diǎn)建立的索引同步更新到云計(jì)算平臺(tái),由云計(jì)算平臺(tái)融合和管理各邊緣節(jié)點(diǎn)上傳的索引數(shù)據(jù),形成統(tǒng)一的搜索索引,成為主索引。當(dāng)用戶文件更新后,邊緣節(jié)點(diǎn)形成索引更新數(shù)據(jù),并上傳到云計(jì)算平臺(tái),由云計(jì)算平臺(tái)在主索引上完成同步更新。典型步驟執(zhí)行過程如下。

      首先,數(shù)據(jù)識(shí)別模塊處理用戶數(shù)據(jù),識(shí)別并緩存要加密的隱私數(shù)據(jù)。然后,數(shù)據(jù)加密模塊生成密鑰加密數(shù)據(jù),將元數(shù)據(jù)附到密文頭部,并在數(shù)據(jù)庫中存放密鑰和密鑰標(biāo)識(shí);邊緣節(jié)點(diǎn)將加密后的文件數(shù)據(jù)發(fā)送到云計(jì)算平臺(tái)后,接收返回的文件標(biāo)識(shí)符。最后,索引服務(wù)模塊使用緩存的文件數(shù)據(jù)和文件標(biāo)識(shí)符建立索引,并將索引及時(shí)與云計(jì)算平臺(tái)同步。

      當(dāng)加密數(shù)據(jù)由云計(jì)算平臺(tái)返回后,數(shù)據(jù)加密模塊通過分析特征標(biāo)識(shí)定位密文數(shù)據(jù);根據(jù)密文頭部元數(shù)據(jù)中的密鑰標(biāo)識(shí)獲得對應(yīng)密鑰并解密,將明文數(shù)據(jù)返回給用戶。

      當(dāng)用戶輸入查詢內(nèi)容進(jìn)行搜索操作時(shí),邊緣節(jié)點(diǎn)根據(jù)查詢請求獲得要搜索的關(guān)鍵字,然后向云計(jì)算平臺(tái)發(fā)起檢索請求。云計(jì)算平臺(tái)根據(jù)檢索請求返回對應(yīng)的文件標(biāo)識(shí)符,用戶利用文件標(biāo)識(shí)符請求對應(yīng)的密文文檔,當(dāng)云計(jì)算平臺(tái)返回相對應(yīng)的密文文檔后,邊緣節(jié)點(diǎn)獲取密文文檔對應(yīng)的密鑰,解密并將明文數(shù)據(jù)返回給用戶。

      3 密文搜索與共享技術(shù)方案

      邊緣計(jì)算模式下密文搜索與共享技術(shù)利用邊緣節(jié)點(diǎn)對用戶數(shù)據(jù)加密,將密文上傳到云計(jì)算平臺(tái)上,需要針對密文數(shù)據(jù)實(shí)現(xiàn)搜索、共享和動(dòng)態(tài)更新等功能。本文針對此問題分別設(shè)計(jì)密文搜索、數(shù)據(jù)安全共享及索引動(dòng)態(tài)更新機(jī)制,使邊緣節(jié)點(diǎn)與云計(jì)算平臺(tái)協(xié)同配合,在邊緣節(jié)點(diǎn)加密數(shù)據(jù)的同時(shí),基于隱私保護(hù)數(shù)據(jù)構(gòu)建加密索引,借助云計(jì)算平臺(tái)實(shí)現(xiàn)密文搜索功能,同時(shí)實(shí)現(xiàn)索引數(shù)據(jù)同步和動(dòng)態(tài)更新方案,結(jié)合IBE 和PKE 實(shí)現(xiàn)密鑰安全共享,在保護(hù)用戶隱私數(shù)據(jù)的同時(shí),提供對加密數(shù)據(jù)的搜索、共享和動(dòng)態(tài)更新功能。

      3.1 密文搜索方案

      在邊緣節(jié)點(diǎn)處加密數(shù)據(jù)勢必與云計(jì)算平臺(tái)的數(shù)據(jù)計(jì)算功能產(chǎn)生沖突,如數(shù)據(jù)搜索功能。針對此問題,本文設(shè)計(jì)了基于加密索引的密文搜索方案,在保護(hù)用戶隱私數(shù)據(jù)的同時(shí),提供對加密數(shù)據(jù)的搜索功能。

      基于加密索引的密文搜索方案在云計(jì)算平臺(tái)執(zhí)行搜索和更新操作,搜索過程不泄露明文信息,只泄露一定的搜索模式和訪問模式。在邊緣節(jié)點(diǎn)處,每個(gè)關(guān)鍵字w被確定性加密成可搜索的令牌f(w),并對應(yīng)建立由|D(w)|+Ω個(gè)文檔節(jié)點(diǎn)組成的倒排列表,其中,D表示文檔集合,|D(w)|表示文檔集合D中含有關(guān)鍵字w的文檔的個(gè)數(shù),Ω表示填充節(jié)點(diǎn)個(gè)數(shù)。每個(gè)文檔節(jié)點(diǎn)包含兩部分,一部分是被加密的含有w的密文文檔的標(biāo)識(shí)符,另一部分是指向下一個(gè)文檔節(jié)點(diǎn)的指針。文檔節(jié)點(diǎn)以隨機(jī)順序排列。

      密文搜索索引結(jié)構(gòu)如圖3 所示,對于關(guān)鍵字K,經(jīng)確定性加密映射f得到令牌T,建立倒排列表L(T),長度為|D(w)|+Ω,Ω表示填充節(jié)點(diǎn)Δ的個(gè)數(shù),根據(jù)含有關(guān)鍵字的文檔個(gè)數(shù)調(diào)整Ω的大小,使每個(gè)關(guān)鍵字的倒排列表含有的節(jié)點(diǎn)個(gè)數(shù)一致。L(T)的每個(gè)節(jié)點(diǎn)包含含有關(guān)鍵字K的文檔Di的加密文檔標(biāo)識(shí)符,以及指向下一個(gè)節(jié)點(diǎn)的指針。給定關(guān)鍵字K,通過f得到令牌T,獲得對應(yīng)的倒排列表。

      圖3 密文搜索索引結(jié)構(gòu)

      基于加密索引的密文搜索方案索引建立過程如下。

      1) 邊緣節(jié)點(diǎn)從文檔中提取不同關(guān)鍵字,對關(guān)鍵字通過確定性加密f得到可搜索令牌T。

      2) 邊緣節(jié)點(diǎn)將令牌和相應(yīng)的密文文檔標(biāo)識(shí)符做映射并索引,并上傳加密索引到云計(jì)算平臺(tái)。

      3) 遇到搜索請求時(shí),邊緣節(jié)點(diǎn)首先解析關(guān)鍵字,得到對應(yīng)的令牌,并發(fā)送給云計(jì)算平臺(tái),由云計(jì)算平臺(tái)執(zhí)行搜索操作,返回密文文檔標(biāo)識(shí)符結(jié)果。

      在邊緣計(jì)算場景下,邊緣節(jié)點(diǎn)解密得到的密文文檔標(biāo)識(shí)符搜索結(jié)果后,根據(jù)用戶需求,把需要得到數(shù)據(jù)內(nèi)容的文檔標(biāo)識(shí)符發(fā)送給云計(jì)算平臺(tái)。當(dāng)接收到加密文檔數(shù)據(jù)后,邊緣節(jié)點(diǎn)解密相關(guān)文檔得到明文內(nèi)容。在搜索過程中文檔標(biāo)識(shí)符是加密的,從而無法利用查詢結(jié)果推斷關(guān)鍵字共現(xiàn)頻率,一定程度上隱藏了訪問模式。

      根據(jù)加密算法E和確定性加密f的安全性定義,除文檔和索引大小信息之外,索引數(shù)據(jù)結(jié)構(gòu)沒有泄露其他信息,在搜索過程中除了一定的搜索模式和訪問模式信息之外沒有泄露其他任何信息。在實(shí)際搜索場景中,用戶對搜索到的文檔標(biāo)識(shí)符結(jié)果列表,通常會(huì)針對部分感興趣的文檔進(jìn)行查看,發(fā)起文檔內(nèi)容獲取請求。由于搜索結(jié)果列表和具體文檔內(nèi)容獲取請求沒有固定的對應(yīng)關(guān)系,云計(jì)算平臺(tái)無法確定某一搜索請求的確定性結(jié)果,從而一定程度上隱藏了搜索的訪問模式。

      3.2 數(shù)據(jù)安全共享

      用戶數(shù)據(jù)在邊緣節(jié)點(diǎn)處加密,即相應(yīng)的密鑰存儲(chǔ)在邊緣節(jié)點(diǎn)中。在不同邊緣節(jié)點(diǎn)之間共享密文數(shù)據(jù),需要解決如何在不同邊緣節(jié)點(diǎn)之間安全地分享用于解密數(shù)據(jù)的密鑰的問題。

      PKE 公鑰加密方案可確保加密密鑰在不同邊緣節(jié)點(diǎn)間安全共享。但在PKE 方案中,為驗(yàn)證身份有效性,需要執(zhí)行大量驗(yàn)證證書合法性的操作。本文結(jié)合IBE 和PKE 實(shí)現(xiàn)數(shù)據(jù)安全共享方案,采用PKE 方案[45]保證密鑰的安全傳輸,利用基于身份的加密IBE 方案[37]解決證書驗(yàn)證問題,確保密鑰在邊緣節(jié)點(diǎn)之間安全傳輸。

      數(shù)據(jù)安全共享方案使用控制節(jié)點(diǎn)充當(dāng)IBE 方案的PKG。這里控制節(jié)點(diǎn)可以在云計(jì)算平臺(tái)設(shè)置,也可以由第三方機(jī)構(gòu)代理。密鑰傳輸有PKE 加密層保護(hù),即使控制節(jié)點(diǎn)是不可信的,由于其沒有PKE私鑰,故無法獲取明文內(nèi)容。邊緣節(jié)點(diǎn)使用PKE公鑰-私鑰對及身份ID 和控制節(jié)點(diǎn)進(jìn)行交互,完成身份驗(yàn)證。通過驗(yàn)證,控制節(jié)點(diǎn)簽發(fā)ID 對應(yīng)的IBE 私鑰。令PKI代表IBE 公鑰,SKI代表IBE私鑰,PKP代表PKE 公鑰,SKP代表PKE 私鑰,id(C)代表密文C的元數(shù)據(jù)。如圖4 所示,加密密鑰在不同邊緣節(jié)點(diǎn)之間傳輸過程如下。

      圖4 密鑰分享架構(gòu)

      1) 邊緣節(jié)點(diǎn)B從云計(jì)算平臺(tái)接收到密文數(shù)據(jù),將密文元數(shù)據(jù)發(fā)送到控制節(jié)點(diǎn)。

      2) 控制節(jié)點(diǎn)根據(jù)密文元數(shù)據(jù)中的邊緣節(jié)點(diǎn)標(biāo)識(shí)得到對應(yīng)的邊緣節(jié)點(diǎn)A,從A處請求解密密鑰。請求攜帶的參數(shù)包括密鑰標(biāo)識(shí)、邊緣節(jié)點(diǎn)B的時(shí)間參數(shù)tB、B的身份標(biāo)識(shí)IDB、B的PKE 公鑰PKP-B。時(shí)間參數(shù)t可用來更新邊緣節(jié)點(diǎn)對應(yīng)的IBE 私鑰,以提高加密安全性。

      3)A收到請求,根據(jù)tB、IDB參數(shù)得到PKI-B,利用PKP-B對密鑰做雙重加密,并將加密后的密鑰發(fā)送給B。

      4)B接收到消息后,使用SKI-B和SKP-B解密獲得數(shù)據(jù)密鑰,即可獲得對應(yīng)的明文數(shù)據(jù)。

      在上述方案中,密鑰生成、參數(shù)選擇和加解密過程等均遵循標(biāo)準(zhǔn)IBE 方案[37]和PKE 方案[45],密鑰被PKE 公鑰和IBE 公鑰雙層加密??刂乒?jié)點(diǎn)獲取不到邊緣節(jié)點(diǎn)的PKE 私鑰,故無法竊取密鑰。即使某攻擊者獲得了PKE 私鑰,如果沒有IBE 私鑰,也無法解密獲得密鑰。邊緣節(jié)點(diǎn)同時(shí)具有與ID 對應(yīng)的IBE 私鑰和PKE 私鑰,故數(shù)據(jù)安全共享方案確保了密鑰被安全傳輸。

      3.3 索引動(dòng)態(tài)更新

      基于加密索引的密文搜索方案支持?jǐn)?shù)據(jù)動(dòng)態(tài)更新,即可添加、刪除文檔或修改文檔內(nèi)容。在動(dòng)態(tài)更新方案中,在云計(jì)算平臺(tái)和各邊緣節(jié)點(diǎn)處都維護(hù)著一份倒排索引結(jié)構(gòu),云計(jì)算平臺(tái)為主索引,執(zhí)行實(shí)際的搜索功能,并融合合并各邊緣節(jié)點(diǎn)的臨時(shí)輔助索引。索引動(dòng)態(tài)更新如圖5 所示。

      圖5 索引動(dòng)態(tài)更新

      添加新文檔時(shí),邊緣節(jié)點(diǎn)中的索引服務(wù)模塊構(gòu)建臨時(shí)索引。刪除文檔時(shí),邊緣節(jié)點(diǎn)更新對應(yīng)文檔標(biāo)識(shí)符的無效位向量,標(biāo)識(shí)文檔被刪除,在返回檢索結(jié)果前過濾已刪除文檔。若更新某文檔,則將此文檔刪除并重新添加文檔。執(zhí)行更新索引結(jié)構(gòu)操作后,邊緣節(jié)點(diǎn)的索引服務(wù)器將輔助索引上傳到云計(jì)算平臺(tái),與主索引進(jìn)行合并,將新文檔節(jié)點(diǎn)插入對應(yīng)的關(guān)鍵字令牌列表中,完成動(dòng)態(tài)更新操作。

      為了索引更新和搜索并行計(jì)算,可以在云計(jì)算平臺(tái)維護(hù)兩份索引,一份執(zhí)行搜索操作,另一份進(jìn)行索引更新,更新完成后在兩份索引之間執(zhí)行數(shù)據(jù)同步操作。另外,邊緣節(jié)點(diǎn)和云計(jì)算平臺(tái)可以建立索引數(shù)據(jù)同步更新,在特殊情況下,搜索操作可以在邊緣節(jié)點(diǎn)執(zhí)行,從而向云計(jì)算平臺(tái)隱藏了搜索行為。

      為了提高數(shù)據(jù)傳輸效率并節(jié)省帶寬,本文參考Rsync 算法[46]和端云協(xié)同數(shù)據(jù)同步方案[47],設(shè)計(jì)了 數(shù)據(jù)遷移同步方案,包括數(shù)據(jù)遷移與數(shù)據(jù)同步更新,數(shù)據(jù)遷移同步過程具體如下。

      1) 將源文件F切分成大小相同的n塊,F(xiàn)=[f1,f2,…,fn]。

      2) 構(gòu)造生成矩陣GM(任意n×n子矩陣的秩為n),上部分為n×n的單位矩陣,下部分為m×n的范德蒙德矩陣,m為生成冗余塊的個(gè)數(shù)。利用GM將n個(gè)文件塊通過式(4)編碼成n+m個(gè)編碼塊C,,則有

      3) 得到編碼塊C后,隨機(jī)選取n個(gè)線性無關(guān)的編碼塊Cn,利用GM 可恢復(fù)成源文件F,即

      由上述過程可知,即使傳輸過程中某一編碼塊丟失或損壞,也可通過生成矩陣GM 和選取的n個(gè)線性無關(guān)的編碼塊Cn進(jìn)行恢復(fù)。

      在數(shù)據(jù)同步更新過程中,假設(shè)舊文件為Fv1=,新文件為,具體步驟如下。

      1) 計(jì)算差分文件Δv1,v2,表示新文件Fv2與舊文件Fv1之間的差異,內(nèi)容匹配位為0,不匹配位為1,即

      2) 通過生成矩陣GM 和Δv1,v2,得到差分文件編碼塊集合為

      4 性能與安全性分析

      本文搭建了一個(gè)原型系統(tǒng)來模擬邊緣節(jié)點(diǎn)加密數(shù)據(jù)和解密數(shù)據(jù)的性能和安全性。所用虛擬機(jī)配置包括2.5 GHz 雙核英特爾處理器,2 GB 內(nèi)存,上行速度約為1 000 KB/s,下行速度約為7 500 KB/s。邊緣節(jié)點(diǎn)作為服務(wù)解析云計(jì)算平臺(tái)和用戶之間的數(shù)據(jù)連接,保護(hù)用戶隱私數(shù)據(jù)。

      為了測試數(shù)據(jù)加密和解密性能,借助Gnu 隱私保護(hù)(GPG,Gnu privacy guard)加密工具,采用AES256 加密算法,分別發(fā)送和接收如下類型的文件:32 KB 文本,107 KB 壓縮文件,2 MB、31 MB、532 MB 可執(zhí)行程序和1.3 GB 壓縮文件。從圖6 可以看出,邊緣節(jié)點(diǎn)加密小文件消耗時(shí)間較少,加密大文件消耗時(shí)間較多。在實(shí)際應(yīng)用場景中,大文件往往采取分塊傳輸?shù)姆绞?,針對?shù)據(jù)塊加密并傳輸,故可以大大縮小加密大文件數(shù)據(jù)的時(shí)間。

      圖6 數(shù)據(jù)加密性能測試

      圖7 展示了接收加密數(shù)據(jù)時(shí),邊緣節(jié)點(diǎn)解密操作帶來的額外開銷。從圖7 中可以看出,當(dāng)文件數(shù)據(jù)塊不大于31 MB 時(shí),邊緣節(jié)點(diǎn)解密文件數(shù)據(jù)帶來的額外開銷較小。

      圖7 邊緣節(jié)點(diǎn)解密操作帶來的額外開銷

      本文密文搜索方案建立倒排索引進(jìn)行搜索,實(shí)現(xiàn)最優(yōu)查詢效率,并可大大節(jié)省時(shí)間和空間消耗。令m為所有文檔不同的關(guān)鍵字的個(gè)數(shù),n為文檔數(shù)量,R(w)為搜索關(guān)鍵字w對應(yīng)的含有此關(guān)鍵字的文檔集合,Et為加密時(shí)間消耗,Dt為解密時(shí)間消耗,a為各文檔含有的關(guān)鍵字個(gè)數(shù)的平均值,v為各關(guān)鍵字對應(yīng)的文檔列表的平均長度,l為各關(guān)鍵字對應(yīng)的文檔列表的最長的長度,各密文搜索方案相關(guān)功性能對比如表1 所示。

      表1 不同密文搜索方案功性能對比

      從表1 中可以看出,文獻(xiàn)[28]對文檔中關(guān)鍵字逐一進(jìn)行偽隨機(jī)函數(shù)加密生成可搜索密文,搜索時(shí)間與文檔中關(guān)鍵字個(gè)數(shù)有關(guān),泄露了文檔中關(guān)鍵字個(gè)數(shù)和位置,屬于CPA 安全級別。文獻(xiàn)[29]基于倒排索引構(gòu)建密文搜索方案,與本文區(qū)別為其加密節(jié)點(diǎn)中指向下一加密節(jié)點(diǎn)的指針也被加密,不支持文檔動(dòng)態(tài)更新功能,需要將云計(jì)算平臺(tái)密文下載到本地,重新構(gòu)建索引后上傳,在不考慮填充節(jié)點(diǎn)的情況下,其安全級別為CKA1。本文密文搜索方案指向加密節(jié)點(diǎn)的指針未被加密,支持索引動(dòng)態(tài)更新功能,索引構(gòu)建大小與關(guān)鍵字對應(yīng)的文檔列表的最長長度有關(guān),搜索時(shí)間復(fù)雜度與含有關(guān)鍵字的文檔列表的長度及填充節(jié)點(diǎn)個(gè)數(shù)相關(guān),安全級別為CKA2。

      令N表示文檔更新一次變化的關(guān)鍵字的個(gè)數(shù),動(dòng)態(tài)更新方案添加文檔時(shí)在邊緣節(jié)點(diǎn)先建立臨時(shí)索引,建好后同步到云計(jì)算平臺(tái),更新時(shí)間與N正相關(guān),從而大大減少了執(zhí)行時(shí)間。刪除文檔時(shí)在邊緣節(jié)點(diǎn)處建立含有文檔標(biāo)識(shí)的無效位向量,會(huì)消耗一定的內(nèi)存,同時(shí)返回結(jié)果進(jìn)行過濾會(huì)消耗一定的時(shí)間,可以考慮構(gòu)建哈希映射數(shù)據(jù)結(jié)構(gòu),快速得到文檔是否已被刪除的結(jié)果。密文搜索方案在邊緣節(jié)點(diǎn)處構(gòu)建索引,同步到云計(jì)算平臺(tái),并在云計(jì)算平臺(tái)執(zhí)行搜索操作,具有很高的查詢性能。本文方案在邊緣節(jié)點(diǎn)處存儲(chǔ)一定的數(shù)據(jù),帶來一定的空間開銷。經(jīng)Rally 軟件評估測試,對于1.2 GB 大小的文件集合,構(gòu)建的索引大小約為0.9 GB,查詢效率約為19.6 ops/s。

      在不同邊緣節(jié)點(diǎn)分享密鑰場景下,使用GPG庫生成4 096 位的PKE 公私鑰對,使用雙線性密碼(PBC,pairing based cryptography)庫生成IBE 雙線性對。由于密鑰數(shù)據(jù)很小,密鑰雙層加密和解密方案引入的開銷很小,是毫秒級別的。

      在安全性方面,本文假定用戶側(cè)邊緣節(jié)點(diǎn)是可信和安全的,即數(shù)據(jù)在邊緣節(jié)點(diǎn)中以明文形式傳輸。邊緣節(jié)點(diǎn)之外的路徑如云服務(wù)器或其他邊緣節(jié)點(diǎn)是不可信的。敏感數(shù)據(jù)在傳遞到外部之前被邊緣節(jié)點(diǎn)加密,加密數(shù)據(jù)上傳到云計(jì)算平臺(tái),云計(jì)算平臺(tái)無法獲取位于邊緣節(jié)點(diǎn)存儲(chǔ)的相應(yīng)密鑰,得不到明文信息,從而有效防止了云計(jì)算平臺(tái)竊取敏感數(shù)據(jù)。在邊緣節(jié)點(diǎn)外部,即使用戶賬戶信息泄露,攻擊者也只能得到密文數(shù)據(jù),因此本文方案可有效保護(hù)云服務(wù)中用戶的隱私數(shù)據(jù)。

      參考文獻(xiàn)[29,33],利用Real/Ideal 模擬范式定義可搜索加密安全性,L表示有狀態(tài)的泄露函數(shù),存在一個(gè)模擬器S,以L(P)為輸入,P表示歷史協(xié)議;S(L(P))表示輸出視圖,和以P為輸入執(zhí)行真實(shí)搜索看到的視圖不可區(qū)分,則稱方案是L安全的。定義RealA(s)和IdealA,S(s)如下。

      RealA(s)。挑戰(zhàn)者輸入安全參數(shù)生成密鑰k,利用密鑰k和數(shù)據(jù)文件D生成密文索引I和密文數(shù)據(jù)C,將I和C發(fā)送給攻擊者A。A發(fā)起一定量查詢Q,其中每次查詢關(guān)鍵字w,A會(huì)接收到w對應(yīng)的令牌TD,最后A返回比特b作為游戲輸出。

      IdealA,S(s)。給定L1(D),模擬器S生成(I*,C*)并發(fā)送到A。A發(fā)起一定量查詢Q,其中每次查詢關(guān)鍵字w,模擬器S收到L2(D,w),生成并返回對應(yīng)的令牌TD*,最后A返回比特b作為游戲輸出。

      若對任意攻擊者A,足夠大的s和多項(xiàng)式p,存在模擬器S,滿足

      則可搜索加密方案對于CKA2 具有(L1,L2)安全性。當(dāng)A在游戲開始時(shí)就確定了查詢Q,即查詢與索引以及之前的查詢結(jié)果是獨(dú)立的,則同樣地可給出CKA1 具有(L1,L2)安全性的定義。

      針對密文搜索安全性定義,在本文設(shè)計(jì)的密文搜索過程中有以下定義。

      1)L1安全性。密文搜索方案利用對稱加密方式對數(shù)據(jù)進(jìn)行加密,安全強(qiáng)度高,攻擊者很難從密文中獲取額外的信息。加密索引在邊緣節(jié)點(diǎn)處生成,從而保證索引的安全性,使攻擊者無法從密文索引中獲得額外的信息。

      2)L2安全性。在搜索過程中,查詢關(guān)鍵字交給邊緣節(jié)點(diǎn),并在邊緣節(jié)點(diǎn)處執(zhí)行加密,加密后傳送到云計(jì)算平臺(tái),從而向云端隱藏了關(guān)鍵字信息。在邊緣節(jié)點(diǎn)構(gòu)建密文索引時(shí),針對每個(gè)關(guān)鍵字,利用填充節(jié)點(diǎn)確保不同關(guān)鍵字對應(yīng)的搜索結(jié)果長度大致相同,從而即使攻擊者獲得了查詢令牌和搜索結(jié)果的對應(yīng)關(guān)系,也很難從返回結(jié)果獲得有價(jià)值信息。當(dāng)用戶獲得搜索結(jié)果后,一般情況下并不會(huì)向云服務(wù)器請求所有結(jié)果文檔,而是檢索其中部分特定文檔,使攻擊者不能得到一次查詢對應(yīng)于哪些文件,從而向攻擊者隱藏了訪問模式。

      若攻擊者預(yù)知部分加密文檔內(nèi)容,在泄露搜索模式或訪問模式的情況下,攻擊者利用先驗(yàn)知識(shí)會(huì)嘗試獲取到更多關(guān)于查詢關(guān)鍵字或文檔的信息[43-44]。通過將本文密文搜索方案構(gòu)建模擬過程代入以上安全定義可看出,在文檔加密和索引構(gòu)建過程中,文檔內(nèi)容通過對稱加密方式加密,密鑰在邊緣節(jié)點(diǎn)中存儲(chǔ),安全度較高,攻擊者很難破解密文或獲得密文對應(yīng)的密鑰。文檔內(nèi)容對應(yīng)的搜索索引在邊緣節(jié)點(diǎn)生成并加密,然后上傳到云計(jì)算平臺(tái)進(jìn)行合并和搜索,攻擊者無法解密密文索引,從而保護(hù)了索引數(shù)據(jù)的安全性。在搜索過程中,用戶查詢的關(guān)鍵字由邊緣節(jié)點(diǎn)確定性加密,加密后上傳到云計(jì)算平臺(tái)執(zhí)行查詢操作,云計(jì)算平臺(tái)返回搜索結(jié)果。在密文搜索方案中,文檔標(biāo)識(shí)符被隨機(jī)性加密,利用填充節(jié)點(diǎn)使每個(gè)關(guān)鍵字的倒排列表含有的節(jié)點(diǎn)個(gè)數(shù)一致,保護(hù)搜索結(jié)果信息不被泄露,從而一定程度上向云計(jì)算平臺(tái)隱藏了訪問模式,即便攻擊者擁有密文數(shù)據(jù)對應(yīng)的明文數(shù)據(jù)信息,根據(jù)查詢過程也無從得知其他的關(guān)鍵字或明文數(shù)據(jù)信息,滿足CKA2 安全性,具有Le0 安全等級。

      5 結(jié)束語

      本文針對邊緣計(jì)算數(shù)據(jù)安全問題,提出了一種密文搜索與共享方案,使在邊緣節(jié)點(diǎn)處建立加密搜索索引,并同步到云計(jì)算平臺(tái),從而對索引作統(tǒng)一管理。同時(shí)本文設(shè)計(jì)密鑰安全共享方案,以在不同邊緣節(jié)點(diǎn)之間進(jìn)行密文數(shù)據(jù)分享。

      當(dāng)然,本文設(shè)計(jì)的密文搜索與共享方案仍面臨諸多問題,需進(jìn)一步研究和改進(jìn)。例如,本文假定用戶側(cè)的邊緣節(jié)點(diǎn)是可信的,如果用戶和邊緣節(jié)點(diǎn)之間的可信度不高,則需要進(jìn)一步利用脫密技術(shù),如聯(lián)邦學(xué)習(xí)、同態(tài)加密等處理之后再交給邊緣節(jié)點(diǎn)執(zhí)行。另外,由于加密索引在云計(jì)算平臺(tái)進(jìn)行管理,搜索過程中勢必會(huì)泄露一定的數(shù)據(jù)信息,需要研究在搜索過程中增加一定的混淆措施,避免泄露關(guān)鍵字與搜索文檔的對應(yīng)關(guān)系。

      猜你喜歡
      關(guān)鍵字密文密鑰
      探索企業(yè)創(chuàng)新密鑰
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
      一種支持動(dòng)態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      成功避開“關(guān)鍵字”
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
      华蓥市| 深水埗区| 宾阳县| 雷波县| 莲花县| 兴山县| 海兴县| 乌鲁木齐县| 盐津县| 辽宁省| 阳新县| 苏尼特左旗| 南华县| 吕梁市| 宁陵县| 察隅县| 陵水| 长岭县| 石首市| 运城市| 长宁区| 郑州市| 乐业县| 昌都县| 佛学| 汾阳市| 郴州市| 石首市| 庆城县| 疏勒县| 黎平县| 金堂县| 大英县| 龙川县| 龙南县| 双鸭山市| 壶关县| 剑川县| 无棣县| 庆安县| 手机|