第39卷第7期2019年7月
北京理工大学学报
Transactions of Beijing Institute of Technology
Vol.39No.7
Jul2019基于CP-ABE的自定义读写策略的
云数据共享方案
胡奥婷,胡爱
(东南大学网络空间安全学院,江苏,南京210096"
摘要:为解决现有研究中用户权限分类的云存储数据共享的研究少,且已存研究算法复杂、通信开销大、安全漏洞多等问题,提出一种去中心化的用户自定义读写权限的数据安全共享方案.本文采用密文政策的基于属性的加密算法与短签名相结合,使数据拥有者自定义只读用户和修改用户的属性条件,并将条件绑定密文托管至云服务器中,使得符合条件的用户能够自行解密数据.实验结果表明,所提云数据共享方案保证数据读写机密性,算法简单、计算量通信量小、参数少、签名长度短并且能弥补同类方案的安全漏洞.
关键词:基于属性加密;数据共享;云存储安全;云计算
中图分类号:TP3O9文献标志码:A文章编号:1001-0645(2019)07-0719-06
DOI:10.15918/j.tbit1001-0645.2019.07.010
CP-ABE Based Data Sharing Scheme Supporting Separating
Read/Write Permissions
HU Ao-ting,HU Ai-qun
(School of Cyberspace Security,Southeast University,Nanjing,Jiangsu210096,China) Abstract:In order to solve complex algorithm,huge communication overheads,and security loopholes for CP-ABE-based data sharing scheme problem,a decentralized data sharing system was proposed to custom r ead and write permissions.The CP-ABE(ciphertext policy-attribute basedencryption)algorithm wascombined with BLS signature algorithm for the data owner to definereadorwritestrategyofusersfreelyandbindthestrategy withciphertexts$makingthe matched user decrypt the ciphertexts personally.Experiment results show that,the data sharing scheme can outperform another in computation and communication overheads$number of system parameters,sign
atures length,and security level
Key words:attribute-based encryption;data sharing;cloud storage security;cloud computing
云服务器存储数据,作为大数据时代的重要应用,让用户把本地数据上传到云服务器中保存•安全性和实用性是云存储服务的要素•Sahai和Wa-trs(1)在2005年提出基于属性加密算法(attributebased encryption,ABE).其后,Bethencort等⑵在2007年CP-ABE(ciphertext-policya t ribute-based encryption,CP-ABE)算法,数据拥有者自定义数据加密策略,并将数据加密策略与密文关联后上传至云服务器,使得满足属性条件的用户可以自行下载解密,不满足属性条件的人不能解密•这种加密机制十分适合云存储场景.此后大量的研究对CP-ABE算法完善和拓展,主要集中在多权威机构
收稿日期:2018-10-11
基金项目:国家自然科学基金资助项目(1571110)
作者简介:胡奥婷(1992—),女,博士生,E-mail:531888137@qq.通信作者:胡爱(1964—",男,教授,E-mail:aqhu@seu.edu .
720北京理工大学学报第39卷
的CP-ABE35],CP-ABE安全撤销的研究(6?,隐蔽
接入策略的CP-ABES2等
然而,在众多研究中,关于对用户读写权限分类
的CP-ABE的研究较少.用户在共享时,可
能分为不同的权限,权限和权
权限的用户只允许其和,但是不能修
改数据,读写权限的用户允许其密修改并重
传.多人修改同一份文件时就需要用到此
功能.本文提岀一个基于CP-ABE算法的用户权限
分类的云数据共享方案.与现有相关的研究相比,
更简单的算法和更高的计算通信效率,且可以弥补文献的安全
1模型和算法架构
1.1云共享模型
本方案使用的云共享模型如图1所示,实体包括云服务提供者(cloud service provider,CSP),数据拥有者(data owner",属性权威机构(authorities),只读用户和读写用户.用户注册,属性权威机用户分发密钥.数据加密阶段,数据拥消息MSG的接入政策,策>和修策y只读政策>与消息MSG用于生成密文CT,策y中的属性计算参量集合附在密文CT后面,传至CSP,用服务器断用户权限.用户解密时,用户 服务器CSP 申请数据,CSP把密文CT发给用户,当且仅当用户
策>时用户解密数据.想要修改数的用户其策y 可以修改数
图1云共享模型
Fig.1Modelofclouddatasharingsystem
修改数据的协议模型见图2.该模型包括3个实体,用户、云服务商和权威机构.协议的为:
Fig.2Themodelofmodifyingdataoncloud
①用户申请对消息MSG的修改权限;
②CSP把密文和接发给用户,同时CSP 把挑战用户的唯一识别号、随机数和公钥发送给验证权威机构;
③用户拿到挑战,计算proof,证明自己有修改权,并proof发权威机;
④权威机式判断用户是否有修改权限,如果用户验证通过,则验证权威机构发送确认用户修改权服务器,同时认给用户;
⑤用户认证通过的消息,就可以修改数
用户修并传
1.2安全模型
本节模型,在11节描述的云共享模型中3类体,服务,权威机,用户(拥、用户和用户)本文认为云服务可信(semi-trusted)的,即会忠实执行用户修的操作,但是对用户好奇.权威机构是完全可信(full-trusted)的,即不会用户的密不允许与任何机构共谋.用户是好奇的(curious),其可能会试图获取自己权限之外的.例权限的用户想要获取修的权限.不接入条件的用户密数据.另外存在外来入侵者(outside intruder),可能会观信信道截并解密数揽
造权
1.3方案组成算法
本方案的去中心化的可分开制定读写策略的CP-ABE算以下5个算
①Global Setup()f GP:输入安全参数2,输
GP.
②Authority Setup(GP)f SK,PK:每个权威机入GP,输岀自己的公私钥对SK
,
第7期胡奥婷等:基于CP-ABE的自定义读写策略的云数据共享方案721
PK.
③KeyGen(G!D,GP$*K八&皿:每个权威机构输入用户的身份GGD,全局参数,一个属性J属性机构的私钥SK.输出针对用户GID的属性为J的私钥K j,GD•
④Encrypt(M,(A,p),(B,',GP$PK})—CT:数据拥有者输入消息I,只读接入矩阵(A,p),读写接入矩阵(B,'),全局参数GP,各个权威机构的公钥,输出密文CT.
⑤Decrypt(CT,GP,{K t,gd»M:用户输入全局参数GP,密文CT,属性密钥{K,,gid),当属性密钥满足接入矩阵时,可以输出明文I•否则,解密失败•
2方案构造
本文提出基于CP-ABE的去中心化的分别自定义读写策略的云数据共享方案的算法•方案包括4个部分:系统初始化、加密算法、解密算法和用户修改数据.
2.1系统初始化
统初3分算:初GlobalSetup(A)4GP,权威机构初始化Authority-Setup(GP)f SK,PK和用户注册KeyGen(GID, GP,j,SK)f K”gid•
①GlobalSetup()f GP.
定义一个素数0阶的双线性G,g为其生成元,双线性G t•定义双线性运算c G X G^G t.定义哈希函数H:{0,1)*4G,比:G t—!”•每个用户分配一个全局身份标识GID.
②AuthoritySetup(GP)f SK,PK.
由权威机构A,执行,每个权威机构对其管理的属性有着互不重叠的编号J,这个属性编号在全局中是独一无二的•对每个属性J,权威机构选取随机指数?“:!P,计算PK t”={e(g,g),,g?',-)作为公钥,私钥为SK'”={,”,?',9
③KeyGen(GID,GP,j,SK)—K t,GD
一个全局编号为GID的用户,要去各个属性机构处注册登记获取自己的属性密钥•某个属性机构A,给用户GID的属性j颁发属性密钥,其用私钥SK,,,计算:
K gd=g",H(GID)?•,(1)并把私钥K,GID安全的传送给用户•2.2加密
加密算法为Encrypt(M,(A,p),(B,') ,GP, {PK})—CT,由数据拥有者执行.
某数据拥有者全局编号为GID,想要加密消息M,首先他需要制定只读策略(A,p),也就是解密该
消息所需要的属性集合•矩阵A是一个"X/的接入矩阵,函数"将其行向量映射到每个属性.然后选择一个随机数s:!”和一个随机向量!p,s是其第一个元素•本文定义尾=">•9,A>表示矩阵A的第>行.同时选择随机向量w:!”使0作为他的第一-个兀素.定义=A>•w.对每一-个行向量A>,选择随机数-:!”.加密的密文计算为
C。=Ie(g,g)s,
C1,>=,g).>e(.g,g)(),
C z,>=g-,C3,>=g?p(l)>g&>9x.(2)
然后用户定义读写策略(B,'),矩阵B是一个!X'的接入矩阵,函数'将其行向量映射到每个属性.然后选择一个随机数s':!”和一个随机向量e:!”,s'是其第一个元素•对随机数',计算
&2=g H2((g' .(3)定义#=B X-e,表示矩阵B的第x行.同时选择随机向量::!”,使0作为他的第一个元素•定义=#>•:.对每一个行向量,选择随机数B x:!p•然后计算:
D1, >=e(,g)e(g,,
D z,>=g B>,D3,>=g/x9x.(4)
定义CT r={C0,C],x,G,x,C3,x9>),Z= 4,x,D z,x,D3,9x),CT=(CT r,Z).加密结束后,用户把CT||上传至云服务器保存.
2.3解密
用户如果想要解密消息CT(可以解密数据的用户分为两种:第一种是只能解密数据且不能修改数据;第二种是既能解密数据又能修改数据),那么给云发送请求数据,云服务器把CT r返回给用户,用户可以开始解密工作.首先用户用自己的唯一标识GID计算哈希HGID).如果用户拥有属性A’的密K p(x)GID并且这的
(1,0,…,0),那么用户就可以进行以下解密.对每个x用户算
G, x e(H(GID),C3,x)=
e(K p(x)GID C2x)
e(g,g)e(H(GID),g)&x .
722北京理工大学学报第39卷
用户选择常数c>:!”使得=(1,0,…,
0),然后计算:
<>(e(g,g)*>e(H(GID),g)&>=e(,g,g)s.
后解密消息为
I=/G、,.(5)
e(.g,g)s
2.4用户修改数据
当用户申请修时,先发送修改数据的请求服务器,云服务请求后发给他密文和一个随机ii随机数为了放(replay attack).用户收到密文CT后,计算岀证明自修改权限的。,云服务后,用户就可以修.具体计算3所
用户云存储服务8验证权威机构
amber刘逸云Fig.3Theprotocolofmodifyingdataoncloud
①用户发送修改请求给云服务器;
②云服务器到对应的密文CT,并生成随机数i,并和密文i=CT发送给用户,与此同时,云服务器把i=GID=发权威机构.此处假设云服务器和权威机构的信道是安全的.
③用户收到密文CT后,解剖岀W.用户用自己的唯一标识GID计算哈希h=H(t=GID)如果用户拥有属性B>的密钥K p(I),GID,并且这些属性的线性组合包含(1,0,…,0),那么用户就可以进行以密.对每个属性>,用户计算
D-e(H(GID),D s>)=
e(Kg GID,D z,>)
e(g,g)#>e(H(GID),g)>.
用户选择常数d=:使得,d>B>=(1,0,…,0),然后算
<>(e(g,g)#>e(H(GID),g)>)d>=e(g,g)C.
后用户计算签名令牌。并发送给验证权威机构用作验证.
(=h H2((,八.
④验证权威机构收到用户的签名令牌(,同时计算R a H(.GID II i),然后验证等式
e(h,&2)=e(g,().(6)验证完成后回复ACK给CSP,CSP转发给用户.当验证通过时ACK=1,验证失败时ACK=0.
⑤
当用户收到ACK=1时,用户可以修改数据并加密上传,过程与创建一个文件类似,只是在云服务会用新的密文替代原来的密文CT r,W和s保持不变.
3安全性分析
3.1解密正确性
本方案的正确解密含义是,不论何时,输入一个全局参数GP,M加密算法产生的密文CT,用户GID对应的属性密钥集合{K t,gid1,只要属性密钥集合满足接入,Decrypt(CT,GP, {Ki,gid})=M.
明某用户A的全局身份标识为GID,其计算哈希函数H(GID),他的密钥为{Ku).密文的加密政策为(A,p).用户选择一些A>对应的密钥,使(1,0,…,0)是他们的一种.然后用户解密如下,对于这样的>,他计算
C-e(H(GD)6)=
e(K p>)$GID$C2$>)
e(g,g)>e(g,gyaeHUD),g&>)=
e(ig°i>()H(GID、沁、,g r>)
e(g,g)e(H(GID),.
然后用户c>:!”使得,c>A>=(1, 0,…,0),然后计算:
<>(e(g,g)e(H(GID),g)&>)c>= e(g,g'),i>c>e(.H(GID),g),&c=e(g,g),
最后用户解密消息M为C°/e(g,g)=M.
3.2抗伪造性
定理1如果有多项式时间攻击者(,,,,£)能在选择消息攻击下伪造岀签名令牌(,那么其可以到一个对CDH问题的破解!,',£'),其中c a是个很小的常数.
C1t+2c c A(,+,H),!"s/2,s.
明Gap的
所以在文献[13]中的,在此不赘述.
3.3抗共谋攻击和重放攻击
本方案在密时抗共谋攻击、在用户修改权限认证时放攻击、共谋
'.
第7期胡奥婷等:基于CP-ABE的自定义读写策略的云数据共享方案723
基于属性的加密要防止用户和用户之间共谋以获取不属于任何一个用户单独可以解开的信息.解密数据要求用户到满足,4人=(1,0,-,0)的私钥.如果用户A和用户B想共谋,假设用户A的私钥集合为{K,gd=),HGID a)1用户B的私钥集合为{Kg=g,H(GID b
)1且两人的私钥属性满足〉>x A x=(1,0,-,0),那么用两人的私钥集合计算:
C】,xe(H(GD"GJ=
e(Kp(x)GID A,C2,x"
eCg,g').x e(.H(GID a),g)役,
C1,x e(H(GID b))C3,x)=
e(K p(x)GID B C2x)
e(g,g).x e(H(.GID b),g)x.
由于两者的GID不同,下步不能将e(H(GID),g-),A'N&约去,不能解密数据,因此本方案可以防止两个用户共谋攻击解密数据.
本方案可以在用户验证修改权限协议时防止多个用户共谋产生签名令牌6和前文解密防止共谋的方法是类似,只是在修改权限认证协议中,两个或以上的用户共谋所针对的是读写策略(B,')•但是由于两个用户GID的不同,一样不能在解密步骤约去后一项并计算出eg,g)',因此也就不能共谋产生签名令牌6除此之外,该签名令牌6还能防止重放攻击.在用户修改数据协议(图3)中,未防止攻击者窃听截获截获信道数据,每次用户发起用户修改数据协议,云服务器都生成新的随机挑战J,所以即使攻击
截获之前的信不能放获
能通过验证权威机构的正确认证.
4功能和计算复杂度
首先,对比了文献[5,14-15]对与本文的功能比较,结果见表1.从表1可以看出,同类型的文章可以实现去中心化的支持读写功能的有文献(,14],虽然文献[15]不支持用户的读写权限分开定义,但是因为其是经典的去中心化ABE方案,且文献[14]也采用其去中心化思路,所以列入其中方便下文的计算复杂度分析.文献[5,14]用的读写策略分开定义的方法是相同的,都是单独采用了ABS签名算法,让用
户另外对每个消息加密时产生相应的签名,用于验证用户身份.区别是文献[14]只支持一个属权威机不能用中的权威机
场景.综上所述,只有文献[4]实现的功能与本文类似.因此在相同的实现功能下,只需比较文献[5]与本文的计算量和存储量高低,比较结果见表2和表3.
表1功能比较
Tab.1Functionality
方案细粒度控制去中心化读写权限接入控制类型文献[14]是否读/写
CP-ABE
文献[15]是是只读
CP-ABE
文献是是/
CP-ABE
本文是是/
CP-ABE
表2计算量比较
Tab.2Computation complexity
案加密计算量算权算文献[15](4"+1+2")E g+"air无签名无签名
文献[14](2"+2)E g+'Hash(2m+2+2'E g+'Hash(m+2'/Pair+2mE o+'Hash
文献(5"+l)E g+/Pair(2m+2+2'E g+'Hash(m+2'/Pair+2mE o+'Hash
本文(10"+2)E g+"air3E g+(2m+2)Z P a ir2'Pair+'Hash
表3存储量比较
Tab.3Storage overhead
案签名密密文文献[15]无签名(3"gid+3)G(3"+3)G+G t+"2+MSG
文献[14](+2)|G|(3"gid+2)G G2+(2"+m+'+3)G1+"2+l MSG
文献[](+2)|G|(、2"gid+1)G2"G0+"G t+"2+MSG+(m+'+2)|G i
本文G"gid G|4"l G+(2"+1)l G T+ISG
其次,对比了文献[5,14-15]和本文方案的加见表2.其中E g为元素计算一次指数运算的时密时计算量、签名计算量、验证写权限计算量,结果间,Par为元素计算一次双线性运算时间,Hash 为
发布评论