一種語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng)。所述方法:首先,通過客戶端,輸入密鑰對用戶需上傳的文件進行加密;提取所述加密文件的關(guān)鍵詞,并進行語義擴展構(gòu)建同義詞集合;然后,通過布隆過濾器對上述構(gòu)建的同義詞集合進行安全索引的構(gòu)建,并將該安全索引上傳至云存儲服務(wù)器端;客戶端根據(jù)用戶輸入密鑰生成關(guān)鍵詞陷門,并將該陷門提交給云存儲服務(wù)器端;最后,云存儲服務(wù)器端根據(jù)用戶提交的關(guān)鍵詞陷門,通過安全索引查找相應(yīng)文件,并將該文件返回給客戶端;客戶端通過密鑰對云存儲服務(wù)器端返回的文件進行解密。本發(fā)明主要為密文文檔的信息檢索提供同義詞語義模糊搜索功能,并且支持多關(guān)鍵詞檢索,對文檔的更新操作具有較高的效率。
【專利說明】一種語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要應(yīng)用于可搜索加密云盤領(lǐng)域,特別是一種語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計算的發(fā)展,傳統(tǒng)計算機的計算和存儲功能轉(zhuǎn)移到云服務(wù)器中,有效的減少用戶的計算開銷和存儲成本。360云盤,百度云盤等網(wǎng)絡(luò)存儲服務(wù)都是直接將文檔存儲在云存儲服務(wù)器中,這樣云服務(wù)器管理員和外部攻擊者都可以直接或間接的接觸到用戶的數(shù)據(jù),特別對于一些敏感數(shù)據(jù),用戶將數(shù)據(jù)存儲在云服務(wù)器中后就失去了對數(shù)據(jù)的直接控制力,可能導(dǎo)致用戶個人隱私數(shù)據(jù)的泄露和濫用。
[0003]將數(shù)據(jù)加密后存儲到云存儲服務(wù)器中,無論是云服務(wù)器管理員還是外部攻擊者都無法獲取數(shù)據(jù)真實內(nèi)容,保護了用戶的隱私性。但是,這給密文數(shù)據(jù)的信息檢索帶來了極大的挑戰(zhàn),可搜索加密技術(shù)用于解決密文檢索問題。可搜索加密技術(shù)最初提出的時候,對文檔中的每個單詞采用了兩層加密的結(jié)構(gòu),但是全文搜索的效率較低,并且不支持多關(guān)鍵詞搜索° 相關(guān)文獻:Song D X, Wagner D, Perrig A.Practical techniques for searcheson encrypted data[C]//Security and Privacy, 2000.S&P 2000.Proceedings.2000IEEE Symposium on.1EEE, 2000: 44-55.而目前的多關(guān)鍵的檢索索引采用向量模型并且通過矩陣加密,這樣生成陷門和查詢效率較低,并且只支持精確關(guān)鍵詞搜索。相關(guān)文獻:Cao N, Wang C, Li M, et al.Privacy-preserving mult1-keyword ranked search overencrypted cloud data[J].Parallel and Distributed Systems, IEEE Transactionson, 2014, 25(1): 222-233.Li R, Xu Z, Kang ff, et al.Efficient mult1-keywordranked query over encrypted data in cloud computing[J].Future GenerationComputer Systems, 2014,30: 179-190.目前提出的模糊搜索方案主要是針對拼寫錯誤的模糊搜索,并不支持語義模糊搜索。相關(guān)文獻:Li J, Wang Q, Wang C,et al.Fuzzy keyword search over encrypted data in cloud computing[C]//INFOCOM, 2010Proceedings IEEE.1EEE, 2010: 1-5.Liu C, Zhu L, Li L, et al.Fuzzy keywordsearch on encrypted cloud storage data with small index[C]//Cloud Computingand Intelligence Systems (CCIS), 2011 IEEE International Conference on.1EEE,2011: 269-273.本發(fā)明采用布隆過濾器作為索引結(jié)構(gòu),具有較高的更新和查找效率,并且支持多關(guān)鍵詞檢索,對關(guān)鍵詞進行同義詞擴展后再構(gòu)建安全索引以完成語義模糊搜索請求。
[0004]由于用戶描述同一事物所用的詞匯不同,若不能進行同義詞搜索,將嚴重影響系統(tǒng)的使用性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種解決現(xiàn)有可搜索加密技術(shù)無法完成語義模糊搜索,更新效率低下,多關(guān)鍵詞查找效率低下等不足的語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng)。
[0006]為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種語義模糊可搜索加密云盤設(shè)計方法,包括如下步驟,
步驟SOl:通過客戶端,輸入密鑰對用戶需上傳的文件進行加密;
步驟S02:提取上述加密文件的關(guān)鍵詞,并進行語義擴展構(gòu)建同義詞集合;
步驟S03:通過布隆過濾器對上述構(gòu)建的同義詞集合進行安全索引的構(gòu)建,并將該安全索引上傳至云存儲服務(wù)器端;
步驟S04:客戶端根據(jù)用戶輸入密鑰生成關(guān)鍵詞陷門,并將該陷門提交給云存儲服務(wù)器端;
步驟S05:云存儲服務(wù)器端根據(jù)用戶提交的關(guān)鍵詞陷門,通過安全索引查找相應(yīng)文件,并將該文件返回給客戶端;
步驟S06:客戶端通過密鑰對云存儲服務(wù)器端返回的文件進行解密。
[0007]在本發(fā)明實施例中,所述云存儲服務(wù)器端根據(jù)用戶提交的更新請求,修改所述安全索引即可完成文件更新。
[0008]在本發(fā)明實施例中,所述步驟SOl的文件加密是通過對稱加密算法對文件進行加
LU O
[0009]在本發(fā)明實施例中,所述對稱加密算法為AES、DES或3DES加密算法。
[0010]本發(fā)明還提供了一種語義模糊可搜索加密云盤系統(tǒng),包括一客戶端和一云存儲服務(wù)器端;所述客戶端包括一實現(xiàn)文件加解密的文件加解密模塊、一用于提取加密文件關(guān)鍵詞的關(guān)鍵詞提取模塊、一用于對提取的關(guān)鍵詞進行語義擴展并構(gòu)建同義詞集合的語義擴展模塊、一通過布隆過濾器對所述同義詞集合進行安全索引構(gòu)建的構(gòu)建安全索引模塊和一上傳安全索引、提交陷門以及上傳/下載文件的第一通信模塊;所述云存儲服務(wù)器端包括一根據(jù)陷門查找安全索引的索引查找模塊、一存儲客戶端上傳加密文件的文件存儲模塊和一發(fā)送加密文件至所述客戶端并與所述第一通信模塊通信的第二通信模塊。
[0011]在本發(fā)明實施例中,所述文件加解密模塊通過對稱加密算法對文件進行加密。
[0012]在本發(fā)明實施例中,所述對稱加密算法為AES、DES或3DES加密算法。
[0013]在本發(fā)明實施例中,所述客戶端還包括一界面顯示模塊,該界面顯示模塊用于選取加密文件、顯示搜索結(jié)果以及輸入檢索關(guān)鍵詞。
[0014]在本發(fā)明實施例中,所述語義擴展模塊采用WordNet對所述同義詞集合進行語義擴展。
[0015]相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
1、本發(fā)明主要為密文文檔的信息檢索提供同義詞語義模糊搜索功能,即使用戶對某一關(guān)鍵詞描述不同也能返回相關(guān)文檔,并且支持多關(guān)鍵詞檢索,基于布隆過濾器的索引結(jié)構(gòu)對文檔的增加、刪除和更新操作具有較高的效率;
2、用戶將敏感數(shù)據(jù)存儲到云服務(wù)器中,可以先將文檔加密后上傳,之后通過密文檢索返回所需文檔,保證文檔的隱私性。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明網(wǎng)絡(luò)系統(tǒng)架構(gòu)圖。[0017]圖2為本發(fā)明客戶端結(jié)構(gòu)圖。
[0018]圖3為本發(fā)明云存儲服務(wù)器端結(jié)構(gòu)圖。
【具體實施方式】
[0019]下面結(jié)合附圖,對本發(fā)明的技術(shù)方案進行具體說明。
[0020]本發(fā)明一種語義模糊可搜索加密云盤設(shè)計方法,包括如下步驟,
步驟SOl:通過客戶端,輸入密鑰對用戶需上傳的文件進行加密;
步驟S02:提取上述加密文件的關(guān)鍵詞,并進行語義擴展構(gòu)建同義詞集合;
步驟S03:通過布隆過濾器對上述構(gòu)建的同義詞集合進行安全索引的構(gòu)建,并將該安全索引上傳至云存儲服務(wù)器端;
步驟S04:客戶端根據(jù)用戶輸入密鑰生成關(guān)鍵詞陷門,并將該陷門提交給云存儲服務(wù)器端;
步驟S05:云存儲服務(wù)器端根據(jù)用戶提交的關(guān)鍵詞陷門,通過安全索引查找相應(yīng)文件,并將該文件返回給客戶端;
步驟S06:客戶端通過密鑰對云存儲服務(wù)器端返回的文件進行解密。
[0021]在本發(fā)明實施例中,所述云存儲服務(wù)器端根據(jù)用戶提交的更新請求,修改所述安全索引即可完成文件更新。
[0022]所述步驟SOl的文件加密是通過對稱加密算法對文件進行加密;所述對稱加密算法為AES、DES或3DES加密算法。
[0023]本發(fā)明還提供了一種語義模糊可搜索加密云盤系統(tǒng),包括一客戶端和一云存儲服務(wù)器端;所述客戶端包括一實現(xiàn)文件加解密的文件加解密模塊、一用于提取加密文件關(guān)鍵詞的關(guān)鍵詞提取模塊、一用于對提取的關(guān)鍵詞進行語義擴展并構(gòu)建同義詞集合的語義擴展模塊(所述語義擴展模塊采用WordNet對所述同義詞集合進行語義擴展)、一通過布隆過濾器對所述同義詞集合進行安全索引構(gòu)建的構(gòu)建安全索引模塊和一上傳安全索引、提交陷門以及上傳/下載文件的第一通信模塊;所述云存儲服務(wù)器端包括一根據(jù)陷門查找安全索引的索引查找模塊、一存儲客戶端上傳加密文件的文件存儲模塊和一發(fā)送加密文件至所述客戶端并與所述第一通信模塊通信的第二通信模塊;所述客戶端還包括一界面顯示模塊,該界面顯示模塊用于選取加密文件、顯示搜索結(jié)果以及輸入檢索關(guān)鍵詞。
[0024]所述文件加解密模塊通過對稱加密算法對文件進行加密;所述對稱加密算法為AES、DES或3DES加密算法。
[0025]以下為本發(fā)明的實施例。
[0026]如圖1-3所示,由于用戶描述同一事物所用的詞匯不同,若不能進行同義詞搜索,將嚴重影響系統(tǒng)的使用性。針對現(xiàn)有可搜索加密技術(shù)無法完成語義模糊搜索,更新效率低下,多關(guān)鍵詞查找效率低下等不足。本發(fā)明提出了一種基于布隆過濾器的多關(guān)鍵詞語義模糊可搜索加密云盤設(shè)計方法及系統(tǒng),屬于軟件開發(fā)領(lǐng)域,主要包括客戶端和服務(wù)器端。
[0027]客戶端:用戶通過客戶端,輸入密鑰對文檔進行加密操作,客戶端獲取文檔關(guān)鍵詞并進行語義擴展構(gòu)建同義詞集合,并對擴展后的同義詞集合通過布隆過濾器構(gòu)建安全索弓丨,并將安全索引上傳至服務(wù)器端,當(dāng)用戶提交搜索請求時,客戶端根據(jù)密鑰生成關(guān)鍵詞陷門,并將陷門提交給服務(wù)器端完成搜索請求。對服務(wù)器返回的文檔使用密鑰進行解密。[0028]服務(wù)器端:存儲密文文件和索引文件,對于用戶提交的關(guān)鍵詞陷門,通過安全索引查找到相應(yīng)文檔,并將該文檔返回給客戶端。當(dāng)用戶需要更新時,根據(jù)用戶提交的更新請求,增加、刪除和更改操作只需修改服務(wù)器端相應(yīng)的布隆過濾器索引即可,時間效率為O(I)0
[0029]本發(fā)明主要應(yīng)用于可搜索加密云盤領(lǐng)域,提出了一種基于密文存儲檢索的應(yīng)用軟件,本軟件主要包括:(I)若干客戶端,每個客戶端主要負責(zé)文檔加解密,構(gòu)建文檔安全索引和提交搜索請求等功能,A.文件加解密模塊:主要通過調(diào)用現(xiàn)有的對稱加密算法對文檔進行加密,如AES,DES,3DES等傳統(tǒng)對稱加密算法,B.界面顯示模塊:主要負責(zé)選取加密文件、顯示搜索結(jié)果以及輸入檢索關(guān)鍵詞等功能,C.關(guān)鍵詞提取模塊:主要通過提取文檔標題的關(guān)鍵詞并過濾掉a,the,of等停用詞,D.語義擴展模塊:通過WordNet對提取的關(guān)鍵詞進行語義擴展,構(gòu)造同義詞集合,E.構(gòu)建安全索引模塊:通過帶密鑰的哈希函數(shù)構(gòu)建布隆過濾器索引,F(xiàn).通信模塊:主要負責(zé)提交用戶搜索陷門,上傳/下載密文文檔集以及上傳安全索引等操作;(2)云存儲服務(wù)器端,主要負責(zé)文件存儲和索引查找等功能,A.索引查找模塊:主要通過用戶提交的關(guān)鍵詞陷門查找索引并返回搜索結(jié)果,B.文件存儲模塊:主要負責(zé)存儲客戶端上傳的密文文檔,通過索引查找結(jié)果,將檢索到的文檔返回給用戶,C.通信模塊:主要負責(zé)將檢索到的密文文檔返回給用戶以及接收客戶端的發(fā)送請求。
[0030]本文客戶端和服務(wù)器端均采用Windows平臺下的java jdkl.7環(huán)境進行開發(fā)。客戶端運行在Windows 7系統(tǒng)下,對PDF文檔的處理采用F1DFBox的java類庫,語義擴展采用WordNet 2.1版本并使用麻省理工學(xué)院提供的JWI WordNet java類庫;云存儲服務(wù)器端運行在Windows server 2003服務(wù)器下。
[0031]本發(fā)明的使用方法如下:
用戶先通過客戶端對文檔進行加密,并對文檔提取關(guān)鍵詞形成安全索引,將加密后的文檔和安全索引上傳到云存儲服務(wù)器中,需要文檔時,在搜索框中輸入關(guān)鍵詞,客戶端對關(guān)鍵詞構(gòu)造陷門并將陷門提交至云存儲服務(wù)器,服務(wù)器通過陷門對索引進行查找,將查找到的文檔返回給客戶端,客戶端對文檔進行解密。
[0032]以上是本發(fā)明的較佳實施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時,均屬于本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種語義模糊可搜索加密云盤設(shè)計方法,其特征在于:包括如下步驟, 步驟SOl:通過客戶端,輸入密鑰對用戶需上傳的文件進行加密; 步驟S02:提取上述加密文件的關(guān)鍵詞,并進行語義擴展構(gòu)建同義詞集合; 步驟S03:通過布隆過濾器對上述構(gòu)建的同義詞集合進行安全索引的構(gòu)建,并將該安全索引上傳至云存儲服務(wù)器端; 步驟S04:客戶端根據(jù)用戶輸入密鑰生成關(guān)鍵詞陷門,并將該陷門提交給云存儲服務(wù)器端; 步驟S05:云存儲服務(wù)器端根據(jù)用戶提交的關(guān)鍵詞陷門,通過安全索引查找相應(yīng)文件,并將該文件返回給客戶端; 步驟S06:客戶端通過密鑰對云存儲服務(wù)器端返回的文件進行解密。
2.根據(jù)權(quán)利要求1所述的一種語義模糊可搜索加密云盤設(shè)計方法,其特征在于:所述云存儲服務(wù)器端根據(jù)用戶提交的更新請求,修改所述安全索引即可完成文件更新。
3.根據(jù)權(quán)利要求1所述的一種語義模糊可搜索加密云盤設(shè)計方法,其特征在于:所述步驟SOl的文件加密是通過對稱加密算法對文件進行加密。
4.根據(jù)權(quán)利要求3所述的一種語義模糊可搜索加密云盤設(shè)計方法,其特征在于:所述對稱加密算法為AES、DES或3DES加密算法。
5.—種語義模糊可搜索加密云盤系統(tǒng),其特征在于:包括一客戶端和一云存儲服務(wù)器端;所述客戶端包括一實現(xiàn)文件加解密的文件加解密模塊、一用于提取加密文件關(guān)鍵詞的關(guān)鍵詞提取模塊、一用于對提取的關(guān)鍵詞進行語義擴展并構(gòu)建同義詞集合的語義擴展模塊、一通過布隆過濾器對所述同義詞集合進行安全索引構(gòu)建的構(gòu)建安全索引模塊和一上傳安全索引、提交陷門以及上傳/下載文件的第一通信模塊;所述云存儲服務(wù)器端包括一根據(jù)陷門查找安全索引的索引查找模塊、一存儲客戶端上傳加密文件的文件存儲模塊和一發(fā)送加密文件至所述客戶端并與所述第一通信模塊通信的第二通信模塊。
6.根據(jù)權(quán)利要求5所述的一種語義模糊可搜索加密云盤系統(tǒng),其特征在于:所述文件加解密模塊通過對稱加密算法對文件進行加密。
7.根據(jù)權(quán)利要求6所述的一種語義模糊可搜索加密云盤系統(tǒng),其特征在于:所述對稱加密算法為AES、DES或3DES加密算法。
8.根據(jù)權(quán)利要求5所述的一種語義模糊可搜索加密云盤系統(tǒng),其特征在于:所述客戶端還包括一界面顯示模塊,該界面顯示模塊用于選取加密文件、顯示搜索結(jié)果以及輸入檢索關(guān)鍵詞。
9.根據(jù)權(quán)利要求5或8所述的一種語義模糊可搜索加密云盤系統(tǒng),其特征在于:所述語義擴展模塊采用WordNet對所述同義詞集合進行語義擴展。
【文檔編號】H04L29/06GK103955537SQ201410207365
【公開日】2014年7月30日 申請日期:2014年5月16日 優(yōu)先權(quán)日:2014年5月16日
【發(fā)明者】吳陽, 林柏鋼, 楊旸, 鐘玲, 陳何峰, 王淑娥, 李宇翔 申請人:福州大學(xué)