一種動態可搜索公鑰加密方法
【技術領域】
[0001 ]本發明屬于密碼學和云存儲技術安全領域,更具體地,設及一種動態可捜索公鑰 加密方法。
【背景技術】
[0002] 隨著互聯網技術的迅速發展,大量的企業與個人選擇將數據存儲到云服務器上, 而云存儲技術帶來的安全問題也引起了人們的關注。為了保證數據的安全性和隱私性,防 止數據被非法用戶獲得,將數據進行加密技術處理后W密文形式存儲在云服務器成為一種 較為有效的技術手段。然而,用戶如何在大量存儲于云服務器的密文數據中檢索并得到特 定數據成為一個難題。數據經過加密存儲后,密文數據失去了之前的明文結構,用戶無法W 檢索明文數據的方式來檢索存儲在云服務器上的密文數據。此外,如何對存儲在云服務器 端的密文數據進行動態更新(即密文的添加和刪除),同時保證密文數據的隱私安全也是一 個新的問題。因此,動態可捜索加密技術成為云存儲技術的一個研究重點。
[0003] 可捜索加密(Searchable Enc巧Ption,簡稱SE)是解決用戶在密文數據上進行關 鍵字檢索的重要技術手段。根據加密技術的不同,可捜索加密算法分為可捜索對稱加密算 法和可捜索公鑰加密算法。對稱加密算法指的是加密和解密密鑰都是來自于同一密鑰,它 們相等或是兩者之間需要一些簡單的轉換。公鑰加密算法是指通過一種算法得到一對密鑰 對(公鑰和私鑰),公開公鑰進行數據加密,秘密保存的私鑰進行密文解密。
[0004] 現有的動態可捜索加密算法研究都是基于對稱加密算法,用戶的明文數據經過對 稱加密后發送到云服務器。收發雙方使用同一密鑰對數據進行加密和解密,發送方和接收 方需要在實現進行密鑰的協商,通過安全信道進行密鑰的傳輸。然而在一些無法通過安全 信道進行密鑰協商場景中,則需要運用動態可捜索公鑰加密。目前還沒有對基于公鑰加密 算法的動態可捜索加密算法的研究,設計一種支持物理刪除的動態可捜索公鑰加密技術將 具有重要意義。
【發明內容】
[0005] 針對現有技術的W上缺陷或改進需求,本發明提供了一種動態可捜索公鑰加密算 法,解決了現有的可捜索公鑰加密技術中的密文動態更新問題。本發明在公鑰加密階段,建 立關于文件關鍵字對(ID,W)的可捜索密文索引結構,運樣密文文件與可捜索密文索引通過 具有相同的文件ID建立隱藏的內在聯系。通過用戶提交的文件ID信息,云服務器可W對可 捜索密文和密文文件進行動態刪除操作。
[0006] 本發明提供一種動態可捜索公鑰加密方法,該方法包括W下步驟:
[0007] 步驟1系統初始化參數設置。根據系統預設的安全參數構建對應的雙線性映射,并 根據該雙線性映射計算出主公共密鑰PK和私鑰SK:
[000引(1-1)根據系統預設的安全參數k,構建雙線性映射e:GXG 一 Gt,其中和G和Gt為楠 圓曲線群,運兩個楠圓曲線群的階數q的長度等于安全參數k;
[0009] (1-2)在楠圓曲線群G中隨機選取生成元g,隨機選取一個正整數S ez;,令p = gS。 選擇哈希函數如下:
[0010] 出:{0,1}*一G,出:Gt一{0,l}k
[0011] (1-3)根據上述步驟(1-1)和(1-2)的結果生成主公共密鑰PK和私鑰SK:
[0012] PK=(q,G,GT,e,g,P,Hi,出),SK = s
[0013] 步驟2可捜索密文和密文文件的生成。發送方根據主公共密鑰PK為每個待上傳文 件生成關于文件關鍵字對(ID,W)的密文,建立文件的動態可捜索密文(Lw,Lid ,Did),然后加 密待上傳文件生成帶文件ID的密文文件,最后將生成的可捜索密文索引和密文文件一起上 傳到云存儲服務器:
[0014] (2-1)隨機選取兩個正整數ri,r2 E 為關鍵字W和文件ID生成密文(ULid):
[00巧]Inv 二(Lwi 二的(eCP,Wi(W)廣),Lw,2 =巧
[00W =片化1 二化0(P,W].〇D)廣),化2 =巧巧)
[0017] (2-2)隨機選擇正整數r] e Z;;,生成文件ID的密文:
[001引Dw二(£)化1 =馬(6護化i(W)廣)?ID, 0化2二巧叫
[0019] 步驟3密文檢索。接收方根據待捜索關鍵字W生成檢索陷口 Tw并提交給云服務器, 云服務器根據該捜索陷口檢索所有可捜索密文索引得到對應的可捜索密文,進一步地解密 該密文得到待捜索文件ID,然后根據該文件ID找到相應的密文文件并返回給用戶:
[0020] (3-1)接收方根據私鑰SK生成待捜索關鍵字W的檢索陷口 Tw =出(W)S,并將捜索陷 口提交給云服務器;
[0021] (3-2)云服務器根據檢索陷口 Tw檢索所有的可捜索密文,如果可捜索密文(Lw,Lid, Did)的束一部分Lw= (Lw, 1 , Lw, 2)細足
[0022] 出(e(Tw,U2))=Ui
[0023] 則所得密文為包含關鍵字W的可捜索密文;
[0024] (3-3)對檢索得到的可捜索密文,解密第;部分Did = (Did, 1,化d, 2 ),得到包含待捜 索關鍵字的文件ID:
[0025] ID = Z)w,i?/-/2(e(Tw, 〇化2^
[0026] 服務器根據所得文件ID返回相應的密文文件。
[0027] 步驟4文件刪除。接收方根據待刪除文件ID生成文件刪除陷口 Tid并提交給云服務 器,云服務器根據文件刪除陷口 Tid檢索所有可捜索密文索引并找到對應的可捜索密文,然 后刪除對應的可捜索密文,同時刪除具有相同文件ID的密文文件:
[002引(4-1)接收方根據私鑰SK生成待刪除文件ID的刪除陷口 Tid= (Tid,I = Hi(ID)S, Tid,2 =ID),并將刪除陷口提交給云服務器;
[0029] (4-2)云服務器根據刪除陷口 Tid檢索所有的可捜索密文,如果可捜索密文(Lw,Lid, Did)的弟-?部分Lid二(Lid, 1,Lid,2)細足:
[0030] 也(e(TiD,i,Lid,2))二Lid,i
[0031] 則所得密文為包含文件ID的可捜索密文;
[0032] (4-3)服務器刪除檢索到的可捜索密文,更新可捜索密文索引,根據檢索陷口的文 件ID刪除對應密文文件。
[0033] 總體而言,通過本發明所構思的W上技術方案與現有技術相比,具有W下有益效 果:
[0034] (1)安全性提高:本發明在加密階段對文件標示符進行加密,在檢索階段通過解密 可捜索密文得到文件標示符,通過文件標示符進一步找到對應密文文件。通過隱藏文件標 示符,降低了可捜索密文之間的關聯性,增大了可捜索密文不可區分性,密文安全性得到提 局。
[0035] (2)密文的動態更新:本發明實現了密文的動態更新,用戶通過提交刪除陷口可W 讓云服務器刪除對應的可捜索密文和密文文件,W此減少系統的存儲開銷。
【附圖說明】
[0036] 圖1為本發明動態可捜索公鑰加密方法的應用環境示意圖;
[0037] 圖2為本發明動態可捜索公鑰加密方法的流程圖;
[0038] 圖3為本發明動態可捜索公鑰加密方法的系統初始化和加密流程圖;
[0039] 圖4為本發明動態可捜索公鑰加密方法的捜索流程圖;
[0040] 圖5為本發明動態可捜索公鑰加密方法的文件刪除流程圖。
【具體實施方式】
[0041 ]為了使本發明的目的、技術方案及優點更加清楚明白,W下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發明,并 不用于限定本發明。此外,下面所描述的本發明各個實施方式中所設及到的技術特征只要 彼此之間未構成沖突就可W相互組合。
[0042] 圖1所示為本發明支持動態可捜索公鑰加密方法的應用環境示意圖。本發明應用 于云存儲環境,整個系統包括=個主體,發送方、云存儲服務器和接收方。具體包括:
[0043] 上傳文件:根據待上傳文件及其包含的關鍵字生成文件關鍵字對(ID,W)的可捜索 密文,加密待上傳文件生成密文文件,然后上傳可捜索密文和密文文件。云服務器執行可捜 索密文的動態更新,存儲密文文件;
[0044] 捜索請求:接收方根據待捜索關鍵字W生成檢索限口 Tw并上傳至云存儲服務器;
[0045] 返回結果:云存儲