一種具有隱私保護的雲存儲數據輕量級公共審計的方法
2023-10-08 22:54:34 2
一種具有隱私保護的雲存儲數據輕量級公共審計的方法
【專利摘要】本發明公開了一種具有隱私保護的雲存儲數據輕量級公共審計方法,包括以下步驟:系統初始化;籤名;審計證明;審計證明驗證。本發明採用基於橢圓曲線的變型數字籤名算法,其安全性依賴於橢圓曲線有限群上的離散對數問題,具有籤名長度短,存儲空間小,計算速度快的特性,特別適用於需要輕量級計算量,存儲空間有限,需要高效實現的場合。本發明的方法簡單,操作方便,既解決了雲存儲數據公共審計和現有的雲存儲數據存在的保密性較差,不能保證用戶數據的完整性和正確性的問題,又保證了用戶的原始數據不會洩露給雲伺服器和公共審計者。
【專利說明】一種具有隱私保護的雲存儲數據輕量級公共審計的方法
【技術領域】
[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日
【發明者】許春香, 張曉均, 劉小培, 趙繼寧, 張秀潔, 張源 申請人:電子科技大學