• 
    

    
    

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

      基于BTM 主題模型的對稱可搜索加密方案*

      2022-03-10 06:18:24薛玉潔陳蘭香
      密碼學(xué)報 2022年1期
      關(guān)鍵詞:密文文檔加密

      薛玉潔, 陳蘭香, 穆 怡

      1. 福建師范大學(xué) 計算機與網(wǎng)絡(luò)空間安全學(xué)院 福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點實驗室, 福州350117

      2. 澳門城市大學(xué) 數(shù)據(jù)科學(xué)學(xué)院, 澳門

      1 引言

      隨著互聯(lián)網(wǎng)的迅速發(fā)展, 各種各樣的數(shù)據(jù)文檔與日俱增, 為了節(jié)約大規(guī)模數(shù)據(jù)的管理成本, 越來越多的企業(yè)選擇將數(shù)據(jù)外包到第三方云存儲服務(wù)器上. 云存儲的發(fā)展帶來數(shù)據(jù)加密的需求, 密文數(shù)據(jù)搜索得到極大關(guān)注, 取得了豐碩的研究成果. 但是當(dāng)前的密文檢索方案主要是基于關(guān)鍵詞檢索[1–7], 并沒有考慮用戶所查詢的關(guān)鍵詞與文檔的潛在語義特征, 這可能導(dǎo)致云端返回的檢索結(jié)果與用戶期望的主題不一致, 從而限制了密文檢索的準(zhǔn)確度和效率.

      近年來, 許多學(xué)者基于關(guān)鍵詞檢索實現(xiàn)了各種可搜索加密方案, 例如單關(guān)鍵詞搜索[1,3,8–10]、多關(guān)鍵詞搜索[11–15]、模糊關(guān)鍵詞搜索[16,17]以及連接關(guān)鍵詞搜索[12,13,18]等. 文獻[11] 使用TF-IDF 向量空間模型來計算詞頻和反向文檔頻率, 相關(guān)度是TF-IDF 向量間的內(nèi)積, 以此來比較關(guān)鍵詞與文檔的相關(guān)度.文獻[7,9,19] 使用安全K最鄰近算法(KNN) 生成加密文檔向量和加密索引(倒排索引、樹索引和布隆過濾器等), 加密后將其外包給云, 一旦用戶需要開始檢索, 將生成查詢關(guān)鍵詞的陷門, 并使用加密索引實現(xiàn)密文檢索. 然而, 這些方案都沒有考慮用戶所查詢的關(guān)鍵詞和文檔的潛在語義特征, 從而導(dǎo)致檢索結(jié)果與用戶期望不符. 此外, 傳統(tǒng)的基于關(guān)鍵詞的密文搜索方案需要對所有文檔提取關(guān)鍵詞, 然后根據(jù)所有關(guān)鍵詞構(gòu)建倒排索引, 其構(gòu)建的索引規(guī)模都比較大, 因此需要探索能夠縮小索引規(guī)模的方案.

      主題模型是在文本建模與文本搜索等領(lǐng)域中發(fā)現(xiàn)文本間潛在語義的語義模型[20]. 1990 年, Deerwester 等[20]提出潛在語義分析(latent semantic analysis, LSA) 模型, 它主要利用奇異值分解(singular value decomposition, SVD) 降維的方式, 將詞與文本映射到一個以主題作為維度的新的空間. 潛在狄利克雷分配(latent Dirichlet allocation, LDA) 模型[21]是最早被廣泛應(yīng)用的主題模型, 該模型是基于貝葉斯學(xué)習(xí)的話題模型, 主要應(yīng)用于自然語言處理領(lǐng)域, 它將每個文檔視為不同主題的混合體, 同時每個主題又被視為一組關(guān)鍵詞, 同一主題中的關(guān)鍵詞具有相似的語義. 然而傳統(tǒng)的主題模型(上述LSA 與LDA等) 在處理短文本, 如直播間彈幕和微博, 會因為詞語過于稀疏而使得模型效果不佳.

      為了解決該問題, 文獻[22] 在原來LDA 模型的基礎(chǔ)上進行改進, 提出基于Biterm 的主題模型(biterm topic model, BTM), BTM 模型在短文本上的處理效果比LDA 好, 即使對于長文本, BTM 的效果也不比LDA 差. BTM 主題模型可用來對關(guān)鍵詞和文檔之間的潛在語義進行建模, 并揭示出主題、文檔和關(guān)鍵詞之間的關(guān)系. 基于主題進行檢索的目標(biāo)就是通過用戶的待檢索關(guān)鍵詞找出對應(yīng)主題, 通過主題來對文檔進行搜索, 使得檢索的文檔從語義角度更加符合用戶的期望.

      借鑒BTM 主題模型在明文檢索領(lǐng)域的優(yōu)勢, 本文提出一個基于BTM 主題模型的高效密文檢索方案, 利用平衡二叉樹和倒排索引構(gòu)建安全索引. 數(shù)據(jù)擁有者首先訓(xùn)練出語料庫在不同主題個數(shù)下的模型,并且分別計算它們的困惑度和一致性參數(shù), 根據(jù)這兩個參數(shù)指定語料庫的主題個數(shù). 然后提取每個主題的關(guān)鍵詞概率分布向量, 生成主題-關(guān)鍵詞的分布矩陣, 以此為基礎(chǔ)構(gòu)建出可實現(xiàn)主題檢索的平衡二叉樹索引. 每個文檔都有一個包含潛在語義特征的主題向量, 由此易于構(gòu)建文檔-主題概率分布矩陣, 為了提升檢索效率, 本文根據(jù)該矩陣構(gòu)建出了主題-文檔的倒排索引, 實現(xiàn)對文檔的檢索. 將基于平衡二叉樹的關(guān)鍵詞-主題索引和主題-文檔倒排索引作為安全二級索引, 與加密文檔一起外包給云服務(wù)器. 當(dāng)使用多關(guān)鍵詞構(gòu)造陷門來檢索k個最相關(guān)的文檔時, 授權(quán)用戶使用QueryTd 算法構(gòu)造待檢索關(guān)鍵詞陷門, 將其發(fā)送給云服務(wù)器, 云服務(wù)器根據(jù)令牌進行二級索引檢索, 返回關(guān)聯(lián)度最高的加密文檔作為檢索結(jié)果, 授權(quán)用戶使用密鑰解密從而得到最終的明文文檔. 因為主題向量的維數(shù)遠小于現(xiàn)有方案中的關(guān)鍵詞字典(TF-IDF 向量的維數(shù)), 所以該方案在搜索時間和索引空間開銷方面均優(yōu)于現(xiàn)有方案.

      具體而言, 本文提出了一種基于BTM 主題模型的高效密文檢索方案, 實現(xiàn)了以下功能:

      (1) 使用BTM 主題模型對原始數(shù)據(jù)進行預(yù)處理, 完成數(shù)據(jù)清洗、文本特征提取、主題個數(shù)選取、概率分布提取等一系列操作, 為進一步構(gòu)建文檔的主題向量索引、關(guān)鍵詞向量索引和查詢陷門奠定了基礎(chǔ).

      (2) 通過構(gòu)建安全二級索引實現(xiàn)了根據(jù)多關(guān)鍵詞高效檢索密文文檔這一過程. 其中一級索引的作用是通過多關(guān)鍵詞確定檢索文檔的主題, 它是根據(jù)所提取主題中關(guān)鍵詞的概率分布, 構(gòu)建出的一棵規(guī)模較小的平衡二叉樹索引; 二級索引的作用是根據(jù)一級索引所確定的主題來找到需要返回的密文文檔集, 它是根據(jù)各個文檔的主題概率分布, 構(gòu)建出的一個倒排索引表.

      (3) 構(gòu)建的安全二級索引在一定程度上隔離開關(guān)鍵詞和文檔標(biāo)識符, 從而降低第三方通過統(tǒng)計攻擊來泄露用戶隱私的概率. 本文根據(jù)已知密文攻擊模型和已知背景知識攻擊模型進行了安全性分析.

      (4) 將本方案在真實的數(shù)據(jù)集上進行測試, 對查詢結(jié)果的語義準(zhǔn)確率進行了實驗對比, 實驗結(jié)果表明,本文方案在檢索準(zhǔn)確率和效率上都是最優(yōu)的.

      本文的組織結(jié)構(gòu)如下: 第2 節(jié)介紹一些關(guān)于可搜索加密和主題模型的相關(guān)工作; 第3 節(jié)進行問題描述,并提出安全需求; 第4 節(jié)是符號描述和相關(guān)定義; 第5 節(jié)闡述整個系統(tǒng)的實現(xiàn), 并進行安全性分析; 第6 節(jié)通過具體的實驗對本方案進行準(zhǔn)確率和效率評估; 最后第7 節(jié)總結(jié)本文.

      2 相關(guān)工作

      關(guān)鍵詞密文檢索方案. 早在1996 年, Goldreich 等人[23]提出不經(jīng)意隨機訪問(oblivious RAM,ORAM) 模型實現(xiàn)軟件保護, 因為該模型能夠隱藏數(shù)據(jù)的訪問模式, 可以實現(xiàn)極安全的可搜索加密方案,但是因為計算和通信開銷過大而不太實用. 2000 年, Song 等人[1]首次提出可實際應(yīng)用的可搜索加密方案, 這是一種線性掃描方案, 每次必須對整個文件集合進行檢索. 2003 年, Goh[9]基于布隆過濾器和偽隨機函數(shù), 構(gòu)造了可抵抗關(guān)鍵詞語義攻擊的安全索引, 但是當(dāng)原始文檔很大時, 檢索效率較差. 2006 年,Curtmola[3]等人首次提出了兩個基于倒排索引的關(guān)鍵詞檢索方案, 此后研究者們提出了大量基于倒排索引的對稱可搜索加密方案.

      2010 年, Wang 等人[10]提出基于保序?qū)ΨQ加密算法(OPSE) 的支持結(jié)果排序的關(guān)鍵詞檢索方案.2011 年, Cao 等人[13]首次提出基于多關(guān)鍵詞的可排序密文檢索方案(multi-keyword ranked searchable encryption, MRSE). 2012 年, Wang 等人[8]又通過計算文檔和檢索關(guān)鍵詞之間的相關(guān)性得分, 實現(xiàn)了top-k檢索. 2017 年, Liu 等人[11]結(jié)合TF-IDF 模型, 提出了動態(tài)的可搜索對稱加密方案實現(xiàn)多數(shù)據(jù)源關(guān)鍵詞檢索, 但是這一方案不能保證云服務(wù)器是誠實的. 為了豐富檢索謂詞, 2018 年, Zhang 等人[12]提出了多屬性關(guān)鍵詞聯(lián)合密文檢索技術(shù), 他們構(gòu)造了一個基于多屬性樹的索引結(jié)構(gòu), 但是共享密鑰與雙線性映射使得檢索的通信開銷很大. 2020 年, Li 等人[15]提出一個基于區(qū)塊鏈的加密數(shù)據(jù)多關(guān)鍵詞相似搜索方案, 該方案采用傳統(tǒng)的二叉樹索引來提高檢索效率, 可以避免用戶擔(dān)心的惡意服務(wù)器的潛在錯誤行為.近些年, 很多對稱可搜索加密方案[11,12,14,15]都是改進MRSE 方案, 或者通過直接建立樹型索引來提高檢索效率, 但是樹的規(guī)模太大會極大地增加內(nèi)存I/O 次數(shù), 使得檢索效率降低, 因此需要進一步探索減小索引規(guī)模并提高檢索效率的方案.

      基于語義相似度的密文檢索方案. 2014 年, Xia 等人[24]和Fu 等人[25]都借助同義詞擴展來實現(xiàn)多關(guān)鍵詞可搜索加密. 2016 年, Chen 等人[26]利用層次聚類實現(xiàn)了多語義密文檢索, 但是構(gòu)建聚類索引的準(zhǔn)確度不高, 計算開銷和成本都很大. 2018 年, Fu 等人[27]應(yīng)用各種不同的語義模型, 但是他們采用監(jiān)督學(xué)習(xí)模型, 無法適應(yīng)于多種數(shù)據(jù)集, 并且標(biāo)簽數(shù)據(jù)可能超過字典規(guī)模. 2019 年, Dai 等人[14]通過構(gòu)建完全二叉樹的方式實現(xiàn)了安全的語義感知密文檢索, 但是構(gòu)建的二叉樹規(guī)模仍然比較大.

      主題模型的研究現(xiàn)狀. 1990 年, Deerwester 等人[20]最早提出潛在語義分析(latent semantic analysis, LSA) 主題模型, 此后, 主題模型得到廣泛關(guān)注. 2000 年, Papadimitriou 等人[28]在此基礎(chǔ)上提出了概率潛在語義分析(probabilistic LSA, PLSA), 并比較了PLSA 和LSA 的不同之處, 并討論了PLSA在自動文檔索引中的應(yīng)用. 同年, Bellegarda 等人[29]提出將LSA 使用在自然語言處理中(NLP) 中.2003 年, Blei 等人[21]針對PLSA 具有嚴(yán)重過擬合的問題, 他們結(jié)合貝葉斯思想提出了潛在狄利克雷分配(latent Dirichlet allocation, LDA) 模型, 該模型在很多研究工作中得到應(yīng)用. 例如, Heinrich 等人[30]基于LDA 提出一種高效的文本分析方法; Pang 等人[31]利用LDA 主題模型構(gòu)建了一種針對企業(yè)文本搜索的主體意圖混淆方法.

      2005 年, 為了克服標(biāo)準(zhǔn)LDA 模型不能建模各個主題的關(guān)系的缺陷, Blei 等人[32]提出了相關(guān)主題模型(correlated topic model,CTM),CTM 模型可以描述主題間的相關(guān)性. 2006 年,Blei 等人[33]采用高斯分布對同一個主題的詞分布進行規(guī)范化而提出動態(tài)主題模型(dynamic topic models, DTM), 與LDA 模型不同, DTM 引入時間因素, 從而刻畫語料庫主題隨時間的動態(tài)演化. 2007 年, 為了描述多個主題間的相關(guān)性, Li[34]提出PAM (pachinko allocation model) 主題模型, 它使用一種有向無環(huán)圖(directed acyclic graph, DAG) 結(jié)構(gòu)去學(xué)習(xí)和表現(xiàn)主題相關(guān)性, 每個主題是基于它的孩子節(jié)點的狄利克雷分布, PAM 模型可以靈活地表現(xiàn)主題間的相關(guān)性, 具有更好的文本表現(xiàn)力. 2013 年, Yan 等人[22]為了解決已有主題模型在處理短文本時會因為文本中的詞匯過于稀疏, 導(dǎo)致模型效果很差的缺陷, 提出了Biterm 主題模型(biterm topic model, BTM). 在短文本上BTM 的效果要比LDA 好, 即使是長文本, BTM 的效果也不比LDA 差.

      隨著主題模型研究的不斷成熟, 許多學(xué)者開始將其應(yīng)用于搜索領(lǐng)域. 2014 年, Wang 等人[35]提出了一個在關(guān)鍵詞檢索系統(tǒng)中掩蓋主題意圖的模型, 他們通過隱藏用戶搜索關(guān)鍵詞的主題意圖來保護用戶隱私,利用LDA 主題模型生成主題,構(gòu)造一種新的虛擬查詢生成算法實現(xiàn)了主體意圖混淆. 2016 年,Moody等人[36]提出了將主題模型向量化的LDA2Vec, 它將Word2Vec 和LDA 的優(yōu)點相結(jié)合, 利用深度學(xué)習(xí)的方法形成了一個新的算法用于文本挖掘和信息檢索, 并取得了很好的效果.

      2019 年, Dai 等人[14]首次將主題模型應(yīng)用于密文檢索, 他們利用LDA 模型建立關(guān)鍵詞與文檔之間的聯(lián)系, 通過建立二叉樹索引的方式實現(xiàn)了一個安全有效的密文檢索系統(tǒng). 由于大部分方案都是基于LDA 主題模型, 只適用于長文本數(shù)據(jù)集, 為了讓主題模型在密文檢索上的應(yīng)用場景更加廣闊, 我們采用BTM 主題模型在密文數(shù)據(jù)集上實現(xiàn)了一個基于文本語義的多關(guān)鍵詞密文檢索方案. 具有以下幾方面優(yōu)勢:

      (1) 方案基于無監(jiān)督學(xué)習(xí)方法, 數(shù)據(jù)擁有者可以直接將其應(yīng)用于不同的數(shù)據(jù)集.

      (2) 方案可根據(jù)檢索關(guān)鍵詞來推斷用戶所要查詢的文檔主題.

      (3) 二級索引的構(gòu)建大大降低了向量維度, 提高了時間和空間效率.

      3 問題描述

      3.1 系統(tǒng)模型

      系統(tǒng)模型包括三個實體: 數(shù)據(jù)擁有者、數(shù)據(jù)使用者和云服務(wù)器, 如圖1 所示. 基于BTM 主題模型的密文檢索系統(tǒng)主要包括七個步驟, 整個搜索過程可定義為一個七元組: BTM-MRSE=(GenKey, BuildIdxI,BuildIdxII, Encrypt, QueryTd, Search, Decrypt). 系統(tǒng)中每個算法的功能描述如下:

      圖1 系統(tǒng)模型Figure 1 System model

      (1) GenKey: 生成密鑰. 輸入安全參數(shù), 輸出偽隨機流作為加密文檔集的密鑰;

      (2) BuildIdxI: 構(gòu)建第一級安全索引. 通過主題模型生成主題-關(guān)鍵詞的概率分布向量, 構(gòu)造平衡二叉樹索引, 并對平衡二叉樹進行加密;

      (3) BuildIdxII: 構(gòu)建第二級安全索引. 通過主題模型生成文檔-主題的概率分布向量, 構(gòu)造倒排索引,并對倒排索引進行加密;

      (4) Encrypt: 文檔加密. 將文件拆分成固定長度的數(shù)據(jù)塊, 再通過分組加密算法進行加密生成密文;

      (5) QueryTd: 生成檢索陷門. 數(shù)據(jù)使用者輸入待檢索的關(guān)鍵詞集合和密鑰集合, 生成檢索陷門VTD;

      (6) Search: 檢索并返回結(jié)果. 云服務(wù)器收到檢索陷門后, 先將它與一級平衡二叉樹樹安全索引進行匹配獲取主題ID, 再根據(jù)主題ID 與二級倒排索引匹配獲取文檔索引, 最后根據(jù)文檔索引返回密文集合給用戶;

      (7) Decrypt: 解密密文. 數(shù)據(jù)使用者收到來自云服務(wù)器返回的密文集合, 利用從數(shù)據(jù)擁有者授權(quán)獲得的密鑰K1將其解密.

      3.2 設(shè)計目標(biāo)

      提出的方案需要實現(xiàn)的功能和滿足的安全需求有:

      (1) 構(gòu)建安全二級索引. 數(shù)據(jù)擁有者利用主題模型生成的平衡二叉樹索引和倒排索引組成的二級索引, 與加密文檔存儲在云服務(wù)器中供用戶查詢使用. 為了防止非法訪問, 索引也必須以加密的形式存儲;

      (2) 云端數(shù)據(jù)的安全性. 數(shù)據(jù)擁有者先要生成對稱密鑰, 對原始文檔數(shù)據(jù)進行加密后, 再發(fā)送到第三方云服務(wù)器存儲, 保障數(shù)據(jù)的安全性;

      (3) 陷門安全性. 數(shù)據(jù)擁有者向數(shù)據(jù)使用者發(fā)放加密檢索陷門以授權(quán)數(shù)據(jù)使用者檢索加密的索引與數(shù)據(jù), 在此過程中需要保護檢索陷門的安全性, 同時也要保護檢索陷門不向服務(wù)器泄露索引和數(shù)據(jù)的任何信息.

      3.3 安全模型

      本方案中的云服務(wù)器被認(rèn)為是“半誠實但好奇的”, 它會正確地執(zhí)行收到的查詢請求, 但對于查詢信息和密文信息充滿好奇, 想要獲取用戶文檔的內(nèi)容. 根據(jù)云服務(wù)器掌握的信息, 主要有以下兩種安全模型[13]:

      (1) 已知密文模型. 敵手知道用戶存儲的密文信息, 包括加密后的文檔集合、密文索引以及陷門, 但并不知道密鑰. 敵手只能依據(jù)這些信息來進行已知密文攻擊;

      (2) 己知背景信息模型. 云服務(wù)器不僅能夠得到已知密文模型中可以得到的全部信息, 還具有記錄查詢結(jié)果、分析不同的陷門之間關(guān)系、數(shù)據(jù)統(tǒng)計分析等能力. 例如云服務(wù)器可以利用詞頻信息, 即包含關(guān)鍵詞的文檔數(shù), 得到文檔集合中每一個關(guān)鍵詞的頻率分布信息, 并進一步進行關(guān)鍵詞攻擊.

      4 預(yù)備知識

      4.1 符號定義

      表1 為本文所用符號定義.

      表1 符號定義Table 1 Symbol definition

      4.2 BTM 主題模型

      在過去的密文檢索方案中, 判斷文本之間的相似程度往往只是依賴于相同關(guān)鍵詞出現(xiàn)的頻率, 但是這種方法忽略了內(nèi)在語義關(guān)聯(lián), 這將使得原本兩個相似的文檔因為沒有相似的關(guān)鍵詞而造成判斷錯誤. 本文通過BTM 主題模型來解決這個問題, 其中概率圖生成模型和Gibbs 采樣算法是BTM 主題模型的主要理論基礎(chǔ), 下文我們將對此進行概述.

      4.2.1 概率圖生成模型

      BTM 模型[22]是一種無監(jiān)督統(tǒng)計學(xué)習(xí)模型, 它改進了LDA 主題模型, 共分為3 層貝葉斯概率生成模型, 如圖2 所示. 三層概率生成模型分別為: 最外層的文本語料層、中間的文檔層和里面的關(guān)鍵詞層. 該模型主要通過對兩個變量α和β進行參數(shù)學(xué)習(xí)來獲取文本集的主題信息. 其中t為主題個數(shù),N和M分別表示一篇文檔中的關(guān)鍵詞集和整個文檔集,θ和Φ分別表示文檔下的主題分布和主題下的詞分布,α和β分別是它們的狄利克雷先驗參數(shù),Z為一篇文檔的主題分布,W為關(guān)鍵詞的向量表示.

      圖2 概率圖生成模型Figure 2 Probability graph generation model

      整個模型的構(gòu)建還需要用到如下兩個分布, 一個是狄利克雷分布, 它是Beta 分布在M維度上的擴展情形, 是一個連續(xù)分布, 該分布的概率密度函數(shù)如公式(1)所示, 其中Γ(x) 表示伽馬函數(shù).

      另一個是多項分布, 它是二項分布在N維度上的擴展情形, 是一個離散分布, 與狄利克雷分布組成了共軛分布, 其分布律如公式(2)所示, 其中pk表示第k個主題的概率.

      通過對所有數(shù)據(jù)的聯(lián)合概率應(yīng)用鏈?zhǔn)椒▌t, 可得到主題z的條件概率如式(3)所示. 其中,b=(wi,wj)為通過多項式采樣獲得的一個關(guān)鍵詞元組, 稱為biterm,z-b表示除b以外的所有主題分配,N為整個biterm 集,|M| 表示整個文檔集大小,nz表示b分配給主題z的次數(shù),nw|z表示單詞w分配給主題z的次數(shù),α和β為概率圖生成模型中的兩個狄利克雷先驗參數(shù). 從計算出來的結(jié)果進行Gibbs 采樣, 重新統(tǒng)計nw|znz, 直到最后Gibbs 參數(shù)收斂, 就是我們最后得到的BTM 主題模型.

      4.2.2 Gibbs 采樣算法

      為了對主題模型的參數(shù)θ和Φ進行學(xué)習(xí), 我們采用馬爾科夫鏈蒙特卡洛方法(Markov chain Monte Carlo, MCMC), 通過對詞的主題采樣來生成馬氏鏈, 經(jīng)過若干次的循環(huán)迭代后, 模型就會收斂, 生成兩個矩陣分別為文本-主題分布矩陣θ和主題-關(guān)鍵詞分布矩陣Φ, 矩陣中的元素值即為概率分布值, 其中每個元素值的計算如公式(4)所示. 其中t為主題個數(shù),|N| 表示組成所有文檔的關(guān)鍵詞集大小,|M| 表示整個文檔集大小,n代表采樣的數(shù)量.

      對詞的主題采樣過程采用了Gibbs 采樣算法, 它主要有兩大優(yōu)勢. 首先, Gibbs 采樣算法是MCMC算法中的一種, 它很容易就能構(gòu)造出多變量概率分布的隨機樣本, 尤其適合于主題模型中構(gòu)造兩個以上變量的聯(lián)合概率分布; 其次, 由于公式(3)中后驗概率P的計算很復(fù)雜且效率低下, 但是由于每個參數(shù)內(nèi)部的元素是相互獨立的, 因此我們可以采用這種獨立采樣算法來加快參數(shù)的收斂速度. Gibbs 采樣算法的采樣過程如算法1 所示.

      算法1 GibbsSampling(t,α,β,N)→θ,Φ Input: The number of topics t, hyperparameters α,β, biterm set N Output: Multinomial parameter θ and Φ 1 for iter = 1 to Niter do 3 draw zb from P(z|z-b,N,α,β);2 for b ∈N do update nz,nwi|z and nwj|z;5 end 6 end 7 Compute the parameters θ as Eq. (4) and Φ as Eq. (5);8 Return θ and Φ;4

      4.2.3 主題個數(shù)的選取

      在進行BTM 主題模型構(gòu)建之前, 需要對主題個數(shù)進行選取, 主題個數(shù)的選取是否精確直接決定了密文檢索方案的準(zhǔn)確度與效率. 確定語料庫主題個數(shù)的方案通常采用困惑度和一致性指標(biāo)[21,22], 困惑度越低, 表明文本主題分類越清晰; 一致性越高, 表明某些頻率高的關(guān)鍵詞越集中于同一主題. 困惑度的計算公式如公式(5)所示. 其中,D為語料庫文檔集合,M為文檔集合的大小,Nd為每篇文檔的關(guān)鍵詞總數(shù),p(wd) 表示文檔中的關(guān)鍵詞wd出現(xiàn)的總頻率.

      一致性指的是對于給定的主題T,計算出現(xiàn)概率最高的前m個關(guān)鍵詞集,即wT={w1,w2,··· ,wm}.一致性的計算公式如公式(6)所示. 其中,t為主題個數(shù),P(wTij) 為第i個主題中, 出現(xiàn)頻率為第j高的關(guān)鍵詞的概率值.

      4.3 索引方案

      4.3.1 倒排索引的建立

      倒排索引實現(xiàn)了由關(guān)鍵詞到文檔的映射, 用戶只要對關(guān)鍵詞表進行檢索, 就能找到包含該關(guān)鍵詞的所有文檔. 本方案根據(jù)倒排索引的思想建立主題-文檔的倒排索引表, 即可根據(jù)主題來檢索符合該主題的所有文檔, 如圖3 所示. 其中節(jié)點表示的是各個主題的標(biāo)識符, 分別指向一組文檔標(biāo)識符列表, 并且每個文檔根據(jù)其主題概率分布的數(shù)值從大到小排列, 從而控制返回最相關(guān)文檔的個數(shù). 索引建立的具體步驟見算法2.

      圖3 倒排索引表Figure 3 Inverted index table

      算法2 BuildInvertedIndex(→V,t)→I Input: Document-topic probability distribution vector →V, the number of topics t Output: An inverted index I 1 Traverse →Vi of →V = {→V1,→V2,··· ,→Vn}. →Vi = {Tj : Pj,···} represents the topic probability distribution of the ith document, where Pj is the probability that the ith document belongs to the jth topic. Once a new topic j appears, it creates a new list listj and insert (i, Pj) into listj ;2 Traverse the constructed inverted list, and sort each list according to the probability value of the nodes from largest to smallest ;3 Return I;

      4.3.2 平衡二叉樹索引的建立

      平衡二叉樹索引如圖4 所示, 將主題模型生成的t個主題作為平衡二叉樹的葉子節(jié)點, 節(jié)點的數(shù)值為關(guān)鍵詞的概率分布向量, 即每個關(guān)鍵詞在該主題下出現(xiàn)的概率; 父節(jié)點存儲左右孩子節(jié)點所對應(yīng)關(guān)鍵詞概率的最大值. 索引建立的具體步驟見算法3.

      圖4 樹型索引Figure 4 Tree index

      算法3 BuildAVLIndex(T,W)→I Input: Topic-keyword probability distribution T, keywords collection W Output: A balanced binary tree index I 1 Construct t nodes corresponding to t topics as leaves. Each leaf stores a topic ID id and an array dataab.The size of the array is m, and the value is the vector T[i] (the probability distribution of all keywords corresponding to the ith topic). a and b represents the bth node in the ath layer ;2 Combine leaves in pairs to construct an AVLtree index from bottom to top ;3 The non-leaf node Rab stores the bigger dataab. When two nodes compose a new AVL tree, the values of dataab of the two child nodes are compared one by one, and the bigger one is kept in the corresponding position of the parent node’s dataab ;4 Return I;

      4.4 安全KNN 技術(shù)

      在密文檢索的過程中, 為了防止兩個向量相乘的結(jié)果泄露給第三方, 往往使用安全KNN 技術(shù)[7]中安全內(nèi)積的方法來達到保護隱私的目的. 這一技術(shù)常被用來計算內(nèi)積相似度[13], 具體加密過程如下所述.

      5 基于BTM 的密文檢索方案

      5.1 算法描述

      我們提出的基于BTM 的密文檢索方案BTM-MRSE 包括七個算法: (GenKey, BuildIdxI, BuildIdxII, Encrypt, QueryTd, Search, Decrypt), 其中四個算法(GenKey, BuildIdxI, BuildIdxII, Encrypt)由數(shù)據(jù)擁有者負(fù)責(zé)執(zhí)行, QueryTd 和Decrypt 由獲得檢索許可的用戶執(zhí)行, Search 操作由云服務(wù)器執(zhí)行,具體步驟及主要算法描述如下.

      5.1.1 Genkey(1λ)→K

      首先由數(shù)據(jù)擁有者進行系統(tǒng)初始化, 生成系統(tǒng)密鑰, 算法描述見算法4. 算法中λ是需要輸入的系統(tǒng)安全參數(shù), 輸出K= (K1,K2,M1,M2,S). 第2 行獲取兩個密鑰K1和K2,K1是用來加密明文數(shù)據(jù)的對稱密鑰,K2是用來加密二級索引的對稱密鑰; 第9 行獲取M1和M2, 它們都是m×m維的可逆矩陣;第14 行生成S, 它是一個隨機生成的m維向量, 它們對索引結(jié)點向量和查詢向量進行加密; 第16 行獲得最終的K.P(·) 是一個偽隨機函數(shù)(pseudo-tandom gunction, PRF), 這里需要三個不同的隨機密鑰κ1,κ2,κ3, 其定義見公式(8), 其中k是隨機密鑰的長度,l是安全參數(shù)的長度.

      算法4 GenKey(1λ)→K Input: Secure parameter λ Output: K = {K1,K2,M1,M2,S}1 for i = 1,2 do 2 Ki ←Pκ1(λ);3 end 4 rowNum ←m, colNum ←m;5 for k = 1,2 do 6 for i = 1 : rowNum do 7 for j = 1 : colNum do 8 Mk[i][j] ←Pκ2(λ);end 10 end 11 end 12 for i = 1 : m do 9 13 Si ←Pκ3(λ);14 end 15 K ←{K1,K2,M1,M2,S};16 Return K;

      5.1.2 BuildIdxI(D,M1,M2,S,ε)→I1

      如算法5 所示, 建立索引前需利用BTM 模型進行文檔主題提取. 第4 行采用算法1 進行采樣, 其中兩個超參數(shù)α和β為提前設(shè)定的默認(rèn)參數(shù); 第10 行從訓(xùn)練好的主題-關(guān)鍵詞矩陣中提取主題-關(guān)鍵詞的概率分布, 然后根據(jù)算法3 構(gòu)建關(guān)鍵詞-主題平衡二叉樹索引. 最后利用輸入的m+ε維隨機二進制向量S對每個節(jié)點的關(guān)鍵詞概率分布向量進行混淆, 其中第14 行將Ii拆分成兩個隨機數(shù)相加, 第21 行利用密鑰M1和M2對索引中的每個節(jié)點利用安全KNN 技術(shù)加密, 輸出安全索引I1. 其中maxTopicNum 表示的是文檔集主題個數(shù)的最大估計值, 本文實驗為15.

      算法5 BuildIdxI(D,M1,M2,S,ε)→I1 Input: The set of all documents D, two matrices M1,M2, an (m+ε) vector S,an integer ε >0 Output: AVL secure index I1 1 for t = 1 : maxTopicNum do 2 for Di ∈D do 3 for N ∈Di do 4 Φt,θt ←GibbsSampling(t,α,β,N);5 Calculate Perplexityt and Coherencet using the calculation method of Sec. 4.2;end 7 end 8 end 9 Choose the best number of topics t according to Perplexityt and Coherencet;10 Obtain the best Φ,θ based on t, T ←Φ, I ←BuildAVLIndex(T,W);11 Extend all vectors in I to (m+ε)-dimension, that is, the last ε numbers of each vector is random;12 for i = 1 : m+ε do 6 13 if Si = 1 then 14 (I′i,I′′i ) ←Ii;15 end 16 else Si = 0 i = I′′i ;18 end 19 end 20 →I ←(I′,I′′);21 I1 ←SecureKNN(→I,M1,M2);22 Return I1;17 Ii = I′

      5.1.3 BuildIdxII(D,K2)→I2

      該算法利用BTM 模型生成文檔-主題概率分布, 構(gòu)建主題-文檔倒排索引; 然后利用密鑰K2進行加密, 生成主題-文檔安全索引I2. 構(gòu)建安全索引I2的過程如算法6 所示, 其中第2 行表示從訓(xùn)練得到的文檔-主題矩陣中獲取第i篇文檔的主題概率分布向量, 第4 行見算法2.

      算法6 BuildIdxII(T,θ,K2)→I2 Input: The topic-keyword vector T, the document-topic matrix θ, the key K2 Output: Topic-document secure index I2 1 for i = 1 : n do 2 →V[i] ←θ[i];3 end 4 I ←BuildInvertedIndex(→V,|T|) ;5 Encrypt index I using AES with K2 to get encrypted index I2 ;6 Return I2 ;

      5.1.4 Encrypt(K1,D)→C

      該算法輸入密鑰K1和明文文檔集D={D1,D2,··· ,Dn}, 使用密鑰K1對D進行加密, 得到密文文檔集C={C1,C2,··· ,Cn}.

      5.1.5 QueryTd(Q,M1,M2,S,ε)→VTD

      數(shù)據(jù)使用者利用m維向量S對查詢關(guān)鍵詞向量Q進行混淆, 第4 行表示將Qi拆分成兩個隨機數(shù)相加, 第11 行利用安全KNN 技術(shù)采用密鑰M1和M2進行加密, 最后生成檢索陷門VTD, 具體過程如算法7 所示.

      算法7 QueryTd(Q,M1,M2,S,ε)→VTD Input: Query vector Q, two matrices M1,M2, an (m+ε) vector S, an integer ε >0 Output: Query trapdoor VTD 1 Extend Q to (m+ε)-dimension, that is, the last ε numbers of each vector is random;2 for i = 1 : m+ε do 3 if Si = 1 then(Q′i,Q′′i) ←Qi ;5 end 6 else Si = 0 4 Qi = Q′i = Q′′i ;8 end 9 end 10 →Q ←(Q′,Q′′)11 VTD ←SecureKNN(→Q,M1,M2)12 Return VTD;7

      5.1.6 Search(C,I1,I2,VTD,topK)→C′

      該算法由云服務(wù)器將檢索陷門依次與安全索引進行匹配, 并將配對的密文集合返回給數(shù)據(jù)用戶. 密文檢索的具體過程如算法8 所示. 其中第9 行從檢索到的節(jié)點中獲取主題id, 第10 行在安全倒排索引中根據(jù)主題id 獲得文檔索引向量, 第11–13 行獲取前K個最相關(guān)的加密文檔. 因為平衡二叉樹的每個節(jié)點都是一個表示主題-關(guān)鍵詞概率分布的向量, 而且父節(jié)點中元素取兩個子節(jié)點中最大值, 當(dāng)將查詢陷門與樹節(jié)點的向量執(zhí)行安全內(nèi)積運算時就可以得到概率最大的節(jié)點, 表明與查詢向量更相近.

      算法8 Search(C,I1,I2,VTD,topK)→C′Input: Ciphertext collection C, secure Index I1,I2, query trapdoor VTD, the number of required documents topK Output: The retrieved ciphertext collection C′1 Initialize the Root node of I1 as Node;2 while Node.lchild is not NULL do Node ←Node.lchild;7 end 8 end 9 id ←Node.id;10 →ID ←I2[id];11 for i = 1 : topK do 3 leftScore ←Node.lchild×VTD;4 rightScore ←Node.rchild×VTD;5 if leftScore ≥rightScore then 6 12 C′[i] ←C[→ID[i]];13 end 14 Return C′;

      5.1.7 Decrypt(C′,K1)→D′

      數(shù)據(jù)用戶收到由云服務(wù)器返回的密文集合C′后, 用密鑰K1進行解密, 得到最后所需的明文數(shù)據(jù)D′.

      5.2 安全性分析

      在本方案中, 云服務(wù)器被認(rèn)為是“誠實但好奇” 的, 即云服務(wù)器誠實并正確地執(zhí)行協(xié)議中的操作, 但是對操作過程中的敏感數(shù)據(jù)感到好奇. 根據(jù)云服務(wù)器可獲取的信息, 本文采用Cao 等人[13]提出的兩種威脅模型: 已知密文模型與已知背景模型.

      定理1 提出的方案滿足已知密文模型下的安全性.

      證明: 在已知密文模型中, 敵手不能根據(jù)密文文檔、加密索引和查詢陷門推斷明文的信息. 在此方案中, 云服務(wù)器僅知道加密文檔集C, 加密的安全索引I1、I2和查詢陷門VTD. 因此, 云服務(wù)器可以在此模型中進行唯密文攻擊(COA)[37].

      由于采用密鑰K1對文檔集D進行對稱加密, 并且密鑰只能在數(shù)據(jù)擁有者和數(shù)據(jù)用戶之間共享, 同時密文C不受云服務(wù)器保護, 概率多項式時間(PPT) 的敵手不能以超過1/2 的概率區(qū)分一個文件的密文C是由明文A或者B加密得到的.

      敵手可以對查詢陷門進行統(tǒng)計攻擊, 從統(tǒng)計信息中獲取查詢關(guān)鍵詞對文檔的重要程度. 但是, 由于本方案中查詢向量的維度擴展到了(m+ε), 并且對VTD[m+j],0≤j <ε中的任意μ個位置設(shè)為0, 兩個隨機參數(shù)ε和μ使得相同的關(guān)鍵詞的查詢陷門和搜索的結(jié)果都不同, 最后查詢向量VTD與樹索引的第a層第b個向量Vab在不斷乘積之后所得相關(guān)度分?jǐn)?shù)的分布也會不同. 使用陷門對索引中每個節(jié)點計算評分的結(jié)果如下, 其中每次查詢的∑ηv是隨機的, 具有不可預(yù)測性:

      因此, 文檔的隱私是得到保護的, 并且滿足選擇密文安全性(IND-CCA) 安全.

      定理2 提出的方案滿足已知背景模型下的安全性.

      證明: 在已知背景模型中,假設(shè)云服務(wù)器可以獲取更多知識: 任意兩個查詢操作是否包含相同的關(guān)鍵詞, 以及每次查詢的結(jié)果. 通過統(tǒng)計這些信息來揭示文本關(guān)鍵詞的分布和文檔中特定關(guān)鍵字的頻率(TF),利用這些知識, 云服務(wù)器可以進行統(tǒng)計攻擊[37], 進而分析出相應(yīng)頻率分布的直方圖或值范圍來推斷(甚至直接識別出) 某些關(guān)鍵詞[8,19].

      假設(shè)S是一個模擬器,A為攻擊者,B為挑戰(zhàn)者. RealA(k) 表示的過程為:

      (1)B輸入一個安全參數(shù)k, 通過加密算法生成密鑰K;

      (2)A輸入(I,D), 通過B獲取(I,C),A選擇q ∈{wi,I,D};

      (3) 當(dāng)執(zhí)行查詢請求時,q=wi, 攻擊者從挑戰(zhàn)者處獲取查詢令牌;

      (4) 當(dāng)執(zhí)行更新操作時,q= (I,D), 攻擊者首先生成輔助信息并將其發(fā)送給挑戰(zhàn)者, 挑戰(zhàn)者生成更新操作令牌并返回, 最后攻擊者輸出值b.

      IdealA,S(k) 表示S模擬安全索引和密文集合, 并將其發(fā)送給A的過程:

      (1) 當(dāng)執(zhí)行查詢請求時,q=wi,S獲取關(guān)鍵詞和查詢的結(jié)果;

      (2) 當(dāng)執(zhí)行更新請求時,q= (I,D),S提供自適應(yīng)查詢中出現(xiàn)的所有關(guān)鍵詞的更新輸出, 攻擊者還需向S發(fā)送輔助信息,S返回更新操作陷門, 最后攻擊者輸出值b.

      對于任意攻擊者A, 如果都存在滿足如下公式的模擬器, 那么就可以認(rèn)為該方案是安全的, 能夠抵抗自適應(yīng)選擇關(guān)鍵詞攻擊. 其中,k是安全參數(shù), negl(k) 表示概率可忽略.

      通過給定任意一個攻擊者A和狀態(tài)模擬器S, 模擬IdealA,S(k) 的過程,S按照5.1 節(jié)中所描述的算法構(gòu)造安全索引和密文集合. 根據(jù)密鑰的CPA 安全性, 由于對稱密鑰是通過偽隨機函數(shù)生成, 與真實密鑰無法進行區(qū)分, 因此模擬的文檔加密過程相比于實際加密過程具有不可區(qū)分性, 并且S返回的結(jié)果和A通過隨機預(yù)言機返回的結(jié)果相等, 因此對于任意的攻擊者, RealA(k) 和IdealA,S(k) 的概率是能夠被忽略不計的, 所以該方案滿足適用性選擇關(guān)鍵字攻擊安全性(CKA2). 因此所提方案滿足已知背景模型下的安全性.

      6 實驗評估

      為了評估所提方案的查詢效率和性能, 通過控制變量的方法進行實驗, 并將本方案(BTM-MRSE) 與基于LDA 的多關(guān)鍵詞可搜索加密方案(LDA-MRSE)[14]以及基于TF-IDF 的多關(guān)鍵詞可搜索加密方案(TFIDF-MRSE)[19]進行對比. 實驗環(huán)境為一臺CPU 型號為Intel(R) Core(TM) i5-4590 3.30 GHz, 16 GB 內(nèi)存的PC, 所有操作都在Jupyter Notebook 開發(fā)環(huán)境下完成, 使用Python 語言實現(xiàn), 包括最后對實驗數(shù)據(jù)的圖表制作. 實驗使用的數(shù)據(jù)集是清華大學(xué)THUCNews 新聞文本分類數(shù)據(jù)集的子集, 各個文檔的長短不一, 語言為中文, 選取了其中10 種領(lǐng)域的文本作為實驗數(shù)據(jù), 每個領(lǐng)域6500 篇文本. 進行主題模型訓(xùn)練的訓(xùn)練集共有50 000 篇文本, 驗證集共有5000 篇文本, 測試集共有10 000 篇文本.

      6.1 主題個數(shù)的選取

      根據(jù)4.2 節(jié)中主題個數(shù)的選取方法, 本文選取主題數(shù)量從1–15 個進行實驗, 實驗的效果如圖5 所示,從t= 5 開始, 困惑度開始降低, 但是有可能是由于模型主題選取過多導(dǎo)致了過擬合, 因此要結(jié)合一致性進行判斷. 由一致性可知當(dāng)t= 9 時, 模型的一致性最高, 因此設(shè)定主題個數(shù)t為9 個作為本方案的主題模型訓(xùn)練參數(shù).

      圖5 困惑度和一致性相關(guān)分?jǐn)?shù)Figure 5 Perplexity and coherence related scores

      6.2 檢索準(zhǔn)確率

      6.2.1 檢索準(zhǔn)確率比較

      為了描述本文方案的檢索準(zhǔn)確率, 假設(shè)用戶每次構(gòu)造的查詢陷門的所有關(guān)鍵詞都屬于同一類別, 并且不同類別的文檔是沒有相關(guān)性的. 我們提出的方案改進了多關(guān)鍵詞密文檢索的語義準(zhǔn)確率, 因此, 我們使用查準(zhǔn)率P來衡量數(shù)據(jù)用戶檢索得到的文檔的語義準(zhǔn)確率, 其計算方法如下:

      其中, TP 代表返回的文檔符合用戶檢索主題意圖的文檔數(shù)量, FP 代表不符合的數(shù)量. 本文評估了BTM-MRSE、LDA-MRSE 和TFIDF-MRSE 的檢索準(zhǔn)確率, 實驗結(jié)果如圖6 所示(其中k為算法8 中的topK, 即返回的文檔數(shù)). 由于考慮了文檔語義, 基于主題模型的兩個密文檢索方案在檢索準(zhǔn)確率上都要明顯優(yōu)于TFIDF-MRSE; 隨著語料庫的擴大, BTM-MRSE 的語義精度雖然有所降低, 但是準(zhǔn)確率和穩(wěn)定性上依然明顯優(yōu)于TFIDF-MRSE; 當(dāng)總文檔數(shù)較少時, BTM-MRSE 與LDA-MRSE 的準(zhǔn)確率和穩(wěn)定性都很高, 但是當(dāng)總文檔數(shù)大于30 000 時, BTM-MRSE 的準(zhǔn)確率更高. 當(dāng)返回文檔數(shù)k=50 和k=100時, BTM-MRSE 的準(zhǔn)確率均可達到95% 以上, 并且都高于其他兩個方案.

      圖6 語義準(zhǔn)確率隨n 變化對比圖Figure 6 Semantic accuracy with different n

      本方案的高準(zhǔn)確率得益于主題模型對文檔的主題分類過程, 并且隨著總文檔數(shù)量n的增加, BTM 主題模型相比于LDA 主題模型更能適應(yīng)各類長短不一的文檔, 因此BTM-MRSE 的穩(wěn)定性更高, 能更好地反映文檔的語義特征, 不會顯著影響查詢的語義精度, 這一方面體現(xiàn)了本方案的優(yōu)越性.

      6.2.2 檢索準(zhǔn)確率與擴展維度的關(guān)系

      由于數(shù)據(jù)用戶構(gòu)建的查詢向量維度就是整個關(guān)鍵詞集合的大小m, 也是主題-關(guān)鍵詞樹狀索引中節(jié)點的概率分布向量維度, 因此云服務(wù)器可以通過記錄多次查詢, 統(tǒng)計每個關(guān)鍵詞查詢的頻率, 進行統(tǒng)計攻擊.因此必須設(shè)置一個ε值, 將關(guān)鍵詞維度m擴展到m+ε維, 即增加ε個隨機數(shù)到查詢向量的末尾, 混淆查詢關(guān)鍵詞以保證多次查詢的無關(guān)聯(lián)性. 本文在對BTM-MRSE 方案的實驗過程中, 只改變ε和k的值,圖7 為ε在四種取值下, 檢索準(zhǔn)確率P隨k值變化的折線圖.

      圖7 不同ε 下, 語義準(zhǔn)確率隨k 變化對比圖Figure 7 Comparison of semantic accuracy with different k under different ε

      圖7 表明: 參數(shù)k以及參數(shù)ε均對檢索準(zhǔn)確率有較大的影響. 其中隨著參數(shù)ε的增加, 整體的準(zhǔn)確率會有所降低, 但是檢索的安全性會得到極大的提升, 因此對于ε值的設(shè)置, 需要對安全性和檢索的準(zhǔn)確率兩方面進行權(quán)衡. 隨著返回文檔數(shù)k的增加, 不相關(guān)的文檔數(shù)逐漸增多, 造成準(zhǔn)確率下降, 這與使用的測試數(shù)據(jù)集關(guān)系比較密切. 如果測試數(shù)據(jù)集中滿足查詢條件的文檔越多, 則準(zhǔn)確率隨著返回文檔數(shù)k的增加不會顯著降低. 當(dāng)ε設(shè)置為10 或20 時, 準(zhǔn)確率總體上較為穩(wěn)定.

      6.3 檢索效率

      密文檢索效率很大程度上取決于索引構(gòu)造方案, 這直接決定了索引大小、檢索時間復(fù)雜度以及安全性.表2 將本文提出的基于BTM 主題模型的高效密文檢索方案(BTM- MRSE) 與其他具有代表性的密文檢索方案進行對比, 對比的指標(biāo)包括索引類型、存儲空間復(fù)雜度、檢索的時間復(fù)雜度. 其中,M為文檔匹配的關(guān)鍵詞數(shù)量,m為文檔集中關(guān)鍵詞的總數(shù),n為文檔的總數(shù),N為索引中文檔標(biāo)識符的數(shù)量,r為查詢陷門匹配到的關(guān)鍵詞數(shù)量,t為文檔集的主題個數(shù),σ為每個文檔的主題分布個數(shù), 一般假設(shè)t ?n,r ?m.

      表2 方案對比Table 2 Scheme comparison

      由表2 可知, 通過建立樹狀索引的方案的密文檢索效率是最高的, 許多方案都選擇以二叉樹作為基本索引結(jié)構(gòu), 將文檔標(biāo)識符作為待檢索的葉子節(jié)點, 非葉子節(jié)點存放文檔的關(guān)鍵詞信息. 然而, 當(dāng)待檢索文檔的數(shù)量達到十萬或百萬數(shù)量級的時候, 樹狀索引的規(guī)模會變得很大, 往往需要多次磁盤I/O 時間, 一次I/O 時間通常要遠遠大于單次密文檢索的時間, 這在很大程度上將制約密文檢索的效率. 因此, 不僅需要通過建立AVL 樹來降低樹狀索引的層數(shù), 本方案還通過建立二級索引的方式對索引進一步進行降維處理.例如, 當(dāng)AVL 樹層數(shù)l為20 層時, 最多只能有52 萬個文檔, 本文將文檔聚類為主題后, 由于主題個數(shù)t將遠遠小于文檔數(shù)量n, 所以AVL 樹的規(guī)模也將大大縮小.

      7 總結(jié)

      隨著可搜索加密技術(shù)的發(fā)展, 僅僅使用關(guān)鍵詞頻率信息作為文檔相關(guān)性度量的傳統(tǒng)方案已無法滿足用戶的檢索需求. 本文在保證云服務(wù)器上文檔安全性的基礎(chǔ)上, 首次將BTM 主題模型引入可搜索加密中,提出了基于BTM 主題模型的多關(guān)鍵詞高效密文搜索方案. 本文選取了THUCNews 新聞數(shù)據(jù)集的一部分作為實驗數(shù)據(jù)集, 這些文檔經(jīng)過主題模型的訓(xùn)練之后, 生成了主題-關(guān)鍵詞矩陣和主題-文檔矩陣. 我們通過引入主題模型來確定數(shù)據(jù)用戶的潛在搜索意圖, 解決了傳統(tǒng)可搜索加密方案(基于詞袋模型和TF-IDF模型) 中對語義的忽視. 將密文檢索中的特定關(guān)鍵語替換為主題相關(guān)性, 實現(xiàn)了關(guān)鍵詞和文檔標(biāo)識符存儲的分離, 進一步提高了文檔關(guān)鍵詞的隱私保護, 也增強了查詢關(guān)鍵詞的隱私保護. 同時, 主題模型減小了索引節(jié)點中向量的維數(shù), 從而提高了檢索效率. 并且基于平衡二叉樹的二級索引機制也進一步改善了密文檢索的時間開銷.

      未來的工作可以對本文的模型做進一步擴展, 采用最新的ida2vec 主題模型[36]或基于深度學(xué)習(xí)的BTM 主題模型, 進一步提升密文檢索的效率和查詢準(zhǔn)確率.

      猜你喜歡
      密文文檔加密
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      一種支持動態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
      有人一聲不吭向你扔了個文檔
      一種基于熵的混沌加密小波變換水印算法
      基于RI碼計算的Word復(fù)制文檔鑒別
      認(rèn)證加密的研究進展
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      云存儲中支持詞頻和用戶喜好的密文模糊檢索
      基于ECC加密的電子商務(wù)系統(tǒng)
      阿拉善盟| 汉寿县| 南开区| 临汾市| 黑山县| 保德县| 溆浦县| 祥云县| 天门市| 泾源县| 兰考县| 高密市| 行唐县| 麻江县| 苏尼特右旗| 洞头县| 丁青县| 汨罗市| 九龙县| 阿荣旗| 台江县| 云林县| 左权县| 郑州市| 藁城市| 康保县| 调兵山市| 和静县| 罗城| 乐昌市| 云安县| 海南省| 义马市| 广元市| 黄冈市| 鄂伦春自治旗| 蒙山县| 台东市| 嵩明县| 仁怀市| 冷水江市|