周 虹,陳 鋒
(1.廣州軍區(qū)廣州總醫(yī)院 廣東 廣州 510010;2.國防科學技術(shù)大學 信息系統(tǒng)與管理學院,湖南 長沙 410073)
一種云計算共享數(shù)據(jù)完整性公開審計方案
周 虹1,陳 鋒2
(1.廣州軍區(qū)廣州總醫(yī)院 廣東 廣州510010;2.國防科學技術(shù)大學 信息系統(tǒng)與管理學院,湖南 長沙410073)
在用戶無法完全信任云服務提供商的前提下,對云端的數(shù)據(jù)完整性進行公開審計是當前的研究熱點之一。提出了一個支持隱私保護和高效用戶撤銷的云共享數(shù)據(jù)公開審計方案。它通過引入了一個系統(tǒng)管理員SA來負責管理群組密鑰,對于共享數(shù)據(jù)修改,SA生成一個初步簽名密鑰和一個對應的重簽名密鑰,用戶利用初步簽名密鑰對所修改的數(shù)據(jù)塊進行簽名,并將修改后的數(shù)據(jù)塊和初步簽名一起上傳到云端,云服務器利用重簽名密鑰將初步簽名轉(zhuǎn)換為最終簽名。理論分析表明該方案不僅能夠支持隱私保護,而且在能夠支持用戶撤銷時高效的共享數(shù)據(jù)完整性公開審計。
云計算;數(shù)據(jù)完整性;公開審計;用戶撤銷;隱私保護
利用云計算所提供的數(shù)據(jù)存儲和分享服務,用戶可以輕易的通過相互分享數(shù)據(jù)組成一個群組。也就是說,群組內(nèi)的用戶可以創(chuàng)建數(shù)據(jù)并分享群組內(nèi)的其他用戶分享,這樣的數(shù)據(jù)被稱為共享數(shù)據(jù)。群組內(nèi)的用戶不僅能夠訪問共享數(shù)據(jù),而且可以對共享數(shù)據(jù)進行修。盡管云服務提供商承諾為用戶提供一個安全可靠的存儲環(huán)境,但是存儲在云端的數(shù)據(jù)的完整性仍然可能遭到破壞,比如說人為操作失誤,或者軟硬件故障[2]。
針對這個問題,許多研究者已經(jīng)提出了一系列的解決方案[5-8,10]。但是以上這些方案主要關注的是個人數(shù)據(jù)的完整性審計問題,即只有一個修改者的云數(shù)據(jù)的完整性驗證問題。Wang等人[3]注意到了共享數(shù)據(jù)完整性驗證問題,并針對云共享數(shù)據(jù)完整性驗證場景提出了一個支持高效用戶撤銷的公開審計方法。但是該方法利用代理重簽名技術(shù),當用戶撤銷發(fā)生時,允許云服務器代替群組成員將被撤銷的用戶之前所簽名的數(shù)據(jù)塊重簽到一個合法的群組用戶,故存在用戶撤銷的效率問題。此外,該方法中云服務器必須知道每個數(shù)據(jù)塊的確切簽名者,因此存在用戶身份隱私暴露的隱患。
文中針對上述問題,提出了一個支持隱私保護和高效用戶撤銷的云共享數(shù)據(jù)公開審計方案。首先,引入了一個系統(tǒng)管理官(System Administrator,SA)來負責管理群組密鑰。當群組成員對共享數(shù)據(jù)修改之后,SA生成一個初步簽名密鑰和一個對應的重簽名密鑰,并將前者發(fā)送給用戶,后者發(fā)送給云服務器。用戶利用初步簽名密鑰對所修改的數(shù)據(jù)塊進行簽名,并將修改后的數(shù)據(jù)塊和初步簽名一起上傳到云端。云服務器利用重簽名密鑰將初步簽名轉(zhuǎn)換為最終簽名。這樣的設計使得用戶撤銷變得非常簡單,只需要將被撤銷的用戶從群組成員列表刪除即可,而不再需要在用戶撤銷時對被撤銷用戶之前簽名的數(shù)據(jù)進行重新簽名了。其次,我們將一種叫做隨機掩蓋[9]的技術(shù)引入完整性審計過程,對云服務器返回給第三方審計機構(gòu)的信息進行盲化,從而確保第三方審計機構(gòu)無法從審計過程中得到任何與用戶數(shù)據(jù)內(nèi)容相關的信息。
1.1方案概述
1)系統(tǒng)模型和安全威脅模型
在我們的方案中有4個實體:云服務器、第三方審計者(Third Party Auditor,TPA)、用戶(通過共享數(shù)據(jù)組成群組)和系統(tǒng)管理者(System Administrator,SA)。如圖1所示,云服務器不僅為用戶提供數(shù)據(jù)存儲和共享服務,而且在重簽名過程中充當了代理的角色;第三方審計者是具有專門技術(shù)和能力的第三方機構(gòu),能夠代替用戶對保存在云服務器上的數(shù)據(jù)的完整性進行審計;系統(tǒng)管理者作為群組的管理者,它維護者群組的用戶列表并且負責為密鑰生成,包括初步簽名密鑰和其對應的重簽名密鑰。因為用戶列表總需要一個維護者,不管它是群組的創(chuàng)建者還是其它實體,所以系統(tǒng)管理者的存在是合理的。
圖1 系統(tǒng)模型
2)設計目標
文中的目標包括以下3個方面。首先,正確性:在存在用戶撤銷的情況系下,保證TPA仍然能夠在不取回所有數(shù)據(jù)的前提下正確驗證共享數(shù)據(jù)的完整性;其次,高效性:保證用戶撤銷過程和審計過程是高效的;最后,保護隱私:保護用戶身份隱私不泄露給云服務器,以及共享數(shù)據(jù)內(nèi)容隱私不泄露給第三方審計者。
1.2預備知識
為了能夠詳細描述我們所提出的方案,我們首先對方案中所用到的密碼學技術(shù)進行介紹。
1)雙線性映射
設e:G×G→GT是一個雙線性映射,其中G是一個間隙Diffie-Hellman群,GT是另一個素階數(shù)乘法循環(huán)群。雙線性映射具有以下3條性質(zhì):
①可計算性。存在一個高效可計算的算法能夠計算e;
②雙線性。對所有g(shù),h∈G和a,b?cp,有e(ga,hb)=e(g,h)ab;
③非退化性。e(g,g)≠1,其中g(shù)是G的生成元。
2)代理重簽名
Ateniese等人在文獻[4]中重新定義了代理重簽名。在Ateniese的定義中,允許一個半可信的代理知道一些信息從而將A對數(shù)據(jù)塊的簽名轉(zhuǎn)換成B的簽名,并且要求代理機構(gòu)不能夠代表A或B獨立產(chǎn)生簽名。利用代理將一個用戶對數(shù)據(jù)的簽名轉(zhuǎn)換成另一個用戶對同一數(shù)據(jù)的簽名的過程就稱為代理重簽名。
3)支持動態(tài)數(shù)據(jù)
為了在完整性公開驗證過程中支持數(shù)據(jù)操作(即數(shù)據(jù)插入,刪除,更新等),需要仔細設計的數(shù)據(jù)塊標示。利用文獻[10-11]中的索引哈希表,用戶能夠在不改變其它數(shù)據(jù)塊的標示的前提下對數(shù)據(jù)塊進行修改。具體方案如下:設vi∈¥*為被修改的數(shù)據(jù)塊mi的虛擬索引,ri=H′(mi‖vi),其中H′:{0,1}*→¢q是一個沖突避免的哈希函數(shù),那么該數(shù)據(jù)塊的標示定義為idi={vi,ri}。
1.3方案設計
文中所提出的支持隱私保護的公開審計協(xié)議包括6個環(huán)節(jié)。這6個環(huán)節(jié)分別是Setup,KeyGen,BasicSign,F(xiàn)inal Re Sign,ProofGen,ProofVerify。在Setup環(huán)節(jié),SA為群組產(chǎn)生一對公私鑰對(cpk,csk)。在KeyGen環(huán)節(jié),SA為每個合法的簽名請求隨機生成一對簽名密鑰(BasicSignKey,F(xiàn)inalReSignKey),其中BasicSignKey發(fā)送給用戶在BasicSign環(huán)節(jié)為所修改的數(shù)據(jù)塊計算一個初步簽名,F(xiàn)inalReSignKey發(fā)送給云在FinalReSign環(huán)節(jié)將初步簽名重簽到群組公鑰。當用戶被撤銷時,該用戶將會被重用戶列表中刪除,并且SA不再響應來自該用戶的簽名請求。在ProofGen環(huán)節(jié),云服務器能夠產(chǎn)生一個關于共享數(shù)據(jù)完整性的持有證明。在ProofVerify環(huán)節(jié),一個公開驗證者可以利用群組公鑰cpk來檢查云服務器所生成的持有證明的正確性,從而判斷共享數(shù)據(jù)是否完整。
符號定義:全局參數(shù)為(e,p,G,GT,g,w,H,h,H′),其中G是一個間隙Diffie-Hellman群,是GT另一個素階數(shù)乘法循環(huán)群,e是一個雙線性映射e:G×G→GT,g是G的一個生成元,w 是G里的一個隨機元素,H是一個哈希函數(shù)H:{0,1}*→G,H′:{0,1}*→¢q是一個沖突避免的哈希函數(shù)。M=(m1,m2,…,mn)表示共享數(shù)據(jù),其中n表示共享數(shù)據(jù)包含的數(shù)據(jù)塊數(shù)目。d表示群組規(guī)模,即群組中用戶的數(shù)目。
Setup:SA選擇一個隨機數(shù)s∈¢q作為群組的私鑰csk,并計算其對應的公鑰cpk=gcsk。同時,SA維護了一個用戶列表(UL),其中包含所有現(xiàn)有用戶的標示(id),并且SA將用群組私鑰對UL進行簽名然后公開。在整個方案中,SA只響應UL列表中所包含的的用戶的請求。
KeyGen:每次收到來自用戶的簽名請求,SA首先產(chǎn)生一個隨機數(shù)s∈¢p作為初步簽名密鑰bk(BasicSignKey),然后計算對應的重簽名密鑰(FinalReSignKey)fk=csk/bk,最后將bk發(fā)送給用戶,將fk發(fā)送給云服務器。
BasicSign:當用戶產(chǎn)生或者修改一個標示為idk數(shù)據(jù)塊mk時,該用戶按照下面的步驟為該數(shù)據(jù)塊產(chǎn)生一個活法簽名:
①首先,用戶發(fā)送一個簽名請求給SA,以獲得初步簽名密鑰bk;
②接著,用戶利用SA返回的初步簽名密鑰bk為數(shù)據(jù)庫計算簽名σ′k=(H(idk)wmk)bk∈G;
③最后,用戶將數(shù)據(jù)塊mk和初步簽名σ′k發(fā)送給云服務器。
FinalReSign:接著BasicSign環(huán)節(jié),云服務器利用SA所生產(chǎn)的重簽名密鑰對初步簽名進行重簽:
σ=(σ′k)=(H(idk)wmk)bkgcks/bk=(H(idk)wmk)ckkBasicSign和FinalReSign兩個環(huán)節(jié)共同產(chǎn)生了一個合法的數(shù)據(jù)塊簽名。
ProofGen:為了驗證共享數(shù)據(jù)的完整性,TPA首先隨機生成一個審計消息{(l,yl)|1∈L},其中yl∈¢p是一個隨機數(shù),L是集合[1,n]的一個具有c個元素的子集,L集合標示本次審計過程中所要檢查的數(shù)據(jù)塊。在收到審計消息后,云服務器按照以下步驟產(chǎn)生一個共享數(shù)據(jù)完整性的持有證明:
③最后,云服務器生成一個審計證明{α,β,R,{idl}l∈L}并且發(fā)送給驗證者作為云數(shù)據(jù)完整性的證明。
ProofVerify:根據(jù)審計信息{(l,yl)|1∈L},審計證明{α,β,R,{idl}l∈L}和群組公鑰,TPA可以通過驗證下面的等式驗證審計證明的正確性:
如果上面的等式成立,則TPA接受審計證明,說明存儲在云端的共享數(shù)據(jù)是完整的;否則,TPA拒絕審計證明。
本節(jié)將首先證明本文所提方案的正確性,然后對方案的性能做出理論分析和實驗驗證,并詳細討論文中所提方案的隱私保護特性。
2.1正確性分析
本文所提方案的正確性決定于等式(*)是否成立。根據(jù)雙線性映射的特性,等式(*)的正確性證明如下:
另外,對于被撤銷的用戶來說,他們將會被從UL中移除,從而不會再得到SA的響應。也就是說,被撤銷的用戶無法再得到用于產(chǎn)生數(shù)據(jù)塊簽名的密鑰對,從而無法再產(chǎn)生合法的數(shù)據(jù)塊簽名。而且還可以通過為每個數(shù)據(jù)塊簽名密鑰增加時間戳的方式來防止來自被撤銷用戶等攻擊者的重放攻擊。
2.2效率分析
本文所提方案具有高效的用戶撤銷效率。當發(fā)生用戶撤銷的時候,只需要將被撤銷的用戶從用戶列表(UL)中移除,保證其無法再接受SA的響應即可。因為在本文所提的方案中,共享數(shù)據(jù)所對應的最終簽名都是對應于群組公鑰的,當用戶撤銷的時候就不再需要對共享數(shù)據(jù)進行重簽,這樣的設計大大的提高了用戶撤銷過程的效率。
2.3隱私保護
通過引入系統(tǒng)管理者(SA),本文所提方案不再需要云服務器對被撤銷用戶端在撤銷之前所簽名的數(shù)據(jù)進行重簽,這就意味著云服務器不再需要知道每個數(shù)據(jù)塊的簽名者。這一點對于群組用戶來說是很重要的,因為這樣的設計使得惡意云服務提供商無法再辨別出群組內(nèi)的關鍵用戶。
除此之外,本文所提方案能夠保證在共享數(shù)據(jù)完整性審計過程中,TPA無法重審計證明中獲得用戶數(shù)據(jù)內(nèi)容的任何信息,從而保護了共享數(shù)據(jù)內(nèi)容隱私。
通過引入系統(tǒng)管理者(SA),本文所提方案將共享數(shù)據(jù)塊的簽名過程分為兩個步驟:首先用戶利用SA隨機生成的初步簽名密鑰對數(shù)據(jù)塊進行初步簽名;接著,云服務器利用SA生成的對應的重簽名密鑰將初步簽名重簽到最終簽名。通過這樣的設計,所有的共享數(shù)據(jù)簽名都對應于公共的群組公鑰,從而提高了用戶撤銷的效率,并且保護用戶的隱私信息不會泄露給云服務提供商。除此之外,通過隨機掩蓋技術(shù),文中所提出的方案能夠保證TPA在審計過程中不泄露關于數(shù)據(jù)內(nèi)容的隱私信息。
[1]K.Ren,C.Wang,Q.Wang.Security Challenges for the Public Cloud.Internet Computing,2012,16(1):69-73.
[2]M.Armbrust,A.Fox,R.Griffith,et al.A view of cloud computing[C]//Commun.ACM,2010,53(4):50-58.
[3]B.Wang,B.Li and H.Li.Public auditing for shared data with efficient user revocation in the cloud[J].INFOCOM 2013,2013:2904-2912.
[4]G.Ateniese and S.Hohenberger.Proxy Re-signature:New Definitions,algorithmandApplications[C]//inthe Proceedings of ACM CCS 2005,2005:310-319.
[5]C.Erway,Kupcu.A,C.Papamanthou,etal.Dynamicprovable data possession.Proceedings of the 2009 ACM Workshop on Cloud Computing Security[C]//Chicago,USA,2009:213-222.
[6]C.Wang,Q.Wang,K.Ren,et al.Privacy-preserving public auditing for data storage security in cloud computing[C]// Proceedings of InfoCom2010,IEEE,March,2010.
[7]L.Chen.Using algebraic signatures to check data possession in cloud storage.Future Generation Computer Systems,2013,29(7):1709-1715.
[8]B.Wang,B.Li,H.Li.Knox:Privacy-perserving Auditing for Shared Data with Large Groups in the Cloud[C]//in the Proceedings of ACNS 2012,June 2012:507-525.
[9]Cong Wang,Sherman S.M.Chow,Qian Wang,Kui Ren,Wenjing Lou:Privacy-Preserving Public Auditing for Secure Cloud Storage[C]//IEEE Trans.Computers,2013,62(2):362-375.
[10]Q.Wang,C Wang,J.Li,et al.Enabling public Auditability and data dynamics for storage security in cloud computing[C]//IEEE Transactions on Parallel and Distributed Systems,2011,22(5):847-859.
[11]Y.Zhu,H.Wang,Z.Hu,et al.Dynamic Audit Services for Integrity Verification of Outsourced Storage in Clouds[C]//in the Proceedings of ACM SAC 2011,2011:1550-1557.
A public auditing solution for shared data in the cloud
ZHOU Hong1,CHEN Feng2
(1.Guangzhou General Hospital of Guangzhou Command,Guangzhou 510010,China;2.School of Information System and Management,Nation University of Defense Technology,Changsha 410073,China)
Recently several data integrity checking schemes have been proposed for secure shared data in the cloud storage,which consider a realistic scenarios where multiple users can modifier the same data in the cloud.However,most of these schemes may disclose sensitive data during the auditing process.Moreover,they do not consider collusion between untrusted cloud and the revoked users.Besides,bidirectional proxy re-signatures used in some schemes result in powerful capacity of the cloud,which may misbehave utilizing the re-signing keys.In this paper,we introduce a Group-Mediator(GM)and propose a novel public auditing scheme for the integrity of shared data in the cloud,which supports public auditing,collusion resistance and efficient user revocation.We further integrate random masking technique to preserve data privacy from the TPA. Numerical analysis and experimental results demonstrate that the proposed scheme is secure and efficient.
cloud computing;data integrity;public auditing;user revocation;privacy-preserving
TN8
A
1674-6236(2016)09-0060-03
2015-06-02稿件編號:201506028
周虹(1966—),女,山東萊西人,工程師。研究方向:計算機應用。