張新鵬 許春香 張新顏 賽偉 韓興陽 劉國平



摘要:針對用戶動態可撤銷需要新的數據管理員對其前任所管理的數據進行完整性驗證的問題,基于單向代理重簽名技術提出了具有隱私保護的支持用戶可撤銷的云存儲數據公共審計方案。首先,該方案中所采用的單向代理重簽名算法,其代理重簽名密鑰由當前用戶私鑰結合已撤銷用戶公鑰生成,不存在私鑰泄露問題,能夠安全實現數據所有權的轉移;其次,該方案證明了惡意的云服務器不能產生偽造的審計證明響應信息來欺騙第三方審計者(TPA)通過審計驗證過程;更進一步,該方案采用了隨機掩飾碼技術,能夠有效防止好奇的第三方審計者恢復原始數據塊。和Panda方案相比較,所提方案在增加抗合謀攻擊功能的基礎上,其審計過程中通信開銷與計算代價仍全部低于Panda方案。
關鍵詞:
云存儲;代理重簽名;隱私保護;完整性驗證;用戶可撤銷
中圖分類號: TP309.7 文獻標志碼:A
0引言
用戶可撤銷系統云存儲數據的審計問題是云存儲數據審計的現實難題。
一開始人們發現將數據存儲在云上,用戶可以從本地數據存儲和維護開銷中解放出來享受極大便利;但是外包數據卻面臨到許多安全挑戰[1-4],因此,一系列各種要求在不泄露完整數據知識的前提下確保遠端存儲數據完整性的審計方案被提出。例如:Juels等[5]提出了一種證據可恢復的POR數據可取回證明(Proofs of Retrievability, POR)審計方案;Ateniese等[6]提出了一種名為PDP數據可證明持有性(Provable Data Possession, PDP)請補充POR和PDP的中文名稱和英文全稱。的數據持有性證明審計方案;Shacham等[7]利用短簽名構造了有效的POR公開審計方案。但是這些方案不考慮用戶數據的隱私保護,事實上,用戶的數據可能被泄露給一些好奇的敵手,這些缺點將極大地影響這些方案在云計算中的安全性。從保護數據隱私的角度出發,用戶可以委托第三方審計者(Third Party Auditor, TPA)來保證他們存儲數據的安全,同時他們也不希望這個審計過程由于未經授權的信息泄漏對他們的數據安全造成新的威脅。未授權的數據泄露仍然在于潛在的加密密鑰暴露的潛在風險。2009年,Wang等[8]提出了一項保護隱私的云存儲數據公開審計方案,方案依托同態認證技術和隨機模化技術完成了隱私保護公開認證,并利用雙線對標簽聚合技術實現了批處理。
自Wang等[8-10]與Zhu等[11]提出了一系列經典的具有保護隱私功能的云存儲數據公開審計方案后。人們很快注意到之前幾乎所有的審計方案都是固定用戶在計算云存儲數據的完整性驗證標簽,即這些審計方案,要求在整個數據管理周期使用云存儲服務的都必須是同一個用戶。這是因為,云存儲服務中數據的完整性驗證標簽是由用戶用自己的私鑰簽名生成,然后在公共審計過程利用公開信息進行驗證。這樣的云存儲數據審計模式在真實情況下是不現實的。一方面,在一個審計系統中經過一段時間用戶的公鑰可能更新;另一方面,用戶可能只是一個公司的數據管理者,他可能因為各種原因而離職,例如因為高薪而跳槽。因此,出于現實考慮,一個云存儲數據審計方案應該支持有效的用戶撤銷。
Wang等[12]首先引入了共享云存儲審計問題,提出了一個基于群簽名的用戶可撤銷的自我審計方案,以及一些基于動態廣播重簽名方案和雙向代理簽名的共享云用戶可撤銷公開審計方案[13-14]。隨后Yuan等[15]使用了一個類似的群簽名技術提出了一個公開方案版本。由于都涉及到群簽名和廣播加密技術,以上的動態可撤銷審計方案的效率都不滿足實際需求。
2015年Wang等[16]提出了一個高效的用戶可撤銷公開審計方案Panda。此方案借助代理重簽名技術,將不同用戶的數據塊簽名轉換為當前用戶簽名形式,從而很好地滿足了用戶動態可撤銷系統的云存儲數據審計需求,是此類問題當前的最優解決方案,但是文獻[16]的方案局限性中,提到云服務器與已撤銷用戶合謀可能會造成用戶私鑰的泄露,并在文獻[16]中明確提出在下一步工作中希望通過一個多層的代理重簽名方案來解決這個問題。
基于文獻[16]的構思,本文提出了一個單向的代理重簽名方案,修改密鑰的計算是通過對撤銷用戶的公鑰進行處理得到,不存在私鑰泄露的風險。另外本文的用戶可撤銷云存儲數據審計方案支持第三方公共審計,能夠更好地支持對云存儲數據的日常例行審計工作。最后效率分析與比較表明,方案在通信開銷與計算復雜度方面更具有優勢。
1基本模型
正文內容基于代理重簽名的用戶可撤銷云存儲數據公共審計方案如圖1所示,支持用戶可撤銷的云存儲數據公共審計方案與上述基本云存儲審計方案有很大不同,其方案主實體涉及到多個用戶。從現實考慮,數據屬于公司,而非數據管理者。在某一個時期通常只有一用戶對存儲數據進行管理;但是某一段時期內卻可能有多個用戶對存儲數據進行管理。即,一段時間后當前用戶可能不再適合管理存儲在云上的數據,他可能被別一個新的管理者替換。
本文假設,最開始有一個用戶代表公司和組織將數據上傳到云服務器,這個初始用戶可以記作U0,然后公司雇傭數據管理者,顯然數據管理者不是終身制的。在一個數據管理者離職前他需要向新的數據管理者移交數據,繼承者需要對這些數據進行審計確認,他的前任盡職地完成了他的數據管理工作。假定,將數據存儲在云上的數據存儲模式是簡單而有效的,公司和組織每一個時期只需要一個數據管理者就能很好地完成數據管理任務。按照時間先后對除U0以外的數據管理者排序為U1,U2,…,Um,m為正整數。相應地對應外包存儲在云上的數據按照不同管理者的任期被劃分為T1,T2,…,Tm周期。在這里,顯然每一個用戶只有在周期結束時才會向繼任者移交數據。(注:對于第一個用戶周期來說,用戶U1可能就是初始用戶U0;但是也可以委托一個新的用戶U1來完成數據管理工作,在文中統一分開記錄。)
初始用戶U0首先將整個數據文件分成n個數據塊,并用自己的私鑰計算相應的數據存儲標簽σ,然后他將所有數據和標簽都上傳到云服務器以完成數據的最初上傳。用戶U1在T1期間內進行數據管理,并在T1周期結束時被U2所取代,U2也將被U3取代,一直到Uj取代Uj-1, j∈{0,1,…,m}。Uj為當前數據管理者。因為標簽和用戶相關,一旦用戶撤銷了,標簽也應該作相應的修改。一個直接的方法就是使用當前用戶的私鑰重新計算這些數據塊的標簽。然而,這并不是一個可撤銷的云存儲審計系統,因為這樣將帶來沉重的通信和計算負擔。一個比較理想的方法就是使用代理重簽名技術,將所有存儲在云服務器上的數據標簽轉換成當前用戶簽名的模式。
最終對于當前用戶來說,云服務器上存儲的數據mi的標簽σ最后都會轉化為σ(j)i。考慮到云用戶構建一個進行數據無誤性檢驗的云環境是不可行和代價高昂的,因此為了節省進行存儲數據周期無誤性驗證的通信資源,減少在線負擔,云用戶可以委托第三方審計者(TPA)來執行安全審計任務,因為他是經濟并且可以自動運行的;但是,云用戶同時希望對TPA保持數據的隱私性。為了方便區分,本文用σ(j)i表示用戶Uj用自身的私鑰對mi簽名生成的數據驗證標簽。
2基本知識
2.1雙線性映射
G1、G2、GT是階為素數p的循環群,g1是群G1的生成元,g2是群G2的生成元。雙線性映射e:G1×G2 → GT,滿足如下的性質:
1)雙線性性。給定元素u∈G1,v∈G2,對任意a,b∈Zp有e(ua,vb)=e(u,v)ab。
2)非退化性。e(g1,g2)≠1。
3)可計算性。存在一個有效的算法,對任何可能的輸入都能有效地進行計算e。
4)可交換性。e(u1·u2,v)=e(u1,v)·e(u2,v)。
2.2困難性假設
Computational DiffieHellman(CDH)假設群G是一個階為素數p的循環群,g是群的生成元,給定兩個隨機元素ga,gb∈G,輸出gab是困難的。
Discrete Logarithm (DL)假設群G是一個階為素數p的循環群,g是群的生成元,給定一個隨機元素gc∈G,輸出c是困難的。
2.3代理重簽名算法
為了實現前面基本模型中所描述的支持用戶動態可撤銷的這一功能,并能持續地保證云服務器上存儲數據的完整性,基于文獻[17]中的代理重簽名算法,作出了進一步的改進。通過當前用戶私鑰結合已撤銷用戶公鑰生成新的代理重簽名密鑰來保證即使云服務器與已撤銷用戶合謀也無法影響數據的安全性。新的代理重簽名算法和步驟與文獻[17]相似,其中最重要的簽名步驟如下。
3支持用戶可撤銷的云存儲數據公共審計方案
3.1Panda方案的問題
下面描述Panda中代理重簽名方案實現簽名轉移的主體部分。
1)在簽名算法Sign中,給定私鑰skA=a,數據塊m∈Zp身份id,用戶uA輸出基于數據塊m的標簽:σ=(H(id)ωm)a∈G1。
2)在修改密鑰生成算法ReKey中,代理通過以下步驟生成一個重簽名密鑰rkA → B:
a)代理生成一個隨機的r∈Zp,并將它發送給用戶uA;
b)用戶uA計算并發送r/a給用戶uB,其中skA=a;
c)用戶uB計算并發rb/a給代理,其中skB=b;
d)代理恢復出重簽名密鑰rkA → B=b/a∈Zp。
3)在重簽名算法中,代理收到重簽名密鑰rkA → B,后執行代理重名:
σ′=σrkA → B=(H(id)ωm)a·b/a=(H(id)ωm)b。
4)在驗證算法Verify中,用戶uB通過驗證公式:
e(σ′,g)=e(H(id)ωm,pkB)
對數據的完整性進行驗證。
從上述過程中,清晰可見重簽名密鑰rkA → B的生成,是基于用戶uA與uB之間的私鑰傳遞。雖然在這個過程中代理生成了一個密鑰參數r∈Zp來對傳遞過程中的私鑰進行保護,但是如果惡意云服務器(代理)與已撤銷用戶uA合謀可以輕易計算出當前審計用戶uB的私鑰b,因此方案存在用戶私鑰泄露的風險。
3.2本文方案
在本節提出支持用戶可撤銷的云存儲數據公共審計方案,該方案是基于2.3節的單向代理重簽名技術構造的,如圖1所示。方案中定義了一個半可信的第三方審計者(TPA),它將忠實地執行數據完整性的審計,由于它是好奇的,它可能會借助強大的計算設備從驗證信息中通過解線性方程組恢復原始數據塊信息,因此在方案中采用了隨機掩飾碼技術解決了這一問題。
4方案證明
4.1方案的正確性
4.2安全性分析
下面首先證明該方案能夠抵抗惡意云服務器通過產生偽造的審計證明響應信息來欺騙TPA的審計驗證過程。
定理1惡意的云服務器產生偽造的審計證明響應信息Proof來欺騙TPA的審計驗證過程在計算上是不可行的。
證明假設存在惡意的云服務器(多項式時間敵手A)以不可忽略的概率ξ產生偽造的審計證明響應信息來欺騙TPA的審計驗證過程。下面設置多項式時間算法(挑戰者B)通過運行敵手A作為子程序也以不可忽略的概率ξ解決CDH困難性問題。算法B與對手A的信息交互如下。
私鑰泄露問題根據上面定理1的證明過程,可以輕易發現即使云服務器與已撤銷用戶合謀,云服務器也不能夠獲取當前用戶的私鑰。這是因為方案中修改密鑰的計算是當前用戶利用自身的私鑰通過對已撤銷用戶的公鑰進行處理得到:ukj → j+1=gxj/xj+1。如果云服務與已撤銷用戶想通過合謀獲取當前用戶私鑰,就必須先以不可忽略的概率解決DL問題,再通過已撤銷用戶的私鑰計算出當前用戶私鑰。而文獻[16]中ukj → j+1=xj+1/xj,如果云服務與已撤銷用戶合謀,那么云服務器很容易就能獲取當前用戶私鑰。
在下面證明方案滿足隱私保護性,即定理2。
定理2給定一個來自云服務器的審計證明響應信息Proof,對于好奇的TPA,它試圖從中恢復用戶數據文件,F={m1,m2,…,mn}中的數據塊是不可行的。
證明組合信息μ′=∑i∈Qvimi是關于用戶原始數據塊的線性組合,一旦這個組合信息發送給TPA,這個好奇的TPA可以通過收集大量的組合信息,并借助強大的計算設備來求解這些線性方程組,從而恢復用戶的原始數據塊。為了防止TPA讀取用戶的原始數據塊信息, μ′=∑i∈Qvimi需要使用隨機掩飾碼技術,具體如下:
云服務器利用偽隨機函數f計算隨機值r=fk3(challengeChallenge)∈Zp,并計算R=ur∈G,最后將μ′=∑i∈Qvimi盲化: μ=μ′+rh(R)∈Zp這樣為了讓TPA仍能解這些線性方程,TPA必須掌握這個隨機值r,進而它必須掌握這個偽隨機函數的秘密密鑰,事實上,這個秘密密鑰只有云服務器知道,因此TPA不可能知道這個隨機值r,因此,對于好奇的TPA,它試圖從審計證明響應信息恢復用戶數據文件是不可行的。
5效率分析
在本章分析方案的通信和計算復雜度。需要注意的是與其他公共審計方案[9,12-13]一樣,本文只計算頻繁審計活動中通信和計算代價而不計算系統建立時的通信與計算代價。
用Pair表示雙線性對操作,Exp表示G上的指數操作,MZ和MG分別表示Zp和G上的乘法操作。n、p、G分別表示{1,2,…,n}、Zp和G的比特長度。挑戰中選取的數據塊假定是個常量c,挑戰中已撤換的用戶數量總和也假設是個常量d。
1)通信開銷。可以看到本文方案中通信負載主要取決于產生審計證明響應信息的通信過程。其中發送挑戰Q={(i,vi)}到云服務器的通信量為c(n+p)。云服務器返回審計證明響應信息Vj=(μ,φ,{ε}∈[1, j],{γ}∈[1, j])的通信量為p+(2d+1)|G|,但是注意到只有在用戶Uj發起的第一次審計請求中才需要這樣的通信量,否則只需要傳送通信量為p+|G|的(μ,φ)就行了,因此最終在一次審計過程中總共的通信開銷為cn+(c+1)p+G。
2)計算開銷。計算開銷包括修改密鑰生成、代理重簽名和驗證開銷3部分,由于本方案支持第三方公開審計,所以只需要考慮修改密鑰生成和驗證開銷兩部分。對于用戶Uj,在ReKeygen算法只需要計算gxj-1/xj,因此計算代價為Exp。根據上面提到的計算原則,并簡化加操作和哈希操作后計算出驗證開銷為:
(c+1)MZ+MG+(c+3)Exp+2Pair
3)開銷比較。如表1所示對比Wang等[16]方案,其通信開銷為d·(p+G)+c·(id+n+p)必然大于本方案的cn+(c+1)p+G(兩者相減后的值為(d-1)|G|+(d-1)|P|+c|id|,其中id為Panda方案中用戶id的規模),其修改計算代價為nExp,比本文方案的計算代價Exp要高。驗證開銷為:
(c+2d)MZ+dMG+(c+d)Exp+(d+1)Pair,
亦明顯高于本文的驗證開銷。
因此,效率分析表明本文方案在計算代價開銷上要優于文獻[16]方案。
6結語
本文提出了一個高效的支持用戶可撤銷的云存儲數據公共審計方案。該方案使用了單向的代理重加密技術,有效地解決了云服務器與已撤銷用戶的合謀攻擊問題。方案支持第三方公開審計,并且安全證明表明其安全性與不可偽造性基于CDH困難問題。經過與文獻[16]方案進行的性能比較,結果表明:方案具有更好的效率優勢。在下一步的工作中,考慮對方案進一步完善,在方案中加入對添加、刪除、修改等用戶動態可撤銷系統數據動態操作情況下數據完整性驗證內容。
參考文獻:
[1]
HUBBARD D, SUTTON M. Top threats to cloud computing v1.0 [EB/OL]. [20150910]. https://cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf.
[2]
YU S, WANG C, REN K, et al. Achieving secure, scalable, and finegrained data access control in cloud computing [C]// INFOCOM10: Proceedings of the 29th Conference on Information Communications. Piscataway, NJ: IEEE, 2010: 534-542.
[3]
LI M, YU S, REN K, et al. Securing personal health records in cloud computing: patientcentric and finegrained data access control in multiowner settings [C]// SecureComm 2010: Proceedings of the 6th International ICST Conference on Security and Privacy in Communication Networks. Berlin: Springer, 2010: 89-106.
[4]
RAJU M, LANITHA B. Survey about cloud computing threats [J]. International Journal of Computer Science and Information Technologies, 2014, 5(1): 384-389.
[5]
JUELS A, KALISKI B S, Jr. PORs: proofs of retrievability for large files [C]// Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007: 584-597.
[6]
ATENIESE G, BURNS R, CURTMOLA R, et al. Provable data possession at untrusted stores [C]// Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007: 598-609.
[7]
SHACHAM H, WATERS B. Compact proofs of retrievability [C]// ASIACRYPT08: Proceedings of the 14th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology. Berlin: Springer, 2008: 90-107.
[8]
WANG C, WANG Q, REN K, et al. Privacypreserving public auditing for data storage security in cloud computing [C]// INFOCOM10: Proceedings of the 29th Conference on Information Communications. Piscataway, NJ: IEEE, 2010: 525-533.
[9]
WANG Q, WANG C, LI J, et al. Enabling public verifiability and data dynamics for storage security in cloud computing [C]// ESORICS09: Proceedings of the 14th European Conference on Research in Computer Security. Berlin: Springer, 2009: 355-370.
[10]
WANG C, CHOW S S M, WANG Q, et al. Privacypreserving public auditing for secure cloud storage [J]. IEEE Transactions on Computers, 2013, 62(2): 362-375.
[11]
ZHU Y, HU H, AHN G J, et al. Cooperative provable data possession for integrity verification in multicloud storage [J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(12): 2231-2244.
[12]
WANG B, LI B, LI H. Knox: privacypreserving auditing for shared data with large groups in the cloud [C]// ACNS12: Proceedings of the 10th International Conference on Applied Cryptography and Network Security. Berlin: Springer, 2012: 507-525.
[13]
WANG B, LI H, LI M. Privacypreserving public auditing for shared cloud data supporting group dynamics [C]// ICC 2013: Proceedings of 2013 IEEE International Conference on Communications. Piscataway, NJ: IEEE, 2013: 1946-1950.
[14]
WANG B, LI B, LI H. Oruta: privacypreserving public auditing for shared data in the cloud [C]// CLOUD 2012: Proceedings of the 2012 IEEE 5th International Conference on Cloud Computing. Piscataway, NJ: IEEE, 2012: 295-302.
[15]
YUAN J, YU S. Efficient public integrity checking for cloud data sharing with multiuser modification [C]// Proceedings of the 2014 IEEE Conference on Computer Communications. Piscataway, NJ: IEEE, 2014: 2121-2129.
[16]
WANG B, LI B, LI H. Panda: public auditing for shared data with efficient user revocation in the cloud [J]. IEEE Transactions on Services Computing, 2015, 8(1): 92-106.
[17]
LIBERT B, VERGNAUD D. Multiuse unidirectional proxy resignatures [C]// Proceedings of the 15th ACM Conference on Computer and Communications Security. New York: ACM, 2008: 511-520.