劉振鵬,蔄志賢 ,胡倩茹,劉曉丹
(1.河北大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河北 保定 071002;2.河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)
?
改進(jìn)的基于身份的數(shù)據(jù)完整性驗(yàn)證方案
劉振鵬1,2,蔄志賢1,胡倩茹2,劉曉丹2
(1.河北大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河北 保定 071002;2.河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)
云計(jì)算中,用戶無法確保存儲(chǔ)在云存儲(chǔ)服務(wù)器中的數(shù)據(jù)是完整的,如何確保用戶數(shù)據(jù)的完整性是學(xué)術(shù)界研究的一個(gè)熱點(diǎn)問題.利用基于身份的聚合簽名給出一個(gè)數(shù)據(jù)完整性驗(yàn)證的改進(jìn)方案,將用戶自己生成的秘鑰作為文件生成標(biāo)簽的秘鑰,用PKG為其生成的私鑰對(duì)用戶自己生成的加密公鑰等信息簽名,從而提高了數(shù)據(jù)完整性驗(yàn)證的可信性和安全性.最后通過安全性和性能分析證明了方案的有效性.
數(shù)據(jù)完整性;基于身份的加密;聚合簽名
隨著云計(jì)算的發(fā)展,用戶可以從遠(yuǎn)程云中按需獲取高質(zhì)量的應(yīng)用和服務(wù),而不用擔(dān)心本地的數(shù)據(jù)管理存儲(chǔ).由于用戶在本地不再保留任何數(shù)據(jù)副本,故無法確保云中數(shù)據(jù)的完整性[1-3].數(shù)據(jù)完整性驗(yàn)證是極其重要的,它能夠在本地沒有存儲(chǔ)數(shù)據(jù)副本的情況下驗(yàn)證用戶存儲(chǔ)的數(shù)據(jù)完整性.一直以來,數(shù)據(jù)完整性驗(yàn)證都受到人們的關(guān)注,為了解決這一問題,Ateniese等[4-5]定義了可證明數(shù)據(jù)持有(provable data possession,PDP)模型,Juels等[6]提出了可恢復(fù)證明(proof of retrievablity,POR)機(jī)制,Shacham等[7-8]提出了在隨機(jī)預(yù)言機(jī)模型下,具有完整的安全證明的公共審計(jì)方案.為了滿足不同用戶的不同需求,大量的方案被提出,幾個(gè)具有代表性的是文獻(xiàn)[9-13].Shamir在1984年提出基于身份的密碼系統(tǒng)[14](identity-based cryptosystem,IBC),建 議使用能標(biāo)識(shí)用戶身份的信息為公鑰,比如名字、IP地址或者Email地址.2001年,Boneh和Franklin[15]利用Weil配對(duì)技術(shù)提出了第一個(gè)安全、實(shí)用的基于身份的加密方案(identity-based encryption,IBE).基于身份的加密體制的主要優(yōu)勢(shì)在于它簡(jiǎn)化了認(rèn)證機(jī)構(gòu)公鑰體系架構(gòu)中的認(rèn)證機(jī)構(gòu)的證書的管理.此后,基于身份的密碼體制引起了國內(nèi)外眾多學(xué)者的廣泛關(guān)注并得到迅速發(fā)展,提出了大量的基于身份的加密和簽名方案.隨后,在這種密碼體制下的數(shù)據(jù)完整性驗(yàn)證問題也得到關(guān)注.
基于身份的加密體制天生具有密鑰托管功能,因?yàn)镻KG知道所有用戶的私鑰,從而PKG成為主要攻擊對(duì)象,一旦主密鑰泄露,那么攻擊者將可以生成任何一個(gè)用戶的私鑰,從而偽造其對(duì)文件的標(biāo)簽,這將會(huì)使數(shù)據(jù)完整性驗(yàn)證失去可信性與安全性.針對(duì)這一問題,學(xué)者們提出了很多解決方法[16-19],比如基于身份的分層結(jié)構(gòu)的公鑰加密算法[18-19](hierchical identity based encryption,HIBE),它能夠減輕根節(jié)點(diǎn)的任務(wù)量,讓子層分擔(dān)原來根節(jié)點(diǎn)的部分任務(wù),并且降低風(fēng)險(xiǎn),這些想法已經(jīng)相對(duì)成熟.本文從數(shù)據(jù)完整性驗(yàn)證角度利用基于身份的聚合簽名提出一種解決方法,來提高完整性驗(yàn)證的可信性和安全性.
聚合簽名由Boneh等[20]提出,主要是通過聚合多個(gè)簽名為1個(gè)簽名,來提高簽名與驗(yàn)證的效率,但是需要額外的附加信息,為了找到一個(gè)簽名方案所需的總信息驗(yàn)證最小化的方案,Gentry等[21]提出了一個(gè)基于身份的聚合簽名(identity-based aggregate signature,IBAS).方案由5個(gè)算法組成,詳細(xì)如下:
1)系統(tǒng)建立(Setup):(G1,G2)是一個(gè)GDH群組,ê:G1×G1→G2是可計(jì)算的雙線性映射h:G1→Zq,H1,H2:{0,1}*→G1,H3:{0,1}*→Z/qZ,是3個(gè)安全hash函數(shù).私鑰產(chǎn)生中心(PKG)隨機(jī)選取s∈Z/qZ,計(jì)算Q=sP;系統(tǒng)的公開參數(shù)是params=(G1,G2,ê,P,Q,H1,H2,H3,h,Pw),s是系統(tǒng)的主秘鑰.
2)密鑰提取(KeyExtra):當(dāng)用戶把自己的身份IDi∈{0,1}*發(fā)送給PKG后,PKG確認(rèn)IDi的身份后,計(jì)算用戶的私鑰sρi,j,其中Pi,j=H1(IDi,j),j∈{0,1}.
2.1 方案思想
在Zhao等[22]提出的IBPV(identity-based public verification)方案中,用戶用PKG為其生成的私鑰直接對(duì)要存儲(chǔ)的文件進(jìn)行簽名得到驗(yàn)證所需的標(biāo)簽.在基于身份的公鑰加密系統(tǒng)中,PKG的主密鑰一旦泄露,那么攻擊者將可以生成用戶的私鑰,在修改用戶存儲(chǔ)的文件后,偽造能夠通過完整性驗(yàn)證的標(biāo)簽.從而數(shù)據(jù)完整性驗(yàn)證就失去了可信性,安全性也隨之降低.筆者對(duì)此方案做出修改,即用戶自己生成加密秘鑰來為文件生成標(biāo)簽,用PKG為其生成的私鑰對(duì)用戶自己生成的加密公鑰等信息簽名(將其作為“證書”),在驗(yàn)證階段作為驗(yàn)證加密公鑰等信息的證據(jù).在改進(jìn)后的方案中,攻擊者不能獲得用戶的加密私鑰,從而不能偽造文件的標(biāo)簽.改進(jìn)的部分利用基于身份的聚合簽名(identity-based aggregate signature,IBAS)來實(shí)現(xiàn),并做了簡(jiǎn)單調(diào)整,讓其在批處理審計(jì)中支持統(tǒng)一驗(yàn)證.
2.2 方案設(shè)計(jì)
如圖1所示,新的系統(tǒng)模型包含4個(gè)實(shí)體:用戶、云服務(wù)器、私鑰產(chǎn)生中心、驗(yàn)證者.用戶(Client)擁有大量的數(shù)據(jù)需要存儲(chǔ)到云服務(wù)器,可以是企業(yè)或是個(gè)人.云服務(wù)器(cloud server,CS)由云服務(wù)提供商管理,有大量的存儲(chǔ)空間提供存儲(chǔ)服務(wù)給多個(gè)用戶.私鑰生成中心(private key generator,PKG) :當(dāng)接收用戶的身份ID時(shí),確認(rèn)用戶的身份后輸出對(duì)應(yīng)的私鑰.驗(yàn)證者(Verifier):具有用戶所沒有的審計(jì)經(jīng)驗(yàn)和能力,可以替代用戶對(duì)云中存儲(chǔ)的數(shù)據(jù)執(zhí)行審計(jì)任務(wù).
圖1 系統(tǒng)模型
圖1的具體描述如下:1)在密鑰提取階段,PKG為用戶生成基于身份的密鑰.2)用戶生成自己的加密密鑰,用PKG為其生成的私鑰對(duì)加密公鑰進(jìn)行簽名.用加密私鑰生成標(biāo)簽,將相關(guān)數(shù)據(jù)上傳到云服務(wù)器.3)驗(yàn)證者向云服務(wù)器發(fā)起驗(yàn)證請(qǐng)求.4)云服務(wù)器向驗(yàn)證者發(fā)送驗(yàn)證信息.5)驗(yàn)證者驗(yàn)證信息是否正確,若正確的話,向云服務(wù)器發(fā)送挑戰(zhàn)集.6)云服務(wù)器生成證據(jù)返回給驗(yàn)證者.
2.3 方案描述
本文的方案由4個(gè)算法組成:Setup,KeyExtra,TagGen,Challenge.Setup,KeyExtra由PKG執(zhí)行,分別用來生成系統(tǒng)參數(shù)和用戶的私鑰.TagGen由用戶執(zhí)行,為文件和公開信息生成驗(yàn)證的標(biāo)簽.Challenge是驗(yàn)證者和云服務(wù)器進(jìn)行完整性驗(yàn)證的交互算法.
1)Setup:PKG生成參數(shù)和秘鑰,具體步驟如下.
①生成階為素?cái)?shù)q的加法循環(huán)群G1、乘法循環(huán)群G2和2個(gè)群之間的可容許的雙線性映射ê:G1×G1→G2;
②選取一個(gè)任意的生成元P∈G1;
③選取隨機(jī)數(shù)s∈Z/qZ,計(jì)算Q=sP;
④選取加密哈希函數(shù)H1,H2:{0,1}*→G1,H3:{0,1}*→Z/qZ,h:G1→Zq;
⑤選取字符串w作為系統(tǒng)狀態(tài)參數(shù),計(jì)算Pw=H2(w).
PKG的公鑰params=(G1,G2,ê,P,Q,H1,H2,H3,h,Pw),私鑰s∈Zq.
2)KeyExtra:對(duì)于用戶IDi∈{0,1}*,PKG生成基于身份的私鑰sPi,j,其中Pi,j=H1(IDi,j),j∈{0,1}.
3)TagGen:對(duì)于用戶IDi∈{0,1}*,對(duì)文件F分成進(jìn)行分塊,分成n個(gè)文件塊,即F′=(F1,F2,…,F(xiàn)n).
①選取字符串w′作為狀態(tài)用戶狀態(tài)參數(shù).
4)Challenge:驗(yàn)證者向云服驗(yàn)證的步驟如下.
如果不相等,拒絕并返回0,否則繼續(xù)下一步.
③驗(yàn)證者隨機(jī)選取c個(gè)塊挑戰(zhàn),對(duì)于每個(gè)挑戰(zhàn)塊j∈I,選取隨機(jī)數(shù)vj∈Zp.驗(yàn)證者發(fā)送挑戰(zhàn)信息Q={(j,vj)}給云服務(wù)器.
⑤驗(yàn)證者收到云服務(wù)器的響應(yīng)后,檢查下式是否相等
ê(S,P)=ê(T,Pw)·ê
如果相等,輸出“Accept”,否則輸出“Reject”.
2.4 支持批量審計(jì)
其他步驟不變,在Challenge階段調(diào)整后如下.
Challenge:對(duì)于用戶IDi∈{0,1}*,假設(shè)批量審計(jì)n個(gè)用戶的數(shù)據(jù).驗(yàn)證者向云服器驗(yàn)證的步驟如下.
如果不相等,輸出“Reject”,否則繼續(xù)下一步.
③驗(yàn)證者隨機(jī)選取c個(gè)塊挑戰(zhàn),對(duì)于每個(gè)挑戰(zhàn)塊j∈I,選取隨機(jī)數(shù)vj∈Zp.驗(yàn)證者發(fā)送挑戰(zhàn)信息Q={(j,vj)}給云服務(wù)器.
⑤驗(yàn)證者收到云服務(wù)器的響應(yīng)后,檢查下式是否相等
ê(Sn,P)=ê(Tn,Pw)·ê
如果相等,輸出“Accept”,否則輸出“Reject”.
3.1 安全性與健壯性分析
3.1.1 安全性分析
對(duì)于公開審計(jì)方案,數(shù)據(jù)的正確性和完整性意味著不存在這樣的敵手——在challenge協(xié)議中,偽造所有方案需要的正確輸入值,使得Challenge能夠輸出Accept.這些值分別是數(shù)據(jù)標(biāo)簽、聚合的數(shù)據(jù)標(biāo)簽、采樣數(shù)據(jù)的非線性組合.如果IBAS是不可偽造的,并且IBPV是安全的,沒有任何人在對(duì)應(yīng)所有正常的挑戰(zhàn)時(shí),不持有實(shí)際合法數(shù)據(jù)的情況下,能夠偽造出所有必須的響應(yīng)值使得Verifier接受.
如果云服務(wù)器能使得在Challenge算法中,Verifier接受,那么它一定存在一個(gè)提取器能夠恢復(fù)客戶挑戰(zhàn)的數(shù)據(jù),即完好地存儲(chǔ)著對(duì)應(yīng)的數(shù)據(jù).
假設(shè)存在攻擊者A可以打破方案的安全性.然后構(gòu)造一個(gè)算法B模擬Verifier與A進(jìn)行交互.
1) 系統(tǒng)參數(shù)設(shè)置(setup):算法B接收IBPV方案的主公鑰mpk*和IBAS方案的spk*.B根據(jù)本文的協(xié)議設(shè)置IBAS的方案和IBPV方案,并將mpk*傳給A作為主公鑰.為了不失一般性,假設(shè)A用N個(gè)不同身份調(diào)用詢問(Extra和store),即ID1,…,IDN.B選取一個(gè)索引i*∈{1,…,N}.
2)查詢(Queries):攻擊者允許向算法B進(jìn)行以下自適應(yīng)查詢:
①密鑰詢問(Extra Queries):攻擊者A查詢身份IDi的私鑰時(shí),B調(diào)用IBPV的模擬器,模擬輸入IDi,獲得私鑰kID.B返回kID.
③證明:B扮演驗(yàn)證者的角色并如實(shí)地執(zhí)行協(xié)議.A扮演證明者的角色,輸出對(duì)于身份IDi和文件Fj的存儲(chǔ)查詢結(jié)果.
3)輸出(output):最后,攻擊者 A輸出證據(jù)的描述p*,它是ε-允許的.
3.1.2 健壯性分析
在隨機(jī)預(yù)言模型中,如果用數(shù)字簽名方案生成文件的標(biāo)簽存在不可偽造和CDH是雙線性群上的困難問題,除了微乎其微的概率,沒有對(duì)手能夠打破本文方案的健壯性(soundness).
在改進(jìn)的方案中,利用了IBAS來產(chǎn)生有效的簽名來認(rèn)證用戶自己生成的公鑰和文件塊數(shù).在隨機(jī)預(yù)言模型中,IBAS的不可偽造性依賴于CDH假設(shè),并且原來的IBPV方案也是安全的,因此依據(jù)安全性分析的結(jié)論,改進(jìn)后的方案具有健壯性.
3.2 性能分析
本文的方案與IBPV比較如表1,TagGen和Verify階段的計(jì)算開銷,其中CH3、CH1、CH2、CHh是哈希函數(shù)H、H1、H2、h運(yùn)算的時(shí)間開銷;Ce是雙線性映射的時(shí)間開銷;Cmul是群G1上的乘法運(yùn)算的時(shí)間開銷.
表1 計(jì)算開銷 Tab.1 Computational overhead
研究了基于身份的加密體制下的數(shù)據(jù)完整性驗(yàn)證方案,讓用戶用自己生成的加密私鑰來對(duì)文件生成驗(yàn)證用的標(biāo)簽,PKG為其生成的私鑰為加密公鑰等信息生成驗(yàn)證用標(biāo)簽,從而解決基于身份的加密體制對(duì)數(shù)據(jù)完整性驗(yàn)證的可信性和安全性的影響.增加的簽名和驗(yàn)證使得原方案的可行性和安全性提高,降低了風(fēng)險(xiǎn).在改進(jìn)后的方案中,即使攻擊者通過攻擊PKG獲得用戶的基于身份的私鑰,也不能夠偽造用戶對(duì)文件的簽名.本方案同樣支持批量審計(jì),不影響原方案的在批量審計(jì)的功能.
[1] 譚霜,賈焰,韓偉紅.云存儲(chǔ)中的數(shù)據(jù)完整性證明研究及進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):164-177.DOI:10.3724/SP.J.1016.2015.00164. TAN S,JIA Y,HAN W H.Research and development of provable data integrity in cloud storage[J].Journal of computer,2015,38(1):164-177.DOI:10.3724/SP.J.1016.2015.00164.
[2] 馮登國,張敏,張妍,等.云計(jì)算安全研究[J].軟件學(xué)報(bào),2011,22(1):71-83.DOI:10.3724/SP.J.1001.2011.03958. FENG D G,ZHANG M,ZHANG Y,et al.Study on cloud computing security[J].Journal of Software,2011,22(1):71-83.DOI:10.3724/SP.J.1001.2011.03958.
[3] 楊曉暉,丁文卿.云存儲(chǔ)環(huán)境下基于CP-ASBE數(shù)據(jù)加密機(jī)制[J].河北大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,36(4):424-431.DOI:10.3969/j.issn.1000-1565.2016.04.015. YANG X H,DING W Q.CP-ASBE based data encryption mechanism for cloud storage[J].Journal of Hebei University(Natural Science Edition),2016,36(4):424-431.DOI:10.3969/j.issn.1000-1565.2016.04.015.
[4] ATENIESE G,BURNS R C,CURTMOLA R,et al.Provable data possession at untrusted stores[C].Proceeding of ACM CCS’07,Alexandria,Virginia,USA,2007:598-609.
[5] ATENIESE G,BURNS R C,CURTMOLA R,et al.Remote data checking using provable data possession[J].ACM Transactions on Information and System Security,2011,14 (1):1094-9224.DOI:10.1145/1952982.1952994.
[6] JUELS A,KALISKI B S.PORs:Proofs of retrievability for large files[C].Proceeding of ACM CCS’07,Alexandria,Virginia,USA,2007:584-597.
[7] SHACHAM H,WATERS B.Compact proofs of retrievability [J].Journal of cryptology,2013,26(3):442-483.DOI:10.1007/s00145-012-9129-2.
[8] WANG Q,WANG C,REN K,et al.Enabling public auditability and data dynamics for storage security in cloud computing [J].IEEE Transactions on Parallel and Distributed Systems,2011,22(5):847-859.DOI:10.1109/TPDS.2010.183.
[9] BONEH D,SHACHAM H,LYNN B.Short signatures from the weil pairing[J].Journal of Cryptology,2004,17(4):297-319.DOI:10.1007/s00145-004-0314-9.
[10] WANG C,REN K,LOU W,et al.Toward publicly auditable accrue cloud data storage services[J].IEEE Network,2010,24(4):19-24.DOI:10.1109/MNET.2010.5510914.
[11] HAO Z,ZHONG S,YU N H.A privacy-preserving remote data integrity checking protocol with data dynamics and public verifiability[J].IEEE Transactions on Knowledge & Data Engineering,2011,23(9):1432-1437.DOI:10.1109/TKDE.2011.62.
[12] ZHU Y,WANG H,HU Z,et al.Efficient provable data possession for hybrid clouds[C].Proceedings of CCS’10,New York,USA,2010:756-758.
[13] 王保民.一種基于可信計(jì)算平臺(tái)的數(shù)字簽名方案[J].河北大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,30(6):715-718.DOI:10.3969/j.issn.1000-1565.2010.06.022. WANG B M.A signature scheme based trusted computing platform[J].Journal of Hebei University(Natural Science Edition).2010,30(6):715-718.DOI:10.3969/j.issn.1000-1565.2010.06.022.
[14] SHAMIR A.Identity-based cryptosystems and signature schemes[C].LNCS196,Advances in Cryptology,Crypto’ 84.Berlin,Springer,1984:47-53.
[15] BONEH D,FRANKLIN M.Identity-based encryption from the Weil pairing[C].LNCS2139,Advances in Cryptology,Crypto’2001,Berlin,Springer,2001:213-229.
[16] YU Y,XUE L,AU M,et al.Cloud data integrity checking with an identity-based auditing mechanism from RSA [J].Future Generation Computer Systems,2016,62(C):85-91.DOI:10.1016/j.future.2016.02.003.
[17] YU Y,ZHANG Y F,MU Y,et al.Provably secure identity based provable data possession[J].Provable Security,2015,9451:310-325.DOI:10.1007/978-3-3-319-26059-4-17.
[18] WATERS B.Dual system encryption:realizing fully secure IBE and HIBE under simple assumptions[J].International Cryptology Conference on Advances in Cryptology,2009,5677:619-636.DOI:10.1007/978-3-642-03356-8-36.
[19] CHATTERJEE S,SARKAR P.Generalization of the selective-ID security model for HIBE protocols[C].Public Key Cryptography,PKC’2006.Berlin,Springer,2006:241-256.
[20] BONEH D,GENTRY C,LYNN B,et al.Aggregate and verifiably encrypted signatures from Bilinear maps[J].Lecture Notes in Computer Science,2003,2656(1),416-432.DOI:10.1007/3-540-39200-9-26.
[21] GENTRY C,RAMZAN Z.Identity-based aggregate signatures[J].Lecture Notes in Computer Science,2006,3958:257-273.DOI:10.1007/11745853-17.
[22] ZHAO J,XU C X,Li F,et al.Identity-based public verification with privacy-preserving for data storage security in cloud computing[J].Ieice Transactions on Fundamentals of Electronics Communications & Computer Sciences,2013,96(12):2709-2716.DOI:10.1587/transfun.E96.A.2709.
(責(zé)任編輯:孟素蘭)
Improved identity-based data integrity verification scheme
LIU Zhenpeng1,2,MAN Zhixian1,HU Qianru2,LIU Xiaodan2
(1.School of Computer Science and Technology,Hebei University,Baoding 071002,China; 2.Electronic Information Engineering College,Hebei University,Baoding 071002,China)
In cloud computing, users can not ensure that the data stored in the cloud storage server is complete. How to efficiently verify the integrity of user data is a hot topic in academic research. An improved scheme of data integrity verification by manipulating scheme of identity-based aggregate signature is proposed, the secret key of the user is used to compute the file tags, and the private key generated by PKG is used to calculate the signature of the user's encrypted public key and other information. Therefore the credibility and security of data integrity verification are enhanced. Finally, the effectiveness of the scheme is verified through the security and performance analysis.
data integrity;identity-based encryption;aggregate signature
10.3969/j.issn.1000-1565.2017.01.013
2016-10-20
國家科技支撐計(jì)劃資助項(xiàng)目(2013BAK07B04)
劉振鵬(1966—),男,河北行唐人,河北大學(xué)教授,主要從事云計(jì)算和信息安全方向研究.E-mail:lzp@hbu.edu.cn
胡倩茹(1979—),女,河北靈壽人,河北大學(xué)講師,主要從事大數(shù)據(jù)和數(shù)據(jù)挖掘方向研究.E-mail:huqr@hbu.edu.cn
TP309
A
1000-1565(2017)01-0086-06