楊小東,田甜,王嘉琪,李梅娟,王彩芬
(1.西北師范大學計算機科學與工程學院,甘肅 蘭州 730070;2.深圳技術大學大數(shù)據(jù)與互聯(lián)網(wǎng)學院,廣東 深圳 518118)
隨著智能無線傳感器設備在工業(yè)制造環(huán)境中的廣泛使用,工業(yè)物聯(lián)網(wǎng)(IIoT,industrial Internet of things)在工業(yè)制造領域發(fā)揮著越來越重要的作用。工業(yè)物聯(lián)網(wǎng)是一種將全球工業(yè)體系智能互聯(lián)的網(wǎng)絡,它利用數(shù)以億計的感知器、采集器與控制器等IIoT設備采集數(shù)據(jù),并通過智能分析處理IIoT 數(shù)據(jù)實現(xiàn)生產(chǎn)制造全過程的智能跟蹤、控制與預測[1]。為降低本地的存儲負擔與計算開銷,智能設備采集的IIoT 數(shù)據(jù)通常會被數(shù)據(jù)擁有者上傳至云存儲服務器。數(shù)據(jù)用戶使用關鍵字檢索技術,通過輕量級設備從云端檢索并獲取目標數(shù)據(jù)。然而,IIoT 數(shù)據(jù)在公共通信網(wǎng)絡傳輸時,容易遭受篡改、竊取、假冒等諸多安全攻擊,這可能給工業(yè)制造企業(yè)帶來巨大的經(jīng)濟損失。數(shù)據(jù)擁有者可以通過加密IIoT 數(shù)據(jù),再將密文數(shù)據(jù)上傳至云存儲服務器解決隱私泄露、數(shù)據(jù)篡改等安全性問題,但密文形式的數(shù)據(jù)會使數(shù)據(jù)的檢索操作變得困難,數(shù)據(jù)共享的靈活性顯著降低。
近年來,隨著5G 技術的發(fā)展IIoT 數(shù)據(jù)呈指數(shù)式增長。巨大的通信負擔與計算壓力使基于云計算技術的集中式數(shù)據(jù)處理與存儲模式逐漸不能完全滿足數(shù)據(jù)傳輸?shù)膶崟r性、隱私性等要求,擁有更充足的計算處理能力的云邊協(xié)同計算技術更適用于當今的工業(yè)物聯(lián)網(wǎng)環(huán)境。云邊協(xié)同技術將部分計算任務遷移到邊緣節(jié)點進行,可以有效減輕云存儲服務器的計算壓力,并快速響應數(shù)據(jù)用戶需求。然而,基于云邊協(xié)同計算技術的IIoT 數(shù)據(jù)共享場景中依然存在隱私泄露、數(shù)據(jù)篡改等安全問題。如何實現(xiàn)云邊協(xié)同計算模式下安全高效的IIoT 數(shù)據(jù)共享、提高IIoT 數(shù)據(jù)共享的靈活性,已經(jīng)成為近年來相關學者的研究熱點。
Song 等[2]提出的密文檢索技術能夠同時實現(xiàn)數(shù)據(jù)加密與密文數(shù)據(jù)檢索,已被廣泛應用于數(shù)據(jù)安全共享領域[3]。Boneh 等[4]利用雙線性配對構造出第一個公鑰密文檢索方案。為解決公鑰密文檢索方案存在的證書管理與密鑰托管問題,學者們提出了基于無證書的密文檢索方案[5-8]。但目前大部分無證書密文檢索方案僅支持單用戶單關鍵字搜索,不適用于多數(shù)據(jù)采集端多數(shù)據(jù)接收端的IIoT 場景。Golle等[9]提出了支持多關鍵字搜索的密文檢索方案,文獻[10-12]提出了支持多用戶搜索的密文檢索方案,但這些方案均不能同時支持多用戶多關鍵字搜索。Ma 等[13]提出了基于無證書的多用戶多關鍵字密文檢索方案,但該方案安全性較低,惡意的內(nèi)部攻擊者可能利用搜索關鍵字空間較小的特點對方案進行內(nèi)部關鍵字猜測攻擊(IKGA,internal keyword guessing attack)。密文檢索方案的安全性是相關學者研究的另一焦點問題[14-15]。Chenam 等[16]于2022 年提出了能夠抵抗IKGA 的多用戶多關鍵字密文檢索方案,但方案檢索精度不高,在關鍵字索引不完全包含用戶檢索的關鍵字時無法返回搜索結果。
部分學者在云計算環(huán)境下實現(xiàn)了IIoT 數(shù)據(jù)安全共享[17-18],但基于云計算的集中式數(shù)據(jù)處理模式已經(jīng)不適用于數(shù)據(jù)呈指數(shù)式增長的新型工業(yè)物聯(lián)網(wǎng)環(huán)境。黃海平等[19]利用多個服務器完成密文檢索任務,但該方案不能抵抗IKGA。張強等[20]提出了基于邊緣計算的密文檢索方案,但該方案中數(shù)據(jù)加密密鑰需要在安全信道中傳輸。在上述研究的基礎上,本文針對新型IIoT 環(huán)境提出安全性較高和檢索效率較好的密文數(shù)據(jù)檢索方案。本文主要貢獻如下。
1) 支持多用戶多關鍵字搜索。數(shù)據(jù)擁有者在執(zhí)行數(shù)據(jù)加密算法時生成多個合法用戶的身份信息密文,指定多個合法用戶進行搜索?;谖募撝当砼c用戶訪問權限表,多個邊緣服務器同時進行關鍵字匹配計算,實現(xiàn)多個關鍵字索引未精確包含多個搜索關鍵字情況下的正確檢索。
2) 提高了密文檢索效率。與同類多用戶方案相比較,本文方案在數(shù)據(jù)加密階段計算開銷較小且不隨數(shù)據(jù)用戶數(shù)量的增加呈線性增長。在云邊協(xié)同的計算模式下,多個邊緣服務器同時進行關鍵字匹配計算,提高了關鍵字匹配效率。
3) 實現(xiàn)了較高的安全性。本文方案基于數(shù)字簽名的不可偽造性,利用數(shù)據(jù)擁有者和數(shù)據(jù)用戶的私鑰分別對關鍵字索引與搜索陷門簽名,抵抗了IKGA。基于決策線性Diffie-Hellman 問題(DLDHP,decision linear Diffie-Hellman problem)假設,在隨機預言模型下被證明能夠抵抗兩類攻擊者的選擇關鍵字攻擊。
設G1和G2是2 個階為大素數(shù)p的乘法循環(huán)群。如果一個可計算的映射 e :G1×G1→G2滿足以下性質,則稱e是一個雙線性映射[21]。
2) 非退化性:存在g1,g2∈G1,使e(g1,g2) ≠ 1。
3) 可計算性:對于任意的g1,g2∈G1,都存在一個有效算法可以計算出 e(g1,g2)。
DLDHP。G1是由g生成的階為p的循環(huán)群,給定其中未知,DLDHP 就是判斷c是否等于 a+b mod p。
DLDHP 假設。定義任何一個概率多項式時間算法A成功求解G1上的DLDHP 的概率優(yōu)勢為AdvDLDHP(A)。若AdvDLDHP(A)是可忽略的,則稱G1上的DLDHP 假設成立。
一般在討論無證書公鑰密碼方案的安全性時,考慮兩類敵手A1和A2。A1無法訪問系統(tǒng)主密鑰但能進行公鑰替換攻擊,A2不能對數(shù)據(jù)用戶進行公鑰替換攻擊但可以訪問系統(tǒng)主密鑰。針對這兩類敵手,本文提出的無證書密文數(shù)據(jù)檢索方案旨在達到如下3 個安全目標。
1) 共享文件數(shù)據(jù)的機密性
即使敵手A1和A2截獲了部分密文文件,也無法解密密文文件或猜測到密文文件對應哪些檢索關鍵字,只有擁有文件訪問權限的IIoT 用戶可以訪問共享文件數(shù)據(jù)。
2) 關鍵字密文與搜索陷門的可認證性
在敵手A1和A2的攻擊下,方案需能保證關鍵字索引密文與搜索陷門的可認證性,惡意的內(nèi)部攻擊者不能對方案進行內(nèi)部關鍵字猜測攻擊。
3) 選擇關鍵字攻擊下的不可區(qū)分性
在敵手A1和A2的選擇關鍵字攻擊下,方案需能保證關鍵字索引密文的不可區(qū)分性。
本文研究IIoT 的多用戶數(shù)據(jù)共享場景,方案實體包括云服務器、邊緣服務器、IIoT 中的數(shù)據(jù)擁有者和數(shù)據(jù)用戶,以及密鑰生成中心(KGC,key generation center)。系統(tǒng)模型如圖1 所示。
1) 云服務器。云服務器存儲IIoT 中的數(shù)據(jù)擁有者Doj上傳的用戶訪問權限表與文件訪問權限表。當數(shù)據(jù)用戶Dui想要檢索Doj共享的包含某些關鍵字的密文文件fμ時,云服務器負責判斷是否為合法用戶。在關鍵字索引不完全包含檢索的關鍵字時,云服務器選擇文件匹配值最高的密文文件,向存儲此密文文件的邊緣服務器發(fā)送文件傳送指令。
圖1 系統(tǒng)模型
2) 邊緣服務器。邊緣服務器S1,S2,…,SZ存儲IIoT 中數(shù)據(jù)擁有者Doj上傳的關鍵字索引密文與部分文件密文。收到數(shù)據(jù)用戶Dui的搜索陷門后,S1,S2,…,SZ執(zhí)行陷門匹配計算,生成文件匹配值并將匹配值發(fā)送給云服務器。當收到來自云服務器的密文發(fā)送指令,S1,S2,…,SZ發(fā)送相應的密文給Dui。
3) IIoT 中的數(shù)據(jù)擁有者。數(shù)據(jù)擁有者Doj負責加密文件數(shù)據(jù)、生成關鍵字索引密文,以及將加密的隨機值和對稱密鑰發(fā)送給合法的數(shù)據(jù)用戶Dui。Doj可通過生成并更新用戶訪問權限表和文件訪問權限表更新用戶對文件數(shù)據(jù)的訪問權限。
4) IIoT 中的數(shù)據(jù)用戶。數(shù)據(jù)用戶Dui負責生成關鍵字搜索陷門并上傳陷門至邊緣服務器。收到密文文件fμ后,Dui用私鑰計算得到文檔解密密鑰K并解密fμ。
5) 密鑰生成中心。密鑰生成中心生成IIoT中數(shù)據(jù)擁有者Doj和數(shù)據(jù)用戶Dui的部分私鑰。
本文方案使用的數(shù)據(jù)結構如下。
1) 用戶訪問權限表。用戶訪問權限表由數(shù)據(jù)擁有者Doj上傳至云服務器,數(shù)據(jù)擁有者Doj能夠對用戶訪問權限表執(zhí)行寫操作與讀操作,云服務器只能對該表執(zhí)行讀操作。用戶訪問權限表中,Bi表示合法用戶Dui的身份信息密文,Doj可通過增加或刪除Bi對應的訪問屬性a1,a2,…,ax更新用戶Bi的訪問屬性。在用戶訪問權限表中增加或刪除Bi可以直接增加或刪除合法用戶。
2) 文件訪問權限表。文件訪問權限表由數(shù)據(jù)擁有者Doj對每個密文文件fμ設定閾值 βu與訪問屬性并將該表上傳至云服務器。Doj能夠對文件訪問權限表執(zhí)行寫操作與讀操作,云服務器只能對文件訪問權限表執(zhí)行讀操作。當數(shù)據(jù)用戶的屬性集合與fμ的屬性集合的交集中的元素個數(shù)ε 大于fμ的設定閾值 βu時,數(shù)據(jù)用戶有權訪問fμ。文件訪問權限表如表1 所示。
表1 文件訪問權限表
KGC 輸入系統(tǒng)參數(shù)prms 和系統(tǒng)主密鑰S,執(zhí)行如下步驟生成數(shù)據(jù)用戶和數(shù)據(jù)擁有者的部分密鑰。
云服務器和邊緣服務器執(zhí)行如下步驟匹配關鍵字索引密文與搜索陷門。
1) 云服務器首先對提出檢索請求的用戶Dui進行合法性驗證,檢驗用戶訪問權限表中是否存在Dui的身份信息密文Bi。若Bi存在則身份驗證通過,繼續(xù)執(zhí)行下述匹配測試步驟;否則云服務器返回“ ⊥”,拒絕Dui的搜索請求。
2) 邊緣節(jié)點S1,S2,…,SZ收到Dui發(fā)送的搜索陷門T1,…,Ti,…,Tl后,對每個搜索陷門Ti進行匹配計算。
①每個邊緣節(jié)點Sr判斷等式e(Bi,Tc)是否成立,等式每成立一次,則包含相應關鍵字的密文文件fμ的匹配值U增加1。
② 每個邊緣節(jié)點Sr選擇密文文件集中包含數(shù)據(jù)用戶檢索的關鍵字數(shù)目最多的文件fμ(即文件fμ的匹配值U最大),向云服務器上傳fμ的身份信息以及fμ的匹配值U。
3) 云服務器收到邊緣服務器S1,S2,…,SZ上傳的文件身份信息與匹配值信息后,執(zhí)行如下步驟找到與搜索陷門T1,…,Ti,…,Tl匹配度最高的密文文件。
①計算fμ的屬性集與Dui的屬性集的交集中的元素個數(shù),記為ε。若ε 大于fμ的文件閾值 βμ,將文件fμ的匹配值U加入返回列表;否則云服務器令邊緣節(jié)點Sr繼續(xù)驗證文件匹配值U次高的文件,直至有來自Sr的文件匹配值U加入返回列表。若無任何匹配文件,云服務器返回“ ⊥”,表示Dui無法訪問邊緣節(jié)點Sr處的密文文件集
② 在S1,S2,…,SZ返回的文件匹配值列表中,云服務器選擇返回最大值Umax的邊緣節(jié)點Sr,令Sr發(fā)送Umax對應的密文文件fμ給Dui。當Umax對應多個邊緣節(jié)點時,云服務器令多個邊緣節(jié)點返回相應的密文文件。
數(shù)據(jù)擁有者Doj和數(shù)據(jù)用戶Dui執(zhí)行如下步驟解密文檔密文。
邊緣服務器S1,S2,…,SZ通過驗證等式是否成立,判斷關鍵字密文與搜索陷門是否匹配。當S1,S2,…,SZ擁有的關鍵字密文與數(shù)據(jù)用戶發(fā)送的搜索陷門包含某相同關鍵字wk時,S1,S2,…,SZ可對驗證等式左右兩邊進行如下計算。
由式(1)和式(2)可知,本文方案的驗證等式正確,滿足正確性。
根據(jù)1.3 節(jié)定義的安全目標,本節(jié)分析文件數(shù)據(jù)的機密性以及關鍵字密文與搜索陷門的可認證性。
1) 文件數(shù)據(jù)的機密性分析
文件數(shù)據(jù)的機密性由對稱加密算法的安全性保證。在本文方案中,數(shù)據(jù)擁有者Doj計算K′=K·H0(e (P ,bg))并使用對稱密鑰K對明文文檔D進行加密。數(shù)據(jù)用戶Dui需經(jīng)過解密計算才能求得對稱密鑰K。同時由于文件密文被分開存儲在不同的邊緣節(jié)點,每個邊緣節(jié)點只擁有部分文件密文,邊緣節(jié)點不容易猜測出全部的密文數(shù)據(jù)與關鍵字密文的對應關系。
2) 關鍵字密文與搜索陷門的可認證性分析
數(shù)據(jù)擁有者Doj在生成關鍵字密文的過程中使用了私鑰數(shù)據(jù)用戶Dui在生成陷門的過程中使用了私鑰。云服務器與邊緣服務器1,2,,ZS S…S在沒有Doj和Dui私鑰的前提下,不能通過生成或篡改關鍵字密文與搜索陷門對方案進行內(nèi)部關鍵字猜測攻擊。關鍵字密文與搜索陷門可認證性的實質是Doj與Dui分別對關鍵字密文和搜索陷門進行了簽名?;跀?shù)字簽名的不可偽造性,攻擊者無法對方案進行IKGA,具體證明過程可參考文獻[22]。
本節(jié)證明本文方案在隨機預言模型下能夠抵抗攻擊者A1和A2的選擇關鍵字攻擊。
定理1基于DLDHP 假設,在隨機預言模型下本文方案滿足選擇關鍵字攻擊下關鍵字密文的不可區(qū)分性。
定理1 可通過引理1 和引理2 證明。
引理1在隨機預言模型中,若敵手A1能夠以不可忽略的概率優(yōu)勢ε 在多項式時間內(nèi)攻破方案,則挑戰(zhàn)者C能以不可忽略的優(yōu)勢構造多項式時間算法解決DLDHP。其中,qt表示陷門詢問的最大執(zhí)行次數(shù),n表示數(shù)據(jù)用戶的數(shù)量。
證明挑戰(zhàn)者C通過與敵手A1進行如下的交互游戲解決DLDHP。
下面,計算挑戰(zhàn)者C成功解決DLDHP 的概率優(yōu)勢ε′。令事件E1表示陷門詢問過程中C沒有終止,事件E2表示挑戰(zhàn)階段中C沒有終止,事件E3表示C沒有對W0和W1進行陷門詢問。事件E1、E2和E3相繼發(fā)生。
在上述游戲中,C以不可忽略的概率ε′解決了DLDHP,這與DLDHP 的公認難解性矛盾。因此A1攻破本文方案的概率ε 是可忽略的值,在面對A1時方案滿足選擇關鍵字攻擊下關鍵字密文的不可區(qū)分性。證畢。
引理2在隨機預言模型中,若敵手A2能夠以不可忽略的概率優(yōu)勢ε 在多項式時間內(nèi)攻破本文方案,則挑戰(zhàn)者C可以構造算法在多項式時間內(nèi)以不可忽略的概率優(yōu)勢解決DLDHP。其中,qt表示陷門詢問的最大執(zhí)行次數(shù),n表示數(shù)據(jù)用戶的數(shù)量。
證明挑戰(zhàn)者C可通過與敵手A2的交互游戲解決DLDHP。
挑戰(zhàn)者C在上述游戲中成功解決DLDHP 的概率優(yōu)勢為(相關計算過程與引理1 類似),這與DLDHP 的公認難解性矛盾。因此A2攻破本文方案的概率ε 是可忽略的值,在面對A2時方案滿足選擇關鍵字攻擊下關鍵字密文的不可區(qū)分性。證畢。
本文方案與近些年的密文檢索方案的功能性對比如表2 所示。由表2 可知,文獻[11]方案不支持多用戶多關鍵字搜索。文獻[19]方案不具有無證書加密體制的優(yōu)點。文獻[13,19]方案不能抵抗IKGA。文獻[11,16]方案安全性較好,但不支持云邊協(xié)同計算,在關鍵字索引不完全包含檢索關鍵字的非精確匹配場景下無法高效返回正確的搜索結果。本文方案支持多用戶多關鍵字搜索,能夠抵抗IKGA 且引入云邊協(xié)同計算技術提高了檢索效率,具有功能性豐富的優(yōu)點。
表2 功能性對比
本節(jié)首先從理論分析角度將本文方案與同類方案在密文生成、陷門生成以及匹配測試階段的計算開銷進行對比,結果如表3 所示。其中,E表示一次指數(shù)運算,P表示一次雙線性對操作,h表示一次哈希到點運算,n表示數(shù)據(jù)用戶的數(shù)量,l表示關鍵字索引的數(shù)量,l′表示數(shù)據(jù)用戶檢索的關鍵字數(shù)量。
由表3 可知,本文方案在密文生成階段與陷門生成階段僅需進行指數(shù)運算和哈希到點運算,與其他同類方案相比計算開銷較低。在匹配測試階段,每進行一次關鍵字匹配,文獻[14]方案比本文方案少計算一個雙線性對運算,而文獻[17]方案只需進行指數(shù)運算。本文方案在匹配測試階段的計算開銷高于文獻[14]方案和文獻[17]方案,但本文方案能夠在關鍵字索引不完全包括檢索關鍵字的非精確匹配情況下返回正確搜索結果。此外,本文方案支持多個邊緣服務器同時進行關鍵字匹配,隨著文件數(shù)量的增加,本文方案在匹配測試階段的計算開銷優(yōu)勢逐漸明顯。
在裝有Intel Core i7-6500 2.60GH 處理器和8 GB 內(nèi)存的Windows 系統(tǒng)上使用PBC-0.47-VC軟件包進行仿真實驗,并將本文方案與同類密文檢索方案在密文生成、陷門生成以及測試階段的計算開銷進行對比。
圖2 展示了密文生成時間隨數(shù)據(jù)用戶數(shù)量的變化,為便于比較關鍵字索引數(shù)量,設l=100。由圖2可知,本文方案的密文生成時間明顯少于對比方案,且密文生成時間不隨數(shù)據(jù)用戶的增加呈線性增長。在本文方案中,每增加一個搜索用戶只需計算該用戶身份密文信息Bi且Bi的計算開銷較小,本文方案在密文生成階段的計算開銷優(yōu)勢會隨用戶數(shù)量的增加越來越明顯。
圖2 密文生成時間隨數(shù)據(jù)用戶數(shù)量的變化
圖3 展示了陷門生成時間隨搜索關鍵字數(shù)量的變化。本文方案與對比方案的陷門生成時間均隨用戶搜索關鍵字數(shù)量l′的增加而增加,但由圖3 可知,本文方案與其他方案相比,陷門生成時間較少。
圖3 陷門生成時間隨搜索關鍵字數(shù)量的變化
表3 計算開銷對比
圖4(a)和圖4(b)分別比較了邊緣服務器個數(shù)為10 和100 時,文件數(shù)量的增加對本文方案與同類方案的匹配測試時間的影響。為便于觀察,假定每個文件包含100 個關鍵字。隨著文件數(shù)量的增加,本文方案的計算開銷優(yōu)勢逐漸增加,這是因為本文方案支持邊緣服務器同時進行陷門匹配計算,數(shù)據(jù)量越大本文方案在匹配測試階段的計算開銷優(yōu)勢越明顯。邊緣服務器數(shù)量越多,本文方案的計算效率越高,因此本文方案適用于文件數(shù)目和邊緣節(jié)點眾多的IIoT 數(shù)據(jù)共享環(huán)境。
圖4 匹配測試時間隨文件數(shù)量的變化
面向工業(yè)物聯(lián)網(wǎng)環(huán)境,本文基于云邊協(xié)同計算的思想提出了一個高效的無證書多用戶多關鍵字密文數(shù)據(jù)檢索方案。該方案實現(xiàn)了關鍵字密文認證且支持更新用戶的文件訪問權限,并能夠在關鍵字索引不完全包含檢索的多個關鍵字的情況下實現(xiàn)多用戶密文數(shù)據(jù)檢索。經(jīng)過理論分析與PBC 密碼庫仿真分析,本文方案計算效率較高。在隨機預言模型下,本文方案能夠抵抗IKGA。下一步的工作任務是在標準模型下,設計工業(yè)物聯(lián)網(wǎng)環(huán)境中安全高效的密文數(shù)據(jù)檢索方案。