專利名稱:一種用于公開數據完整性校驗的索引轉換方法
技術領域:
本發(fā)明屬于云環(huán)境技術領域,更具體地,涉及一種用于公開數據完整性校驗的索引轉換方法。
背景技術:
數據完整性校驗就是及時檢測出數據毀壞和丟失,防止服務方故意隱瞞數據丟失事件。云數據完整性校驗是指云環(huán)境下的數據完整性校驗。數據完整性校驗大致可分為兩種類型私有數據完整性校驗和公開數據完整性檢驗。私有數據完整性檢驗發(fā)生在原始數據的擁有者用戶和服務商之間,用戶為有效地進行數據完整性檢驗,平時還需維護一定量的秘密信息,如數據的加密密鑰和散列值等。因此,為了保證數據的機密性和隱私性,私有數據完整性檢驗一般不能委托第三方進行。公開數據完整性檢驗中由于審計方平時無需維護審計相關的秘密信息,故可以委托任何人進行(包括用戶本身)。一個完整的數據完整性檢驗方案可簡單分成對數據的預處理和審計過程兩大步驟。預處理主要是生成必要的公私鑰,以及針對原始數據塊構造其相應的數據標簽;審計過程是指審計方和服務方的協(xié)議交互過程,包括審計方發(fā)起審計請求,提供必要的隨機數和待審計塊信息,服務方根據審計請求生成完整性證據再發(fā)送給審計方,然后審計方驗證服務方證據的有效性。云環(huán)境下遠程數據審計機制,主要包括安全性、審計效率和開銷、審計功能三個層面。C. Wang等人提出的支持隱私保護的公開審計方法(Privacy-Preserving PublicAuditing,簡稱PPPA)為公開審計,其預處理的計算開銷為0(n),而協(xié)議交互時的帶寬開銷、審計方和服務方的存儲開銷、審計方和服務方的計算開銷都為0(1),但不支持數據動態(tài)更新。詳見 C. Wang, Q. Wang, K. Ren, and ff. Lou, “Privacy-preserving public auditingfor data storage security in cloud comput ing, ” in Proc. of INF0C0MJ 10, SanDiego, CA, USA, 2010,pp. 525-533.Q. Wang等人 提出的Merkle哈希樹(Merkle Hash Tree,簡稱MHT)方案也為公開審計,支持數據動態(tài)更新,預處理的計算開銷為0(n),然而其協(xié)議交互時的帶寬開銷、審計方和服務方的存儲開銷、審計方和服務方的計算開銷都為0(log η)。詳見Q.Wang,C.Wang, J. Li, K. Ren, and ff. Lou, “Enabling public verifiability and data dynamicsfor st orage security in cloud computing,,,in Proc. of ES0RICS’ 09,SaintMalo, France, 2009, pp. 355-370.然而,現有的遠程數據審計方法存在以下問題(1)審計效率和開銷不高,即協(xié)議交互時的帶寬開銷、審計方和服務方的存儲開銷、審計方和服務方的計算開銷和預處理的計算開銷都要盡可能低;(2)審計功能,即審計方案除了能正常完成審計目標之外,還應支持公開驗證性、數據隱私保護、數據動態(tài)更新。
發(fā)明內容
針對現有技術的缺陷,本發(fā)明的目的在于提供一種用于公開數據完整性校驗的索引轉換方法,其基于現有PPPA方案的改進,旨在解決現有方案不支持數據動態(tài)更新的問題。
為實現上述目的,本發(fā)明提供了一種用于公開數據完整性校驗的索引轉換方法, 包括以下步驟
(I)用戶端登錄到云服務器和審計服務器;
(2)用戶端同步用戶的公鑰到云服務器和審計服務器;
(3)用戶端接收用戶請求,并且根據用戶請求判斷是執(zhí)行上傳文件操作、刪除文件操作、審計文件操作、還是修改文件操作,如果是執(zhí)行上傳文件操作,則進入步驟(4),如果是執(zhí)行刪除文件操作,則進入步驟(5),如果是執(zhí)行審計文件操作,則進入步驟(6),如果是執(zhí)行修改文件操作,則進入步驟(7),否則過程結束;
(4)用戶端從用戶接收需要上傳的文件F,根據用戶的公鑰和私鑰將上傳的文件F 進行分塊,并計算每個分塊的標簽,將需要上傳的文件F及其每個分塊的標簽上傳到云服務器,并返回步驟(3);
(5)用戶端從用戶接收需要刪除的文件,并在云服務器和審計服務器中刪除與需要刪除的文件對應的文件、文件標簽以及文件相關信息,并返回步驟(3);
(6)用戶端從用戶接收需要審計的文件,根據該審計文件向審計服務器發(fā)送審計文件請求,獲取審計結果,并返回步驟(3);
(7)用戶端從用戶接收需要修改的文件,根據該修改文件向云服務器提交修改文件請求,修改完成后保存文件,并返回步驟(3)。
步驟(2)包括以下子步驟
(2-1)用戶端根據用戶密碼生成私鑰Sk(X);具體而言,私鑰僅包含一個元素X,表示為sk(x);
(2-2)用戶端判斷本地是否存在公鑰pk(u,w, g, v),若存在,則轉入步驟(2-3), 若不存在,則轉入步驟(2-4);具體而言,公鑰包含4個元素,分別為u,w, g, V,表示為 pk(u, w, g, V),其中g為常量;
(2-3)用私鑰sk(x)檢驗公鑰pk(u, W,g, V)的正確性,即判斷w = Ux且v = gx是否成立,若成立,則轉入步驟(2-5),否則轉入步驟 (2-4);
(2-4)從PBC庫的Gl群中隨機取出一個元素,并將其賦值給U,并計算w = Ux以及V = gx,則新的公鑰為pk(u, W,g, V);
(2-5)用戶端將用戶的公鑰pk (u,w,g, v)同步到云服務器和審計服務器;
(2-6)將公鑰pk(u, W,g, V)保存到本地,過程結束。
步驟(4)包括以下子步驟
(4-1)用戶端判斷需要上傳的文件F是否已經存在于云服務器中,若存在,則返回步驟(3),若不存在,則進入步驟(4-2);
(4-2)用戶端將需要上傳的文件F分為η塊,將每個分塊的內容分別映射到 PBC庫中的對應元素,所有元素構成集合F= Im1, nv··.,mn},對每一個分塊元素Hii (其中I ( i彡n),用分塊、索引號、私鑰Sk(X)和公鑰pk(U,W,g,v)計算其相應的標簽 (Ti = (H(Q ■其中Η( ·)是一個hash函數,H(i)表示對索引號i進行hash運算;
(4-3)用戶端將需要上傳的文件F的文件信息發(fā)送到審計服務器;具體而言,該文件信息包括文件名、文件大小、文件塊數η以及索引轉換表,其中索引轉換表是一個數組,數組中第j個元素表示第j個分塊元素mj的索引號,對于新上傳的文件,第k個分塊元素mk的索引號即為k ;(4-4)用戶端將所有分塊Hi1, m2···.,mn及其標簽上傳到云服務器,將文件信息上傳到審計服務器,并返回步驟(3)。步驟(5)包括以下子步驟(5-1)用戶端查詢審計服務器中是否存在需要刪除的文件的文件信息,若存在,則轉入步驟(5-2),否則轉入步驟(5-3);(5-2)審計服務器刪除該文件的文件信息;(5-3)查詢云服務器中是否存在該文件,若存在,則轉入步驟(5-4),否則返回步驟(3);(5-4)云服務器刪除該文件的所有分塊及其標簽,并返回步驟(3)。步驟(6)包括以下子步驟(6-1)用戶端發(fā)送審計請求以及需要審計的文件名到審計服務器;(6-2)審計服務器根據審計請求和文件名查詢需要審計的文件是否存在,若存在,則轉入步驟(6-3),若不存在,則表示審計失敗,轉入步驟(6-9);(6-3)審計服務器根據需要審計的文件的文件信息,隨機抽取460個分塊,構成分塊集合P= Is1, Sf .,S46J,對抽取的第P個分塊,隨機生成相應的隨機數Vp,組成460個配對集合chal = {(p, vp)}pe p,審計服務器向云服務器發(fā)送審計請求,并將用戶名、文件名、配對集合chal發(fā)送到云服務器;(6-4)云服務器根據審計請求、用戶名、文件名及配對集合chal,查詢該用戶名下相應文件是否存在,若存在,則轉入步驟(6-5),若不存在,則表示審計失敗,轉入步驟(6-9);(6-5)云服務器根據配對集合chal生成證據proof (μ , σ,R),其中R = w1,r為隨機數,
權利要求
1.一種用于公開數據完整性校驗的索引轉換方法,其特征在于,包括以下步驟(1)用戶端登錄到云服務器和審計服務器;(2)用戶端同步用戶的公鑰到云服務器和審計服務器;(3)用戶端接收用戶請求,并且根據用戶請求判斷是執(zhí)行上傳文件操作、刪除文件操作、審計文件操作、還是修改文件操作,如果是執(zhí)行上傳文件操作,則進入步驟(4),如果是執(zhí)行刪除文件操作,則進入步驟(5),如果是執(zhí)行審計文件操作,則進入步驟(6),如果是執(zhí)行修改文件操作,則進入步驟(7),否則過程結束;(4)用戶端從用戶接收需要上傳的文件F,根據用戶的公鑰和私鑰將上傳的文件F進行分塊,并計算每個分塊的標簽,將需要上傳的文件F及其每個分塊的標簽上傳到云服務器, 并返回步驟(3);(5)用戶端從用戶接收需要刪除的文件,并在云服務器和審計服務器中刪除與需要刪除的文件對應的文件、文件標簽以及文件相關信息,并返回步驟(3);(6)用戶端從用戶接收需要審計的文件,根據該審計文件向審計服務器發(fā)送審計文件請求,獲取審計結果,并返回步驟(3);(7)用戶端從用戶接收需要修改的文件,根據該修改文件向云服務器提交修改文件請求,修改完成后保存文件,并返回步驟(3)。
2.根據權利要求1所述的索引轉換方法,其特征在于,步驟(2)包括以下子步驟 (2-1)用戶端根據用戶密碼生成私鑰Sk(X);具體而言,私鑰僅包含一個元素X,表示為sk(x);(2-2)用戶端判斷本地是否存在公鑰pk (u,w, g, V),若存在,則轉入步驟(2-3),若不存在,則轉入步驟(2-4);具體而言,公鑰包含4個元素,分別為U,W,g, V,表示為pk(u, w, g, v),其中g為常量;(2-3)用私鑰sk(x)檢驗公鑰pk(u, W,g, V)的正確性,即判斷w = Ux且v = gx是否成立,若成立,則轉入步驟(2-5),否則轉入步驟(2-4);(2-4)從PBC庫的Gl群中隨機取出一個元素,并將其賦值給U,并計算w = Ux以及V = gx,則新的公鑰為pk(u, W,g, V);(2-5)用戶端將用戶的公鑰pk(u,W,g,v)同步到云服務器和審計服務器;(2-6)將公鑰pk(u, W,g, V)保存到本地,過程結束。
3.根據權利要求1所述的索引轉換方法,其特征在于,步驟(4)包括以下子步驟 (4-1)用戶端判斷需要上傳的文件F是否已經存在于云服務器中,若存在,則返回步驟(3),若不存在,則進入步驟(4-2);(4-2)用戶端將需要上傳的文件F分為η塊,將每個分塊的內容分別映射到PBC庫中的對應元素,所有元素構成集合F= Im1, nv··.,mn},對每一個分塊元素其中i為索引號, n,n為正整數,用分塊、索引號、私鑰Sk(X)和公鑰pk(u,w, g, v)計算其相應的標簽
4.根據權利要求1所述的索引轉換方法,其特征在于,步驟(5)包括以下子步驟 (5-1)用戶端查詢審計服務器中是否存在需要刪除的文件的文件信息,若存在,則轉入步驟(5-2),否則轉入步驟(5-3); (5-2)審計服務器刪除該文件的文件信息; (5-3)查詢云服務器中是否存在該文件,若存在,則轉入步驟(5-4),否則返回步驟(3); (5-4)云服務器刪除該文件的所有分塊及其標簽,并返回步驟(3)。
5.根據權利要求1所述的索引轉換方法,其特征在于,步驟(6)包括以下子步驟 (6-1)用戶端發(fā)送審計請求以及需要審計的文件名到審計服務器; (6-2)審計服務器根據審計請求和文件名查詢需要審計的文件是否存在,若存在,則轉入步驟(6-3),若不存在,則表示審計失敗,轉入步驟(6-9);(6-3)審計服務器根據需要審計的文件的文件信息,隨機抽取C次分塊,構成分塊集合P = {Sl,s2···.,sj,其中C的取值范圍為100-1000,S表示抽取的分塊的索引號,對第P次抽取的分塊,隨機生成相應的隨機數vp,組成C個配對集合chal = {(p,vp)}pep,其中C,審計服務器向云服務器發(fā)送審計請求,并將用戶名、文件名、配對集合chal發(fā)送到云服務器; (6-4)云服務器根據審計請求、用戶名、文件名及配對集合chal,查詢該用戶名下相應文件是否存在,若存在,則轉入步驟(6-5),若不存在,則表示審計失敗,轉入步驟(6-9);(6-5)云服務器根據配對集合chal生成證據proof (μ,σ,R),其中R =妒,r為隨機數,
6.根據權利要求1所述的索引轉換方法,其特征在于,步驟(7)包括以下子步驟 (7-1)用戶端連接云服務器,修改需要修改的文件并保存; (7-2)云服務器對修改后文件進行分塊; (7-3)云服務器將修改后文件的分塊與修改前文件的分塊進行對比,以找出所有插入、替換、刪除的分塊; (7-4)云服務器對插入的分塊,執(zhí)行步驟(7-5),對于替換的分塊,執(zhí)行步驟(7-6),對于刪除的分塊,執(zhí)行步驟(7-7); (7-5)對于插入的分塊,執(zhí)行插入分塊操作,并返回步驟(3); (7-6 )對于替換的分塊,執(zhí)行替換分塊操作,并返回步驟(3 ); (7-7)對于刪除的分塊,執(zhí)行刪除分塊操作,并返回步驟(3)。
7.根據權利要求6所述的索引轉換方法,其特征在于,子步驟(7-5)包括以下子步驟: (7-5-1)云服務器將插入的分塊以及插入分塊的位置發(fā)送到用戶端;(7-5-2)用戶端將插入分塊的位置告知審計服務器;(7-5-3)審計服務器生成插入分塊的索引號,并更新索引轉換表;(7-5-4)審計服務器將插入分塊的索引號發(fā)送給用戶端;(7-5-5)用戶端根據插入分塊的索引號和插入分塊生成插入分塊的標簽;(7-5-6)用戶端將插入分塊的標簽及其索引號發(fā)送到云服務器;(7-5-7)云服務器保存插入分塊、分塊標簽、分塊索引,并返回步驟(7-5 )。
8.根據權利要求6所述的索引轉換方法,其特征在于,子步驟(7-6)包括以下子步驟: (7-6-1)云服務器將替換的分塊及其索引號發(fā)送到用戶端;(7-6-2)用戶端根據替換的分塊、索引號、用戶的私鑰Sk(X)、用戶的公鑰pk(u,w, g, v) 計算標簽;(7-6-3)用戶端將標簽發(fā)送到云服務器;(7-6-4)云服務器保存替換的分塊、塊標簽及其索引號;并返回步驟(7-6)。
9.根據權利要求6所述的索引轉換方法,其特征在于,子步驟(7-7)包括以下子步驟: (7-7-1)云服務器將要刪除的分塊的索引號發(fā)送到用戶端;(7-7-2)用戶端將要刪除的分塊的索引號發(fā)送到審計服務器;(7-7-3)審計服務器根據要刪除的分塊的索引號更新索引轉換表,即刪除相應索引號;(7-7-4)審計服務器告知用戶端更新完成;(7-7-5)用戶端告知云服務器更新完成;(7-7-6)云服務器刪除要刪除的分塊、塊標簽及其索引號;并返回步驟(7-7)。
全文摘要
本發(fā)明公開了一種用于公開數據完整性校驗的索引轉換方法,包括用戶端登錄到云服務器和審計服務器,用戶端同步用戶的公鑰到云服務器和審計服務器,用戶端接收用戶請求,并且根據用戶請求判斷是執(zhí)行上傳文件操作、刪除文件操作,如果是執(zhí)行上傳文件操作,則用戶端從用戶接收需要上傳的文件,根據用戶的公鑰和私鑰將上傳的文件進行分塊,并計算每個分塊的標簽,將需要上傳的文件及其每個分塊的標簽上傳到云服務器,如果是執(zhí)行刪除文件操作,則用戶端從用戶接收需要刪除的文件,并在云服務器和審計服務器中刪除與需要刪除的文件對應的文件、文件標簽以及文件相關信息。本發(fā)明是基于現有PPPA方案的改進,并能解決現有方案不支持數據動態(tài)更新的問題。
文檔編號H04L29/06GK103067363SQ20121055735
公開日2013年4月24日 申請日期2012年12月20日 優(yōu)先權日2012年12月20日
發(fā)明者周可, 李春花, 蔡啟泉, 金豪, 張彥哲 申請人:華中科技大學