袁鈺 馬海英 金超群 蒙憶雪
摘要:針對密文策略屬性基加密(CP-ABE)中成員撤銷問題,該文將CP-ABE和子集不同方法相結(jié)合,提出一個可撤銷成員的CP-ABE方案(R-CP-ABE),并將其合理布置在云儲存平臺上。該方案利用一次多項式將主密鑰分解為兩部分,并將其分別用于生成用戶私鑰和更新鑰。此外,將時問屬性嵌入用戶更新鑰和密文中,使得未撤銷成員可以得到相應的更新鑰,利用其私鑰和更新鑰可以獲得一個正確的解密鑰。與現(xiàn)有方案相比,該文方案不僅可以高效撤銷成員,而且具有較短的更新鑰和密文長度,特別適用于云存儲平臺,實現(xiàn)安全的細粒度訪問控制的數(shù)據(jù)共享服務。
關(guān)鍵詞:密文策略屬性加密;數(shù)據(jù)共享;子集不同方法;成員撤銷
中圖分類號:TP309 文獻標識碼:A
文章編號:1009-3044(2020)20-0001-05
Revocable Ciphertext-Policy Attribute-Based Encryption Scheme
YUAN Yu. MA Hai-ying*. Jlhr Chao-qun, MENC. Yi-xue
(College of Computer Science and Technology, Nantong University, Nantong 226019, China)
Abstract : For the memLer revocation problem in ciphertext-based attribute based encryption (CP - ABE), this paper combines CP- ABE and subset different methods, proposes a revocable CP - ABE scheme (R - CP - ABE), and reasonably deploys it in cloudstorage platform. our scheme uses a random polynomial of degree one to divide the master key into two parts-one for the user pri-vate key and the other for the update key. In addition, a time property is embedded into the user update key and the ciphertext si-multaneously, and the non-revoked users can get their update keys such that they can get their right decryption keys by their pri-vate keys and update keys. Compared with the existing schemes. our scheme not only can efficiently revoke users. but also has lessgroup elements in the update key and the ciphertext. Our scheme is especially suitable for cloud storage platform. and implementsthe fine-grainecl access control for data sharing service securely.
Key words : ciphertext-policy attribute-based encryption; data sharing; suhset different methods: user revocation
1引言
由于云計算能夠提供廉價方便的計算和存儲服務,越來越多的用戶嘗試將其數(shù)據(jù)存儲到云端。云服務商不完全可信和黑客攻擊,勢必對數(shù)據(jù)安全和用戶隱私造成很大威脅。Google、雅虎等互聯(lián)網(wǎng)巨頭都曾發(fā)生過大批文件泄露事件。密文策略屬性加密(CP-ABE)能夠?qū)τ脩艄蚕頂?shù)據(jù)實現(xiàn)細粒度訪問控制策略,有效地保護數(shù)據(jù)安全和用戶隱私。
2005年,Sahai和Waters[1]首先提出屬性加密的概念,采用用戶屬性描述其特征,用戶私鑰和密文都與屬性集合相關(guān),當密鑰和密文的屬性集合匹配度達到系統(tǒng)規(guī)定的門限值時,該用戶可解密密文。ABE的兩種擴展形式為密鑰策略屬性基加密(KP-ABE)和密文策略屬性基加密(CP-ABE)。KP-ABE使用戶密鑰與訪問控制策略相關(guān),密文與屬性集合相關(guān),僅當密文中的屬性能夠滿足用戶私鑰中的訪問控制策略時,用戶可解密密文。CP-ABE[2]使用戶密鑰與屬性集合相關(guān),密文與訪問控制策略相關(guān),僅當用戶屬性滿足密文的訪問控制策略時,用戶可解密密文。此外,針對加解密計算成本過大、私鑰濫用、密鑰泄漏等問題,學者們提出了在線/離線加密機制[11-12]、可追蹤并撤銷叛徒[13-14]、抗連續(xù)輔助輸入泄漏[15]的ABE方案。由于CP-ABE允許數(shù)據(jù)擁有者直接將訪問控制策略嵌入密文中,更適用于云計算環(huán)境下的數(shù)據(jù)共享[6,16]。
針對ABE的成員撤銷問題,現(xiàn)有ABE機制借鑒可撤銷的身份加密[4-5]中成員撤銷的方法,提出了許多可撤銷成員的ABE方案。現(xiàn)有的可撤銷ABE方案[7-10]分為直接撤銷和間接撤銷兩種。在直接撤銷模式中,數(shù)據(jù)擁有者將用戶撤銷列表直接嵌入密文中,不需要周期性頒發(fā)更新鑰,密文長度與成員撤銷列表有關(guān),勢必造成密文長度與撤銷列表線性增大;在間接撤銷模式中,密鑰分發(fā)中心需要為未撤銷用戶周期性頒發(fā)更新鑰,未撤銷用戶利用其私鑰與更新鑰獲得解密密鑰,撤銷用戶不能獲取正確的更新鑰,從而失去解密能力。然而,現(xiàn)有的直接撤銷ABE方案采用完全子樹方法實現(xiàn)成員的撤銷,由于其更新鑰長度過大,從而使分發(fā)更新鑰的服務器將成為系統(tǒng)的瓶頸。
本文借鑒Lee等[3]的撤銷方案,將子集不同方法與CP-ABE方案結(jié)合,提出一種可撤銷成員的CP-ABE方案(R-CP-ABE)。該方案利用一次多項式將主密鑰分解為兩部分,并將其分別用于生成用戶私鑰和更新鑰。為了撤銷成員,增加一個時間屬性,并將其嵌入用戶更新鑰和密文中,使得未撤銷成員可以得到相應的更新鑰,進而獲得一個正確的解密鑰。與現(xiàn)有方案相比,本文方案不僅可以高效撤銷成員,而且具有較短的密文和更新鑰長度,將更新鑰長度從O(rlog(|N|/r))減少到O(r),其中,|N|表示用戶的總數(shù),r表示撤銷成員的個數(shù)。因此,本文R-CP-ABE方案能夠?qū)崿F(xiàn)安全的細粒度訪問控制的數(shù)據(jù)共享服務,適用于在云存儲平臺上布置共享數(shù)據(jù)的細粒度安全訪問。
2預備知識
2.1符號說明
本文中,符號x←Zp表示在Zp中隨機選取元素x。當A表示某個算法時,符號A(a1,a2,…,an)→b1,…,bm表示算法A以a1,a2,…,an為輸入,輸出b1,…,bm。
2.2訪問結(jié)構(gòu)和線性秘密共享方案(LSSS)
定義1(訪問結(jié)構(gòu)[6]):設(shè)P ={P1,P2,…,Pn}是n個屬性的集合,訪問結(jié)構(gòu)是P的某些非空子集構(gòu)成的集族A(或單調(diào)集族),即A∈2P\Φ,A中的集合稱為授權(quán)集,不在A中的集合稱為非授權(quán)集。對任意集合B、C,都有:若B∈A且B∈C,則C∈A。
定義2(LSSS[6]):屬性集合P={P1,P2,…,Pn}上的一個秘密共享方案Ⅱ是線性的,如果①屬性的秘密分享值構(gòu)成Zp上的一個向量;②對于Ⅱ,存在一個秘密份額生成矩陣Al×h和行標號函數(shù)p:{1,…,l)→P,設(shè)S∈Zp是待共享的秘密值,隨機選擇r2,…,rh∈Zp,構(gòu)成向量v=(s,r2,…,rh),令v為v的轉(zhuǎn)置,則A·v是1個秘密份額構(gòu)成的向量,根據(jù)標號函數(shù)將秘密份額λi=(Av)I(1≤i≤1)分配給屬性p(i)。
重構(gòu)性:假定S∈A是授權(quán)集,定義I=(i:p(i)∈S)∈{1,…,l},則可以找到多項式時間算法計算重構(gòu)系數(shù){ci∈Zp}i∈I,使得對于秘密值s的任意有效份額{λi}i∈{1,…,l}滿足∑i∈Iciλi=s。
2.3雙線性群和困難假設(shè)
令p是一個大素數(shù),G和GT是p階循環(huán)群,g是群G的生成元,ζ是群生成算法。該算法ζ輸入系統(tǒng)的安全參數(shù)λ,輸出一個對雙線性群G的描述,即ζ輸出一個元組(p,G,GT,e),其中映=(Av)I(1≤i≤1)分配給屬性p(i)。
重構(gòu)性:假定S∈A是授權(quán)集,定義I=(i:p(i)∈S)∈{1,…,l},則可以找到多項式時間算法計算重構(gòu)系數(shù){ci∈Zp}i∈I,使得對于秘密值s的任意有效份額{λi}i∈{1,…,l}滿足∑i∈Iciλi=s。
2.3雙線性群和困難假設(shè)
令p是一個大素數(shù),G和GT是p階循環(huán)群,g是群G的生成元,ζ是群生成算法。該算法ζ輸入系統(tǒng)的安全參數(shù)λ,輸出一個對雙線性群G的描述,即ζ輸出一個元組(p,G,GT,e),其中映射e:GxG→G,滿足:(1)雙線性:Vu,v∈G;a,b∈ZN; e(ua,vb)=e(u,v)ab.(2)非退化性:g∈G使得e{g,g)在GT中的階為N.(3)可計算性:G和GT中的運算以及雙線性映射e都是在多項式時間內(nèi)可計算的。
假設(shè)1(確定性q-parallel BDHE假設(shè)).令g是群G的生成元,隨機選擇a,s,b1,…,bq∈Zp,計算向量y如下:
g,gs,ga,…,g(aq),g(aq+2),…,g(a2q)
在敵手A獲知向量y的情況下,選擇一個隨機元素R∈GT,A僅能以可忽略的優(yōu)勢區(qū)分R和g(aq+2),則稱確定性q-parallelBDHE假設(shè)是成立的。
2.4完全二叉樹
在一個完全二叉樹T中,除葉結(jié)點外,每個結(jié)點都有兩個孩子。令N表示葉結(jié)點的總數(shù),則丁有2N-l個結(jié)點。對i=l到2N-1,用vi表示T的一個結(jié)點,令di表示結(jié)點vi的高度,是從根結(jié)點到結(jié)點vi的路徑長度,根結(jié)點的高度為0,二叉樹T的高度是從其根結(jié)點到葉結(jié)點的路徑長度。T的同一層結(jié)點是指具有相同高度的結(jié)點的集合。令Si表示以vi為根結(jié)點的子樹中葉結(jié)點的集合。選擇兩個結(jié)點vi和vj,且vi是vj的父結(jié)點,定義Sij=Si-Sj,即以vi為根結(jié)點的子樹中葉結(jié)點的集合減去以vj為根結(jié)點的子樹中葉結(jié)點的集合。
在T中每條邊,右分支對應位串“1”,左分支對應位串“0”。令結(jié)點vi的標識符Li定義為從根結(jié)點到vi的路徑中所有邊的比特串連接起來,L(Si,j)被定義為標識符(Li,Lj)的元組。群標簽GL定義為{Si,j}中以結(jié)點vi為根節(jié)點,且具有相同高度子孫結(jié)點集合的標識符,即結(jié)點vi相同且具有相同高度vi結(jié)點集合的標簽。將Lable(Si,j)定義為一個群標簽函數(shù),該函數(shù)唯一地將一個子集Si,j映射到標識符(Li,Lj)。為了實現(xiàn)成員的撤銷,為每一個群標簽GL分配了一個隨機多項式fGL(x)=aGL×x+α,其中,aGL是一個隨機值,α是系統(tǒng)的主密鑰。令R表示被撤銷的用戶集合,ST(R)是由根結(jié)點和集合冗生成的Steiner樹T,該樹T是包含根結(jié)點和所有在集合冗中的葉結(jié)點的最小子樹。
2.5子集不同方法
子集覆蓋框架[10]作為一個通用的撤銷方法,包括完全子樹方法和子集不同(SD)方法,SD作為完全子樹方案的改進而被提出,其定義如下:
定義5(子集不同)SD方法由Setup、Assign、Cover、Match四個算法組成,定義如下:
SD.Setup(Nmax):初始化算法輸入最大用戶數(shù)集合N,給定一個高度為n的完全二叉樹T,令|N|表示最大用戶數(shù)量且|N|=2n。該算法將T中一個葉結(jié)點分配給一個用戶,使得每個用戶與T中一個葉結(jié)點相對應。對任意兩個結(jié)點vi,vj∈T且vi是vj的父結(jié)點,得到子集{Si,j}的集族S。該算法輸出T和S。
SD.Assign(T,u):給定完全二叉樹T和用戶u∈N,該算法為用戶u分配一個葉結(jié)點vu。令(v0,vk1,…,vkn=vu)表示從根結(jié)點”。到葉結(jié)點vu的路徑,設(shè)置私有集PVu為空。對所有的vi,vj∈{v0,vk1,…,vkn}且vi是vj的父結(jié)點,該算法將所有的子集Si,j添加到PVu中。該算法輸出為用戶的私有集PVu={Si,j}。
SD.cover(T,R):給定完全二叉樹T和撤銷用戶集R,該覆蓋算法得到Steiner樹ST(R),令子樹Tr= ST(R),然后遞歸從T中刪除結(jié)點直到樹T只包含一個結(jié)點為止,得到一個覆蓋集合CVR,該集合包含所有未撤銷用戶,過程如下:
(1)對Tr中兩個相鄰葉結(jié)點vi和vj,找到vi和vj的最小父結(jié)點v,使得v的子孫結(jié)點集不包含Tr的其他葉子結(jié)點。令vl和vr是v的兩個子結(jié)點,使得vi是vl的子結(jié)點,vj是vr的子結(jié)點。如果只剩下一個葉結(jié)點,則令vi=vj,令v為T的根結(jié)點,vl=vr=v;
(2)若vl≠vi,將Sl,i加入到CVR中;同理,若vr≠vj,則將Sr.j加入到CVR中;
(3)從Tr中移除v的所有子結(jié)點并使其成為一個葉結(jié)點。
該算法的輸出為覆蓋集合CVR={Si,j}。
SD.Match(PVu,CVR):該匹配算法輸入私有集合PVu={Si.j}和覆蓋集合CVR={S'i',j'},搜索兩個子集Si.j∈PV和S'i',j'∈CVR使得i=i,j≠j',vj和vj'具有相同的高度。如果找到了滿足上述條件的子集,該算法輸出(Si,j',S'i',j');否則,輸出失敗符號⊥。
3R-CP-ABE的定義和安全性模型
R-CP-ABE方案由7個算法組成:初始化Setup,私鑰生成CenKey,私鑰更新UpdateKey,解密鑰生成DeriveKeV,加密Enc、,解密Dec和成員撤銷Rev。
Setup(λ,U,M,N)→(PK,MK,ST,R):初始化算法輸入系統(tǒng)安全參數(shù)λ,屬性全集U和用戶的最大個數(shù)N,輸出系統(tǒng)公鑰PK,主密鑰MK,系統(tǒng)狀態(tài)列表ST和用戶撤銷列表R。
GenKey(PK, MK,(ID,ω),ST)一SKID,ω:私鑰生成算法輸入系統(tǒng)公鑰PK,主密鑰MK,系統(tǒng)狀態(tài)列表ST和用戶的身份屬性對,輸出該用戶的屬性私鑰SKID,ω。
UpdateKey(T,R,MK, ST, PK)→(ST, UKT,R):更新鑰生成算法輸入時間T,成員撤銷列表R,系統(tǒng)當前狀態(tài)ST,系統(tǒng)公鑰PK,主密鑰MK,輸出更新后狀態(tài)ST和更新鑰UKT,R。
DeriveKey(SKID,ω,UKT,R,PK)→DK(ID,ω),T\⊥:解密密鑰生成算法輸入用戶私鑰SKID,ω,更新鑰UKT,R,系統(tǒng)公鑰PK,輸出解密密鑰DK(ID,ω),T。
Enc(PK,m,,A,T)→CTA,T:加密算法輸入系統(tǒng)公鑰PK,消息m,訪問策咯A和時間T,輸出一個密文CTA,T。
Dec(CTA,T,DK(ID,ω),T,PK)→m\⊥:解密算法輸入密文CTA,T,解密密鑰DK(ID,ω),T和系統(tǒng)公鑰PK.輸出明文消息m或者失敗符號上。
Rev(ID,T,ST)→R:成員撤銷算法輸入撤銷用戶身份ID,撤銷時間T,當前撤銷列表R和系統(tǒng)當前狀態(tài)SL,輸出更新后的撤銷列表R。
R-CP-ABE的正確性:因為Setup(λ,U,Mmax)→(PK,MK,ST,R),CenKey(PK,MK, (ID,ω),ST)→SKID,ω,UpdateKey(T,R,MK,ST. PK)→(ST,UKT,R),Enc(PK.m,A,T)→CTA,T滿足以下兩種情況:
(1)如(ID∈R),則DeriveKey(SKID,ω,UKT,R,PK)→DK(ID,ω);否則DeriveKey(SKID,ω,UKT,R,PK)→⊥。
(2)如果(ω∈A)^(T=T'),則Dec(CTA,T,DK(ID,ω),T,PK)→m;否則Dec(CTA,T,DK(ID,ω),T,PK)→⊥。
R-CP-ABE的選擇安全性由挑戰(zhàn)者S和攻擊者A之間的交互游戲來定義,如下所示:
Init:攻擊者A將挑戰(zhàn)策略A*,挑戰(zhàn)時間T*,T*時刻的撤銷身份集R*發(fā)送給S。
Setup:挑戰(zhàn)者S運行Setup(λ,U,Nmax)→(PK,MK,ST,R),并且將PK發(fā)送給A。
階段l:A可以向由S模擬的下面三個預言機進行多項式次詢問:
(1)私鑰生成預言機KG(·):A提交一個身份一屬性對(ID,ω)給S,S運行(GenKey(PK,MK,(ID,ω),ST)→SKID,ω,并且發(fā)送SKID,ω給A。
(2)更新鑰預言機KU(·):A提交時間T和一個撤銷集合R給S,S運行UpdateKey(T, RL,MK,ST,PK)→(ST,UKT,R),并且發(fā)送UKT,R給A。
(3)撤銷預言機RO(·):A提交一個身份-時間對(ID,T)給S,S運行Rev(ID,T,R,ST)→R,并且發(fā)送R給A。運行該撤銷預言機的前提是:若A在T時刻詢問了更新鑰預言機,則不能同時詢問T時刻的撤銷預言機。
該詢問階段必須滿足以下限制條件:KU(·)和RO(·)的詢問時間必須是非遞減的。
挑戰(zhàn):A提交兩個等長度信息m0和m1給S,S選取一個隨機位c∈{0,1}運行Enc(PK,m,A*,T)→CT*,并且將CT*發(fā)送給A。
階段2:與階段1相同。
猜測:A輸出一個猜測值c。
僅當c=c,A贏得這場游戲。定義A在這場博弈的優(yōu)勢為Adv(A)=|Pr|c'=c|-1/2|。
[9]Q.Li,H.Xiong,F(xiàn).Zhang. Broadcast revocation scheme incomposite-order bilinear group and its application to attributebased encryption[J]. International Journal Security and Net-works. 2013, 8(1): 1-12.
[10]馬海英,曾國蓀.可追蹤并撤銷叛徒的屬性基加密方案[J].計算機學報.2012.35(9): 1845-1855.
[11]馬海英,曾國蓀,王占君.高效可證明安全的基于屬性的在線/離線加密機制[J].通信學報,2014, 35(7): 104-112.
[12] Wang zhanjun, Ma Haiying, Wang Jinhua. Attribute-basedonline/offline encryption with outsourcing decryption[J]. Jour-nal of Information Science and Engineering, 2016, 32(6):1595-1611.
[13]馬海英,曾國蓀,陳建平,等.適應性安全可追蹤叛徒的屬性基加密方案[J]通信學報,2016,37(1):76-87.
[14] Ma Haiying, Zeng Guosun, Wang Zhanjun. Fully SecureMulti-AuthoritV Attribute-Based Traitor Tracing[J]. Journal ofComputational Information SYstems. 2013. 9(7): 2793-2800.
[15]馬海英,曾國蓀,包志華,等.抗連續(xù)輔助輸入泄漏的屬性基加密方案[J].計算機研究與發(fā)展,2016.53(8): 1867-1878.
[16] M. Horvath. Attrihute-based encryption optimized for cloudcomputing[J].Proc. SOFSEM 2015. Berlin, Germany: Springer,LNCS. 2009.8939:566-577.
[l7]B.Waters, Ciphertext-policy attribute-hased encryption: anexpressive, efficient. and provably secure realization[J]. PKC2011. LNCS. 2011. 6571:53-70.
【通聯(lián)編輯:代影】
收稿日期:2020-04-23
基金項目:國家自然科學基金(No.61402244, 11371207);江蘇省大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201910304096Y)
作者簡介:袁鈺(1998-),男,江蘇鹽城人,本科生,主要研究方向:信息安全;通信作者:馬海英(1977-),女,河南新鄉(xiāng)人,副教授,博士,主要研究方向:公鑰密碼學、隱私保護;金超群(1998-),女,江蘇揚州人,本科生,主要研究方向:信息安全;蒙憶雪(1996-),女,貴州畢節(jié)人,本科生,主要研究方向:信息安全。
本欄目責任編輯:李雅琪