一种高效的具有属性撤销的访问控制协议

2015-05-11 06:12张键红赵旭冰
关键词:访问控制密文解密

张键红, 赵旭冰

(北方工业大学理学院, 北京 100041)

一种高效的具有属性撤销的访问控制协议

张键红, 赵旭冰

(北方工业大学理学院, 北京 100041)

采用外包计算技术构造一种基于密文策略的属性加密数据访问控制方法, 具有高效的属性撤销功能, 可以减少用户的计算量和通信量. 其最大特点是将解密秘钥分为两部分, 一部分发送给云服务器, 另一部分发送给用户, 使得云服务器可以帮助用户解密密文, 减少了用户计算量, 也减少了用户和云服务器的通信量.

云存储; 存储安全; 访问控制; 密文策略

0 引言

云计算是一种按使用量多少付费的模式, 云存储可认为是一个配置了海量存储空间的云计算系统. 用户把大量的数据存入云存储, 失去了对数据的直接控制, 恶意的云服务商可能会因为经济利益将用户数据透漏给第三方, 从而造成数据泄露. 访问控制能够确保只有被授权用户才能访问相关数据, 是解决云存储中安全问题的重要手段. 为了实现在云存储环境下的访问控制, 一系列加密方案被引入到云存储的研究中.

2005年, Sahai和Waters[1]提出基于模糊身份的加密, 第一次引入属性的概念. 2006年, Goyal等[2]以基于模糊身份加密方案为基础, 提出基于属性的加密方案, 极大地方便了对数据的访问控制. 2007年, Bethencourt等[3]提出基于密文策略的属性加密方案, 在该方案中, 只有那些具有与加密策略相匹配的用户才能解密密文, 从而, 完成对数据的精细化访问控制.

当前, 基于密文策略的属性加密(ciphertext-policy attribute-based encryption, CP-ABE)方法是云存储中进行数据访问控制最有效的方法, 因为在CP-ABE方法中, 数据拥有者可以自己定义和执行访问策略, 当用户满足数据拥有者所定义的访问策略时才能解密密文. 然而, 在实际中实施基于密文策略的属性加密(CP-ABE)方法, 其管理负担很大, 撤销单个用户的访问权限, 其他拥有相同属性的用户必将受到影响, 并且需要对涉及到的密文进行重加密, 也需要更新其他相关用户的密钥. 所以在基于密文策略的属性加密(CP-ABE)方法下, 关于属性的撤销成为了一个极具挑战性的重要难题.

为了解决这个问题, 学术界已开展研究. Yu等[4]把代理重加密技术加入CP-ABE方案中, 通过撤销用户私钥和撤销系统公钥的方式来撤销用户, 但是撤销用户权限代价太高. 也有学者通过在加密过程中引入半可信代理来实现用户撤销[5], 但是方案引入半可信代理导致加密以及解密等操作开销过大, 急需改进. Ibraim等[6]将代理重加密与密文访问控制结合起来, 虽然可以进行撤销用户权限操作, 但方案中数据拥有者的计算负担变得特别重. 虽然有学者[7-8]提出了可撤销用户权限的访问控制方案, 但不支持细粒度的用户权限撤销. 本文结合文献[9]的方法, 改进了加密过程和密钥生成过程. 为了方便地进行用户权限撤销操作, 为每个属性随机选择一个属性版本号, 并且在本方案中引入代理密钥, 将用户的计算负担转移给云服务器, 大大减少了用户的计算量.

1 背景知识

1.1 双线性对

设G1,G2和GT是三个阶数都为大素数p的乘法群, 一个双线性映射如果有以下性质:

1) 双线性.对于任意的u∈G1,v∈G2和a,b∈Zp,e(ua,vb)=e(u,v)ab.

2) 非退化性.存在u∈G1,v∈G2使得e(u,v)≠I, 其中I为GT的生成元.

3) 可计算性.对于任意的u∈G1,v∈G2, 存在有效算法可以计算e(u,v).

1.2 访问结构

1.3 线性秘密共享方案

设参与者的集合为P={P1,P2, …,Pn}, 用(A,ρ)表示访问结构A, 其中A是一个l行n列的矩阵,ρ是从{1, 2, …,l}到P={P1,P2, …,Pn}的映射, 即矩阵A的每一行都对应一个参与者. 一个(定义在Zp上的)线性秘密共享方案包含以下两个算法:

2 方案设计

2.1 整体结构

图1 系统模型

系统由四个实体组成, 分别为属性机构(attributeauthority,AA), 数据拥有者(datadwner), 用户(users)和云存储服务器(cloudstorageserver,CSS), 见图1. 属性机构负责管理所有的属性, 并为系统发布公共信息、 更新重要信息等, 本方案中属性机构是可信的. 数据拥有者负责上传加密文件, 并且定义访问策略, 使只有属性满足访问策略的用户才能解密密文. 如果用户想要访问一个文件, 则向云存储服务器发出申请, 云服务器负责将文件部分解密后发送给用户. 本系统中, 云服务器是不完全可信的, 但本文假设云服务器会正确执行数据拥有者和属性机构的命令.

2.2 访问控制方案具体构建

设G和GT是两个具有相同素数阶的乘法群,e:G×G→GT为双线性映射,g为群G的生成元,H:{0, 1}*→G为哈希函数.

1) 系统初始化. 属性机构首先选择α,β,γ,a∈Zp作为主私钥, 即MSK=(α,β,γ,a). 并结合g,e计算出公共参数PP:

PP=(g,ga,g1/β,gβ,e(g,g)α)

属性机构为每个属性x选择一个随机数vx∈Zp作为属性版本号, 即Vx=vx, 并结合主私钥,g,H计算出公共属性密钥:

系统中所有用户都可以获取公共属性密钥和公共参数.

2) 数据加密. 数据拥有者首先按照自己的需要把数据分成n块, 分别为m1, m2, …, mn, 随后对每个mi用不同的内容密钥ki在对称加密的方法下加密, 接着, 数据拥有者定义一个访问结构M, 在访问结构M下加密每一个ki, 这样就对密钥实现了基于密文策略的属性加密.

加密算法输入公共参数PP, 公共属性密钥PKx, 按照访问结构(M,ρ)对内容密钥ki进行加密, 其中M是一个l×n的矩阵, 函数ρ把M中的一行映射为一个属性. 随机产生一个向量v=(s,y2,y3, …,yn)∈Zp, 计算λi=v·Mi,Mi为矩阵M的第i行, 再随机选择l个数r1,r2, …,rl, 进行如下加密:

数据拥有者把CT连同加密后的密文一并存入云端.

3) 密钥生成. 属性机构为每个用户随机选择一个数t∈Zp, 结合t和每个用户的属性集为每个用户计算出代理密钥TK和用户私钥SK.

将TK发送给云服务器, 将SK发送给相对应的用户.

4) 解密过程. 用户向云服务器申请得到相应数据, 云服务器根据与该用户相对应的TK计算:

若用户的属性满足访问结构, 则根据上式云服务器可以计算出结果e(g,g)αst. 若用户的属性不满足访问结构, 则云服务器计算不出结果e(g,g)αst.

2.3 属性撤销

如果属性机构想要撤销某个拥有属性x1的用户A, 属性x1对应的属性版本号为Vx1=vx1, 则属性机构为属性x1产生一个新的属性版本号Vx1′=vx1′, 同时将公共属性密钥更新为:

并且告诉所有的数据拥有者应该更新自己的公共属性密钥.

属性机构为每个仍然拥有属性x1的用户和云服务器产生更新密钥:

属性机构将UKx, 1, UKx, 2, UKx, 3发送给云服务器. 由于t是属性机构为每个用户选择的随机数, 每个用户的t都不相同, 所以每个用户的UKx, 1都不相同, 任何用户都不能用别人的UKx, 1来为自己的TK更新. 云服务器将未被撤销用户的TK更新为TK*:

云服务器将以前的CT更新为CT*:

用户A即使再向云服务器申请也得不到e(g,g)αst, 而其他用户申请依然可以得到e(g,g)αst, 这样就完成了对于用户A访问权限的撤销.

3 安全分析

2) 本方案可以抵制撤销用户的访问. 如果一个用户某个属性被撤销, 那么对应此属性的属性版本号也会跟着相应地改变, 公共属性密钥也跟着相应地改变, 又由于新加密的密文都是在新的公共属性密钥下加密的, 只有用更新后的属性版本号才能进行相应的计算, 而被撤销用户的属性版本号还是原来的版本, 因此撤销用户不能解密新加密的密文.

3) 本方案可实现前向安全和后向安全. 后向安全定义: 被撤销用户不能解密用新密钥加密的密文. 前向安全定义: 如果新加入的用户属性集满足访问结构, 则新加入的用户可解密之前加密的密文. 在每次撤销某用户的属性时, 属性机构会为被撤销的属性x产生新的属性版本号Vx′, 为其他的每个合法用户更新TK. 此后, 被撤销用户不能解密新加密的密文, 因为根据解密算法, 云服务器出结果e(g,g)αst(vx′-vx)发给被撤销用户, 被撤销用户无法得到α,s,vx′-vx, 所以无法解密新加密的密文. 而对于新加入的用户, 由于云服务器把之前加密的密文更新为CT*, 正好与新用户属性版本号Vx′相对应, 所以新用户可以解密之前的密文.

4 性能分析与仿真实验

4.1 性能分析

表1 性能比较

4.2 仿真实验

以仿真实验比较本方案和文[9]方案的用户解密时间. 实验是在3 GHz处理器和512 M内存环境下进行. 用对称密钥k对数据块进行加密算法, 对密钥k进行基于密文策略的属性加密, 仿真结果中用户解密时间是20次实验取得的平均值. 一次乘法运算时间约为6.4 ms, 一次配对操作时间约为20 ms, 一次求幂所用时间约为12.4 ms. 本方案不同于文[9]方案的地方是引入了代理密钥, 将用户部分计算量转移给云服务器. 本方案中, 数据拥有者首先用密钥k对数据块进行对称加密, 然后对密钥k进行基于密文策略的属性加密. 在解密过程中, 云服务器首先计算出e(g,g)αst, 再把{e(g,g)αst,C}和相应密文返回给用户, 用户只需计算

图2 随机数的数量与用户解密时间的关系

即可得到内容密钥k, 再用k解密数据块即可. 整个过程中用户解密只需进行一次幂运算与一次乘法运算, 所用时间为Tu+Tm. 而文[9]方案中, 同样是对对称密钥k进行基于密文策略的属性加密, 用户解密需要先计算出e(g,g)αs, 计算过程比较复杂, 且还要再计算

得到密钥k, 再用k解密数据块, 整个过程计算时间随着随机数数量增多呈线性增长, 为(l+1)Tu+Tp+(2Tp+Tm)l.

实验结果如图2所示, 随着随机数数量增多, 本文方案中用户解密时间基本保持不变, 而文[9]方案中的用户解密时间随随机数数量增多呈线性增长, 本文方案解密效率明显高于文[9]方案.

5 结语

在信息时代, 各种信息都以数据的形式存储, 但是云存储中对于数据的访问控制影响着云存储的发展, 合理有效的访问控制方法不仅可以提高用户对云存储的信任, 而且对于云存储发展有着深远的影响. 本方案中的CP-ABE方法实现了对数据的访问控制, 减少了用户解密的计算量, 且具有高效的属性撤销功能. 但其中的加密、 解密过程还略显复杂, 将继续对加密、 解密过程做进一步研究.

[1]SahaiA,WatersB.Fuzzyidentity-basedencryption[C]// 24thAnnualInternationalConferenceontheTheoryandApplicationsofCryptographicTechniques.Aarhus:[s.n.], 2005: 457-473.

[2]GoyalV,PandeyO,SahaiA,etal.Attributebasedencryptionforfine-grainedaccesscontrolofencrypteddata[C]//ACMConferenceonComputerandCommunicationsSecurity.Alexandria: [s.n.], 2006: 89-98.

[3]BethencourtJ,SahaiA,WatersB.Ciphertext-policyattributebasedencryption[C]//IEEESymposiumonSecurityandPrivacy(SP′07).Berkeley: [s.n.], 2007: 321-334.

[4]YuS,WangC,RenK.Attributebaseddatasharingwithattributerevocation[C]//5thACMSymposiumonInformation,ComputerandCommunicationsSecurity.NewYork:ACM, 2010: 261-270.

[5]JahidS,MittalP,BorisovN.Easier:Encryption-basedaccesscontrolinsocialnetworkswithefficientrevocation[C]// 6thACMSymposiumonInformationComputerandCommunicationsSecurity.NewYork:ACM, 2011: 411-415.

[6]IbraimiL,AsimM,PetkovicM.Anencryptionschemeforasecurepolicyupdating[C]//IEEEProcof2010InternationalConferenceonSECRYPT.WashingtonDC:IEEEComputerSociety, 2010: 1-10.

[7]IbraimiL,PetkovicM,NikovaS,etal.Mediatedciphertext-policyattribute-basedencryptionanditsapplication[M]. [s.l.]:Springer, 2009: 309-323.

[8]YuS,WangC,RenK,etal.Attributebaseddatasharingwithattributerevocation[C]//ACMProcof2010ASIACCS.NewYork:ACM, 2010: 261-270.

[9]YangKang,JiaXiaohua.Securityforcloudstoragesystems[M]//SpringerBriefsinComputerScience.NewYork:Springer, 2013: 39-58.

(责任编辑: 郑美莺)

An access control protocol with efficient revocation in cloud storage

ZHANG Jianhong, ZHAO Xubing

(College of Science, North China University of Technology, Beijing 100041, China)

We construct an attribute-based encryption protocol. The protocol has the property of efficient attribute revocation, the program cloud reduce the amount of computing and communication. The secret key is divided into two parts, one part is sent to the cloud server, the other part is sent to the user. It transfers the most amount of computation to the cloud server, and reduces the amount of computation of users.

cloud storage; storage security; access control; ciphertext policy

2015-08-04

张键红(1975-), 副教授, 博士, 主要从事密码学研究, jhzhang@ncut.edu.cn

北京市自然科学基金资助项目 (4122024, 4132056)

10.7631/issn.1000-2243.2015.06.0753

1000-2243(2015)06-0753-06

TP393

A

猜你喜欢
访问控制密文解密
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
炫词解密
ONVIF的全新主张:一致性及最访问控制的Profile A
一种基于密文分析的密码识别技术*
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现