一種支持物理刪除的動態可搜索對稱加密方法
【技術領域】
[0001] 本發明屬于密碼學和云存儲技術領域,更具體地,設及一種支持物理刪除的動態 可捜索對稱加密方法。
【背景技術】
[0002] 隨著云計算概念的興起和普及,云存儲技術的應用也越來越廣泛。云存儲是在云 計算概念上衍生發展出來的一個新的概念,簡單來說,就是將存儲資源放到云上供用戶存 取的一種新興方案;用戶可W在任何時間、任何地點,通過任何可連網的設備連接到云存儲 服務器上方便地存取數據。
[0003] 雖然云存儲技術為用戶節省了大量的存儲空間,提供了方便的數據存取服務,但 是由此帶來的數據安全問題也是不可小視的。尤其當數據設及到用戶機密文件或者隱私數 據時,一旦該些數據存放于云端,而云端有可能因為自身原因或者外部因素造成數據隱私 泄漏,該種情況無論對用戶還是對云存儲服務提供商都可能造成重大損失。
[0004] 現有的一種解決方案是運用密碼學領域的對稱加密技術,將用戶的敏感數據經加 密處理后再存放于云端。數據發送方將明文(即原始數據)和加密密鑰一起經過特殊加密 算法處理后,使其變成復雜的加密密文發送出去。數據接收方收到密文后,若想解讀明文, 則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明 文。在對稱加密算法中,使用的密鑰只有一個,發送接收雙方都使用同一密鑰對數據進行加 密和解密。
[0005] 將數據經過對稱加密技術處理后再存放于云端可W有效的降低用戶隱私數據泄 露的風險,然而,該也帶來了新的問題;密文數據存取問題,主要包括如何在密文數據庫中 進行高效的密文檢索(即將用戶想要的密文數據準確的返回),W及如何在保證密文數據 隱私安全的前提下進行動態更新(即可捜索密文的增加和刪除)。
【發明內容】
[0006] 針對現有技術的W上缺陷或改進需求,本發明提供一種支持物理刪除的動態可捜 索對稱加密方法,解決了現有云存儲服務存在的隱私數據安全問題、高效密文檢索問題W 及可捜索密文動態更新問題。
[0007] 本發明提供一種支持物理刪除的動態可捜索對稱加密方法,包括W下步驟:
[000引步驟1定義系統初始化參數和算法結構,為關鍵字WGW生成關于文件idGID的 可捜索密文(L,,DJ,其中W為關鍵字集合,ID為文件集合,為文件id建立關于關鍵字W的 可捜索密文(LwDj,為文件關鍵字對(id,w)建立可捜索密文(Lid,,,Dw,,),保留關鍵字W 和文件id的私有狀態,加密待上傳文件,并將加密后的密文文件和由各可捜索密文生成的 索引上傳至云端;
[0009] 步驟2根據待捜索關鍵字W生成捜索限口ST,并將其上傳至云端,云端根據所述 捜索限口ST,完成可捜索密文索引的捜索,并將邏輯刪除標志位為1的密文進行物理刪除, 將邏輯刪除標志位為0的的密文返回給用戶;
[0010] 步驟3根據待上傳的文件和關鍵字對(id,W)獲取對應的私有狀態,為關鍵字W建 立關于文件id的可捜索密文,為文件id建立關于關鍵字W的可捜索密文,為文件關鍵字對 (id,W)建立可捜索密文,更新關鍵字W和文件id的私有狀態,加密待上傳文件,將加密后 的密文文件和可捜索密文上傳至云端;
[0011] 步驟4根據待刪除文件id生成刪除限口DT,,并將其上傳至云端,云端根據所述刪 除限口DT,邏輯刪除文件id對應的關鍵字W的可捜索密文,并物理刪除文件id和關鍵字W 對(id,W)對應的可捜索密文。
[0012] 總體而言,通過本發明所構思的W上技術方案與現有技術相比,具有W下有益效 果:
[0013] (1)安全性的提高:本發明引入了私有狀態,每次插入無需改變已有鏈式結構,只 需本地取回私有狀態加密完成后上傳至云端即可,刪除時先做邏輯刪除,在密文狀態下將 邏輯刪除位置為1,也無需更改原有可捜索密文的結構,安全性較現有方案有了極大提高;
[0014] (2)實用性的提高:在保證安全性的前提下本發明可W-定程度做到物理刪除, 現有方案在保證安全性的前提下只能做到邏輯刪除,該在實際應用中是無法接受的,如果 可捜索密文只增加不刪除,會造成極大的存儲空間浪費,本發明采用先邏輯刪除保護可捜 索密文結構,在捜索的時候完成物理刪除減少存儲空間的消耗,極大的增加了可捜索加密 方案的實用性;
[0015] (3)可擴展性;根據實際情況的需要,可W將現有方案擴展實現單關鍵字的動態 更新功能(即動態修改已有文件對應的關鍵字),W及實現并行化捜索。
【附圖說明】
[0016] 圖1為本發明支持物理刪除的動態可捜索對稱加密方法的應用環境示意圖;
[0017] 圖2為本發明支持物理刪除的動態可捜索對稱加密方法的流程圖;
[0018] 圖3為本發明支持物理刪除的動態可捜索對稱加密方法的初始化流程圖;
[0019] 圖4為本發明支持物理刪除的動態可捜索對稱加密方法的捜索流程圖;
[0020] 圖5為本發明支持物理刪除的動態可捜索對稱加密方法的文件添加流程圖;
[0021] 圖6為本發明支持物理刪除的動態可捜索對稱加密方法的文件刪除流程圖。
【具體實施方式】
[0022] 為了使本發明的目的、技術方案及優點更加清楚明白,W下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發明,并 不用于限定本發明。此外,下面所描述的本發明各個實施方式中所設及到的技術特征只要 彼此之間未構成沖突就可W相互組合。
[0023] 圖1所示為本發明支持物理刪除的動態可捜索對稱加密方法的應用環境示意圖。 本發明應用于云存儲環境,客戶端只需根據不同操作生成對應的操作限口并上傳至云存儲 服務器,云存儲服務器根據不同限口在密文數據庫中完成對應操作,具體可包括:
[0024] 捜索請求;用戶根據待捜索關鍵字生成捜索限口并上傳至云存儲服務器;
[0025] 結果返回;云存儲服務器根據捜索限口完成可捜索密文的捜索并將符合捜索限口 的密文文件返回給用戶;
[0026] 添加請求;用戶根據待添加文件及其包含的關鍵字生成可捜索密文上傳至云存儲 服務器,云端執行可捜索密文動態更新,存儲密文文件;
[0027] 刪除請求:用戶根據待刪除文件生成刪除限口并上傳至云存儲服務器,云端執行 可捜索密文動態更新,刪除密文文件。
[002引圖2所示為本發明支持物理刪除的動態可捜索對稱加密方法的流程圖,主要包括W下步驟:
[0029] 步驟1系統初始化,圖3所示為本發明支持物理刪除的動態可捜索對稱加密方法 的初始化流程圖,具體包括W下子步驟:
[0030] (1-1)初始化系統參數,包括W下子步驟:
[0031] (1-1-1)初始化系統安全參數;kGN,N為正整數,表示系統安全參數理論上可 W取任何值,值越大安全性越高,但是開銷也越大,實際應用中會根據安全性的需要和系 統的開銷來綜合選定1^的值大小;并根據安全參數初始化用戶私鑰化1,k2) ;ki^ {0,1}k, {0,1}N
[0032] (1-1-2)初始化系統所需數據結構和函數:
[0033] 帶密鑰的偽隨機函數F;通過確定算法生成隨機數的函數,定義如下:
[0034] F;{0,l}kx{0,1}*一 {0,1}k;
[0035] 哈希函數H和G;將任意長度的輸入通過散列算法變成固定長度的輸出,哈希函數 H和G定義如下;
[0036] H;{oar-{oa}2w;
[0037] G:{0,ir^{0,l}3w;
[003引 初始化鏈表;T"=Null、Tf=Null、Tp=Null、Tf,w=Null,其中;
[0039] T"用于保存初始化過程關鍵字wGW的可捜索密文;
[0040] Tp用于保存初始化過程文件idGID的可捜索密文;
[0041] Tp用于保存初始化過程關鍵字WGW和文件idGID的私有狀態;
[0042] 用于保存初始化過程文件關鍵字對(WGW,idGID)的可捜索密文;
[0043] W為關鍵字的標識符,W為關鍵字集合;id為文件表示符,ID為文件集合;
[0044] 初始化數據字典;一種特殊的數據存儲結構,W鏈表T、數據組(1,d)為輸入,1在 鏈表中表示為數據d的標簽,根據標簽1可W獲取數據d,數據字典D的算法可W定義如下:
[0045] 創建數據字典:化eat(T);
[0046] 獲取數據字典的數據值;Get值,1);
[0047] 插入新的值;Insert值,(1,d));
[0048] 刪除數據;Remove值,1);
[0049] 更新數據;Update值,(1,d));
[0化0] (1-1-3)為待上傳文件idGID關