一種具有隱私保護的云存儲數據輕量級公共審計的方法
【專利摘要】本發明公開了一種具有隱私保護的云存儲數據輕量級公共審計方法,包括以下步驟:系統初始化;簽名;審計證明;審計證明驗證。本發明采用基于橢圓曲線的變型數字簽名算法,其安全性依賴于橢圓曲線有限群上的離散對數問題,具有簽名長度短,存儲空間小,計算速度快的特性,特別適用于需要輕量級計算量,存儲空間有限,需要高效實現的場合。本發明的方法簡單,操作方便,既解決了云存儲數據公共審計和現有的云存儲數據存在的保密性較差,不能保證用戶數據的完整性和正確性的問題,又保證了用戶的原始數據不會泄露給云服務器和公共審計者。
【專利說明】一種具有隱私保護的云存儲數據輕量級公共審計的方法
【技術領域】
[0001]本發明屬于通信【技術領域】,尤其涉及一種具有隱私保護的云存儲數據輕量級公共審計的方法。
【背景技術】
[0002]云計算是一種新興的服務模式,近年來受到了學術界和商業界的廣泛關注。云計算將各種計算資源、存儲資源、軟件資源集合在一起,形成規模巨大的共享虛擬資源池,為遠程計算機用戶提供軟件、硬件、以及數據存儲等服務。用戶可以將他們海量的數據存儲在云服務器上,云服務器根據用戶的需求來提供有效的服務。這種服務模式極大地減小了存儲管理的壓力,并且能夠實現與地域無關的遠程數據訪問。隨著云計算的快速發展,將會有越來越多的用戶將數據存儲在云上。
[0003]數據存儲到云服務器以后,用戶就失去了對數據的控制,這樣使得云存儲的數據面臨嚴重的安全問題:(I)雖然云服務提供商能夠提供安全性更高的存儲設備,但是海量的數據存儲在云服務器上使得數據更容易遭受攻擊者的主動攻擊;(2)對云服務提供商來說,由于一些利益原因,他們可能不會真實的反應用戶數據的存儲情況,例如:云服務提供商可能因為利益原因刪除一些用戶很少訪問的數據,或是云服務提供商刻意隱瞞由他造成的用戶數據的丟失來維護他的聲譽。因此可以看出,云存儲雖然能帶來很多優勢和便利,但是它并不能保證用戶存儲數據的真實性和完整性。
[0004]為了解決云存儲數據的安全問題,需要對存儲在云上的數據進行安全審計。在實際應用中用戶的計算能力和通信能力都很有限,用戶可能不具備對云存儲數據進行有規律審計的能力,目前云存儲數據審計方案中,公共審計具有明顯的實際應用優勢,這種審計方案委托一個公共的可信第三方(TPA)來對云存儲數據進行審計。
[0005]Ateniese等最早開始研究公共審計方案,這種方案能極大地減少用戶計算能力和通信能力的要求,但它不能保證用戶數據對TPA的保密性。這是因為在每次審計中,TPA都可以得到一個數據塊的線性組合,經過多次審計后,TPA能夠根據這些線性組合求出用戶的原始數據塊。Wang等提出了一個數據對TPA保密的公共審計方案,發現該方案存在致命的安全性缺陷一云服務器可以隨機修改用戶存儲的數據而不被TPA察覺,后來他們又提出了另外一個新的公共審計協議,該協議可抵御惡意云服務器的欺騙攻擊,但它的計算量和存儲量相對來說需要進一步優化。2012年,Zhu等人提出了一個協同性可驗證云數據持有(Cooperative-PDP)架構方案。該方案將可驗證性數據審計模型應用到多云環境。通過使用哈希索引分級結構(Hash Index Hierarchy)技術和同態驗證技術實現數據持有性驗證。然而Huang Wang等人于2013年發現,該方案存在安全性漏洞,即惡意的云服務器和惡意的組織者均可以通過偽造挑戰回復值來欺騙TPA,從而不能保證用戶數據的完整性和正確性。2013年Wang等基于Shachan和Waters的方案提出了一個滿足隱私性的云存儲公共審計方案。Wang等使用隨機掩飾碼技術來有效解決用戶數據的隱私性問題,這樣TPA即使從云服務器上獲得審計證明信息,它也不能獲取用戶的原始秘密信息。但這個方案需要運算代價較高的雙線性對以及模指數運算。
【發明內容】
[0006]本發明實施例的目的在于提供一種具有隱私保護的云存儲數據輕量級公共審計的方法,旨在解決現有的云存儲數據存在的保密性較差,不能保證用戶數據的完整性和正確性的問題。
[0007]本發明實施例是這樣實現的,一種具有隱私保護的云存儲數據輕量級公共審計的方法,該具有隱私保護的云存儲數據輕量級公共審計的方法包括以下步驟:
[0008]步驟一,系統初始化:系統生成一個基于橢圓曲線的變型簽名算法的公私鑰對,一個用于生成數據文件標簽的公私鑰對,一個輕量級對稱密碼算法,以及一個安全的哈希函數;
[0009]步驟二,簽名步驟:用戶首先將數據文件身份進行簽名,用基于橢圓曲線的變型簽名算法對文件中的數據塊分別進行簽名,再用一個輕量級對稱密碼算法對文件中每一個數據塊進行加密盲化,最后將這些簽名以及盲化后的數據發送到云服務器,并且用戶將這些簽名以及原來的數據文件在用戶端刪除;
[0010]步驟三,審計證明產生步驟:可信審計者首先從云服務器取回數據文件標簽并驗證其正確性,若通過驗證,則發送審計挑戰信息,云服務器根據審計挑戰信息計算審計響應證明并發送給可信審計者;
[0011]步驟四,審計證明驗證步驟:接收到云服務器的審計響應證明后,可信審計者調對稱密碼算法的密鑰,以及基于橢圓曲線的變型簽名算法的公鑰對審計證明進行驗證。
[0012]進一步,步驟一的系統初始化具體包括以下步驟:
[0013]第一步,定義一個在Fp上的橢圓曲線E,其中P是一個大素數,設置P是E上階為素數q的一個點,P是循環群〈P〉的生成元,且在〈P〉上的離散對數問題是難處理的;
[0014]第二步,從Zq中隨機選取一個值X,并計算Q = xP,生成基于橢圓曲線的變型簽名算法公鑰K= {(P, q, E, P, x, Q):Q = xP},簽名私鑰為x ;
[0015]第三步,系統產生一個輕量級對稱密碼算法f,對稱密鑰為τ,τ為用戶和可信審計者所共有;
[0016]第四步,系統再隨機產生一個輕量級簽名算法的公私鑰對(spk,ssk),并設置一個安全的哈希函數h:〈P〉一 \。
[0017]進一步,步驟二的簽名步驟具體如下:
[0018]用戶首先對數據文件F = (HI1, m2,..., mn)的身份id計算文件標簽t =id| |ssigssk(id),接著采用基于橢圓曲線的變型簽名算法,對每一個數據塊叫計算簽名Oi=(Ri, ri; Si) (i = I,..., η),其中 Ri = IiiP = (Ui, Vi) ,Ti = Ui mod q,以及 Si = CriI^miX)mod q,這η個簽名的集合為Φ = {。Jkki1,用戶再調用對稱密碼算法f將每一個數據塊叫加密為 m/ =Iii^f, (id I I i)這樣數據文件F= (m” m2,..., mn)被加密為 F’ = Oii1,’ m2, ’...,mn’).最后用戶將{F’,t,0}發送給服務器,并且將原來的數據文件F= (HI1j1H2,..., mn),簽名Φ = { 0 J I ^ i ^ Π和文件標簽t刪除。
[0019]進一步,步驟三的審計證明產生步驟具體如下:
[0020]第一步,可信審計者首先取回數據文件標簽t,并用spk驗證SSigsskQd),如果驗證失敗,則TPA停止運行.若驗證通過,則TPA產生相應的審計挑戰信息chal如下:
[0021]可信審計者在集合{1,2,...,η}中隨機選取含有c個元素的集合C=U1,..., IJ ;對于每一個j e C,用戶產生一個相應的隨機值Ci,比特長度應小于q的比特長度;然后,TPA向云服務器發送審計挑戰信息chal = {(j, Cj)} j e c ;
[0022]第二步,當云服務器接收到chal = {(j,CjMje。,云服務器查詢數據庫中的相關信息{F’,t, Φ}并計算如下:
[0023]計算
【權利要求】
1.一種具有隱私保護的云存儲數據輕量級公共審計方法,其特征在于,該具有隱私保護的云存儲數據輕量級公共審計的方法包括以下步驟: 步驟一,系統初始化:系統生成元素包括一個基于橢圓曲線的變型簽名算法的公私鑰對,一個用于生成數據文件標簽的公私鑰對,一個輕量級對稱密碼算法,以及一個安全的哈希函數; 步驟二,簽名步驟:用戶首先將數據文件身份進行簽名,用基于橢圓曲線的變型簽名算法對文件中的數據塊分別進行簽名,再用一個輕量級對稱密碼算法對文件中每一個數據塊進行加密盲化,最后將這些簽名以及盲化后的數據發送到云服務器,并且用戶將這些簽名以及原來的數據文件在用戶端刪除; 步驟三,審計證明產生步驟:可信審計者首先從云服務器取回數據文件標簽并驗證正確性,若通過驗證,則發送審計挑戰信息,云服務器根據審計挑戰信息計算審計響應證明并發送給可信審計者; 步驟四,審計證明驗證步驟:接收到云服務器的審計響應證明后,可信審計者調用對稱密碼算法的密鑰,以及基于橢圓曲線的變型簽名算法的公鑰對審計證明進行驗證。
2.如權利要求1所述的具有隱私保護的云存儲數據輕量級公共審計的方法,其特征在于,步驟一的系統初始化具體包括以下步驟: 第一步,定義一個在Fp上的橢圓曲線E,其中P是一個大素數,設置P是E上階為素數q的一個點,P是循環群〈P〉的生成元,且在〈P〉上的離散對數問題是難處理的; 第二步,從Zq中隨機選取一個值X,并計算Q = xP,生成基于橢圓曲線的變型簽名算法公鑰 K = {(p, q, E, P, x, Q):Q = xP},簽名私鑰為 x ; 第三步,系統產生一個輕量級對稱密碼算法f,對稱密鑰為τ,τ為用戶和可信審計者所共有; 第四步,系統再隨機產生一個輕量級簽名算法的公私鑰對(spk,ssk),并設置一個安全的哈希函數h:〈P〉一 \。
3.如權利要求1所述的具有隱私保護的云存儲數據輕量級公共審計的方法,其特征在于,步驟二的簽名步驟具體如下: 用戶首先對數據文件F = On1, m2,..., mn)的身份id計算文件標簽t =id| |ssigssk(id),接著采用基于橢圓曲線的變型簽名算法,對每一個數據塊叫計算簽名Oi=(Ri, ri; Si) (i = I,..., η),其中 Ri = IiiP = (Ui, Vi) ,Ti = Ui mod q,以及 Si = CriI^miX)mod q,這η個簽名的集合為Φ = {。Jkki1,用戶再調用對稱密碼算法f將每一個數據塊叫加密為 m/ =Iii^f, (id I I i)這樣數據文件F= (m” m2,..., mn)被加密為 F’ = Oii1,’ m2, ’...,mn’).最后用戶將{F’,t,0}發送給服務器,并且將原來的數據文件F= (HI1j1H2,..., mn),簽名Φ = { 0 J I ^ i ^ Π和文件標簽t刪除。
4.如權利要求1所述的具有隱私保護的云存儲數據輕量級公共審計的方法,其特征在于,步驟三的審計證明產生步驟具體如下: 第一步,可信審計者首先取回數據文件標簽t,并用spk驗證SSigsskQd),如果驗證失敗,則TPA停止運行.若驗證通過,則TPA產生相應的審計挑戰信息chal如下: 可信審計者在集合{l,2,...,n}中隨機選取含有c個元素的集合C=U1,..., I。};對于每一個j e C,用戶產生一個相應的隨機值Ci,比特長度應小于q的比特長度;然后,TPA向云服務器發送審計挑戰信息chal = {(j, Cj)} j e c ; 第二步,當云服務器接收到chal = Kj,Cp}#。,云服務器查詢數據庫中的相關信息{F’,t, Φ}并計算如下: 計算
5.如權利要求1所述的具有隱私保護的云存儲數據輕量級公共審計的方法,其特征在于,步驟四的審計證明驗證步驟具體如下:當可信審計者接到云服務器發給他的審計響應信息{R,S,μ,W},可信審計者調用對稱密碼算法f,對稱密鑰為τ,并計算
6.如權利要求1所述的具有隱私保護的云存儲數據輕量級公共審計的方法,其特征在于,該具有隱私保護的云存儲數據輕量級公共審計的方法包括: 步驟一,系統初始化:定義一個在Fp上的橢圓曲線Ε,其中P是一個大素數,設置P是E上階為素數q的一個點,P是循環群〈P〉的生成元,且〈P〉在上的離散對數問題是難處理的; 1)從Zq中隨機選取一個值X,并計算Q= xP,生成基于橢圓曲線的簽名算法公鑰K ={(P, q, E, P, X,Q): Q = xP},私鑰 x ; 2)系統產生一個輕量級對稱密碼算法f,對稱密鑰為τ,τ為用戶和TPA所共有; 3)系統再隨機產生一個輕量級簽名算法的公私鑰對(spk,ssk),并設置一個安全的哈希函數h:〈P> — Zq ; 步驟二,簽名步驟: 用戶首先對數據文件F = On1, m2,..., mn)的身份id計算文件標簽t =id I I SSigssk (id),接著采用E⑶SA體制的一種變型簽名算法,對每一個數據塊Hii計算簽名 σ i = (Ri, T1, Si) (i = 1,...,η),其中 Ri = IiiP = (Ui, Vi), Ti = Ui mod q,以及 Si =(riki+mix)mod q,這η個簽名的集合為Φ = { σ J i ^ i ,用戶再調用對稱密碼算法f將每一個數據塊Hii加密為m/ = nii+f τ (id| I i),這樣數據文件F = Oii1, m2,...,mn)被加密為F’=(Hi1Zm2/...,mn’);最后用戶將{F’,t,0}發送給服務器,并且將原來的數據文件F =(In1, m2,..., mn)、簽名 Φ = { σ J1^ i 和標簽 t 刪除; 步驟三,審計證明產生步驟:1)TPA首先取回數據文件標簽t,并用spk驗證SSigsskQd),如果驗證失敗,則TPA停止運行.驗證通過,則TPA產生相應的審計挑戰信息chal如下: (la) TPA在集合{1,2,...,η}中隨機選取含有c個元素的集合C=U1,...,I。}; (Ib)對于每一個j e C,用戶產生一個相應的隨機值Ci,比特長度應小于q的比特長度,然后TPA向云服務器發送審計挑戰信息chal = {(j,Cj) }Jec; 2)當云服務器接收到chal = {(j,Cj)}je。,云服務器查詢數據庫中的相關信息{F’,t, Φ}并計算如下: (2a)計算(2b)計算
【文檔編號】H04L9/00GK104023044SQ201410156623
【公開日】2014年9月3日 申請日期:2014年4月18日 優先權日:2014年1月1日
【發明者】許春香, 張曉均, 劉小培, 趙繼寧, 張秀潔, 張源 申請人:電子科技大學