一种可撤销的属性签密方案
2016-08-17马海峰彭长根朱义杰李甲帅
马海峰,彭长根,朱义杰,李甲帅
(1.贵州大学 计算机科学与技术学院,贵州 贵阳 550025;2.贵州大学 密码学与数据安全研究所,贵州 贵阳 550025)
一种可撤销的属性签密方案
马海峰,彭长根*,朱义杰,李甲帅
(1.贵州大学 计算机科学与技术学院,贵州 贵阳 550025;2.贵州大学 密码学与数据安全研究所,贵州 贵阳 550025)
属性签密机制在实际运用中受限于属性撤销效率低的问题,传统的属性签密方案大都无法实现撤销操作并高效解决上述问题;针对云存储环境下属性签密方案中无法实现属性撤销且开销较大的不足,提出一种属性可撤销的签密方案。在签密技术实现同时加密与签密目的的基础上,结合密钥分割和代理重加密方法,达到属性撤销的目的。引入中间代理结构,基于撤销列表建立属性撤销协议提高撤销效率,实现基于属性密码并且属性可撤销的签密方案,并对方案的安全性进行证明。
属性加密;撤销;密钥分割;签密
云计算快速发展,数据外包作为云服务的一项主要功能,越来越多的用户将数据存储于云存储服务器,实现数据共享,比如在线备份、云端存储都属于这类服务。传统的访问控制不能在云存储环境下有效保证数据存储的安全性。签密技术以其计算量及通信开销都低于传统“先签名后加密”方法的优势,能高效地同时完成加密和签名[1]。属性加密机制,将访问控制结构与用户的属性相关联,当且仅当用户属性满足访问控制结构时,才能正确解密密文,丰富了加密策略的灵活性和用户权限的可描述性,从以往的一对一加密模式扩展成一对多模式,实现非交互控制过程。为此,Guo,等[2]人提出了基于属性的签名方案,使得某个群组中的任意一员可以签密一个具有特定属性的文件,其并没有考虑在实际操作过程中,不可避免的会出现一些属性撤销和用户权限变更的操作以及对整个系统的性能影响[3]。
近几年来,国内外研究者提出了一些属性撤销方案。在最初的文献[4,5]中,通过给每个用户颁发一个额外的终止日期的属性,来限制密钥的使用时间。2012年,Sahai,等[6]人,通过二叉树,结合“密文代理”性质,提出了一个高效可撤销属性加密方案,使得权威机构不需要与用户进行交互或存在安全信道。但是,这种撤销本质上是对用户密钥的完全撤销[7],Li,等[8]人针对直接撤销方案,即由一个可信第三方公布撤销用户的名单,系统直接通过排除名单中被撤销用户来进行撤销操作。文献[9]提出了标签机制和懒惰重加密机制来减少属性撤销时的开销,但是产生了额外的版本维护开销和延迟问题。
本文在此基础上,建立云存储环境下的访问控制模型,针对现有签密方案的不足,借鉴文献[10]中的半可信中间人结构,采用密钥分割方法,使用户的完整密钥需要结合中间代理密钥生成,中间代理运用重加密技术实现重密钥生成,减轻授权中心的计算负担。通过撤销列表实现细粒度的属性撤销。在可信任授权中心和中间代理之间,设计撤销协议,保证撤销列表的同步,实现属性的及时撤销。方案中,云存储服务器只完成对密文的存储,所以用户不用担心云存储服务器自身的安全问题。
1 基础知识
1.1密钥分割
在文献[10]中,引入中间代理结构,并随机设置一组与用户所有的属性集合无关的无关属性集X={x1,x2,…,xk},通过这个无关属性集构造一个无关属性访问控制树Tx;设传统密文中的访问控制树为Tc,通过如图1所示方式将两个控制树结合形成一个最终签密时采用的访问控制树T:
图1 访问控制树
授权中心为用户和中间代理分别发送各自的私钥,其中,以Tc生成用户私钥SKu,以Tx生成中间代理的密钥SKx,这样就完成了对密钥的分割。
该方案通过随机生成的无关属性集,重新构造新的访问控制树,然后对明文进行签密。中间代理保存根据无关属性集所生成的私钥,用户对所有签密文的访问,都需要经过中间代理对访问申请进行转发,而属性撤销是通过用户撤销列表和属性撤销列表,中间代理服务器通过对这两张表的维护来判断用户的撤销情况,如果用户未被撤销,则将签密文发送给用户进行解签密,由于用户保存的是部分私钥,不能对签密文进行完全解签密,所以,部分解签密操作完成后,用户将自己的最小解签密属性集发送给中间代理,中间代理通过查看属性撤销列表中的信息,判断用户是否有属性被撤销,如果没有,则用代理重密钥对自己的特殊私钥进行重加密,然后将重加密后的私钥发送给用户完成剩余的解签密操作。并且通过撤销时更新密文和中间代理私钥版本号,避免用户间的合谋。
1.2访问树构建
基于文献[1]构建基于密文策略的签密方案的访问控制树,其中,x为访问树T的结点,n为非叶子结点的个数,且访问数结点存在顺序为1至num编号,对于每个非叶子结点设定级别,对于非叶子结点的门限,由子结点个数,门限值以及对应的级别进行描述,numx代表x的子结点数量,kx代表结点的门限值,当x为叶子结点时,代表属性中的某个特定属性,且门限值kx=1,属性满足访问结构,Tr表示一棵以r为根结点的访问树,Tx表示以x为根结点的Tr子树,如果一个属性集合满足访问树Tx,表示访问结构A包含属性集的授权集合,记为Tx(γ)=1,其中Tx(γ)的值用以下方法递归计算而来,当x为非叶子结点,计算结点x的所有子结点x'的Tx'(γ),那么Tx(γ)=1,当且仅当至少kx个子结点x'的Tx'(γ)=1,当x是叶子结点,则Tx(γ)=1当且仅当att(x)∈γ。
2 可撤销的属性签密方案
利用代理重加密原理,将密钥分割[10]与签密方案[1]相结合,实现属性签密方案的属性撤销,并构建一个撤销协议,改善以往撤销操作产生的撤销延迟问题,并提高效率使得方案可以实现云存储环境下的属性撤销。
2.1模型
模型由四个部分组成,分别为授权中心,云存储服务器,数据所有者,数据使用者,中间代理四部分构成,方案如图2所示:
图2 访问控制模型
(1)授权中心:授权中心负责生成系统属性,及无关属性集,生成用户和中间代理各自的私钥,通过安全信道向中间代理和用户分配解密密钥;生成执行撤销操作的代理重密钥,通过定义好的撤销协议,向代理发送撤销数据库更新;
(2)中间代理:中间代理负责将用户的文件传输请求转发给云存储服务器,并通过重密钥计算新的无关属性私钥。代理通过维护用户撤销列表和属性撤销列表,判断某一个请求用户的撤销情况。
(3)云存储服务器:云存储服务器根据代理转发而来的用户请求,对数据进行保存和检索的操作。
(4)数据所有者:将数据通过设定的访问控制结构,然后用自己的私钥进行签密,然后将密文存储在云存储服务器。
(5)数据使用者:对存储在云存储服务器上的信息进行访问。
2.2撤销协议
授权中心和中间代理之间可以通过这个协议进行安全的同步撤销列表的操作。协议假设中间代理总是在线;授权中心在线状态不保证;并且,中间代理的撤销列表总是最新的,而且撤销操作是立刻执行的。
协议包含4种类型的消息,每个消息包含目的码、有效载荷、数字签名、时间戳四个元素。其中,数字签名是由授权中心的公钥和其他三个元素的哈希值签名得到,以保证消息的完整性和来源的真实性。
如果产生属性撤销,那么操作流程如下。
属性增加:授权中心在执行Setup之后,向中间代理发送一条消息,消息的载荷包含属性的总数量、属性的长度、属性名称;中间代理收到消息后,验证成功之后,将属性名称存储在它的数据库中。
增加用户:授权中心在执行KeyExtraction之后,向中间代理发送一条消息,消息的载荷为用户的数量、用户名、每个用户名相关的属性。中间代理收到消息后,验证成功之后,将用户信息储存在数据库中。
撤销:在授权中心执行撤销操作,更新自己的撤销列表之后,向中间代理发送一条消息,消息的载荷指出撤销是否是针对整个系统,并且包含属性撤销的数量或者撤销的用户的用户名。这条消息可以撤销系统的某些属性,也可以只撤销某些用户。
没有属性撤销操作时,授权中心和中间代理之间也会发送一条和撤销消息载荷类似的消息来同步他们的撤销列表。
2.3算法描述
整个系统由系统参数初始化方法Setup、用户私钥生成方法KeyExtraction1、中间代理私钥生成方法KeyExtraction2、签密算法Signencryption、代理重密钥生成方法Rekeygen、解签密算法DeSignencryption六个方法构成。
Setup:授权中心初始化系统的属性集合,输入安全参数,生成公钥PK和主密钥MK。
KeyExtraction1:用户私钥生成算法。用户将在系统中获得的属性集合发送给授权中心,授权中心通过接收到的属性集合为用户生成私钥并通过安全信道发送给用户。
2.1.矿体特征。齐家沟金矿床主要形成于燕山期,与该时期该地区的大规模岩浆活动密切相关,同时,流体运动也引起了相关矿元素的迁移以及富集作用,该金矿的形成还受到了相关断裂构造系统的影响,同时与玲珑花岗岩和胶东群变质岩的相互作用密切相关。
KeyExtraction2:中间代理密钥生成算法。授权中心随机生成无关属性集合,并生成访问控制树,将密钥版本值,初始化为1,结合无关属性集选取随机参数生成私钥,然后将私钥发送给中间代理服务器。
Signencryption:签密算法。输入系统公钥、访问控制树、签密用户的私钥,对明文消息进行签密操作,并在签密文中包含当前版本,初始值为1,最后发送给存储服务器。其中,代理服务器密钥的版本号与签密文中的版本号是相同的。
Rekeygen:代理重密钥生成算法。授权中心根据每一个不同的签密文,分别生成两个不同的代理重密钥,然后将它们发送给中间代理进行存储。
DeSignencryption:解签密方法。输入签密文和进行解签密操作用户的私钥,如果用户的属性集合满足访问结构,则可以解签密得到明文。
2.4具体算法
2.4.1Setup
授权中心随机选取生成元g,双线性群G0的阶为p,双线性映射为e:G0×G0=GT,选择四个随机数α1,α2,β1,β2∈Zp,生成公钥与主密钥:
PK1=(G0,g,h1=gβ1,e(g,g)α1)
(1)
MK1=(β1,gα1)
(2)
(3)
MK2=(β2,gα2)
(4)
2.4.2KeyExtraction1
算法输入主密钥MK1,以及用户u对应的属性集A={a1,a2,…,ak},选取随机数r∈Zp,A中的每一个属性aj随机选择一个值rj∈Zp,生成私钥为:
(5)
2.4.3KeyExtraction2
输入无关属性集X,选取随机数r0,t∈Zp,以及无关属性集X={x1,x2,…,xk}中每一个xi随机选择一个值,ri∈Zp设置版本号为V,默认为1,生成无关属性集私钥为:
(6)
2.4.4Signencryption
输入系统公钥PK1,待签密明文M,访问控制树T,以及签密用户私钥。其中,访问控制树中包含的所有非叶子节点集合为L={l1,l2,…,lk},所有叶子节点集合为Y={y1,y2,…,yk}。由根节点开始,从上往下,设每一个节点Li的拉格朗日多项式qi的次数为di。对于根节点lR,随机选取s∈Zp,且qR(0)=s,之后任意选择dR个值,完成对qR的定义。对于非根节点li, qx(0)=qparent(x)(index(i)),之后任意选择di个值,完成对qi的定义。具体签密方案:
(1)∀li∈L:Ci=qk(0)h1
(2)∀li∈L:hi=H1(mi⊕Ci)
(4)∀li∈L:Wi=e(g,g)α·qi(0)
2.4.5Rekeygen
输入主密钥MK2生成无关属性集时保存的随机数t∈Zp并选取随机数t′∈Zp,生成代理重密钥为:
(7)
(8)
2.4.6DeSignencryption
输入包含访问控制结构的签密文CT,及解签密用户的私钥SK,解签密算法的执行要考虑是否出现撤销操作,执行步骤如下:
若用户未被撤销,那么中间代理响应用户请求,将密文发送给用户,用户用自己的私钥进行解密,用户将得到的解密部分密文的最小属性集S发送给中间代理,中间代理根据属性撤销列表判断该用户是否有被撤销的属性,如果S未在属性撤销列表中,则中间代理执行重密钥算法Rekey(rk2,SKx)得到:
(9)
用户收到密钥之后,调用解密算法Decrypt(CT,SKu),DecryptNode(CT,SKu,m),m为访问控制结构中的一个结点,如果用户的属性集满足访问策略,则计算:
A1=Fr=DecryptNode(CT,SKu,r)=e(g,g)r·s1,
(10)
M1=M·e(g,g)α2·s2,mx,hx
(11)
当且仅当
若相等:
=e(g,g)r0·s2·t
(12)
=M·e(g,g)α2·s2·e(g,g)r0·s2·t/e(g,g)s2(α2+r0t)
=M
(13)
若出现用户撤销操作,则代理服务器对密钥进行重加密Rekey(rk1,SKx):
(14)
即可实现属性的撤销。
3 安全性证明
本方案中,由Bethencourt,等[11]人的文献可知,当用户的属性集合不满足控制结构时,该基于密文策略的属性加密方案能抵抗选择密文攻击,那么对手想要攻破方案,就只有在属性撤销情况下。
证明本方案在DBDH下满足CPA安全。假设敌手A可以在多项式时间内以不可忽略的优势ε赢得游戏,则能以不可忽略的优势ε/2解决DBDH问题。
挑战者随机选取a,b,c,z∈Zp,及以g为生成元的群G0,挑战者以随机概率选择b∈{0,1},当b=0时,Z=e(g,g)abc,当b=1时,Z=e(g,g)z,挑战者将(g,ga,gb,gc,Z)发送给模拟器,模拟器在游戏中充当挑战者的角色。
(1)初始化阶段
敌手A选择访问控制结构T′,然后向挑战者发送用户撤销列表以及属性撤销列表。
(2)建立阶段
模拟器执行Setup。敌手随机生成无关属性集合X∈{x1,x2,…,xn},并且对于访问控制结构T′,∀xi∈X都不满足。若用户被撤销,即用户在用户撤销列表中,或者某个属性被撤销,生成挑战者私钥和无关属性私钥:
(15)
SKx=(V,D2=g(α2+r0)/β2,∀xi∈X:Dx=(gr0·H(xi)ri)t,
(16)
(3)挑战阶段
A选择两个不同用户U0,U1,挑战者以随机概率抛一枚硬币μ,μ∈{0,1},并发送以T′签密的签密文CT′给A:
Ci=qk(0)h1,hi=H1(mi⊕Ci),
(17)
Wi=e(g,g)α·qi(0),Cj=qj(0)g,
(18)
(19)
(20)
A可以用SKi进行部分解签密,却由于t≠t′,不能得到真正的明文。由离散指数问题的困难性可知,A想要得到正确的无关属性密钥必须确定α2·β2,而该问题是困难的。进一步,由于r0是随机数,就算A获得正确的α2·β2,对于r0的确定,也是无能为力的。
如果uμ没有被撤销,则A可以向挑战者发送两个属性集A0,A1,同样的,挑战者以随机概率抛硬币μ,μ∈{0,1},并发送以T′加密的CT′给A,如果撤销列表对Aμ中的属性进行了撤销,由于上面已证明A恢复得到无关属性私钥是困难的,那么A不能解签密得到明文。
(4)猜想阶段
A输出猜想μ′∈{0,1}。若μ′=μ,那么模拟器输出1,否则输出0,会出现以下两种情况:
若Z=e(g,g)abc且A获胜的优势是ε,则
Pr[x=1|Z=e(g,g)abc]
=Pr[μ′=μ|Z=e(g,g)abc]=1/2+ε
(21)
(b)若Z=e(g,g)z且A没有猜测出μ的优势,那么
Pr[x=0|Z=e(g,g)z]
=Pr[μ′≠μ|Z=e(g,g)z]=1/2
(22)
综上可得,挑战者解决DBDH假设的优势为:
(23)
4 结语
为解决传统属性加密方案中,无法在实现签密的同时实现属性的撤销问题,本方案在云存储访问控制框架下,结合密文策略属性签密方案和基于密钥分割的属性撤销,给出了属性可撤销的属性签密方案,并运用安全性证明技术分析得出方案在DBDH假设下是CPA安全的。由于系统用户的数量影响着方案中的公共参数和计算代价,本方案依然存在改进空间。如何在提高系统效率的同时,使其不受系统中用户数量的限制,是下一步研究的重点。
[1] 王伟茹,彭长根,原志龙. 基于密文策略的属性签密方案[J]. 贵州大学学报(自然科学版),2013,30(4):74-78.
[2] GUO Shanqing, ZENG Yingpei. Attribute-based Signature Scheme[C]//International Conference on Information Security and Assurance,USA:IEEE, 2008:509-511.
[3] 潘宁,朱智强,孙磊,等. 一种用于云存储的可撤销的属性加密方案[J].计算机应用研究,2014(5):1488-1490,1515.
[4] Goyal V,Pandey O,Sahai A,et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security.USA:ACM,2006:89-98.
[5] Pirretti M,Traynor P,McDaniel P,et al.Secure attribute-based systems[C]//ACM Conference on Computer and Communications Security-CSS 2006.USA:ACM,2006:99-112.
[6] Sahai A, Seyalioglu H, Waters B. Dynamic credentials and ciphertext delegation for attribute-based encryption[C]//Advances in Cryptology-CRYPTO 2012. Berlin Heidelberg:Springer,2012: 199-217.
[7] 冯登国,陈成. 属性密码学研究[J]. 密码学报,2014(1):1-12.
[8] Li Q, Feng D, Zhang L. An attribute based encryption scheme with fine-grained attribute revocation[C]//Global Communications Conference (GLOBECOM), 2012 IEEE. USA:IEEE, 2012: 885-890.
[9] Yu S, Wang C, Ren K, et al. Attribute based data sharing with attribute revocation[C]//Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. USA:ACM, 2010: 261-270.
[10]Ibraimi L, Petkovic M, Nikova S, et al. Mediated ciphertext-policy attribute-based encryption and its application[M].Information security applications. Berlin Heidelberg:Springer, 2009: 309-323.
[11]Bethencourt J, Sahai A, Waters B. Ciphertext-Policy Attribute-Based Encryption[J]. 2007, 2008(4):321-334.
(责任编辑:周晓南)
A Ciphertext-Policy Attribute-Based Sincryption Scheme with Revocation
MA Haifeng, PENG Changgen*,ZHU Yijie, LI Jiashuai
(1.College of Computer Science & Technology, Guizhou University, Guiyang 550025,China;2. Institute of Cryptography & Data Security, Guizhou University, Guiyang 550025,China)
The Attribute-Based signcryption schemes are limited by the low efficiency in the practical application. The traditional Attribute-Based signcryption schemes can not solve the above problems. To solve the problem of attributes unable to be revoked and the problem of efficiency, a ciphertext-policy attribute-based sincryption scheme with revocation was proposed. Secret splitting and proxy re-encryption were combined to achieve the purpose of attributes revocation on the basis of the signcryption. The efficiency of attributes revocation was improved by importing a mediate proxy and revocation protocol was established based on revocation list. Finally, the security of this scheme was proved.
attribute-based encryption;revocation;secret splitting;signcryption
A
1000-5269(2016)03-0096-06
10.15958/j.cnki.gdxbzrb.2016.03.23
2015-12-28
国家自然科学基金项目资助 (61262073,61363068);全国统计科学研究计划基金项目资助 (2013LZ46);贵州省统计科学研究课题项目资助(201511)
马海峰(1990-),男,在读硕士,研究方向:密码学与可信计算,Email: 599163431@qq.com.
彭长根,Email:peng_stud@163.com.
TP309