摘要:針對傳統(tǒng)的云環(huán)境下密文檢索方案基于統(tǒng)計(jì)學(xué)模型來生成文件向量和檢索向量,并沒有考慮文件和請求的深層次語義信息,提出一種基于混合云架構(gòu)的深層次語義密文檢索模型。通過私有云聯(lián)邦學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型構(gòu)建向量生成模型,通過公有云存儲密文數(shù)據(jù)。另外,提出密倒排索引表來存放文件向量,在公有云的檢索過程中,保證檢索信息不被泄露的情況下提高檢索的效率。對真實(shí)數(shù)據(jù)集的分析和實(shí)驗(yàn)表明,提出的方案在安全性和搜索效率方面都優(yōu)于目前同類型的密文檢索方案。
關(guān)鍵詞:密文檢索; 混合云; 聯(lián)邦學(xué)習(xí); 加密倒排索引表
中圖分類號:TP309文獻(xiàn)標(biāo)志碼:A文章編號:1001-3695(2022)10-042-3146-05
doi: 10.19734/j.issn.1001-3695.2022.02.0101
Deep semantic ciphertext retrieval based on hybrid cloud architecture
Li Jian, Jiao Jian
(School of Artificial Intelligence, Beijing University of Posts amp; Telecommunications, Beijing 100876, China)
Abstract:
Aiming at the traditional ciphertext retrieval scheme in cloud environment, which generates file vectors and retrieval vectors based on statistical model, and does not consider the deep-seated semantic information of files and requests, this paper proposed a deep-seated semantic ciphertext retrieval model based on hybrid cloud architecture. It constructed the vector gene-ration model through the private cloud federated learning neural network model, and stored the ciphertext data through the public cloud. In addition, this paper proposed a secret inverted index table to store file vectors, so as to improve the efficiency of retrieval without ensuring that the retrieval information was not leaked in the retrieval process of public cloud. The analysis and experiments on real data sets show that this scheme is better than the current ciphertext retrieval schemes of the same type in terms of security and search efficiency.
Key words:ciphertext retrieval; hybrid cloud; federal learning; encrypted inverted index table
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和網(wǎng)絡(luò)業(yè)務(wù)需求的擴(kuò)大,以及云計(jì)算和大數(shù)據(jù)的發(fā)展。為了提高效率,越來越多的機(jī)構(gòu)和公司將數(shù)據(jù)上傳至公有云服務(wù)器。然而數(shù)據(jù)隱私一直是云計(jì)算應(yīng)用發(fā)展的一個(gè)重大阻礙。雖然云服務(wù)提供商聲稱防火墻等機(jī)制可以增強(qiáng)用戶數(shù)據(jù)的安全性,但公有云服務(wù)器完全控制外包數(shù)據(jù),“誠實(shí)但好奇的”的云服務(wù)器可能會泄露數(shù)據(jù)所有者不愿透露的敏感數(shù)據(jù)。因此,數(shù)據(jù)所有者在將文檔上傳到半誠實(shí)的云之前對其進(jìn)行加密,并將數(shù)據(jù)存儲為密文以確保文檔的安全性。另一方面,企業(yè)和政府為保證數(shù)據(jù)安全性構(gòu)建私有云服務(wù)器,往往存在內(nèi)部大量有價(jià)值資源不可被使用,出現(xiàn)數(shù)據(jù)孤島問題。因此提出一種在云環(huán)境下通過數(shù)據(jù)共享提升性能的高效密文檢索方案具有重要意義。
數(shù)據(jù)加密方案對數(shù)據(jù)檢索提出了巨大的挑戰(zhàn)。近年來,研究學(xué)者提出了許多文本檢索策略。Cao等人[1]首先采用向量空間模型計(jì)算文檔向量和查詢向量的內(nèi)積,并使用安全KNN算法(Sec-KNN)對其進(jìn)行加密。基于內(nèi)積運(yùn)算的結(jié)果,提出了一種多關(guān)鍵字密文檢索結(jié)果排序(MRSE)方案。后來,研究者提出了許多拓展方法[2~5]。這些方法都具有可證明的安全性,但在信息檢索領(lǐng)域都采用了傳統(tǒng)的TF-IDF加權(quán)統(tǒng)計(jì)計(jì)算規(guī)則,使用關(guān)鍵詞的規(guī)則無法有效捕獲單詞的上下文。此外,這些方案具有高向量維數(shù)、高存儲要求和高時(shí)間復(fù)雜度。在信息檢索中,當(dāng)單詞匹配失敗時(shí),潛在語義模型將查詢映射到相關(guān)文檔。該模型解決了文檔和查詢之間的語言差異。具體來說,即使查詢關(guān)鍵詞沒有在文檔中直接出現(xiàn),它們也可能被構(gòu)造為兩個(gè)具有高相似度的低維語義向量。
語義搜索是明文數(shù)據(jù)和加密數(shù)據(jù)信息檢索的一個(gè)重要研究方向[6~11]。語義分析消除了查詢和文檔之間的語言差異。Fu等人[12]在語義本體的支持下建立了用戶興趣模型,實(shí)現(xiàn)了個(gè)性化的關(guān)鍵詞精確搜索。在文獻(xiàn)[13,14]中,使用互信息模型構(gòu)建語義擴(kuò)展方案。例如,Jadhav利用互信息模型擴(kuò)展查詢關(guān)鍵字,然后計(jì)算文檔的相關(guān)性得分。文獻(xiàn)[15]中提出了模糊關(guān)鍵詞搜索技術(shù),用于擴(kuò)展關(guān)鍵詞集合。Fu等人[15]開發(fā)了基于單純形的分級多關(guān)鍵字模糊搜索方案,沒有預(yù)定義的模糊集。Yang等人[16]提出在一個(gè)可驗(yàn)證的語義方案中利用EMD距離,該語義方案描述了查詢和文檔之間的單詞傳輸問題,單詞傳輸?shù)淖钚〕杀痉Q為查詢和每個(gè)文檔之間的相似性分?jǐn)?shù)。
本文使用混合云架構(gòu),解決數(shù)據(jù)孤島問題,利用聯(lián)邦學(xué)習(xí)構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型提取數(shù)據(jù)深層語義,并提出加密倒排索引表結(jié)構(gòu)來縮短檢索時(shí)間,該方案保證了數(shù)據(jù)的安全性,并有較高的檢索準(zhǔn)確性和效率。
1問題描述
1.1系統(tǒng)模型
如圖1所示,在本文方案中一共有五個(gè)實(shí)體,分別為數(shù)據(jù)擁有者、數(shù)據(jù)使用者、私有云服務(wù)器、公有云服務(wù)器、參數(shù)服務(wù)器。
1)數(shù)據(jù)擁有者
數(shù)據(jù)擁有者擁有有價(jià)值的數(shù)據(jù)。對數(shù)據(jù)進(jìn)行加密處理后上傳至公有云,同時(shí)將明文數(shù)據(jù)上傳至私有云后進(jìn)行模型訓(xùn)練。根據(jù)訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)模型生成文件向量后,構(gòu)建加密倒排索引表上傳至公有云。
2)數(shù)據(jù)使用者
數(shù)據(jù)使用者將檢索關(guān)鍵詞、個(gè)人信息發(fā)送至所有數(shù)據(jù)擁有者進(jìn)行授權(quán)認(rèn)證、檢索關(guān)鍵詞映射字及密鑰。將檢索關(guān)鍵詞發(fā)送至參數(shù)服務(wù)器接收到檢索向量后,根據(jù)密鑰生成加密陷門發(fā)送至公有云,并收到公有云返回的top-K相關(guān)文件結(jié)果。
3)私有云服務(wù)器
每個(gè)數(shù)據(jù)擁有者有一個(gè)私有云服務(wù)器。“誠實(shí)且可信”的私有云服務(wù)器收到明文數(shù)據(jù)、網(wǎng)絡(luò)模型后單獨(dú)訓(xùn)練,每輪訓(xùn)練結(jié)束后將參數(shù)結(jié)果與參數(shù)服務(wù)器進(jìn)行聯(lián)邦訓(xùn)練。訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型回傳至數(shù)據(jù)擁有者。
4)公有云服務(wù)器
公有云服務(wù)器為“誠實(shí)且不可信”的實(shí)體,存儲數(shù)據(jù)擁有者的加密數(shù)據(jù)與加密倒排索引表。收到參數(shù)服務(wù)器發(fā)送的請求陷門后,通過計(jì)算找出相關(guān)加密文件發(fā)送至數(shù)據(jù)使用者。
5)參數(shù)服務(wù)器
參數(shù)服務(wù)器同樣也是私有云服務(wù)器,是“誠實(shí)且可信”的,由所有數(shù)據(jù)擁有者共同維護(hù)。它是聯(lián)邦學(xué)習(xí)模型訓(xùn)練的中央服務(wù)器。在收到數(shù)據(jù)使用者的檢索關(guān)鍵字后生成檢索向量發(fā)送至數(shù)據(jù)使用者。
1.2威脅模型
在本文的方案中,假設(shè)參數(shù)服務(wù)器是可信的,公共云服務(wù)器是一個(gè)“誠實(shí)但好奇”的服務(wù)器[2]?;诎胝\實(shí)公共云服務(wù)器已知的信息,研究了兩種威脅模型。
a)已知密文威脅模型。公共云服務(wù)器只知道加密文檔、加密數(shù)據(jù)索引和安全查詢陷門。在這種情況下,公共云服務(wù)器僅使用僅密文攻擊模式進(jìn)行攻擊。
b)已知背景威脅模型。公共云服務(wù)器應(yīng)該知道比已知密文模型中更多的信息。這些知識包括陷門的相關(guān)關(guān)系,以及與數(shù)據(jù)集相關(guān)的統(tǒng)計(jì)信息。公共服務(wù)器使用已知的陷門信息來分析查詢關(guān)鍵字或陷門與文檔的關(guān)系。
1.3符號
Q表示檢索關(guān)鍵詞集合,Q={q1,q2,…,qk}。
D表示明文數(shù)據(jù)集合,D={D1,D2,…,Dn},其中Di代表第i個(gè)數(shù)據(jù)擁有者的明文數(shù)據(jù)集合。
E表示密文數(shù)據(jù)集合,E={E1,E2,…,En},其中Ei代表第i個(gè)數(shù)據(jù)擁有者的密文數(shù)據(jù)集合。
P表示文件向量集合,P={P11,P12,…,Pnj},其中Pit代表第i個(gè)數(shù)據(jù)擁有者的第t個(gè)明文數(shù)據(jù)對應(yīng)的文件向量。
I表示加密文件向量集合,I={I11,I12,…,Inj},其中Iit代表第i個(gè)數(shù)據(jù)擁有者的第t個(gè)明文數(shù)據(jù)對應(yīng)的加密文件向量。
N表示檢索關(guān)鍵詞映射數(shù)字集合,N={N11,N12,…,Nnk},其中Nit代表第t個(gè)檢索關(guān)鍵詞在第i個(gè)數(shù)據(jù)擁有者的映射數(shù)字表達(dá)。
V表示檢索向量。
T表示加密檢索向量。
1.4設(shè)計(jì)目標(biāo)
為了在上述模型下有效地利用外包的云數(shù)據(jù)實(shí)現(xiàn)排序搜索,本文方案需要確保檢索準(zhǔn)確性和檢索效率。
1)檢索準(zhǔn)確率使用統(tǒng)計(jì)特征的經(jīng)典加密檢索模型無法捕獲單詞的上下文信息和文檔的深層語義。本文的方案旨在研究文件深層次的語義,而不是基于統(tǒng)計(jì)學(xué)特征作為文件檢索結(jié)果的依據(jù)。本文模型不是使用統(tǒng)計(jì)特征的方法,而是通過神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,檢索準(zhǔn)確率高于以前的方法。
2)效率效率包括搜索和存儲兩個(gè)方面。減小生成向量的維數(shù)可天然減小存儲與計(jì)算資源消耗,同時(shí)設(shè)計(jì)合適的文檔索引向量管理結(jié)構(gòu)也可提高檢索的效率。
2模型
2.1私有云聯(lián)邦學(xué)習(xí)模型
聯(lián)邦學(xué)習(xí)是分布式機(jī)器學(xué)習(xí)架構(gòu)的一種表現(xiàn)形式,聯(lián)邦學(xué)習(xí)可分為訓(xùn)練服務(wù)器和中心參數(shù)服務(wù)器。所有服務(wù)器共享需要訓(xùn)練的機(jī)器學(xué)習(xí)模型,且共享各服務(wù)器每輪訓(xùn)練的參數(shù),所有訓(xùn)練服務(wù)器將參數(shù)以密文形式傳遞給中心服務(wù)器后,中心服務(wù)器進(jìn)行參數(shù)統(tǒng)一。聯(lián)邦學(xué)習(xí)架構(gòu)在保證數(shù)據(jù)不被共享的前提下對所有數(shù)據(jù)進(jìn)行集中訓(xùn)練,解決了各個(gè)數(shù)據(jù)擁有者的敏感數(shù)據(jù)孤島問題。
聯(lián)邦學(xué)習(xí)由參數(shù)服務(wù)器與數(shù)據(jù)訓(xùn)練方兩部分組成,所有訓(xùn)練者共享訓(xùn)練模型[17]。各數(shù)據(jù)訓(xùn)練者單獨(dú)訓(xùn)練自己的數(shù)據(jù),共享訓(xùn)練參數(shù)。傳統(tǒng)密文檢索方案基于統(tǒng)計(jì)學(xué)模型,根據(jù)文件中關(guān)鍵詞的詞頻與逆向文件頻率來生成文件向量和檢索請求向量。在此基礎(chǔ)上,提高檢索準(zhǔn)確性的方案為檢索關(guān)鍵詞的拓展,如用戶興趣模型、根據(jù)深度學(xué)習(xí)得出的相似關(guān)鍵詞的拓展,或根據(jù)關(guān)鍵詞的位置進(jìn)行權(quán)重更新。由于數(shù)據(jù)安全性的問題,并沒有通過深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練明文數(shù)據(jù),挖掘文章深層次語義。本文提出一種基于私有云架構(gòu)下的聯(lián)邦學(xué)習(xí)模型,可將文章向量與檢索向量的生成方式由傳動的統(tǒng)計(jì)學(xué)模型更新為深度學(xué)習(xí)模型,并且考慮所有數(shù)據(jù)訓(xùn)練者的計(jì)算性能有所不同,設(shè)計(jì)時(shí)間窗口管理模式,提高了通信與訓(xùn)練效率。如圖2所示,為私有云聯(lián)邦學(xué)習(xí)模型架構(gòu)。
一輪聯(lián)邦學(xué)習(xí)網(wǎng)絡(luò)模型更新的時(shí)間由數(shù)據(jù)擁有者的訓(xùn)練時(shí)間T1和參數(shù)傳遞及參數(shù)服務(wù)器更新時(shí)間T2組成??紤]到每個(gè)數(shù)據(jù)擁有者的數(shù)據(jù)量及計(jì)算能力不同,本文設(shè)計(jì)了時(shí)間窗口管理模型。聯(lián)邦學(xué)習(xí)開始之前,整個(gè)系統(tǒng)測試通信時(shí)間,設(shè)定通信窗口T1及總體窗口時(shí)間T,數(shù)據(jù)擁有者訓(xùn)練時(shí)間T2=T-T1。對數(shù)據(jù)擁有者1來說,第一次訓(xùn)練參數(shù)結(jié)果為W1,后在T2時(shí)間內(nèi)繼續(xù)本地訓(xùn)練,本地訓(xùn)練的輪次根據(jù)數(shù)據(jù)擁有者的數(shù)據(jù)量大小、私有云的計(jì)算能力不同也會有所不同,在結(jié)束時(shí)的訓(xùn)練參數(shù)結(jié)果計(jì)為W1,將結(jié)果發(fā)送至參數(shù)服務(wù)器。該方案既保證了每輪模型統(tǒng)一時(shí),所有用戶數(shù)據(jù)擁有者都參與訓(xùn)練,又考慮了計(jì)算能力強(qiáng)的數(shù)據(jù)擁有者可多次本地訓(xùn)練提升模型訓(xùn)練效果。
2.2神經(jīng)網(wǎng)絡(luò)向量生成模型
與傳統(tǒng)的統(tǒng)計(jì)學(xué)生成的向量生成模型不同,本文利用私有云聯(lián)邦學(xué)習(xí)模型訓(xùn)練神經(jīng)網(wǎng)絡(luò)向量生成模型。模型選擇為DSSM[18]。文件向量、檢索向量通過該模型映射到同維度的深層次語義空間。
DSSM模型的輸入為N個(gè)文件與1個(gè)查詢請求。神經(jīng)網(wǎng)絡(luò)架構(gòu)為五層。第一層為維度為500k的輸入。經(jīng)過word-n-gram層將維度減小到30k。后經(jīng)過兩層全連接深度神經(jīng)網(wǎng)絡(luò)層,維度為300、300,后輸入為128維的向量。該模型的各層激活函數(shù)為tanh。
在訓(xùn)練過程中,通過該模型生成的N+1個(gè)128位的向量對應(yīng)了文件與查詢請求。為簡化密文檢索的復(fù)雜度,本文在生成128維向量后,需對向量進(jìn)行歸一化處理:
y=Y‖Y‖(1)
相關(guān)性分?jǐn)?shù)為查詢向量與文件向量的點(diǎn)乘結(jié)果。模型目標(biāo)是優(yōu)化點(diǎn)擊文檔的可能性,損失函數(shù)如式(2)所示。
L(Λ)=-log∏(Q,D+)P(D+|Q)(2)
其中:P為通過softmax函數(shù)計(jì)算的正向文檔與查詢請求的相關(guān)性得分的后驗(yàn)概率,如式(3)所示,γ為以真實(shí)數(shù)據(jù)測試為背景得出的平滑系數(shù);D為所有文檔,包括四個(gè)沒有被點(diǎn)擊的文檔D′和一個(gè)被點(diǎn)擊的文檔D+。在本文方案中,隨機(jī)初始化參數(shù),使用隨機(jī)梯度算法使得每個(gè)私有云分布式地訓(xùn)練。
P(D+|Q)=exp(γR(D+|Q))∑D′∈D exp(γR(D′|Q))(3)
每個(gè)數(shù)據(jù)擁有者通過私有云服務(wù)器單獨(dú)訓(xùn)練DSSM模型,數(shù)據(jù)為該擁有者自己的數(shù)據(jù),通過參數(shù)服務(wù)器進(jìn)行參數(shù)共享。
2.3加密倒排索引表
倒排索引表在信息檢索領(lǐng)域中應(yīng)用廣泛,根據(jù)KEY-VALUE格式建表,其中KEY為文件關(guān)鍵詞集合。VALUE值為文件的文件向量。在密文檢索中,不可信的公有云存放檢索表,避免公有云服務(wù)器對數(shù)據(jù)使用者的檢索情況進(jìn)行分析,所以不可將KEY值以明文關(guān)鍵字的形式直接存放于公有云服務(wù)器。本文利用離散對數(shù)難題將關(guān)鍵詞映射為無規(guī)律的數(shù)字,并且在每輪檢索過程中更新密文倒排索引表的KEY值。加密倒排索引表保證了數(shù)據(jù)和數(shù)據(jù)使用者的安全性,具體流程如圖3所示。
數(shù)據(jù)使用者在檢索的初始階段需要向所有數(shù)據(jù)擁有者發(fā)送身份認(rèn)證。認(rèn)證通過后,數(shù)據(jù)使用者擁有n個(gè)密鑰集合S={PD1,q1,a1},{PD2,q2,a2},…,{PDn,qn,an},其中{PDi,qi,ai}代表第i個(gè)數(shù)據(jù)擁有者與數(shù)據(jù)使用者共享的素?cái)?shù)q、整數(shù)a,以及數(shù)據(jù)使用者i的文件密鑰。
數(shù)據(jù)使用者通過私鑰Xuser生成公鑰Yuser,如式(4)所示。
Yuser=a(Xuser)mod q(4)
隨后將Yuser和檢索關(guān)鍵詞集合Q={q1,q2,…,qk}一同發(fā)送給數(shù)據(jù)擁有者Ui。數(shù)據(jù)使用者該輪請求有k個(gè)關(guān)鍵字。對于數(shù)據(jù)擁有者Ui,根據(jù)k個(gè)關(guān)鍵字,生成k個(gè)私鑰{X1pcs,…,Xkpcs}和k個(gè)公鑰{Y1pcs,…,Ykpcs},并將公鑰發(fā)送至數(shù)據(jù)使用者。
數(shù)據(jù)使用者通過式(5)計(jì)算出k個(gè)關(guān)鍵字映射數(shù)字:
NK=(Ykpcs)Xusermod q(5)
數(shù)據(jù)擁有者通過式(6)計(jì)算出k個(gè)關(guān)鍵字映射數(shù)字:
NK=(Yuser)Xkpcsmod q(6)
在數(shù)據(jù)使用者與所有數(shù)據(jù)擁有者進(jìn)行身份認(rèn)證和關(guān)鍵字?jǐn)?shù)字映射后,共有n×k個(gè)關(guān)鍵詞映射數(shù)字生成,數(shù)據(jù)使用者將n×k個(gè)映射數(shù)字與檢索關(guān)鍵詞發(fā)送至參數(shù)服務(wù)器。每個(gè)數(shù)據(jù)使用者跟據(jù)自己擁有的k個(gè)映射數(shù)字更新加密倒排索引表對應(yīng)KEY值,其余KEY值隨機(jī)生成并發(fā)送至公有云。
3本文方案
3.1具體方案
1)key(1l(n))→{SK,K,a,q}
數(shù)據(jù)所有者通過隨機(jī)密鑰生成算法輸出密鑰以加密文檔和索引,并輸入一個(gè)安全參數(shù)l。SK是一個(gè)密鑰集,包括一個(gè) (n+u+1)位向量和兩個(gè)(n+u+1)×(n+u+1)可逆矩陣,SK={M1,M2,S}。此外,K是對稱密鑰,a是q的本源根。
2){a,q,Xuser,Yuser}→N
身份認(rèn)證后,數(shù)據(jù)使用者發(fā)送檢索關(guān)鍵字給所有數(shù)據(jù)擁有者,每個(gè)數(shù)據(jù)擁有者與該數(shù)據(jù)使用者根據(jù)a、q和各自的密鑰Xuser、Yuser來生成檢索關(guān)鍵詞的映射數(shù)字。具體流程如2.2節(jié)所述。數(shù)據(jù)擁有者根據(jù)生成的關(guān)鍵字映射數(shù)字生成加密倒排索引表的KEY值。數(shù)據(jù)使用者擁有n×k個(gè)關(guān)鍵字映射數(shù)字。其中k為數(shù)據(jù)使用者的關(guān)鍵字個(gè)數(shù),n為數(shù)據(jù)擁有者的數(shù)量。
3)聯(lián)邦學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò)模型
數(shù)據(jù)擁有者將數(shù)據(jù)信息傳入私有云,共同訓(xùn)練預(yù)先規(guī)定好的神經(jīng)網(wǎng)絡(luò)模型。其規(guī)定初始輪次神經(jīng)網(wǎng)絡(luò)的參數(shù)統(tǒng)一,在每輪訓(xùn)練結(jié)束、下一輪訓(xùn)練開始前,各私有云服務(wù)器從參數(shù)服務(wù)器下載最新參數(shù),參數(shù)再次統(tǒng)一。在本文使用的神經(jīng)網(wǎng)絡(luò)模型為DSSM[18],該模型結(jié)構(gòu)如2.2節(jié)所述。聯(lián)邦學(xué)習(xí)訓(xùn)練模型方式如2.1節(jié)所述,考慮所有用戶參與每輪訓(xùn)練,也同時(shí)保證算力大的用戶多次訓(xùn)練來提升聯(lián)邦學(xué)習(xí)訓(xùn)練效率。
4)index(SK,D)→{P,I}
通過私有云訓(xùn)練好的向量模型,所有數(shù)據(jù)擁有者根據(jù)該模型明文數(shù)據(jù)D生成128維的文件向量P,并將其擴(kuò)展為(128+u+1)維度向量P,其中擴(kuò)展的最后一位設(shè)為1,其他設(shè)為隨機(jī)數(shù)字ε(j)。經(jīng)過密鑰SK加密文件向量P生成加密文件向量I,具體為利用S將向量P分裂為P′和P″,分裂規(guī)則如式(7)所示。數(shù)據(jù)使用者構(gòu)建倒排索引表并將加密文件向量I放入表的VALUE位置,上傳至公有云。
P′l[t]=P″l[t]=P[t](S[t]=0)
P′l[t]+P″l[t]=P[t](S[t]=1)(7)
5)enc(D,K)→C
數(shù)據(jù)使用者使用密鑰K加密數(shù)據(jù)集D。
6)trapdoor(Q,SK)→T
數(shù)據(jù)使用者將檢索關(guān)鍵詞發(fā)送至參數(shù)服務(wù)器,參數(shù)服務(wù)器根據(jù)訓(xùn)練好的模型生成檢索向量發(fā)送至數(shù)據(jù)使用者,數(shù)據(jù)使用者根據(jù)密鑰SK和接收到的128維檢索向量V,并擴(kuò)展為(128+u+1)維度向量V,擴(kuò)展的最后一位為隨機(jī)數(shù)字t,其余補(bǔ)充位置由0或者1補(bǔ)充,并利用S將向量V分裂為V′和V″,分裂規(guī)則如式(8)所示。再生成加密檢索陷門T后,數(shù)據(jù)使用者將陷門T和關(guān)鍵詞映射集合N發(fā)送至公有云。
V′[t]=V″[t]=V[t](S[t]=1)
V′[t]+V″[t]=V[t](S[t]=0) (8)
7)search(T,I,N,ktop)→Eq
公有云收到數(shù)據(jù)使用者上傳的加密檢索陷門T后,根據(jù)關(guān)鍵詞映射集合N與加密倒排索引表比對,找出與關(guān)鍵詞映射集合N為KEY值的對應(yīng)所有VALUE中的加密文件向量I,通過式(9)計(jì)算出前ktop個(gè)文件Eq,并發(fā)送至數(shù)據(jù)使用者。
Ii×T={MT1P′l,MT2P″l}×{M-11V′,M-12V″}=
P′l×V′+P″l×V″=P×Q=r(P×Q+∑ε(j))+t
(9)
8)dec(Eq,K)→Dq
數(shù)據(jù)使用者根據(jù)收到結(jié)果文件集Eq后,根據(jù)密鑰K解密后得到結(jié)果文件明文信息。
3.2方案流程
本文提出的混合云架構(gòu)的密文檢索方案具體工作流程解耦為非檢索階段和檢索階段兩部分,如圖4所示。
非檢索階段包括構(gòu)建向量生成模型,向量生成模型可生成檢索向量和文件向量,通過2.1節(jié)提出的混合云架構(gòu)的聯(lián)邦學(xué)習(xí)模型來訓(xùn)練2.2節(jié)的神經(jīng)網(wǎng)絡(luò)模型,生成神經(jīng)網(wǎng)絡(luò)向量生成模型;每個(gè)數(shù)據(jù)擁有者擁有該模型輸入明文數(shù)據(jù)得到文件向量,文件向量通過加密并利用2.3節(jié)提出的加密倒排索引表來管理文件向量。
檢索階段,數(shù)據(jù)使用者發(fā)送檢索請求至擁有神經(jīng)網(wǎng)絡(luò)向量生成模型的參數(shù)服務(wù)器,參數(shù)服務(wù)器收到檢索請求后生成檢索向量并發(fā)送至數(shù)據(jù)使用者,數(shù)據(jù)使用者加密檢索向量后發(fā)送至公有云,公有云通過加密倒排索引表檢索出相關(guān)文件,并發(fā)送給數(shù)據(jù)使用者;數(shù)據(jù)使用者通過密鑰解密出目標(biāo)明文數(shù)據(jù)。
由于數(shù)據(jù)的更新,會讓神經(jīng)網(wǎng)絡(luò)向量生成模型不斷更新,檢索階段和非檢索階段會重復(fù)發(fā)生,但分別獨(dú)立。
4安全性分析
首先,在神經(jīng)網(wǎng)絡(luò)模型中生成陷門和文檔索引,并對其進(jìn)行降維。文檔和查詢的內(nèi)容不能直接反映在向量中。此外,還引入了偽關(guān)鍵字、隨機(jī)分裂和兩個(gè)(n+u+1)2加密矩陣。正如文獻(xiàn)[19]中所證明的,對手無法構(gòu)造足夠的方程來完整地計(jì)算矩陣。因此,本文提出的方案很好地抵抗了已知的密文模型威脅模型。
本文將已知背景知識模型下的安全性歸結(jié)為了解文檔索引和檢索陷門之間的內(nèi)在關(guān)系。為了進(jìn)一步防止好奇的公共云服務(wù)器根據(jù)已知的背景知識泄露和最小化文檔信息,動態(tài)地改變了陷門的表達(dá)。使用S分割密鑰SK中的向量。因此,即使用戶多次檢索同一查詢,收到的搜索請求陷門也是不同的。同時(shí),所有向量引入隨機(jī)數(shù)ε(j),其值服從均值為μ′,方差為σ′=c2/3的均勻分布U(μ′-c,μ′+c),根據(jù)中心極限定理,ε(j)服從N(μ,σ2),σ值越高,安全性越高,但其檢索準(zhǔn)確性降低,合適的σ值可有效地抵抗統(tǒng)計(jì)分析的攻擊。本文提出的方案對于已知的背景知識威脅模型也是安全的。
5性能評估
本文使用Python語言在CPU為Intel Core 2.9 GHz、系統(tǒng)為Windows 10、RAM為4 GB的計(jì)算機(jī)上實(shí)現(xiàn)了該方案。本文提出的系統(tǒng)性能與MRSE[2]、PRSE[12]和FMRSM方案[20]的性能進(jìn)行了對比。本文在一個(gè)真實(shí)的數(shù)據(jù)集上評估整體性能,該數(shù)據(jù)集以后稱為評估數(shù)據(jù)集,并且利用DSSM[18]網(wǎng)絡(luò)作為聯(lián)邦學(xué)習(xí)網(wǎng)絡(luò)模型。從一年的查詢文檔日志文件中隨機(jī)選擇20 000個(gè)英語查詢樣本,模型訓(xùn)練時(shí)1個(gè)檢索請求和對應(yīng)4個(gè)非相關(guān)文檔和1個(gè)相關(guān)文檔。本文從檢索效率和文檔檢索精度方面進(jìn)行了性能分析。每次模擬重復(fù)10次,并分析給出平均模擬結(jié)果,系統(tǒng)的各個(gè)模塊及具體實(shí)現(xiàn)方案如表1所示。
將本文方案與上述方案(MRSE、FMRSM和PRSE)的文檔檢索效率進(jìn)行對比,如圖5所示。隨著集合中文檔數(shù)量的增加,所有四種方案的檢索時(shí)間都會增加。MRSE的搜索時(shí)間隨著文檔集大小的線性增長而近似線性增長,考慮到公共云服務(wù)器需要在搜索階段掃描所有文檔索引,這是合理的。FMRSM和PRSE方案的性能更好,但本文方案的性能優(yōu)于上述所有方案。本文方案搜索過程基于加密倒排索引表,且向量維數(shù)較低,因此,當(dāng)文檔集具有更多文件時(shí),本文的方案更有效。
無論關(guān)鍵字的數(shù)量如何,MRSE、PRSE和FMRSM三個(gè)方案的搜索時(shí)間大致保持不變,如圖6所示,但三種方案的檢索時(shí)間都遠(yuǎn)高于本文方案。
在本文中,本文通過相關(guān)文檔在所有返回結(jié)果中所占的比例來衡量文檔檢索的準(zhǔn)確性。從圖7可以看出,與MRSE相比,無論文檔數(shù)量如何,本文方案的搜索精度始終高于95%。相比之下,MRSE的搜索效率從近90%逐漸下降到80%。
6結(jié)束語
本文提出混合云架構(gòu)下的深度語義密文檢索方案,本文利用私有云進(jìn)行聯(lián)邦模型學(xué)習(xí),解決了數(shù)據(jù)孤島及安全性問題,可提取出文件更深層次語義信息,提高了檢索的準(zhǔn)確性,并利用加密倒排索引表結(jié)構(gòu),在保證數(shù)據(jù)使用者檢索關(guān)鍵詞不被公有云記錄的前提下,提升了檢索的效率。分析和仿真結(jié)果表明,該方案為數(shù)據(jù)用戶提供了安全、高效的加密文檔搜索服務(wù)。
在本文未來的工作中,筆者計(jì)劃優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)或使用更好的模型來挖掘加密檢索中文檔的深層次語義。同時(shí),結(jié)合具體模型構(gòu)建提升檢索效率的向量存儲模型。
參考文獻(xiàn):
[1]Cao Ning,Wang Cong,Li Ming,et al. Privacy-preserving multi-keyword ranked search over encrypted cloud data [J]. IEEE Trans on Parallel and Distributed Systems,2014,25(2): 222-233.
[2]Xia Zhihua,Chen Li,Sun Xingming,et al. A multi-keyword ranked search over encrypted cloud data supporting semantic extension [J]. International Journal of Multimedia and Ubiquitous Engineering,2016,11(8): 107-120.
[3]Cai Chengjun,Weng Jian,Yuan Xingliang,et al. Enabling reliable keyword search in encrypted decentralized storage with fairness [J]. IEEE Trans on Dependable and Secure,2021,18(1): 131-144.
[4]Li Feng,Ma Jianfeng,Miao Yinbin,et al. Verifiable and dynamic multi-keyword search over encrypted cloud data using bitmap [J/OL]. IEEE Trans on Cloud Computing. (2021-07-01). http://doi.org/10.1109/tcc.2021.3093304.
[5]Liu Lianggui ,Chen Qiuxia. A novel feature matching ranked search mechanism over encrypted cloud data [J]. IEEE Access,2020,8: 114057-114065.
[6]Zhang Dong,F(xiàn)an Qing,Qiao Hongyi,et al. A public-key encryption with multi-keyword search scheme for cloud-based smart grids [C]// Proc of IEEE Conference on Dependable and Secure Computing. Piscataway,NJ: IEEE Press,2021: 1-6.
[7]沈?qū)W利,崔海韻,陳鑫彤. 一種支持撤銷的位置分層屬性加密研究 [J]. 計(jì) 算 機(jī) 應(yīng) 用 研 究,2019,37(1): 216-220. (Shen Xueli,Cui Haiyun,Chen Xintong. Research on encryption of location hierarchical attribute supporting revocation [J]. Application Research of Computers,2019,37(1): 216-220.)
[8]Miao Yinbin,Deng R,Choo K K R ,et al. Threshold multi-keyword search for cloud-based group data sharing [J]. IEEE Trans on Cloud Computing,2020,10(3): 2146-2162.
[9]路宏琳,王利明. 面向用戶的支持用戶掉線的聯(lián)邦學(xué)習(xí)數(shù)據(jù)隱私保護(hù)方法 [J]. 信息網(wǎng)絡(luò)安全,2021,21(3): 64-71. (Lu Honglin,Wang Liming. User-oriented data privacy preserving method for federated learning that supports user disconnection [J]. Netinfo Security,2021,21(3): 64-71.)
[10]張佳樂,趙彥超,陳兵,等. 邊緣計(jì)算數(shù)據(jù)安全與隱私保護(hù)研究綜述 [J]. 通信學(xué)報(bào),2018,39(3): 1-21. (Zhang Jiale,Zhao Yanchao,Chen Bing,et al. Survey on data security and privacy-preserving for the research of edge computing [J]. Journal on Communications,2018,39(3): 1-21.)
[11]Zhang Ke,Long Jiahuan,Wang Xiaofen,et al. Lightweight searchable encryption protocol for industrial Internet of Things [J]. IEEE Trans on Industrial Informatics,2020,17(6): 4248-4259.
[12]Fu Zhangjie,Ren Kui,Shu Jiangang,et al. Enabling personalized search over encrypted outsourced data with efficiency improvement [J]. IEEE Trans on Parallel Distributed Systems,2016,27(9): 2546-2559.
[13]Nagesh J,Jyoti N,Sayli B. Semantic search supporting similarity ran-king over encrypted private cloud data [J]. International Journal of Emerging Engineering Research and Technology,2014,2(7): 215-219.
[14]Xia Zhihua,Zhu Yanling,Sun Xingming,et al. Secure semantic expansion based search over encrypted cloud data supporting similarity ranking [J]. Journal of Cloud Computing,2014,3(1): 1-11.
[15]Fu Zhangjie,Wu Xinle,Guan Chaowen,et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement [J]. IEEE Trans on Information Forensics and Security,2017,11(12): 2706- 2716.
[16]Yang Wenyuan,Zhu Yuesheng. A verifiable semantic searching scheme by optimal matching over encrypted data in public cloud [J]. IEEE Trans on Information Forensics and Security,2020,16: 100-115.
[17]Wu Wentai,He Ligang,Lin Weiwei,et al. SAFA: a semi-asynchronous protocol for fast federated learning with low overhead [J]. IEEE Trans on Computers,2021,70(5): 655-668.
[18]Shen Yelong,He Xiaodong,Gao Jianfeng,et al. A latent semantic model with convolutional-pooling structure for information retrieval [C]// Proc of the 23rd ACM International Conference on Information and Knowledge Management. New York: ACM Press,2014: 101-110.
[19]Wong W K,Cheung D W,Kao B,et al. Secure KNN computation on encrypted databases [C]// Proc of ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2009:139-152.
[20]Chen Chi,Zhu Xiaojie,Shen Peisong,et al. An efficient privacy-preserving ranked keyword search method [J]. IEEE Trans on Parallel and Distributed Systems,2016,27(4): 951-963.
收稿日期:2022-02-09;修回日期:2022-04-04
作者簡介:李劍(1976-),男,陜西西安人,教授,博導(dǎo),博士,主要研究方向?yàn)樾畔踩?、量子密碼學(xué);矯健(1996-),男,遼寧大連人,碩士研究生,主要研究方向?yàn)樵朴?jì)算安全(joe@bupt.edu.cn).