袁钰 马海英 金超群 蒙忆雪
摘要:针对密文策略属性基加密(CP-ABE)中成员撤销问题,该文将CP-ABE和子集不同方法相结合,提出一个可撤销成员的CP-ABE方案(R-CP-ABE),并將其合理布置在云储存平台上。该方案利用一次多项式将主密钥分解为两部分,并将其分别用于生成用户私钥和更新钥。此外,将时问属性嵌入用户更新钥和密文中,使得未撤销成员可以得到相应的更新钥,利用其私钥和更新钥可以获得一个正确的解密钥。与现有方案相比,该文方案不仅可以高效撤销成员,而且具有较短的更新钥和密文长度,特别适用于云存储平台,实现安全的细粒度访问控制的数据共享服务。
关键词:密文策略属性加密;数据共享;子集不同方法;成员撤销
中图分类号: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引言
由于云计算能够提供廉价方便的计算和存储服务,越来越多的用户尝试将其数据存储到云端。云服务商不完全可信和黑客攻击,势必对数据安全和用户隐私造成很大威胁。Google、雅虎等互联网巨头都曾发生过大批文件泄露事件。密文策略属性加密(CP-ABE)能够对用户共享数据实现细粒度访问控制策略,有效地保护数据安全和用户隐私。
2005年,Sahai和Waters[1]首先提出属性加密的概念,采用用户属性描述其特征,用户私钥和密文都与属性集合相关,当密钥和密文的属性集合匹配度达到系统规定的门限值时,该用户可解密密文。ABE的两种扩展形式为密钥策略属性基加密(KP-ABE)和密文策略属性基加密(CP-ABE)。KP-ABE使用户密钥与访问控制策略相关,密文与属性集合相关,仅当密文中的属性能够满足用户私钥中的访问控制策略时,用户可解密密文。CP-ABE[2]使用户密钥与属性集合相关,密文与访问控制策略相关,仅当用户属性满足密文的访问控制策略时,用户可解密密文。此外,针对加解密计算成本过大、私钥滥用、密钥泄漏等问题,学者们提出了在线/离线加密机制[11-12]、可追踪并撤销叛徒[13-14]、抗连续辅助输入泄漏[15]的ABE方案。由于CP-ABE允许数据拥有者直接将访问控制策略嵌入密文中,更适用于云计算环境下的数据共享[6,16]。
针对ABE的成员撤销问题,现有ABE机制借鉴可撤销的身份加密[4-5]中成员撤销的方法,提出了许多可撤销成员的ABE方案。现有的可撤销ABE方案[7-10]分为直接撤销和间接撤销两种。在直接撤销模式中,数据拥有者将用户撤销列表直接嵌入密文中,不需要周期性颁发更新钥,密文长度与成员撤销列表有关,势必造成密文长度与撤销列表线性增大;在间接撤销模式中,密钥分发中心需要为未撤销用户周期性颁发更新钥,未撤销用户利用其私钥与更新钥获得解密密钥,撤销用户不能获取正确的更新钥,从而失去解密能力。然而,现有的直接撤销ABE方案采用完全子树方法实现成员的撤销,由于其更新钥长度过大,从而使分发更新钥的服务器将成为系统的瓶颈。
本文借鉴Lee等[3]的撤销方案,将子集不同方法与CP-ABE方案结合,提出一种可撤销成员的CP-ABE方案(R-CP-ABE)。该方案利用一次多项式将主密钥分解为两部分,并将其分别用于生成用户私钥和更新钥。为了撤销成员,增加一个时间属性,并将其嵌入用户更新钥和密文中,使得未撤销成员可以得到相应的更新钥,进而获得一个正确的解密钥。与现有方案相比,本文方案不仅可以高效撤销成员,而且具有较短的密文和更新钥长度,将更新钥长度从O(rlog(|N|/r))减少到O(r),其中,|N|表示用户的总数,r表示撤销成员的个数。因此,本文R-CP-ABE方案能够实现安全的细粒度访问控制的数据共享服务,适用于在云存储平台上布置共享数据的细粒度安全访问。
2预备知识
2.1符号说明
本文中,符号x←Zp表示在Zp中随机选取元素x。当A表示某个算法时,符号A(a1,a2,…,an)→b1,…,bm表示算法A以a1,a2,…,an为输入,输出b1,…,bm。
2.2访问结构和线性秘密共享方案(LSSS)
定义1(访问结构[6]):设P ={P1,P2,…,Pn}是n个属性的集合,访问结构是P的某些非空子集构成的集族A(或单调集族),即A∈2P\Φ,A中的集合称为授权集,不在A中的集合称为非授权集。对任意集合B、C,都有:若B∈A且B∈C,则C∈A。
定义2(LSSS[6]):属性集合P={P1,P2,…,Pn}上的一个秘密共享方案Ⅱ是线性的,如果①属性的秘密分享值构成Zp上的一个向量;②对于Ⅱ,存在一个秘密份额生成矩阵Al×h和行标号函数p:{1,…,l)→P,设S∈Zp是待共享的秘密值,随机选择r2,…,rh∈Zp,构成向量v=(s,r2,…,rh),令v为v的转置,则A·v是1个秘密份额构成的向量,根据标号函数将秘密份额λi=(Av)I(1≤i≤1)分配给属性p(i)。
重构性:假定S∈A是授权集,定义I=(i:p(i)∈S)∈{1,…,l},则可以找到多项式时间算法计算重构系数{ci∈Zp}i∈I,使得对于秘密值s的任意有效份额{λi}i∈{1,…,l}满足∑i∈Iciλi=s。
2.3双线性群和困难假设
令p是一个大素数,G和GT是p阶循环群,g是群G的生成元,ζ是群生成算法。该算法ζ输入系统的安全参数λ,输出一个对双线性群G的描述,即ζ输出一个元组(p,G,GT,e),其中映=(Av)I(1≤i≤1)分配给属性p(i)。
重构性:假定S∈A是授权集,定义I=(i:p(i)∈S)∈{1,…,l},则可以找到多项式时间算法计算重构系数{ci∈Zp}i∈I,使得对于秘密值s的任意有效份额{λi}i∈{1,…,l}满足∑i∈Iciλi=s。
2.3双线性群和困难假设
令p是一个大素数,G和GT是p阶循环群,g是群G的生成元,ζ是群生成算法。该算法ζ输入系统的安全参数λ,输出一个对双线性群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都是在多项式时间内可计算的。
假设1(确定性q-parallel BDHE假设).令g是群G的生成元,随机选择a,s,b1,…,bq∈Zp,计算向量y如下:
g,gs,ga,…,g(aq),g(aq+2),…,g(a2q)
在敌手A获知向量y的情况下,选择一个随机元素R∈GT,A仅能以可忽略的优势区分R和g(aq+2),则称确定性q-parallelBDHE假设是成立的。
2.4完全二叉树
在一个完全二叉树T中,除叶结点外,每个结点都有两个孩子。令N表示叶结点的总数,则丁有2N-l个结点。对i=l到2N-1,用vi表示T的一个结点,令di表示结点vi的高度,是从根结点到结点vi的路径长度,根结点的高度为0,二叉树T的高度是从其根结点到叶结点的路径长度。T的同一层结点是指具有相同高度的结点的集合。令Si表示以vi为根结点的子树中叶结点的集合。选择两个结点vi和vj,且vi是vj的父结点,定义Sij=Si-Sj,即以vi为根结点的子树中叶结点的集合减去以vj为根结点的子树中叶结点的集合。
在T中每条边,右分支对应位串“1”,左分支对应位串“0”。令结点vi的标识符Li定义为从根结点到vi的路径中所有边的比特串连接起来,L(Si,j)被定义为标识符(Li,Lj)的元组。群标签GL定义为{Si,j}中以结点vi为根节点,且具有相同高度子孙结点集合的标识符,即结点vi相同且具有相同高度vi结点集合的标签。将Lable(Si,j)定义为一个群标签函数,该函数唯一地将一个子集Si,j映射到标识符(Li,Lj)。为了实现成员的撤销,为每一个群标签GL分配了一个隨机多项式fGL(x)=aGL×x+α,其中,aGL是一个随机值,α是系统的主密钥。令R表示被撤销的用户集合,ST(R)是由根结点和集合冗生成的Steiner树T,该树T是包含根结点和所有在集合冗中的叶结点的最小子树。
2.5子集不同方法
子集覆盖框架[10]作为一个通用的撤销方法,包括完全子树方法和子集不同(SD)方法,SD作为完全子树方案的改进而被提出,其定义如下:
定义5(子集不同)SD方法由Setup、Assign、Cover、Match四个算法组成,定义如下:
SD.Setup(Nmax):初始化算法输入最大用户数集合N,给定一个高度为n的完全二叉树T,令|N|表示最大用户数量且|N|=2n。该算法将T中一个叶结点分配给一个用户,使得每个用户与T中一个叶结点相对应。对任意两个结点vi,vj∈T且vi是vj的父结点,得到子集{Si,j}的集族S。该算法输出T和S。
SD.Assign(T,u):给定完全二叉树T和用户u∈N,该算法为用户u分配一个叶结点vu。令(v0,vk1,…,vkn=vu)表示从根结点”。到叶结点vu的路径,设置私有集PVu为空。对所有的vi,vj∈{v0,vk1,…,vkn}且vi是vj的父结点,该算法将所有的子集Si,j添加到PVu中。该算法输出为用户的私有集PVu={Si,j}。
SD.cover(T,R):给定完全二叉树T和撤销用户集R,该覆盖算法得到Steiner树ST(R),令子树Tr= ST(R),然后递归从T中删除结点直到树T只包含一个结点为止,得到一个覆盖集合CVR,该集合包含所有未撤销用户,过程如下:
(1)对Tr中两个相邻叶结点vi和vj,找到vi和vj的最小父结点v,使得v的子孙结点集不包含Tr的其他叶子结点。令vl和vr是v的两个子结点,使得vi是vl的子结点,vj是vr的子结点。如果只剩下一个叶结点,则令vi=vj,令v为T的根结点,vl=vr=v;
(2)若vl≠vi,将Sl,i加入到CVR中;同理,若vr≠vj,则将Sr.j加入到CVR中;
(3)从Tr中移除v的所有子结点并使其成为一个叶结点。
该算法的输出为覆盖集合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):初始化算法输入系统安全参数λ,属性全集U和用户的最大个数N,输出系统公钥PK,主密钥MK,系统状态列表ST和用户撤销列表R。
GenKey(PK, MK,(ID,ω),ST)一SKID,ω:私钥生成算法输入系统公钥PK,主密钥MK,系统状态列表ST和用户的身份属性对,输出该用户的属性私钥SKID,ω。
UpdateKey(T,R,MK, ST, PK)→(ST, UKT,R):更新钥生成算法输入时间T,成员撤销列表R,系统当前状态ST,系统公钥PK,主密钥MK,输出更新后状态ST和更新钥UKT,R。
DeriveKey(SKID,ω,UKT,R,PK)→DK(ID,ω),T\⊥:解密密钥生成算法输入用户私钥SKID,ω,更新钥UKT,R,系统公钥PK,输出解密密钥DK(ID,ω),T。
Enc(PK,m,,A,T)→CTA,T:加密算法输入系统公钥PK,消息m,访问策咯A和时间T,输出一个密文CTA,T。
Dec(CTA,T,DK(ID,ω),T,PK)→m\⊥:解密算法输入密文CTA,T,解密密钥DK(ID,ω),T和系统公钥PK.输出明文消息m或者失败符号上。
Rev(ID,T,ST)→R:成员撤销算法输入撤销用户身份ID,撤销时间T,当前撤销列表R和系统当前状态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的选择安全性由挑战者S和攻击者A之间的交互游戏来定义,如下所示:
Init:攻击者A将挑战策略A*,挑战时间T*,T*时刻的撤销身份集R*发送给S。
Setup:挑战者S运行Setup(λ,U,Nmax)→(PK,MK,ST,R),并且将PK发送给A。
阶段l:A可以向由S模拟的下面三个预言机进行多项式次询问:
(1)私钥生成预言机KG(·):A提交一个身份一属性对(ID,ω)给S,S运行(GenKey(PK,MK,(ID,ω),ST)→SKID,ω,并且发送SKID,ω给A。
(2)更新钥预言机KU(·):A提交時间T和一个撤销集合R给S,S运行UpdateKey(T, RL,MK,ST,PK)→(ST,UKT,R),并且发送UKT,R给A。
(3)撤销预言机RO(·):A提交一个身份-时间对(ID,T)给S,S运行Rev(ID,T,R,ST)→R,并且发送R给A。运行该撤销预言机的前提是:若A在T时刻询问了更新钥预言机,则不能同时询问T时刻的撤销预言机。
该询问阶段必须满足以下限制条件:KU(·)和RO(·)的询问时间必须是非递减的。
挑战:A提交两个等长度信息m0和m1给S,S选取一个随机位c∈{0,1}运行Enc(PK,m,A*,T)→CT*,并且将CT*发送给A。
阶段2:与阶段1相同。
猜测:A输出一个猜测值c。
仅当c=c,A赢得这场游戏。定义A在这场博弈的优势为Adv(A)=|Pr|c'=c|-1/2|。
[9]Q.Li,H.Xiong,F.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]马海英,曾国荪,包志华,等.抗连续辅助输入泄漏的属性基加密方案[J].计算机研究与发展,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.
【通聯编辑:代影】
收稿日期:2020-04-23
基金项目:国家自然科学基金(No.61402244, 11371207);江苏省大学生创新创业训练计划项目(201910304096Y)
作者简介:袁钰(1998-),男,江苏盐城人,本科生,主要研究方向:信息安全;通信作者:马海英(1977-),女,河南新乡人,副教授,博士,主要研究方向:公钥密码学、隐私保护;金超群(1998-),女,江苏扬州人,本科生,主要研究方向:信息安全;蒙忆雪(1996-),女,贵州毕节人,本科生,主要研究方向:信息安全。
本栏目责任编辑:李雅琪