◆劉伯紅 王 易
(重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶 400065)
云存儲(chǔ)環(huán)境下支持信任管理的CP-ABE方案
◆劉伯紅 王 易
(重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶 400065)
為了更好地解決云存儲(chǔ)中數(shù)據(jù)共享的安全問題,本文提出了一種結(jié)合信任管理的密文策略屬性加密(Trustlevel Ciphertext Policy Attribute based Encryption,TCPABE)方案。通過引入信任級(jí)屬性的概念,將其嵌入到訪問策略中,在密文策略屬性加密(Ciphertext Policy Attribute Based Encryption,CP-ABE)技術(shù)基礎(chǔ)下融合信任管理機(jī)制,使信任值計(jì)算與屬性授權(quán)和屬性撤銷結(jié)合起來,實(shí)時(shí)監(jiān)測(cè)用戶行為來更新其信任值,及時(shí)管理用戶權(quán)限狀態(tài)。通過仿真實(shí)驗(yàn)證明,該方案能夠更加靈活地解決因?qū)傩猿蜂N而頻繁更換密鑰所導(dǎo)致的巨大計(jì)算開銷和數(shù)據(jù)安全問題。
云存儲(chǔ); 信任管理; CP-ABE; 屬性撤銷
云計(jì)算以方便、快捷、靈活及高效等特點(diǎn)為數(shù)據(jù)存儲(chǔ)提供了一種全新的服務(wù)方式,因減輕存儲(chǔ)用戶巨大的存儲(chǔ)開銷,而受用戶的青睞[1]。但云服務(wù)提供商(Cloud Service Provider,CSP)并非完全可信,它可能會(huì)竊取數(shù)據(jù)擁有者(Data Owners,DO)存在云中的數(shù)據(jù),導(dǎo)致數(shù)據(jù)泄露。
為了解決這一問題,針對(duì)CP-ABE算法的研究成為近幾年研究的熱點(diǎn)。Bethencourt等人[2]首次提出在CP-ABE方案中,根據(jù)IBE中屬性撤銷機(jī)制的啟發(fā),利用“AND”和“OR”門來構(gòu)造訪問結(jié)構(gòu),從而實(shí)現(xiàn)屬性撤銷。Pirretti等人[3]引入可信第三方(The Third Part,TTP)的概念來管理用戶屬性撤銷列表,定時(shí)更新屬性撤銷列表中用戶的私鑰,但私鑰隨著屬性的變換而實(shí)時(shí)更新,帶來了龐大的計(jì)算開銷,且粒度較粗。文獻(xiàn)[4]提出一種利用廣播技術(shù)實(shí)現(xiàn)用戶撤銷的細(xì)粒度CP-ABE方案,該方案利用屬性分割的方式來決定是否立即撤銷屬性集里的授權(quán)用戶,但不能很好的解決撤銷后的前后向安全問題。
通過上述方案分析表明,現(xiàn)有的CP-ABE訪問控制策略大多都存在屬性撤銷而帶來的計(jì)算開銷大、數(shù)據(jù)泄密、訪問策略不靈活等問題。因此,為了解決上述問題,本文提出了一種基于信任級(jí)屬性的密文策略屬性加密(TCPABE)方案。
1.1 方案主要思想
本文針對(duì)云存儲(chǔ)數(shù)據(jù)訪問控制問題,在CP-ABE加密策略基礎(chǔ)下融合信任管理機(jī)制,在訪問結(jié)構(gòu)中嵌入信任級(jí)屬性(Trust Level,TL),引入第三方信任中心(Third Trust Center,TTC)來監(jiān)控用戶訪問行為,同時(shí)DO授權(quán)TTC進(jìn)行密鑰分發(fā),TTC根據(jù)用戶屬性集和信任等級(jí)來賦予相應(yīng)操作權(quán)限,從而實(shí)現(xiàn)訪問控制。
圖1 系統(tǒng)模型
本方案云存儲(chǔ)模型包含4個(gè)實(shí)體,數(shù)據(jù)擁有者(DO)、云服務(wù)提供商(CSP)、第三方信任中心(TTC)和訪問用戶(User)。具體系統(tǒng)模型設(shè)計(jì)如圖1所示。
1.2 方案具體實(shí)現(xiàn)
1.2.1 信任計(jì)算模塊
用戶的信任值由TTC負(fù)責(zé)計(jì)算,方案在TTC中嵌入信任計(jì)算模塊計(jì)算信任值,再通過得出的信任值來確定信任等級(jí)。信任計(jì)算模塊如圖2所示。
圖2 信任計(jì)算模塊
結(jié)合文獻(xiàn)[5]中關(guān)于信任值計(jì)算的方法,在時(shí)間衰減δ(t)和權(quán)重因子ω兩類動(dòng)態(tài)因子作用下,涉及直接信任值DT(xi,xj)、推薦信任值RT(xi,xj)、自薦信任值ST(xi,xj)和綜合信任值GT(xi,xj)的算法。
1.2.2 相關(guān)信任值計(jì)算
為了減少計(jì)算開銷,假設(shè)xi與xj之間進(jìn)行交互使用同一條服務(wù)。則有:
(2)RT(xi,xj)= DT(xi,xt)·DT(xt,xj)。xi與xj沒有直接交互過,但都與xt有過交互,xt作為中間節(jié)點(diǎn)起到傳遞的作用。
(1)GT(xi,xj)=ω1DT(xi,xj)+ω2RT(xi,xj)+ω3ST(xi,xj)。在時(shí)間衰減和權(quán)重因子作用下得到實(shí)體xi與xj的綜合信任值。其中:
K表示節(jié)點(diǎn)之間交互的次數(shù),當(dāng)且僅當(dāng)ω1+ω2+ω3=1。
1.2.3 方案算法實(shí)現(xiàn)
(1)Setup
運(yùn)行雙線性對(duì)(BDH),產(chǎn)生以階為素?cái)?shù)p的群G1和G2,g為G1的生成元,存在雙線性映射e:G1×G1→ G2。隨機(jī)選取α,β∈Zp*,生成共參數(shù)PK和主密鑰MK。
(2)Encrypt(PK,K,(T,trustlimit))
輸入公共參數(shù)PK,需要加密的明文數(shù)據(jù)(K),訪問策略(T,trustlimit); 系統(tǒng)輸出密文CK。其中訪問策略樹T中包含User信任級(jí)屬性TLi,trustlimit為TLi的約束條件。隨機(jī)選擇哈希函數(shù)H:{0,1}*→G1,將T中屬性映射為隨機(jī)群上一個(gè)元素。
設(shè)Y為T的所有葉子節(jié)點(diǎn)集合,令R為T的根節(jié)點(diǎn),從R開始,從上到下為T中每個(gè)節(jié)點(diǎn)x選擇dx-1次隨機(jī)多項(xiàng)式qx,其中dx為節(jié)點(diǎn)x的門限值。記qx(0)為節(jié)點(diǎn)x的秘密,函數(shù)ind(x)返回節(jié)點(diǎn)x的索引,函數(shù)par(x)返回x的父節(jié)點(diǎn),λy=attr(y)返回葉子節(jié)點(diǎn)y對(duì)應(yīng)的屬性。隨機(jī)選擇s∈Zp*,令qR(0)=s,其他節(jié)點(diǎn)x,qx(0)=qpar(x)(ind(x)),計(jì)算密文。
(1)KeyGen(PK,S,MK)
輸入公共參數(shù)PK,用戶屬性集合S和系統(tǒng)主密鑰MK; 隨機(jī)選擇r∈Zp*,對(duì)每一個(gè)j∈S,再隨機(jī)選擇rj∈Zp*,計(jì)算私鑰。
(2)Re-encrypt(CK,rk_tl)
該算法由CSP執(zhí)行,在原基礎(chǔ)上重構(gòu)。令rk_tl={ε1,ε2,…,εn},首先TTC根據(jù)相應(yīng)信任等級(jí)分發(fā)重加密密鑰ε∈Zp*,傳給CSP,再由CSP對(duì)CK進(jìn)行重加密。
(3)Re-key(SK,rk_tl,Ui)
該算法目的是更新私鑰。Ui={ID1,ID2,…,IDn}表示注冊(cè)用戶集合,當(dāng)中包含每個(gè)屬性用戶的唯一標(biāo)識(shí)ID,在ε作用下,利用屬性用戶集生成新的私鑰。
(4)Decrypt(CK’,SK’)
DO用自己的SK去解密密文,當(dāng)且僅當(dāng)自己的屬性集滿足訪問策略才能解密數(shù)據(jù)。定義遞歸運(yùn)算DecryptNode(CK’,SK’,x)
(5)若x是T上一個(gè)葉子節(jié)點(diǎn),令i=attr(x),則有:
解密得到對(duì)稱密鑰K,再用K去解密CT=Ek(M),最終得到明文數(shù)據(jù)M。
下面從以下三個(gè)方面具體分析其安全性。
(1)數(shù)據(jù)機(jī)密性
本文在CP-ABE加密算法基礎(chǔ)上結(jié)合信任值計(jì)算,而Bethencount等人[2]已經(jīng)利用DBDH困難假設(shè)證明了CP-ABE方案的安全性,所以本方案保證了整個(gè)訪問過程用戶數(shù)據(jù)的機(jī)密性。
(2)抗合謀攻擊
假設(shè)用戶聯(lián)合各自屬性集,但在信任級(jí)屬性的作用下也不能完全滿足訪問策略樹。而且用戶行為受到實(shí)時(shí)監(jiān)控,一旦用戶非法操作就會(huì)被撤銷權(quán)限,所以本方案對(duì)抗擊合謀攻擊是有效的。
(3)前向后向安全
當(dāng)用戶被撤銷時(shí),TTC生成新的密鑰ε’交給CSP,CSP對(duì)數(shù)據(jù)進(jìn)行重加密計(jì)算:
撤銷用戶無法使用現(xiàn)有的ε再次對(duì)明文數(shù)據(jù)進(jìn)行解密; 新加入的用戶使用ε’解密,但無法恢復(fù)之前利用ε進(jìn)行加密的明文數(shù)據(jù)。所以該方案保證了前向后向安全。
硬件設(shè)施:IntelCorei5-3320M 2.6GH,4GB內(nèi)存。實(shí)驗(yàn)環(huán)境搭建于Vmware Workstation虛擬機(jī)上,并安裝Ubuntu12.04和My Eclipse8.5分別作為實(shí)驗(yàn)的操作系統(tǒng)和開發(fā)平臺(tái),利用CloudSim[6]進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)代碼基于cpabe-0.11庫編寫,其中群G1、G2中元素模長選擇512bit,用戶屬性數(shù)目設(shè)置為50-100之間,對(duì)稱加密算法基于openssl-1.0.1庫的128位AES加密算法。
本方案將文獻(xiàn)[7]與文獻(xiàn)[8]的方案在計(jì)算消耗方面進(jìn)行對(duì)比。設(shè)G1、G2表示模指數(shù)運(yùn)算消耗; P表示雙線性運(yùn)算消耗; |S|為訪問策略中屬性的個(gè)數(shù); |M|表示用戶屬性集大小; |Y|為訪問結(jié)構(gòu)樹葉子節(jié)點(diǎn)個(gè)數(shù); |L|表示重加密密鑰長度。對(duì)比結(jié)果如表1所示。
表1 時(shí)間消耗
假設(shè)用戶擁有的平均擁有5個(gè)屬性,一次撤銷需要平均更換2個(gè)屬性。對(duì)數(shù)據(jù)文件大小為 1 MB進(jìn)行測(cè)試,則單次撤銷計(jì)算消耗與訪問控制結(jié)構(gòu)屬性數(shù)量的關(guān)系如圖3所示。
圖3 單次撤銷屬性開銷
從圖中看出,文獻(xiàn)[7]和文獻(xiàn)[8]權(quán)限撤銷的計(jì)算代價(jià)會(huì)與屬性遞增呈線性關(guān)系,因此,本文方案更適合于云數(shù)據(jù)存儲(chǔ),在信任管理機(jī)制的作用下,展現(xiàn)了屬性撤銷的計(jì)算優(yōu)勢(shì)。
本文針對(duì)云存儲(chǔ)數(shù)據(jù)訪問控制問題,在CP-ABE加密策略基礎(chǔ)下融合信任管理機(jī)制,將信任級(jí)屬性嵌入訪問結(jié)構(gòu)中,通過實(shí)時(shí)監(jiān)控用戶行為來實(shí)現(xiàn)訪問控制。在安全方面,信任級(jí)屬性主導(dǎo)用戶權(quán)限,信任值取決于用戶行為,而用戶行為被系統(tǒng)實(shí)時(shí)監(jiān)控,一旦觸發(fā)信任級(jí)訪問條件立即撤銷權(quán)限,所以有效的制止了非法用戶的違規(guī)操作; 在開銷方面,利用基于信任等級(jí)屬性的撤銷機(jī)制,更加靈活地解決了因?qū)傩猿蜂N而頻繁更換密鑰所導(dǎo)致的巨大計(jì)算開銷,實(shí)驗(yàn)結(jié)果也驗(yàn)證了方案的有效性。下一步工作希望在此基礎(chǔ)上改善信任管理機(jī)制,使信任值計(jì)算更準(zhǔn)確的反應(yīng)用戶行為;并且在加解密計(jì)算中優(yōu)化算法結(jié)構(gòu),使其具有更小計(jì)算開銷。
[1]王意潔,孫偉東,周松等.云計(jì)算環(huán)境下的分布存儲(chǔ)關(guān)鍵技術(shù)[J].軟件學(xué)報(bào),2012.
[2]Bethencourt J,Sahai A,Waters B.Ciphertext-Policy A ttribute-Based Encryption[J],2008.
[3]Pirretti M,Traynor P,Mcdaniel P,et al.Secure attributebased systems[C]// ACM Conference on Computer and Com munications Security,CCS 2006,Alexandria,Va,Usa,Ioctober 30 – November,2006.
[4]Li S,F(xiàn)u J.User revocation for data sharing based on b roadcast CP-ABE in cloud computing[C] // Communications Security Conference.IET,2014.
[5]游靜,馮輝,孫玉強(qiáng).云環(huán)境下基于協(xié)同推薦的信任評(píng)估與服務(wù)選擇[J].計(jì)算機(jī)科學(xué),2016.
[6]Calheiros R N,Ranjan R,Beloglazov A,et al.CloudSim: a toolkit for modeling and simulation of cloud computing en vironments and evaluation of resource provisioning algorithms [J].Software Practice & Experience,2011.
[7]A.P.Xiong,C.X.Xu and Q.X.Gan.A CP-ABE scheme wit h system attributes revocation in cloud storage.Wavelet Active Me dia Technology and Information Processing(ICCWAMTIP),2014 1 1th International Computer Conference on Chengdu,2014.
[8]姚文斌,韓司,李小勇.云存儲(chǔ)環(huán)境下的密文安全共享機(jī)制[J].通信學(xué)報(bào),2015.