專利名稱:一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,它也是一種用于驗證存儲于云服務(wù)器中的用戶數(shù)據(jù)完整性并且可進(jìn)行數(shù)據(jù)糾錯的方法,屬于云計算安全領(lǐng)域。 背景技術(shù):
Internet網(wǎng)絡(luò)應(yīng)用技術(shù)快速發(fā)展普及,加之Web2. O的發(fā)展導(dǎo)致網(wǎng)絡(luò)用戶和網(wǎng)絡(luò)數(shù)據(jù)量高速增長,用戶對數(shù)據(jù)的處理能力提出了更高的要求,云計算的特點(diǎn)迎合了這些需求。云計算為用戶存儲提供了極大的方便,用戶不必再關(guān)心復(fù)雜的硬件管理。盡管云計算有這些吸引人的優(yōu)勢,但它也給數(shù)據(jù)保護(hù)帶來了新的安全挑戰(zhàn)與威脅首先,由于用戶物理上不再擁有他們的數(shù)據(jù),傳統(tǒng)的用于數(shù)據(jù)保護(hù)的加密不能直接被采用。因此就需要能夠驗證數(shù)據(jù)正確存儲的方法,考慮到云中大量的用戶和大量的數(shù)據(jù),對云計算中的數(shù)據(jù)存儲安全來說,如何有效驗證外包數(shù)據(jù)的正確性是一個巨大的挑戰(zhàn)。其次,雖然云計算下的設(shè)施比個人計算設(shè)備更加強(qiáng)大和可靠,但它們?nèi)匀幻媾R內(nèi)部和外部的數(shù)據(jù)完整性威脅,大量覬覦云端數(shù)據(jù)的黑客們不停的挖掘著服務(wù)商Web應(yīng)用上的漏洞,以期望打開缺口,獲得有價值的數(shù)據(jù)。最后,具有數(shù)據(jù)優(yōu)先訪問權(quán)的并不是用戶自己,而是云計算服務(wù)商。由于利益問題,云服務(wù)供應(yīng)商對用戶的數(shù)據(jù)就可能存在不誠實行為。因此,在云計算的實際應(yīng)用中,設(shè)計能夠保證數(shù)據(jù)正確存儲的健壯安全的方案尤為重要。對云存儲這種海量數(shù)據(jù)存儲,我們一方面要考慮到數(shù)據(jù)的持有性驗證的高效和低開銷,另一方面要考慮到數(shù)據(jù)一旦存儲出錯可以采取的應(yīng)對措施。基于此考慮,我們發(fā)明了本方法,涉及的主要技術(shù)為Goppa糾錯編碼,基于橢圓曲線的簽名技術(shù),Paillier加性同態(tài)加密算法。首先,Goppa碼是20世紀(jì)70年代初俄國學(xué)者Goppa系統(tǒng)構(gòu)造出的一類有理分式碼。它是一類重要的線性糾錯碼,其最主要的優(yōu)點(diǎn)是它的某些子類能夠達(dá)到Shannon信道編碼定理所給的性能,并且有快速譯碼算法。特別是它的不等價碼類數(shù)目很大,于是,在1978年,McElice用Goppa碼構(gòu)造了一類公鑰密碼體制,自此開始了用糾錯碼構(gòu)造密碼體制及各種認(rèn)證碼。因此無論在實際中還是理論上,也無論在是在差錯控制系統(tǒng)還是在密碼中,Goppa碼都具有重要意義。其定義如下設(shè)0〈n;^qm,L= {a0,是一個有序集合,Bi e GF(qm)且互不相等,又設(shè) GF (q)上的 η 維空間 GFn(q),碼字 C= [Clricn_2. · · c0] e GFn(q),
與C對于的GF (qm)上的z有理式為尺(二) =。此時,Goppa碼的生成多項式g (Z)滿
足{C; Rc (z) =Omodg (z)}。其次,Paillier密碼算法滿足加法同態(tài)的性質(zhì),即對于數(shù)據(jù)m G Zn,用公鑰η和生成元g進(jìn)行加密的結(jié)果為ε (m) Zg1Vmodn2,其中r為隨機(jī)數(shù),其同態(tài)的性質(zhì)為S(Hi1) = (g;'J=二 sijn、+;; 2 mod")。最后,橢圓曲線密碼(Elliptic curve cryptography,縮寫為ECC)為密碼學(xué)里運(yùn)用最為廣泛的公鑰密碼體制。ECC的主要優(yōu)勢是在某些情況下它比其他的方法使用更小的密鑰(比如RSA加密算法),提供相當(dāng)?shù)幕蚋叩燃壍陌踩F浒踩越⒃跈E圓曲線上的離散對數(shù)問題,即在橢圓曲線構(gòu)成的Abel群Ep(a,b)上考慮方程Q=kP,其中P,Q e Ep(a, b),k<P,則由k和P易求Q,但是由P、Q求k則是困難的。
發(fā)明內(nèi)容
(I)發(fā)明目的本發(fā)明的目的是提出供一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,它克服了現(xiàn)有技術(shù)的不足??捎糜诮鉀Q云存儲環(huán)境中用戶對遠(yuǎn)端數(shù)據(jù)的保護(hù)和控制,其實現(xiàn)了用戶對其存儲在云服務(wù)器中數(shù)據(jù)的完整性和持有型的驗證,該發(fā)明有驗證次數(shù)不受限制,驗證時采用隨機(jī)抽取數(shù)據(jù)塊,數(shù)據(jù)存儲出錯時錯誤定位和錯誤恢復(fù)的功能。
(2)技術(shù)方案為了達(dá)到上述目的,本發(fā)明結(jié)合了 Goppa糾錯編碼技術(shù),橢圓曲線密碼技術(shù)和Paillier同態(tài)加密技術(shù),其技術(shù)方案如下。本發(fā)明包括兩個實體,用戶(User)和云服務(wù)提供商(CSP)。以下將結(jié)合附圖對所述的持有性驗證的技術(shù)方案進(jìn)行闡述,圖I為本發(fā)明流程框圖;圖2為數(shù)據(jù)預(yù)處理后的分布存儲示意圖;圖3為挑戰(zhàn)-響應(yīng)機(jī)制交互圖。如圖1,本發(fā)明共包括7步,按照執(zhí)行階段其可分為初始化、挑戰(zhàn)-響應(yīng)和交互操作三個階段。本發(fā)明是一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,該方法具體步驟如下階段I:初始化包括第(1Γ(3)步,數(shù)據(jù)塊F的擁有者執(zhí)行數(shù)據(jù)分割和編碼{F — Μ}操作,同態(tài)標(biāo)簽(HVTs)的生成{(sk, F) — HVTs}操作,然后將編碼數(shù)據(jù)M和同態(tài)標(biāo)簽HVTs外包到云端服務(wù)器進(jìn)行存儲和管理,用戶需嚴(yán)格保證私鑰的安全。步驟I :數(shù)據(jù)分割與編碼{F — M} :User首先對原始數(shù)據(jù)F (以文件的形式存在)進(jìn)行預(yù)處理生成存儲數(shù)據(jù)M。F被分割成m個等大小的數(shù)據(jù)塊(F1, F2,…,F(xiàn)J,每一個數(shù)據(jù)塊進(jìn)一步被分割成I部分 //Λ,…,接著我們對其進(jìn)行編碼處理,方案中采用Goppa碼編碼方案對原始數(shù)據(jù)F進(jìn)行編碼處理,生成編碼數(shù)據(jù)Μ,最后用戶(User)外包編碼數(shù)據(jù)M至云端CSP進(jìn)行存儲和管理;步驟2:同態(tài)標(biāo)簽(Homomorphic Verifiable Tags (HVTs))的生成{(sk, F) — HVTs}:對于每一個數(shù)據(jù)塊Ζ(Λ,基于同態(tài)加密算法,我們根據(jù)設(shè)定的安全參數(shù)為其計算同態(tài)標(biāo)簽,我們所生成的同態(tài)標(biāo)簽具有加法同態(tài)的性質(zhì);步驟3 :數(shù)據(jù)的遠(yuǎn)程存儲{(M(j),HVT) — SjI :用戶將同態(tài)標(biāo)簽(2^,7^'”,一,2;(”)和數(shù)據(jù)塊化1 一起存入第j個服務(wù)器,類似地,其它數(shù)據(jù)庫則存儲至其它的η個服務(wù)器中。用戶則自己存儲私鑰和一些隨機(jī)數(shù)。階段2 :挑戰(zhàn)-響應(yīng)包括第(4) (6)步,用戶生成挑戰(zhàn),指定其要檢測的隨機(jī)數(shù)據(jù)塊,根據(jù)用戶挑戰(zhàn),云服務(wù)器通過執(zhí)行生成證據(jù)(GenProof) {(chal,HVTs,M) — R}操作作出響應(yīng)。最后用戶通過執(zhí)行驗證KR,sk) — Γsuccess", "failure")}操作,作出最后的數(shù)據(jù)檢測結(jié)果判斷。步驟4 :用戶發(fā)起挑戰(zhàn){chal}:當(dāng)用戶想要驗證服務(wù)器3」是否正確持有數(shù)據(jù)的時,用戶向其發(fā)出挑戰(zhàn)用戶生成一個挑戰(zhàn)chal,發(fā)送給服務(wù)器Sj ;
步驟5 :服務(wù)器作出響應(yīng)生成證據(jù)(GenProof) {(chal, HVTs, M) — R}:當(dāng)服務(wù)器收到挑戰(zhàn)chal時,存儲數(shù)據(jù)塊…力的服務(wù)器需要產(chǎn)生一個證據(jù)R=(T,P )。之后,服務(wù)器將R返回給用戶;步驟6:驗證{(R,sk) — ("success", "failure")}:當(dāng)用戶收到服務(wù)器返回的R時,利用自己的私鑰sk進(jìn)行運(yùn)算,從而對其服務(wù)器存儲的數(shù)據(jù)狀態(tài)進(jìn)行判斷,結(jié)果為“success” 或者 “failure,,。階段3 :交互操作包括第(7)步,如果驗證{(R, sk) — ("success", "failure")}操作的輸出結(jié)果為“failure”,用戶則要求CSP進(jìn)行數(shù)據(jù)恢復(fù)操作,這可能會需要雙方之間的交互。普通情況下,用戶可將數(shù)據(jù)M下載下來,然后執(zhí)行修復(fù){(M*,P) — F}即可恢復(fù)出原數(shù)據(jù)。步驟7 :數(shù)據(jù)修復(fù){(M*, P) — F}:如果檢測到數(shù)據(jù)損壞,我們就可確定存儲該數(shù)據(jù) 塊的服務(wù)器S」出現(xiàn)的存儲錯誤,這時可利用預(yù)處理時采用的糾錯碼進(jìn)行數(shù)據(jù)恢復(fù),對損壞數(shù)據(jù)M*和P進(jìn)行譯碼即可恢復(fù)出原數(shù)據(jù)F。(3)優(yōu)點(diǎn)及功效本發(fā)明一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,該方法涉及數(shù)據(jù)的編碼,數(shù)據(jù)驗證和數(shù)據(jù)的恢復(fù)方面,其優(yōu)點(diǎn)和功效是1)用戶的本地量存儲小,用戶只需存儲編碼生成矩陣和私鑰就可以對數(shù)據(jù)的持有性驗證;2)交互數(shù)據(jù)量小,用戶發(fā)出的挑戰(zhàn)和服務(wù)器作出的響應(yīng)的通信量固定的,與存儲數(shù)據(jù)大小無關(guān);3)用戶可發(fā)起的持有性驗證挑戰(zhàn)次數(shù)不受限制;4)采用隨機(jī)抽樣計算校驗塊的方法,在減小服務(wù)器計算開銷的同時,仍可保證檢查的高置信度;5)采用線性糾錯編碼技術(shù)預(yù)處理存儲數(shù)據(jù)實現(xiàn)了數(shù)據(jù)錯誤定位和錯誤糾正。
圖I為本發(fā)明流程框圖;圖2數(shù)據(jù)預(yù)處理及分布存儲圖;圖3挑戰(zhàn)-響應(yīng)機(jī)制流程圖;圖中符號說明如下在圖I中,數(shù)字1,2,3,4,5,6,7代表各個步驟的序號,F(xiàn)代表原文件,M代表編碼后的文件;在圖2中,Μ )表示編碼后的數(shù)據(jù),#表示將Μ )分塊后的每一塊數(shù)據(jù),Si代表第i個服務(wù)器,chal表示用戶生成的挑戰(zhàn),R(J)表示服務(wù)器S」的響應(yīng);
具體實施例方式以下將結(jié)合附圖對所述的完整性保護(hù)方法詳細(xì)闡述,圖I為本發(fā)明流程框圖;圖2為本發(fā)明數(shù)據(jù)預(yù)處理后的分布存儲示意圖;圖3為本發(fā)明挑戰(zhàn)-響應(yīng)機(jī)制交互圖。主要的符號及算法解釋(I)F代表用戶原數(shù)據(jù),M為編碼后的數(shù)據(jù),包含nXl個數(shù)據(jù)塊/ b第j個數(shù)據(jù)向量的第i塊,它將被存儲到服務(wù)器S」· G*= (I(n_r) x (n_r) I Pt)代表Goppa碼的生成矩陣,其中P為冗余校驗塊生成矩陣;M*代表了服務(wù)器中存儲出錯的數(shù)據(jù)塊。(2)E()和DO為分別為paillier密碼算法的加密算法和解密算法,Ic1為其公鑰,k2為其私鑰,N為模數(shù),paillier加密算法滿足加法同態(tài)的性質(zhì)。(3) G為橢圓曲線Ep(a, b)的生成元,其中大素數(shù)p〈N,P=yG,P表示在挑戰(zhàn)中的公開參數(shù),y為用戶產(chǎn)生的保密參數(shù);(4) ( ·)是一個偽隨機(jī)置換(pseudorandom permutation, PRP)函數(shù),即滿足
權(quán)利要求
1.ー種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,其特征在于該方法具體步驟如下 階段I :初始化包括第(1Γ(3)歩,,數(shù)據(jù)塊F的擁有者執(zhí)行數(shù)據(jù)分割和編碼{F —Μ}操作,同態(tài)標(biāo)簽HVTs的生成{(sk, F) — HVTs}操作,然后將編碼數(shù)據(jù)M和同態(tài)標(biāo)簽HVTs外包到云端服務(wù)器進(jìn)行存儲和管理,用戶需嚴(yán)格保證私鑰的安全; 步驟I :數(shù)據(jù)分割與編碼{F —M} :User首先對以文件形式存在的原始數(shù)據(jù)F進(jìn)行預(yù)處理,生成存儲數(shù)據(jù)M ;F被分割成m個等大小的數(shù)據(jù)塊(F1, F2,…,F(xiàn)J,每ー個數(shù)據(jù)塊進(jìn)ー步被分割成I部分び,'…//"},接著對其進(jìn)行編碼處理,方案中采用Goppa碼編碼方案對原始數(shù)據(jù)F進(jìn)行編碼處理,生成編碼數(shù)據(jù)M,最后用戶User外包編碼數(shù)據(jù)M至云端CSP進(jìn)行存儲和管理; 步驟2 :同態(tài)標(biāo)簽HVTs的生成{(sk,F(xiàn)) — HVTs}:對于每ー個數(shù)據(jù)塊ガΛ,基于同態(tài)加密算法,根據(jù)設(shè)定的安全參數(shù)為其計算同態(tài)標(biāo)簽,所生成的同態(tài)標(biāo)簽具有加法同態(tài)的性質(zhì);步驟3:數(shù)據(jù)的遠(yuǎn)程存儲{(M(J)1HVT) — Sj}:用戶將同態(tài)標(biāo)簽(廣ブ嚴(yán),…,Γ尸ハ和數(shù)據(jù)-Mu) —起存入第j個服務(wù)器,類似地,其它數(shù)據(jù)庫則存儲至其它的η個服務(wù)器中,用戶則自己存儲私鑰和ー些隨機(jī)數(shù); 階段2:挑戰(zhàn)-響應(yīng)包括第(4Γ(6)步,用戶生成挑戰(zhàn),指定其要檢測的隨機(jī)數(shù)據(jù)塊,根據(jù)用戶挑戰(zhàn),云服務(wù)器通過執(zhí)行生成證據(jù)66成1'0ば{((*&1,取1'8^)—1 }操作作出響應(yīng),最后用戶通過執(zhí)行驗證{(R,sk) — ("success","failure")}操作,作出最后的數(shù)據(jù)檢測結(jié)果判斷; 步驟4 :用戶發(fā)起挑戰(zhàn){chal}:當(dāng)用戶想要驗證服務(wù)器も是否正確持有數(shù)據(jù)的時,用戶向其發(fā)出挑戰(zhàn)用戶生成一個挑戰(zhàn)chal,發(fā)送給服務(wù)器も; 步驟5 :服務(wù)器作出響應(yīng)生成證據(jù)GenProof {(chal, HVTs, M) — R}:當(dāng)服務(wù)器收到挑戰(zhàn)chal時,存儲數(shù)據(jù)的服務(wù)器需要產(chǎn)生ー個證據(jù)R= (Τ,P),之后,服務(wù)器將R返回給用戶; 步驟6:驗證{(R,sk) — ("success","failure")}:當(dāng)用戶收到服務(wù)器返回的R吋,利用自己的私鑰sk進(jìn)行運(yùn)算,從而對其服務(wù)器存儲的數(shù)據(jù)狀態(tài)進(jìn)行判斷,結(jié)果為“success”或者 “failure” ; 階段3 :交互操作包括第(7)步,如果驗證{(R, sk) — ("success", "failure")}操作的輸出結(jié)果為“failure”,用戶則要求CSP進(jìn)行數(shù)據(jù)恢復(fù)操作,這可能會需要雙方之間的交互;普通情況下,用戶將數(shù)據(jù)M下載下來,然后執(zhí)行修復(fù){(M% P) — F}即恢復(fù)出原數(shù)據(jù);步驟7 :數(shù)據(jù)修復(fù){(M*, P) — F}:如果檢測到數(shù)據(jù)損壞,就確定存儲該數(shù)據(jù)塊的服務(wù)器A出現(xiàn)的存儲錯誤,這時利用預(yù)處理時采用的糾錯碼進(jìn)行數(shù)據(jù)恢復(fù),對損壞數(shù)據(jù)M*和P進(jìn)行譯碼即恢復(fù)出原數(shù)據(jù)F。
全文摘要
一種分布式云存儲數(shù)據(jù)完整性保護(hù)方法,該方法有七大步驟步驟1數(shù)據(jù)分割與編碼{F→M};步驟2同態(tài)標(biāo)簽HVTs的生成{(sk,F)→HVTs};步驟3數(shù)據(jù)的遠(yuǎn)程存儲{(M(j),HVT)→Sj};步驟4用戶發(fā)起挑戰(zhàn){chal};步驟5服務(wù)器作出響應(yīng){R};步驟6驗證{(R,sk)→("success","failure")};步驟7數(shù)據(jù)修復(fù){(M*,P)→F}。本發(fā)明中用戶采用隨機(jī)數(shù)據(jù)塊抽樣減小通信開銷,采用線性編碼可實現(xiàn)數(shù)據(jù)的錯誤定位和錯誤恢復(fù),并且數(shù)據(jù)持有性驗證次數(shù)不受限制,驗證置信度高,安全可靠。它在云計算安全技術(shù)領(lǐng)域里具有較好的實用價值和廣闊的應(yīng)用前景。
文檔編號H04L29/08GK102710757SQ20121015954
公開日2012年10月3日 申請日期2012年5月21日 優(yōu)先權(quán)日2012年5月21日
發(fā)明者修春娣, 劉建偉, 張晏, 徐先棟, 李坤, 毛劍 申請人:北京航空航天大學(xué)