張克君 張國亮 姜 琛 楊云松
1(北京電子科技學院計算機科學與技術系 北京 100070)2(西安電子科技大學計算機學院 陜西 西安 710071)
云環境下基于可搜索加密技術的密文全文檢索研究
張克君1張國亮2姜 琛1楊云松1
1(北京電子科技學院計算機科學與技術系 北京 100070)2(西安電子科技大學計算機學院 陜西 西安 710071)
為了解決云存儲技術帶來的數據安全和高效檢索問題,在深入研究可搜索加密技術基礎上,提出一種基于云存儲的密文全文檢索模型,給出基于可搜索加密技術的密文全文索引構建和檢索策略,并對方案的安全性進行分析。實驗表明,云存儲環境下基于可搜索加密技術的密文全文檢索方案既保證了數據的安全性,又具有很好的檢索效率,可適用于海量數據的加密存儲與高效安全檢索。
云存儲 可搜索加密 全文檢索 密文全文索引
隨著云時代的來臨,為節約企業成本和提高數據訪問的便捷性,越來越多的企業喜歡將自己的海量數據交給第三方云存儲提供商進行存儲和管理,甚至包括企業員工emails、員工健康數據、員工的視頻和照片、公司財務數據等[1]敏感信息。這些數據一旦存儲至第三方云存儲平臺中,由第三方對數據進行管理和控制,從而完全脫離了企業的控制范圍,數據極有可能被第三方云存儲平臺的管理員或黑客獲取,導致敏感信息的泄露。為保護數據的安全性,現在采用的通用做法是數據在客戶端加密后托管給第三方云存儲服務提供商。然而,隨著企業數據的日益增長,存儲在云端的密文數據最終會達到海量級,對海量加密數據的檢索成為云存儲中亟待解決的問題。
目前針對密文檢索國內外的研究者提出了很多方案。Song等人[2]首次提出了可搜索加密的概念,實現了線性掃描算法,通過檢索詞和密文文檔中的密文依次匹配的方法,解決了在單篇密文文檔中關鍵詞的檢索問題,但多密文文檔檢索時,檢索時間過長,具有一定的局限性。為實現多文檔的密文檢索,Goh[3]提出了Z-IDX的密文檢索方案,通過對每篇文檔構建索引的方式實現了多密文的檢索,提高了文檔的檢索效率。2009年,Liu等人[4]提出了一種基于對稱加密的密文檢索方法,實現了單用戶的密文檢索。Boneh等人[5]提出了一種基于公鑰加密的可搜索加密方法,實現了多用戶密文檢索。為實現傳統檢索中的模糊檢索,Wang等人[6]提出了模糊關鍵詞檢索,即使存在小的拼寫和格式錯誤,仍能進行正常的檢索,提高了密文檢索的容錯性能。近年來,隨著全同態加密的發展,基于同態加密技術,Haclgümü等人[7]提出了一種密文聚集檢索方案。以上方案僅支持數據量較小的密文檢索,并不支持海量加密數據的關鍵詞檢索。一旦加密數據達到海量級別,密文檢索效率將大大降低,難以滿足用戶的檢索需求。
為解決云環境下密文檢索問題,本文提出了一種基于加密云存儲的密文全文檢索模型,設計并實現了基于可搜索加密的密文全文檢索方案,基于可搜索加密的全文索引可有效抵抗語義分析攻擊和基于詞頻的統計分析攻擊。同時,整個檢索過程沒有任何數據解密操作,有效保證了數據檢索的安全。在保證數據機密性的前提下,有效提高了密文檢索的效率。
對于在云端進行大量文本存儲的個人用戶而言,目前的公共云存儲能夠為個人提供足夠的存儲空間,但用戶主要擔心數據的安全性,李暉等[8]對公用云存儲服務中數據的安全性和隱私保護技術進行了研究,為公共云中數據保護提供了指導。對于企業、組織或政府部門來說,企業私有云的搭建可以保證數據的安全性,但給數據的使用帶來了很大的不便,李文成等[9]對企業云存儲數據的加密方法和密文全文檢索技術進行了深入的研究,解決了企業云中加密數據高效檢索問題。公共云相對企業云具有更高的開放性,在安全性方面的挑戰更加嚴峻。
目前,云端安全存儲的標準方案是對數據加密后上傳至云端。用戶自云端下載所有自己的加密數據后再對數據進行解密,該方案僅僅適用于小數據量的情況。當前,信息交流日益頻繁,產生的數據急劇增加。隨著用戶數據的日積月累,用戶存儲在云端的數據將達到海量級別。當用戶要獲取數據中某些特定信息時,如果仍然下載所有的加密數據,然后對這些數據本地解密。不僅會浪費大量帶寬,失去數據的便捷性,而且會降低數據的可用性。
云存儲使得數據獲取更加方便,提高了數據的可用性,降低用戶的存儲成本。對用戶來說,數據的便捷性和可用性遠遠不夠,用戶同時希望自己的隱私數據對第三方用戶或管理員是保密的,但對于自己查找云端存儲的大量隱私數據又具有同明文相近的檢索效率。
為實現在海量加密云存儲數據中的高效檢索,設計合適的加密方案和采用恰當的密文檢索技術是云環境中密文檢索的關鍵。本文提出的基于云存儲的密文全文檢索模型,是在開放的公共云中實現海量加密文本的全文檢索。在模型設計上,從數據自身和索引進行存儲保護,數據的安全性是依賴于加密的安全性。因而,該模型比企業云存儲具有更高的安全性,在應用范圍上更加廣泛。
基于加密云存儲的密文全文檢索模型如圖1所示。主要包括一個密鑰分發中心,一個云存儲中心,一個數據擁有者和若干個數據訪問者。密鑰分發中心在本模型中是一個可信的第三方,主要為用戶生成主密鑰和分發授權密鑰;云存儲中心是誠實而好奇的不可信第三方數據中心。它負責密文數據的存儲和檢索;數據擁有者在上傳文件前,對明文數據生成安全密文全文索引,并對明文數據進行整體加密,最后將索引文件和密文文檔上傳至云存儲中心;數據訪問者在向云存儲中心提供查詢請求時,需要事先獲得數據擁有者的授權,然后才可以檢索加密數據。

圖1 基于加密云存儲的密文全文檢索模型
2.1 符號和函數說明
F:明文文檔集合。
W:從F中經過分詞后產生的關鍵詞集合,W={w1,w2,…,wn}。
EW:對關鍵詞集合W={w1,w2,…,wn}加密后的密文詞條集合,EW={Ew1,Ew2,…,Ewn}。
DocID:密文文檔編號,與密文文件文檔一一對應。
EIndex:本地構建的密文倒排索引。
Ki:密鑰生成算法產生的密鑰集合,K={k1,k2,…,ki}。
T(wi):檢索時,用戶向云服務器提交的基于可搜索加密生成的關鍵詞,即關鍵詞wi的陷門。
可搜索加密算法主要包括密鑰生成算法、陷門生成算法、索引建立算法和索引查詢算法,各個算法的簡要描述如下:
Keygen(n):密鑰生成算法,通過輸入安全參數n,輸出一個對應的密鑰k。
BuildIndex(K,F):索引建立算法,數據所有者根據文件構建關鍵詞集合,基于可搜索加密機制建立密文全文索引。
Trapdoor(K,w):陷門生成算法,檢索用戶在本地使用數據擁有者的授權密鑰和關鍵詞w,生成檢索陷門T(w)。
Search(I,T(w)):索引查詢算法,檢索服務器根據接收的T(w)和密文索引中的密文詞條進行計算,判斷該倒排索引記錄是否滿足搜索請求,將搜索結果返回用戶。
2.2 基于可搜索加密的全文索引構建
(1) 密鑰生成算法
密鑰生成算法中,通過輸入安全參數n,輸出一個對應的密鑰k,本方案利用偽隨機數生成器生成密鑰,通過不同的安全參數ni,生成若干個ki。密鑰ki是在用戶需要時生成的,即使攻擊方在服務器端直接獲得到用戶的身份驗證信息,但只要用戶不暴露安全參數ni,攻擊方就無法獲知密鑰,自然無法對用戶加密的信息進行解密。同時,密鑰是在用戶有加解密需求時生成,對密文的加解密毫無影響,也保證了用戶信息的安全性。
(2) 密文全文索引建立算法
目前多文檔的可搜索加密方案主要采用的是“索引-文件”思想實現,即對每個文檔進行分詞,然后對所有關鍵詞加密,將加密后的關鍵詞集合作為該文檔的索引,檢索時,只需要檢索加密后的關鍵詞集合中是否包含檢索詞就可知文檔中是否是所需要的文檔。然而,基于“索引-文件”思想的可搜索加密方案的檢索時間和文檔的數目成正比,隨著文檔的增加,檢索效率將降低。因此,本文對可搜索加密索引構建算法進行了改進,構建了密文全文索引,以保證海量密文環境下密文的檢索效率。
首先對可搜索加密方案中采用“索引-文件”思想實現的Z-IDX[3]方案進行了分析。在Z-IDX索引構建過程中,通過兩次偽隨機函數將關鍵詞生成為碼字,然后構建文檔索引。第一次偽隨機函數以關鍵詞Wi為輸入,然后在子密鑰K1,K2,…,Kr作用下產生xi1,xi2,…,xir;為了保證相同關鍵詞在不同文件中形成不同的碼字,第二次偽隨機函數以上一次的輸出值xi1,xi2,…,xir為輸入,在文件標識符的作用下生成碼字yi1,yi2,…,yir。最后,在布隆過濾器中隨機添加若干個1,產生混淆以防止關鍵詞數據被攻擊。
通過對Z-IDX方案中索引構建過程的分析可知,其構建的索引并不是全文索引,而只是文件索引,即一篇文檔對應一個索引項,在文檔集合比較小的時候,具有較好的適用性。本文研究的是海量密文環境,數據量非常巨大,為保證檢索效率,結合全文檢索技術,對所有文檔建立密文全文索引。
可搜索加密的密文全文索引建立過程。首先對文檔進行分詞處理,形成關鍵詞集合,然后再使用改進的可搜索加密對關鍵詞進行加密,形成密文索引詞。最后,對密文索引詞構建倒排索引。
可搜索加密的改進。本文對Z-IDX方案中的索引構建算法進行了改進,關鍵詞Wi在子密鑰K1,K2,…,Kr和偽隨機函數的作用下生成xi1,xi2,…,xir,然后進行異或運算,其結果作為密文索引詞EWi。如圖2為可搜索加密的改進示意圖所示。

圖2 可搜索加密改進示意圖
本文的索引詞用到的偽隨機方法是HMAC-SHA256算法。對同一關鍵詞,在不同的密鑰作用下進行哈希運算,然后對生成的多個哈希值進行異或運算,最后將運算結果作為密文詞條,構建安全密文索引。由于不同長度的關鍵詞通過多個HMAC-SHA256算法處理后,最終的輸出值都是256位的字符串,可以有效防止密碼分析者期望通過關鍵詞長度不同猜測明文索引詞的相關信息。詞條可搜索加密算法如下。
算法1 詞條可搜索加密算法
輸入:關鍵詞明文Wi,子密鑰集合K[r]=K1,K2,…,Kr
輸出:密文詞條T
searchEncryp(K[r], Wi)
BEGIN
Start
1:for(int i=1;i<=r;i++){
//使用不同的子密鑰執行r詞哈希運算
2: hash= HMAC-SHA256 (K[i],Wi);
//計算本次哈希值
T=XOR(hash,T);
//本次哈希值與之前哈希值異或運算
}
3:return T
END
在本算法中,通過以下幾點保證了散列值的安全性:子密鑰至少三個以上,保證了哈希運算至少進行了三次,當哈希運算的次數超過3次后,已經無法通過哈希值獲取原文;每次使用不同的密鑰進行哈希運算,并且進行了異或運算,很難還原某一次的真實哈希值;采用的是安全單向函數算法,即使密碼分析者獲得了密文詞條,仍然無法逆向推出原始明文信息。
詞條加密后,本文構建密文全文索引。傳統的全文索引保證檢索的高效并沒有對數據的安全性進行考慮,存在安全性的問題。本文對其進行了安全性分析,并提出了相應的改進策略。最終,構建了一種基于可搜索加密的密文全文索引結構。
在全文索引中,倒排索引中的詞表是有序的,為攻擊者留下了可乘之機,必須予以屏蔽。因此,本文在構建詞匯表之前,對詞匯表中的索引詞進行了加密處理,加密后的密文詞條再進行密文排序,由于密文的順序與語義無關,攻擊者無法通過密文索引和明文索引的對比發現它們的對應關系,從而保證了索引的安全性。
全文索引一旦建立,將保持靜態不變,只有文檔變化時,才會在系統空閑時進行索引更新。因而,索引不發生改變時,密碼分析者可能根據邏輯記錄指針獲得倒排索引集合和相關的關鍵信息。例如,密碼分析者追蹤一個密文詞條的檢索記錄,就可以根據邏輯記錄指針獲得邏輯記錄號,從而獲知倒排文檔地址集合,了解到該密文詞條在哪些文檔中出現過。在上一步的基礎上,本文進一步對索引文件中的邏輯記錄指針進行加密。在物理位置上,將索引文件和倒排文件存儲在隔離的服務器中。為防范統計攻擊,必須屏蔽掉倒排文件中容易泄露文檔關鍵信息的詞條位置和頻率信息。本文構建的密文全文索引結構如圖3所示。

圖3 密文全文索引結構
2.3 密文檢索
(1) 陷門生成算法
本方案與以往可搜索加密方案中使用偽隨機方法生成偽隨機陷門不同,只使用了部分偽隨機方法,主要依賴于定義的單射函數,通過單射函數的異或運算生成偽隨機陷門。詳細算法如下:
根據密鑰生成算法生成的密鑰,對檢索關鍵詞進行加密,然后隨機選取部分單射函數對加密后的關鍵詞分別進行處理。由于HMAC算法依賴于哈希函數,因此,偽隨機方法使用HMAC-SHA256算法。HMAC算法的基本代碼如下:
Function hmac (key, message)
……
return hash(o_key_pad || hash(i_key_pad || message))
end function
HMAC返回的是哈希函數的結果,哈希函數使用的是SHA256算法,屬于安全哈希函數,滿足安全哈希函數的三個特征:one-way、collision-resistant和映射分布均勻性。
根據HMAC運算獲得的所有哈希函數返回值,進行異或運算,最終生成本方案中的可搜索加密方案中的檢索陷門T(w)。
(2) 云服務器檢索
檢索時,用戶通過發送檢索陷門給檢索服務器,服務器接收用戶提交的檢索陷門,在密文索引庫上進行檢索。如果檢索成功,則將檢索獲得的密文文檔集合發送到查詢用戶;如果失敗,則返回檢索失敗信息。當授權用戶得到索引庫中對應的索引數據后,根據文檔編號檢索密文文檔庫。最后,用戶對密文文檔集合進行解密。
基于倒排索引結構構建的密文全文索引,主要容易遭受唯密文攻擊和選擇明文攻擊,下面對這兩種攻擊模型在理論上進行安全性分析。
唯密文攻擊中,密碼分析者僅僅擁有密文索引和加密算法,加密密鑰有用戶保存在電子卡中,密碼分析者無法獲取到。密文索引的安全性由可搜索加密算法和加密密鑰保證,在上文中我們使用預言機模型對索引的安全性進行了證明,結果表明其具有較高的安全性。因此,密碼分析者很難依靠加密算法對密文索引進行解密操作,獲知其中的明文信息。
選擇明文攻擊環境中,假設密碼分析者獲得了部分明文文檔集合F,并可以構建相應的明文索引Index。同時,密碼分析者可以竊取到該明文文檔集合構建的密文索引EIndex,并可以通過對密文索引進行分析獲得文檔Fi所對應的密文索引詞集合EW(Ew1,Ew2,…,Ewn),但由于密文索引結構中沒有存儲索引詞的位置信息,分析者只能隨機地猜測明文索引詞對應的密文信息。因而分析者猜中某個索引詞對應的密文索引詞的可能是1/n,其中n為文檔Fi的全部索引規模。系統中采用的是成熟的加密算法,即使分析者猜中部分明文的密文信息,也難以對密文文檔內容和密鑰產生威脅。
4.1 云平臺的測試環境
本文的密文全文檢索系統主要由兩方面組成,一方面是客戶端,主要負責索引的構建和檢索陷門的生成;另一方面是服務器端,主要使用Hadoop搭建分布式集群,作為本文的云存儲平臺,存儲密文文檔和密文索引,還需要負責索引的維護和管理、文件的管理、關鍵詞檢索等。因此,我們首先搭建了一個云存儲平臺。
本文使用ApacheHadoop來搭建分布式集群,作為方案的云存儲平臺。由于ApacheHadoop是基于Java的平臺,基于平臺更好的兼容性,本文使用Java來實現密文全文檢索系統。通過使用了4臺主機作為實驗集群,并對Hadoop進行了相應的配置。首先在四臺機器上搭建SSH集群通信管道,用于集群間的數據傳輸,同時還搭建了集群同步軟件rsync。在搭建完成后,Hadoop集群中預設的Master主機可以無密碼的登錄其他Slave主機。然后將Hadoop軟件下載到我們的Master主機并在Master主機上進行配置,分別進行HDFS配置、mapreduce配置、hadoop核心配置和主機路由配置,配置完成之后通過SSH進行數據分發。最后通過Master主機啟動Hadoop集群。
本文使用Java語言作為開發語言,利用的開發工具是eclipse開發環境,同時使用了Maven軟件開發框架。開發實現的機器的配置為CPUIntelCore(TM)i5-2450M2.5GHz,內存為2GB,1.81GB內存可用,32位Windows7系統。分詞工具采用中國科學院的漢語詞法分析系統ICTCLAS(InstituteofComputingTechnology,ChineseLexicalAnalysisSystem),Lucene3.3作為密文全文檢索引擎的架構。同時本文還采用了Java自身的加密系統,主要用到了AES算法和HMAC-SHA256算法,AES算法作為加密方案的實現。
4.2 索引文件空間性能
全文檢索中索引的空間大小是一項重要的性能指標。索引文件的大小對索引的檢索速度具有一定的影響,因此有必要對密文索引文件的膨脹率進行測試分析。本文對相同規模的測試文檔集(1 000~10 000篇),測試分別建立Lucene索引、安全密文全文檢索索引和2-MCIS[10]索引空間開銷,索引文件空間性能測試數據結果如圖4所示。

圖4 索引文件空間性能測試圖
其中縱軸是以兆字節為單位,表示索引文件空間的大小。橫軸表示測試的文檔數量,以1 000為單位。圖中共有三條線,其中最下面的一條是在不同數量文檔中建立的Lucene的索引文件空間,與之相近的是2-MCIS構建的索引空間折線,兩條折線之所以空間大小相差不大,主要是因為兩者都是采用單字符構建的索引,索引詞數量非常小,索引結構基本一致,因此,索引空間大小相差很小。與這兩條折線相差比較大的是本文提出的密文全文檢索系統中構建的索引文件,由于本文對索引詞進行了可搜索加密和偽隨機處理,索引詞位數有所增加,但我們沒有存儲索引詞詞頻和位置信息,因而索引文件與其他兩種生成的文件沒有出現劇烈的增大,索引空間規模略有增加,而且對于云存儲空間來說,用戶的檢索效率是第一位,如果損失掉部分存儲空間,但能帶來更快的檢索速度,云服務提供商和用戶都是樂于接受的。
本文的密文全文檢索系統,密文全文索引相對于Lucene索引和2-MCIS索引體積增加不大,其膨脹率較小,主要是因為Lucene和2-MCIS本質上均采用單字符索引,索引詞數量更小,密文全文檢索系統中的關鍵詞經過加密和偽隨機處理位數有所增加,但沒有存儲索引詞詞頻和位置信息,因此索引空間規模略有增加。實驗比對結果表明:密文全文檢索系統在索引空間性能上可以很好的適用于海量文檔的密文全文檢索應用。
4.3 索引構建性能
全文索引是全文檢索的核心,其中全文索引的構建時間尤為重要。索引的構建時間越長,對索引的更新影響越大,有可能導致索引和文檔不一致的結果。因此,本文對相同規模的測試文檔集(1 000~10 000篇),分別測試構建Lucene、2-MCIS和密文全文檢索系統的時間開銷,全文索引構建性能測試如圖5所示。

圖5 索引構建性能測試圖
其中縱軸以1 000毫秒為單位,表示索引的構建時間。橫軸以1 000為單位,表示測試文檔的數量。圖中共有三條折線,由于Lucene是直接在明文上進行索引構建,沒有任何數據加密過程,因此索引構建時間最短,在三條折線中位于最下方。上面相近的兩條是本文提出的密文全文檢索系統和2-MCIS的所有構建時間,2-MCIS只對每個字符進行簡單的哈希變換,沒有其他的加密過程。為了提高索引的安全性,本文提出的方案中使用了可搜索加密方案,在可搜索加密過程中,不僅有加密運算,還有哈希運算和異或運算,索引構建過程耗時比較長。因此,我們提出的方案是三條折線中最上面的那條。同其他方案相比,本文索引構建時間與2-MCIS相差很小,同Lucene索引構建時間有較大的增加。這是由于所有的密文全文檢索方案,為了保證索引的安全性,都會采用不同的加密方案,勢必增加所有構建的時間。同時,索引的構建并不會對系統的檢索過程產生很大的影響,系統一般在空閑時,才對索引進行統一構建。
我們實現的密文全文檢索系統,密文索引的構建時間比Lucene索引和2-MCIS索引構建時間有所增加。主要原因是對關鍵詞的可搜索加密消耗了一定的時間。基于簡單hash變換處理單字索引的2-MCIS需要對每個字符進行hash運算,花費時間較大,同樣,本文提出的密文全文索引構建過程中也需要對每個關鍵詞進行多次偽隨機運算。實驗結果表明:密文索引構建時間相對較長,主要是為保證安全性付出了一定的時間開銷。
4.4 檢索性能
全文檢索系統中的檢索效率是影響信息檢索系統價值的主要因素,評價信息檢索質量的重要指標。本文對相同規模的測試文檔集(1 000~10 000篇),測試分別檢索相同關鍵詞時Lucene、2-MCIS和密文全文檢索系統時間開銷,檢索性能測試如圖6所示。

圖6 檢索性能測試圖
其中,縱軸以毫秒為單位,表示響應時間。橫軸以1 000為單位,表示測試文檔的數量。圖中共有三條折線,最下方的是Lucene的檢索響應時間,顯然明文的檢索過程比密文檢索更加簡單,因此,響應時間相對較短。中間一條是本文提出的密文全文檢索系統上的檢索響應時間,之所以響應時間比2-MCIS快,是因為我們使用了全文索引,檢索效率大大提高。同時,我們的系統檢索時間復雜度與詞匯的空間有關,不會隨著文檔的增加導致檢索效率的下降,比于其他線性檢索方案更加穩定。最上面的一條是2-MCIS,其檢索過程需要對字符串進行哈希運算,而且沒有采用任何優化措施,檢索響應時間最長。
在相同測試規模的文檔集中檢索相同的關鍵詞時,密文索引比明文索引的檢索時間較長,這是由于用戶發出查詢請求時需構建檢索陷門,增加了檢索時間。尤其是2-MICS由于需要獲得所有可能的查詢條件,檢索效率明顯偏低。實驗結果表明:本文提出的密文全文檢索方案,比其他密文檢索的線性時間更快,適用于安全、快速和高效的密文檢索云環境。
云環境下密文檢索是一個新興的研究領域,對云存儲、信息加密和信息檢索都具有已經的使用價值。本文基于可搜索加密和全文檢索技術實現了一種密文全文檢索方案。
首先,提出了一種基于云存儲的密文全文檢索模型,滿足了海量加密信息的安全高效檢索需求。基于該模型,實現了一個基于可搜索加密的密文全文檢索方案,能夠對密文進行全文檢索。
其次,針對海量密文環境中現有的密文檢索方案效率低的問題進行了改良,提出了一種基于可搜索加密的密文全文檢索方案,使用可搜索加密對關鍵詞進行加密,然后構建密文全文索引,提高了檢索效率。
最后,分析了傳統全文索引結構的安全性問題,構建了一個密文全文索引結構,可有效抵抗語義分析攻擊和詞頻統計的分析攻擊。
本文的研究只是密文檢索中的冰山一角,仍有許多問題有待我們進一步研究。密文數據的訪問控制機制研究,用于防止非授權用戶對密文數據進行檢索。進一步提高檢索效率,從而在海量密文環境下更快地響應用戶的檢索請求。
[1]KamaraS,LauterK.Cryptographiccloudstorage[C]//Proceedingsofthe14thInternationalConferenceonFinancialCryptographyandDataSecurity,2010:136-149.
[2]SongDX,WagnerD,PerrigA.Practicaltechniquesforsearchonencrypteddata[C]//2000IEEESymposiumonSecurityandPrivacy,2000:44-55.
[3]GohEJ.Secureindexes[R/OL].http://eprint.iacr.org/2003/216.
[4]LiuQ,WangG,WuJ.Anefficientprivacypreservingkeywordsearchschemeincloudcomputing[C]//Proceedingsofthe12thIEEEInternationalConferenceonComputationalScienceandEngineering(CSE’ 09),Vancouver,Canada,2009:715-720.
[5]BonehD,CrescenzoGD,OstrovskyR,etal.Publickeyencryptionwithkeywordsearch[C]//Proceedingsofthe2004InternationalConferenceontheTheoryandApplicationsofCryptographicTechniques.Springer,2004:506-522.
[6]WangJ,MaH,TangQ,etal.Efficientverifiablefuzzykeywordsearchoverencrypteddataincloudcomputing[J].ComputerScienceandInformationSystems,2013,10(2):667-684.
[7]HaclgümüH,IyerB,MehrotraS.Efficientexecutionofaggregationqueriesoverencryptedrelationaldatabases[C]//Proceedingsofthe9thInternationalConferenceonDatabaseSystemsforAdvancedApplications(DASFAA2004).Springer,2004:125-136.
[8] 李暉,孫文海,李鳳華,等.公共云存儲服務數據安全及隱私保護技術綜述[J].計算機研究與發展,2014,51(7):1397-1409.
[9] 李文成,趙逢禹.企業云存儲數據的加密與密文全文檢索研究[J].小型微型計算機系統,2013,34(2):429-432.
[10] 王檸,趙威,劉國華,等.外包數據庫中字符數據的k-映射密文索引技術[J].燕山大學學報,2009,33(5):438-443.
A STUDY OF CIPHERTEXT FULL-TEXT RETRIEVAL BASED ON SEARCHABLE ENCRYPTION IN CLOUD ENVIRONMENT
Zhang Kejun1Zhang Guoliang2Jiang Chen1Yang Yunsong1
1(DepartmentofComputerScienceandTechnology,BeijingElectronicScienceandTechnologyInstitute,Beijing100070,China)2(ComputerInstitute,XidianUniversity,Xi’an710071,Shaanxi,China)
To solve the problems of data security and efficient retrieval in cloud storage technology, on the basis of in-depth study searchable encryption, a ciphertext full-text retrieval model based on cloud storage is proposed. We give the ciphertext full-text index building and search strategies based on searchable encryption and analyze the security of the scheme. Experimental results show that the ciphertext full-text retrieval scheme based on searchable encryption in cloud environment not only ensures the security of data, but also has good retrieval efficiency, so it can be applied to the mass storage of data encryption and efficient security search.
Cloud storage Searchable encryption Full-text retrieval Ciphertext full-text index
2016-01-07。國家自然科學基金項目(61170037);北京電子科技學院重點實驗室項目(2014GC2-ZKJ)。張克君,副教授,主研領域:數據挖掘,信息檢索,信息安全。張國亮,碩士生。姜琛,碩士生。楊云松,碩士生。
TP3
A
10.3969/j.issn.1000-386x.2017.04.007