云存储中基于代理重加密的CP-ABE访问控制方案
2019-10-31王海勇彭垚郭凯璇
王海勇 彭垚 郭凯璇
摘 要:针对云存储中基于密文策略的属性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)访问控制方案存在用户解密开销较大的问题,提出了一种基于代理重加密的CP-ABE(CP-ABE Based on Proxy Re-Encryption,CP-ABE-BPRE)方案,并对密钥的生成方法进行了改进。此方案包含五个组成部分,分别是可信任密钥授权、数据属主、云服务提供商、代理解密服务器和数据访问者,其中云服务器对数据进行重加密,代理解密服务器完成大部分的解密计算。方案能够有效地降低用户的解密开销,在保证数据细粒度访问控制的同时还支持用户属性的直接撤销,并解决了传统CP-ABE方案中因用户私钥被非法盗取带来的数据泄露问题。与其他CP-ABE方案比较,此方案对访问云数据的用户在解密性能方面具有较好的优势。
关键词:云存储;属性加密;代理重加密;访问控制;可信任密钥
中图分类号:TP302.1
文献标志码:A
CP-ABE access control scheme based on proxy re-encryption in cloud storage
WANG Haiyong1*, PENG Yao2, GUO Kaixuan2
1.College of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing Jiangsu 210023, China;
2.College of Internet of Things, Nanjing University of Posts and Telecommunications, Nanjing Jiangsu 210003, China
Abstract:
Focused on the large users decryption overhead of the Ciphertext Policy Attribute-Based Encryption (CP-ABE) access control scheme in cloud storage, a CP-ABE Access Control Scheme Based on Proxy Re-Encryption (CP-ABE-BPRE) was proposed, and the key generation method was improved. Five components were included in this scheme: trusted key authority, data owner, cloud service provider, proxy decryption server and data visitor. The cloud server re-encrypted the data, and the proxy decryption server performed most of the decryption calculation. The proposed scheme reduces the users decryption overhead effectively,and solves the data leakage problem caused by illegal stealing of the users private key in the traditional CP-ABE scheme, and the direct revocation of user attributes is provided while the fine-grained access control is ensured in the scheme. A comparison with other CP-ABE schemes demonstrates that this scheme has better decryption performance for users when accessing cloud data.
Key words:
cloud storage; attribute-based encryption; proxy re-encryption; access control; trusted key
0 引言
隨着信息技术的快速发展和用户数据的爆炸式增长,通过网络实现云数据共享也变得越来越便捷[1-2]。云计算是实现云数据共享最主要的技术之一[3],它是一种新的计算模式,以服务的方式为用户按需部署、动态优化及回收、按需付费以及可随时随地通过互联网获取大量的存储空间和计算资源,借助软件即服务(Software as a Service, SaaS)、平台即服务(Platform as a Service, PaaS)、基础设施即服务(Infrastructure as a Service, IaaS)等模式把云计算系统共享到用户[4]。共享的数据一般是远程存储,数据拥有者的隐私以及共享数据本身的安全性存在一定的威胁[5]。因此,对于云存储中的数据和用户隐私保护是至关重要的,当存在大量用户同时访问数据时,还要对其进行细粒度的访问控制[6]。基于属性的加密(Attribute-Based Encryption, ABE)[7]提供了一个灵活的访问控制方案。ABE能够在云存储环境下实现一对多的通信机制[8],这意味着一个密钥可以解密不同的密文或者不同的密钥可以解密相同的密文。ABE可分为基于密钥策略的属性加密(Key Policy Attribute-Based Encryption, KP-ABE)和基于密文策略的属性加密(Ciphertext Policy Attribute-Based Encryption, CP-ABE)[9]两类。在CP-ABE中,访问策略与密文关联,属性集合与解密私钥关联,用户可以自定义访问策略,属性集合满足访问策略的用户才能够访问数据,适用于云存储环境下的安全访问控制。
属性加密的概念最开始由Sahai等[10]提出,Goyal等[7]在次年将属性加密划分为KP-ABE和CP-ABE两类。尽管CP-ABE能实现云存储环境下的安全的访问控制,但仍然存在可改进的地方。Ostrovsky等[11]构造了可执行“非”运算的CP-ABE方案,Cheung等[12]在2007年首次提出可执行“与”门的CP-ABE。Lewko等[13]和Green等[14]都提出了线性秘密共享方案(Linear Secret Share Scheme, LSSS)類型的CP-ABE。随着移动智能终端的快速普及,越来越多的移动设备参与到云数据共享中来,例如:智能手机、可穿戴设备等。而在CP-ABE的解密过程中,需要进行大量的双线性对、乘法、取幂等计算,会产生大量的计算开销[14]。与此同时,目前对移动终端非法攻击也越来越多,用户的解密私钥在移动终端也存在被非法用户盗取的可能性。属性基加密最初在文献[9]中被提出,许多论文在此基础上作了进一步研究。文献[14]基于HDFS提出了一种延迟重加密和代理重加密的机制,该方案中,大量的加解密计算由云服务器来完成,且减少了在用户权限撤销时数据属主的计算开销。文献[15]提出一种基于CP-ABE的多授权方案,可实现高效解密。文献[16]提出一种针对移动设备的全外包解密方案,实现了移动设备网络流量的稳定性。文献[17]提出了一个基于属性的数据共享系统,通过在密钥生成中心与数据存储中心之间引入两方计算,为单一权限系统中的密钥托管问题提供了新的解决方案。
针对上面提出的潜在问题,本文提出了一种基于代理重加密的CP-ABE方案 (CP-ABE Based on Proxy Re-Encryption, CP-ABE-BPRE),在CP-ABE-BPRE方案中,解密私钥由两部分组成,代理解密服务器利用其中一个密钥解密得到半解密密文后将其发送给用户,由用户完成半解密密文的解密操作。该方案能有效地减少用户的解密开销,在保证灵活的细粒度访问控制的同时,还降低了因用户私钥被非法盗取带来数据泄露问题。
1 背景知识
定义1 双线性对。设G0和GT是秩为素数p的乘法循环群,其中G0生成元是g。如果e:G0×G0 → GT是双线性映射,其满足如下三个条件:
双线性性(Bilinear) 对于任意的u,v∈G0和a,b∈Zp,存在e(ua,vb)=e(u,v)ab;
非退化性(Non-Degenerate) e(g,g)是群GT的生成元,且有e(g,g)≠1;
可计算性(Computable) 对于任意u,v∈G0均存在有效算法计算e(u,v)。
定义2 访问结构。设所有用户的属性集合为P={P1,P2,…,Pn},访问结构A是2P的一个非空子集,即A2P|{Φ},其中2P是P的所有子集的集合。对于任意的B和C,如果B∈A,BC,那么有C∈A,则称A是单调的。若有D∈A,则称D为A的一个授权集合,否则称之为未授权集合。
定义3 线性密钥共享方案。设M是一个m行n列的共享生成矩阵,由用户的访问策略生成。对于i=1,2,…,m,ρ(i)的值表示与矩阵M的第i行关联的属性。设列向量v=(s,r1,r2,…,rn)T,其中s∈Z*p是将要分享的秘密,r1,r2,…,rn∈Z*p是随机数,那M·v表示秘密s分配给m个参与者的秘密份额。
设S是一个授权的属性集合,即S∈A,定义属性集合I={i: ρ(i)∈S}{1,2,…,m},在多项式时间内可计算出一组常量{ωi∈Z*p}i∈I,如果{λρ(i)}是秘密s的有效共享份额,则可通过∑ωi·ρ(i)=s(i∈I)恢复共享的秘密值。
定义4 设用户的集合为U={u1,u2,…,ul},其中l代表系统用户的总数。
定义5 设授权的属性集合为A={att1,att2,…,attp},其中P代表属性总数。
定义6 设Gt表示具有相同属性attt的用户,称之为用户组属性,且GtU,用户组属性的集合表示为G={Gt|attt∈A}。
定义7 设Kt表示与Gt相关的属性组密钥,K={Gt|attt∈A}表示属性组密钥集合。
假设1 离散对数(Discrete Logarithm Assumption, DL)问题。对于给定任意两个元素X,Y∈G0,不存在一个算法能在多项式时间内以不可忽略的优点计算出一个整数k∈Z*p使得Y=Xk成立。
假设2 判断双线性Diffie-Hellman(Decisional Bilinear Diffie-Hellman Assumption, DBDH)问题。设g是乘法循环群的G0的一个生成元,对于任意的元素a,b,c∈Z*p,给定一个五元组(g,ga,gb,gc,e(g,g)abc),不存在一个算法能在多项式时间内以不可忽略的优点计算出一个整数z∈Z*p使得e(g,g)z=e(g,g)abc成立。
2 基于代理重加密的CP-ABE方案
以上介绍了相关的基本概念和原方案存在的不足。本章将详细阐述如何改进方案,降低用户的解密开销。
2.1 模型构造
本文提出的方案模型如图1所示,主要由5个部分组成,5个组成部分之间通过互联网进行连接。
可信任密钥授权(Trusted Key Authority, TKA) 文中假设TKA是可信任的,主要用于公共参数、主密钥、解密私钥的生成。
数据属主(Data Owner, DO) 想要上传共享数据的用户,DO 可以自己定义数据的访问策略,只有属性满足访问策略的用户才能获得明文数据。
云服务提供商(Cloud Service Provider, CSP) CSP负责数据的存储、管理以及密文重加密操作。文中认为CSP是可疑但诚实的,它会诚实地执行各项任务。
代理解密服务器(Proxy Decryption Server, PDS) PDS承担系统中的大部分解密计算,减少了用户解密的计算开销。本文也认为PDS是可疑但诚实的。
数据访问者(Data User, DU) DU是访问密文数据的用户,随着云服务的快速发展,移动设备成为了访问云端数据的主要设备,因此认为移动端的解密私钥存在被盗取的可能性。
本文认为各个参与方不会相互串通以非法的手段获取数据,否则系统模型没有任何意义。用户提交的属性由TKA认证,每一个授权的属性由公共参数中的一个随机数来进行表示;当DO想要上传数据时,利用自定义的访问策略和公共参数加密数据得到密文C0,然后将其上传到云服务器;云服务器对C0进行重加密得到C1。当有DU向TKA提交属性时,TKA会生成解密私钥,其由两部分组成,将分别分发给DU和CPS;当DU向CPS发送密文请求后,CPS会向DU的代理解密服务器发送密文C1和存放于CPS处的解密私钥;PDS解密得到C2并将其发送给DU,DU利用自己的解密私钥解密。
2.2 方案构造
1)初始化。
TKA首先选取k作为安全参数,G1和G2是秩为素数p的两个乘法循环群,G1的生成元为g,定义散列函数如下:
H:{0,1}*→G1
H1:G2→Z*P
然后完成初始化操作,生成系统公共参数PP和主密钥MK。
算法1 Setup(1k,A)。
输入:系统安全参数k和授权属性集合A;
输出:系统公共参数PP和主密钥MK。
步骤1 选取随机数α, β∈Z*p和h1,h2,…,hm∈R G1,其中ht与属性attt对应(t∈[1,m]);
步骤2 输出公共参数主密钥如下:
PP={g,gβ,h1,h2,…,hm,e(g,g)α,H,H1}
MK={β,gα}
2)密钥生成。
此操作由TKA完成,利用公共参数PP、主密钥MK以及用户提交的属性S来完成解密私钥的生成,解密私钥由DKCSP和DKDU两部分组成,分别由CSP和DU保存,无论CSP还是PDS都无法单独解密密文。
算法2 KeyGen(PP,MK,S)。
输入:公共参数PP、主密钥MK和用户属性S;
输出:解密私钥DKCSP和DKDU。
步骤1 取随机数τ∈ R Z*p,计算初始化密钥K1={gτ,x∈S:hτx};
步骤2 利用生成公共参数的随机数α、 β以及步骤1中的τ计算K2=gα+βτ;
步骤3 选取随机数r,π,∈ R Z*p,计算K3 = g(α + βτ)r/π;
步骤4 利用步骤3中的随机数计算D = gτr/π,x∈S:Dx = hτr/πx;
步骤5 通过上述4步的计算,输出解密私钥DKCSP和DKDU如下:
DKDU=π/r
DKCSP ={K3=g(α+βτ)r/π,D=gτr/π,x∈S:Dx=hτr/πx}
3)数据加密。
此操作由DO完成,为了保证数据的机密性和完整性,DO利用公共参数和自定义的访问策略实现对明文数据M的加密操作。
算法3 Encrypt(PP,M,A)。
输入:公共参数PP、明文M和访问策略A;
输出:初始化密文C0。
步骤1 生成向量v=(s,y2,y3,…,yd)和线性密钥共享方案(M,ρ);
步骤2 为每一个用户ui∈U计算λi=v·Mi;
步骤3 输出初始化密文C0如下:
C0=((M, ρ),C)=M·e(g,g)αs,C′=gs,attt∈A:Ct=gβλth-sρ(t))
4)密文重加密。
重加密算法由CSP完成,此处采用文献[17]中属性组加密算法来对密文进行重加密,以公共参数PP、初始化密文C0和用户属性组集合G作为输入。当CSP收到C0和G后,选择两个随机数μ,γ∈R Z*p来构造属性组密钥集合K,并为用户uk∈G定义唯一的标识IDk∈{0,1}*,标签不会随着用户属性的更改而发生改变。
算法4 ReEncrypt(PP,C0,G)。
输入:公共参数PP、初始化密文C0和用户属性组集合G;
输出:最终密文C1。
步骤1 为用户uk∈G定义一个唯一的用户标签IDk∈{0,1}*;
步骤2 选择两个随机数μ,γ∈R Z*p,SKDUk=H(IDk)γ和SKCSP=gγ分别为用户uk和CSP的会话密钥,并为每一个用户uk计算对应的元素;
步骤3 为每一个Gt∈G构造一个多项式ft(x)=∏vi=1(x-xi)=∑vi=1aixi(mod p)其中v表示Gt中用户个数;
步骤4 定义{P0,P1,…,Pv}={ga0,ga1,…,gav},并选取随机数R∈R Z*p进行如下计算:Headt=(Kt·PR0,PR1,…,PRv);
步骤5 构造信息头为:Head=(gμ,γ,Gt∈G:Hdrt);
步骤6 输出密文C1如下:
C′0=((M,ρ),C)=M·e(g,g)αs,C′=gs,attt∈A:Ct=(gβλth-sρ(t))Kt)
C1=(Head,C′0)
5)數据解密。
CSP收到用户uk的密文请求之后,会立即将密文C1和解密私钥DKCSP发送给PDS,PDS对C1进行解密得到C2,将其发送给uk,uk利用自身保存的解密私钥DKDU进行解密,从而获得明文。
算法5 Decrypt(S,C1,DKCSP,DKDU)。
输入:用户属性集合S、密文C1以及解密私钥DKCSP和DKDU;
输出:明文M。
步骤1 PDS通过如下计算构造属性组密钥{Kt|θt∈S};
H1(e(SKDUkμ,SKCSP)) = xk
Kt·PR0∏vi=1PR·xiki=Kt
步骤2 PDS利用DKCSP进行初步解密,具体如下:
∏ρ(t)∈S(e(Ct1Kt,D)·e(C′,Dρ(t)))ωt=∏ρ(t)∈S(e((gβλth-sρ(t))Kt·1Kt,gτrπ)·e(gs,hτrπρ(t)))ωt=∏ρ(t)∈S(e(g,g)βλtτrπ)ωt=e(g,g)βsτrπ=C1′
e(C′,DKCSP)C1′=e(gs,g(α+βτ)rπ)e(g,g)βsτrπ=e(g,g)αsrπ=C2
步骤3 PDS将C2发送给用户uk,uk利用私钥EKDU解密获得明文,具体如下:
CC2DKDU=M·e(g,g)αs(e(g,g)αsr/π)π/r=M
6)属性撤销。
当用户将属性集合中的属性attq撤销后,系统将立即执行属性撤销操作。TKA先更新属性组集合,即G更新为G′。然后CSP执行重加密操作,最后TKA完成密钥更新操作。
首先,更新属性组密钥集合:
K′={K′q,attt∈A\{attq}:Kt}
然后为Gq构造新的多項式,其中v′代表Gq中的用户个数,具体如下:
fq(x)=∏v′i=1(x-xi)=∑v′i=0a′ixi(mod p)
重加密算法选择一个新的随机数R′∈R Z*p,构造新的信息头,具体如下:
{P0,P1,…,Pv′}={ga′0,ga′1,…,ga′v}
Head′q=(Kq′·PR′0,PR′1,…,PR′v′)
Head′=(gμ,Headq′,Gt∈G\{Gq}:Headt)
结合上述计算结果,完成重加密密文的更新,具体如下:
C″0=(C=M·e(g,g)αs,C′=gs,Cq=(gβλqh-sρ(q))Kq,(M, ρ),attt∈A\{attq}:Ct=(gβλth-sρ(t))Kt)
C″1=(Head′,C″0)
最后,TKA完成解密私钥的更新,具体如下:
DK′DU=π′/r′
DKCSP′={K3′=g(α+βτ)r′/π′,D=gτr′/π′,x∈S:Dx=
hτr′/π′x}
3 综合分析
本章主要从安全性和解密性能两个方面对本文提出的方案进行分析。
3.1 安全性分析
理论1 假设DBDH困难性假设问题存在,那么不存在任何敌手能在概率多项式时间内以一定的优势选择性地破坏本文提出的CP-ABE-BPRE方案。
证明 在CP-ABE-BPRE方案的选择性安全游戏中,假定敌手E存在不可忽略的优势ε=Pr[b=b′]-(1/2)来攻破方案。先构建一个模拟者P,它能以ε/2的优势区分一个DBDH元组和一个随机生成的元组。设G0和GT是秩为素数p的乘法循环群,其中G0的生成元是g,且满足双线性对e:G0×G0→GT。首先,DBDH挑战者随机选择参数a,b,c∈Zp, μ∈{0,1},生成元g∈G0和一个随机元素R∈GT。然后,如果μ=0,挑战者定义T=e(g,g)abc,否则定义T=R。挑战者将〈g,X,Y,Z,T〉=〈g,ga,gb,gc,T〉发送给模拟者P。在接下来的安全游戏中,模拟者将扮演挑战者。在证明过程中,本文认为只有一份文件需要被加密,且将方案的密文C′0={(M, ρ),C=M·e(g,g)αs,C′=gs, attt∈A:Ct=(gβλth-sρ(t))Kt}和C1=(Head,C′0)简化为:C1={(M, ρ),C,C′,Ct,Head}。
Initialization阶段 敌手E选择接下来要挑战的访问策略A,并提交A给模拟者P。
Setup阶段 模拟者P为敌手E生成公钥PK。选择一个随机数α′∈Zp,令α=α′+ab。模拟者P计算e(g,g)α=e(g,g)α′e(g,g)ab。模拟者P设定h=gβ=Y=gb,然后将生成的系统公钥PK发送给敌手E。
Query阶段1 在密钥询问阶段1中,敌手E通过向P提交不满足访问策略A的属性集合Sj={aj|aj∈A′}(SjA)可以进行解密私钥SK的询问。首先,P随机生成一个数字τ′∈R Z*p,令τ=τ′+a,为属性集合Sj中的每一个属性生成一个随机数hj∈Zp与之对应,并计算初始化密钥K1={gτ,aj∈Sj:hτaj}和K2=gα+βτ。然后选取随机数r′,π′,∈R Z*p,令r=r′+a,π=π′+a,计算K3=Kr/π2=g(α+βτ)r/π。因此,P可为敌手E构建私DKDU=π/r和DKCSP={K3=g(α+βτ)r/π,D=gτr/π,aj∈Sj:Daj=hτr/πaj},最后,将解密私钥发送给E。
Challenge阶段 E向模拟者P提交两个长度相等的消息M0和M1。然后,P随机选择一个比特μ∈{0,1},并使用挑战的访问策略A加密Mμ,加密得到的密文C*如下:
C′=gs=gc=Z
C=Mμ·e(g,g)αs=Mμ·e(g,g)αc=Mμ·Te(g,g)α′c
然后,P将加密得到的密文发送给E。
Query阶段2 此阶段与Query阶段1一致。
Guess阶段 在猜测阶段,敌手E针对μ给出一个猜测μ′∈{0,1}。如果μ=μ′,P输出0来猜测T=e(g,g)abc,否则,P输出1来猜测T是乘法循环群GT上的一个随机数,即T=R。
如果T=e(g,g)abc,那么密文C*是一份有效的密文,有定义可知敌手E的优势为ε,有μ=μ′的概率接近1/2,则有:
Pr[P(g,ga,gb,gc,T=e(g,g)abc)=0]=1/2+ε
如果T=R,由于R是一个随机值,密文C*也存在随机性,但对于敌手E来说,C*就是一份完整的密文,有μ≠μ′的概率接近1/2,则有:
Pr[P(g,ga,gb,gc,T=R)=0]=1/2
由CP-ABE的安全模型可知,敌手不可忽略的优势为ε,那模拟者P在此安全游戏中,利用敌手的能力获得胜利的优势可描述为:
ε′=12(Pr[P(g,ga,gb,gc,T=e(g,g)abc)=0]+
Pr[P(g,ga,gb,gc,T=R)=0])-1/2=
12(12+ε+12)-12=12+ε2-12=ε2
综上所述,CP-ABE-BPRE方案是选择明文攻击安全的。
在CP-ABE-BPRE方案中,TKA是可信任的,CSP和PDS是可疑但诚实的,且各参与方不会相互串通以非法的手段获取数据。在该方案中,CSP从DO获得初始化密文后对其进行重加密,同文献[9] 和文献[14]中的可信任第三方一样,TKA利用用户提交的属性生成和分发解密私钥,但不同之处在于CP-ABE-BPRE方案中用户的解密私钥由两部分组成,分别保存于CSP和DU,CSP无法仅用保存于自身的密钥解密密文。PDS将C1解密为C2的过程中,由于C2被El Gamal算法加密过,因此PDS在解密过程中也无法获得相关明文。对于非法用户是无法得到明文的,任何属性不满足访问策略的用户都无法得到C′1和C2,由于无法计算恢复e(g,g)αs,从而无法获得明文。
在前后向安全性方面,当用户撤销某属性时,TKA会更新用户组属性集合,然后更新相应的属性组密钥集合,通过重建信息头来重加密密文,然后再重新生成和分发解密私钥。此后,只有拥有该属性的用户才能访问密文,没有该属性的用户将无法得到任何信息。当有新的用户加入时,TKA会更新用户组属性集合,CSP会根据新增用户的属性完成密文的重加密,此操作不会影响其他用户的解密操作。综上所述,CP-ABE-BPRE方案保证了数据的前后向安全性。
在解密私钥暴露方面,随着云计算的快速发展,通过移动设备来备份和访问数据变得越来越便捷[18],同时也伴随着各类隐私安全问题的出现。在文献[9]的方案中,解密私钥直接保存在用户端,当解密私钥被非法用户获取时,非法用户可直接对密文进行解密操作。文献[14]的方案中也引入了代理解密服务器来减少用户的解密开销,但代理解密服务器的解密私钥由用户端生成和分发,因此解密私钥被盗取的危险依旧存在。文献[17]中引入安全的两方计算解决了用户解密私钥可能被盗取的问题,但用户依旧存在解密开销较大的问题。由于移动设备的隐私保护远不如云存储服务器[19],在CP-ABE-BPRE方案中,解密私钥由两部分组成,分别保存于CSP和DU处,当移动端的密钥被非法盗取时,非法用户并不能直接对CSP处的密文进行解密,从而有效地防止了用户解密私钥暴露的问题。
3.2 解密性能分析
在解密性能方面,将CP-ABE-BPRE方案与文献[9,14,17]中方案进行比较,主要从是否支持属性撤销和用户解密开销两方面进行比较。分析比较过程中使用的相关符号含义如表1所示。算法解密性能如表2所示。
1)支持属性撤销。
文献[9]和文献[14]不支持用戶属性撤销,本文CP-ABE-BPRE方案引入文献[17]中介绍的基于属性组的重加密方案,在云服务器端对用户上传的初始密文进行密文重加密操作,当用户属性发生变更时,数据属主不需要重新加密数据再上传云端,而是将此操作代理给云服务器,因此本文方案支持属性撤销。
2)用户解密开销。
首先从理论上进行分析,文献[9]和文献[17]的方案中,用户在进行解密计算时,涉及到了大量的双线性对的运算,且与用户的属性和访问策略中的属性个数|A|、门限个数SG以及与门个数ST相关,大量的计算必然会降低终端用户访问共享数据的用户体验。如表2所示,与文献[9]和文献[17]中方案相比,本文方案在传统的CP-ABE方案的基础上引入代理解密服务器,通过外包解密的方式,将1·th+(2|S|+2)tp+(2|S|+v)te+(2|S|+v-1)tm+1·td解密计算外包给PDS,用户只需要完成固定的一次双线性对的幂运算和除法运算便可解密获得明文。而在文献[9]和文献[17]的方案中,用户需要承担全部的计算开销。与文献[14]的方案相比,虽然该方案也引入了代理解密服务器,但在解密过程中,解密服务器的解密密钥由用户分发,而在CP-ABE-BPRE方案中,代理解密服务器的解密密钥由可信任授权中心分发,使得代理解密密钥分发不会影响到解密阶段用户的解密开销。因此,与文献[9,14,17]中方案相比,在用户解密开销方面,CP-ABE-BPRE方案具有一定的优势。
为了验证理论分析结果,本文采用CP-ABE工具包和基于开源代码库的JPBC(Java Pairing-Based Cryptography library)进行仿真实验,完成CP-ABE-BPRE方案与文献[9,14,17]中方案的用户解密开销对比。为了达到80比特的安全等级,基于512比特的奇异曲线y2=x3+x,采用160比特的椭圆双曲线群进行构建。仿真实验是在64-bit Windows 10(3.1GHz的Intel Core i7-6500Ud的CPU处理器和8.0GB的RAM硬件)平台下采用Java语言完成,所有的实验数据是运行5次得到的平均值。
為了不失一般性和保证所有的密文成分在解密阶段都能被计算,文章构建最坏情况下的访问策略,即只包含“与”门,如att1 AND att2 AND … AND attN,其中每个atti表示一个属性,N的取值从1到30,用户解密开销仿真实验结果如图2所示。
从图2可知,CP-ABE-BPRE方案与文献[14]方案在用户解密开销方面远远小于文献[9]方案和文献[17]方案,这是因为CP-ABE-BPRE方案和文献[14]方案中大量的计算是由代理解密服务器完成,用户的解密计算量是固定的,所以用户在解密阶段的开销不会随着属性集合的增大而增大。CP-ABE-BPRE方案用户解密开销低于文献[14]方案用户解密开销,这是由于文献[14]方案中用户分发代理解密密钥会额外增加用户的解密开销。因此本文方案在用户解密开销性能上相比其他三种方案是最优的。通过前面理论和仿真实验分析,可以看出CP-ABE-BPRE方案在支持用户属性灵活变更的同时降低了用户的解密开销,进一步说明了CP-ABE-BPRE方案更适用于资源受限的用户终端环境。
综上,与文献[9]、[14]以及[17]的方案相比,本文提出的方案对访问云数据的用户无论是在解密性能方面还是在支持属性灵活撤销方面都具有较好的优势。
4 结语
本文聚焦用户解密开销和属性加密方案中如何支持用户属性灵活变更的问题,在传统的CP-ABE的基础上进行改进,提出了一种基于代理重加密的CP-ABE方案,引入了文献[17]中的属性组的概念来实现对密文的重加密,从而使得方案能够较好地支持用户属性的灵活变更。此方案中密文解密私钥由两部分组成,分别保存于CSP和DU。由TKA生成分发给CSP和DU,PDS利用CSP向其发送的密钥完成密文解密操作中的绝大多数计算,由DU利用自己的解密私钥完成最终的解密计算。该方案在有效降低用户解密开销的同时还解决了云数据共享环境中移动终端因隐私保护缺陷而导致的用户解密私钥被盗问题。此外用户的加密开销和密文的大小也是属性加密技术中备受关注的地方,在以后的工作中,期望可以通过降低系统的总解密开销和密文大小来完善此方案。
参考文献
[1]SUKHODOLSKIY I A, ZAPECHNIKOV S V. An access control model for cloud storage using attribute-based encryption [C]// Proceedings of the 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering. Piscataway, NJ: IEEE, 2017:578-581.
[2]SANDHIA G K, KASMIR RAJA S V, JANSI K R. Multi-authority-based file hierarchy hidden CP-ABE scheme for cloud security [J]. Service Oriented Computing and Applications, 2018,12(3/4):295-308.
[3]WANG S, ZHOU J, LIU J K, et al. An efficient file hierarchy attribute-based encryption scheme in cloud computing [J]. IEEE Transactions on Information Forensics and Security, 2016, 11(6):1265-1277.
[4]GRUMAN G, KNORR E. What cloud computing really means [J]. Courts Today, 2010, 8(4):34.
[5]刘建,鲜明,王会梅,等.面向移动云的属性基密文访问控制优化方法[J].通信学报,2018,39(7):43-53.(LIU J, XIAN M, WANG H M, et al. Optimization method for attribute-based cryptographic access control in mobile cloud computing [J]. Journal on Communications, 2018, 39(7): 43-53.)
[6]NARUSE T, MOHRI M, SHIRAISHI Y. Attribute revocable attribute-based encryption with forward secrecy for fine-grained access control of shared data [J]. IEICE technical report. Information and communication system security, 2015:114-126.
NARUSE T, MOHRI M, SHIRAISHI Y. Attribute revocable attribute-based encryption with forward secrecy for fine-grained access control of shared data [EB/OL]. [2019-01-03]. https://www.researchgate.net/publication/320140444_Attribute_Revocable_Attribute-Based_Encryption_with_Forward_Secrecy_for_Fine-Grained_Access_Control_of_Shared_Data.
[7]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. New York: ACM, 2006: 89-98.
[8]閆玺玺,孟慧.支持直接撤销的密文策略属性基加密方案[J].通信学报,2016,37(5):44-50.(YAN X X, MENG H. Ciphertext policy attribute-based encryption scheme supporting direct revocation [J]. Journal on Communications, 2016, 37(5):44-50.)
[9]BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption [C]// Proceedings of the 2007 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2007: 321-334.
[10]SAHAI A, WATERS B. Fuzzy identity-based encryption [C]// Proceedings of the 2005 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 3494. Berlin: Springer, 2005: 457-473.
[11]OSTROVSKY R, SAHAI A, WATERS B. Attribute-based encryption with non-monotonic access structures [C]// CCS ‘07: Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007:195-203.
[12]CHEUNG L, NEWPORT C. Provably secure ciphertext policy ABE [C]// CCS ‘07: Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007:456-465.
[13]LEWKO A, OKAMOTO T, SAHAI A, et al. Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption [C]// Proceedings of the 2010 Annual International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 6110. Berlin: Springer, 2010: 62-91.
[14]GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts [C]// SEC ‘11: Proceedings of the 20th USENIX conference on Security. Berkeley, CA: USENIX Association, 2011: 34.
[15]ODELU V, DAS A K, KHURRAM KHAN M, et al. Expressive CP-ABE scheme for mobile devices in IoT satisfying constant-size keys and ciphertexts [EB/OL]. [2019-01-06]. https://www.researchgate.net/publication/313814297_Expressive_CP-ABE_Scheme_for_Mobile_Devices_in_IoT_satisfying_Constant-size_Keys_and_Ciphertexts.
[16]OHIGASHI T, NISHIMURA K, AIBARA R, et al. Implementation and evaluation of secure outsourcing scheme for secret sharing scheme on cloud storage services [C]// Proceedings of the 2014 IEEE 38th International Computer Software and Applications Conference Workshops. Piscataway, NJ: IEEE, 2014: 78-83.
[17]HUR J. Improving security and efficiency in attribute-based data sharing [J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 25(10): 2271-2282.
[18]DINH H T, LEE C, NIYATO D, et al. A survey of mobile cloud computing: architecture, applications, and approaches [J]. Wireless Communications and Mobile Computing, 2013, 13(18):1587-1611.
[19]AHMAD M S, MUSA N E, NADARAJAH R, et al. Comparison between Android and iOS operating system in terms of security [C]// Proceedings of the 2013 8th International Conference on Information Technology in Asia. Piscataway, NJ: IEEE, 2013,7: 1-4.
This work is partially supported by the National Natural Science Foundation of China (GZ215045), the Education Informatization Research Project of Jiangsu Province (20172105), the Teaching Reform Project of Nanjing University of Posts and Telecommunications (JG06717JX66).
WANG Haiyong, born in 1979, Ph. D., associate research fellow. His research interests include computer network and security, information network.
PENG Yao, born in 1993, M. S. candidate. His research interests include computer network and security, cloud computing.
GUO Kaixuan, born in 1991, M. S. candidate. Her research interests include blockchain, consensus algorithm, Internet of things.