查字典论文网 >> 浅析基于CP-ABE和XACML多权限安全云存储访问控制方案

浅析基于CP-ABE和XACML多权限安全云存储访问控制方案

小编:段家庆

1 引言

云存储是一种从云计算衍生和发展起来的数据外包存储服务技术,能够使用户远程存储并按需随时随地访问云存储中的数据。云存储依靠其成本低、易于使用的接口和高扩展性的商业优势得到了业内的广泛关注。然而,云用户在享受云存储带来多种便利的同时,也面临着数据脱离自身控制域而担心数据的安全和隐私问题。Google、Docs、The Linkup等多家著名云服务提供商曾多次出现过各种安全问题,导致了严重的后果,安全隐患已成为云存储大规模发展亟需解决的关键问题。

访问控制是实现用户数据机密性和进行隐私保护的主要工具之一,然而云存储的外包存储服务模式导致特权用户的存在,其具有非授权访问用户数据的权利,导致用户数据信息和隐私泄露等内部攻击问题。针对上述安全问题,引入基于模糊身份加密的ABE(Attribute-based Encryption)加密访问控制技术。

基于属性的加密技术一般分为密钥策略属性基加密(Key-policy Attribute-based Encryption,KP-ABE)和密文策略属性基加密(Ciphertext-policy Attribute-based Encryption,CP-ABE)。Goyal等人将用户私钥关联到访问控制结构树,密文关联到属性集,若用户的属性集满足访问控制树,则该用户可以解密数据,否则,该用户无法解密数据。Bethencourt等人将用户私钥关联到属性集,密文关联到访问控制树,属性集满足该访问控制树的用户具有解密数据的能力。KP-ABE方案中的加密者不能直接控制哪些用户能访问密文数据,而CP-ABE方案中的用户可以直接决定哪些用户能够访问密文数据,显然CP-ABE方案更适用于云存储服务。基于CP-ABE的云存储访问控制方案也存在一定的不足,即面临单一信任授权机构、属性和用户撤销等困难问题。文献为云用户的私钥嵌入失效时间属性,失效时间到期,用户将不能访问密文。这种周期性访问控制方法要求所有用户周期性更新私钥,从而导致整个云系统效率低下。王鹏翩等人提出基于CP-ABE直接撤销模式下支持完全细粒度属性的撤销方案,而该撤销方案利用用户撤销列表实现细粒度属性的撤销。

文献在个人健康记录云计算环境中划分公共领域和私人领域,根据两种领域不同的属性特质,采用不同的密钥管理和分配方式。比如私人领域为数据属主的亲人、朋友等,公共领域为各个医生、护士和保险公司的工作人员等。针对上述问题,本文提出一种基于CP-ABE与XACML相结合的安全云存储访问控制方案。该方案采用CP-ABE加密机制保护云存储用户数据的机密性,通过XACML框架实现高效、细粒度、动态和可扩展的访问控制,并实现高效的用户撤销。

2 预备知识

2.1 密文策略属性基加密(CP-ABE)

1.双线性对

双线性对是ABE加密方案设计中非常关键的工具之一。设G 和GT是阶为素数p 的群,存在一个可有效计算的双线性映射e:GGGT,该映射具有以下性质:a)双线性:对于所有的a,bZp和所有的g,hG,满足e(ga,hb)=e(g,h)ab。b)非退化性:存在g,hG,使得e(g,h)1。即不能将所有GG 的元素都映射到GT中的某个相同的元素。c)可计算性:对于所有的g,hG,e(g,h)都是可以有效计算的。

2.访问结构

设P={P1,P2,,Pn}为所有属性的集合,某个用户u的属性集A 是P 的一个非空子集,A{P1,P2,,Pn},则N个属性可用于鉴别2 N 个用户。访问结构T 是集合{P1,P2,,Pn}的一个非空子集,T2{P1,P2,,Pn}{}。T 代表一个属性判断条件:在T 中的属性集合称为授权集,不在T 中的属性集合称为非授权集。

3.困难假设设G 是素数阶p 的双线性群,g 是G 的生成元,随机指数a,b,sZp。若将一个元组(g,ga,gb,gs)G4 和一个元素zGT作为输入,则将决定z=e(g,g)abs的输出。如果下式成立:|Pr[(g,ga,gb,gs,e(g,g)abs)=0]-Pr[(g,ga,gb,gs,z)=0|表明存在一个算法输出b{0,1},在G 上具有优势 解决DBDH难题。如果没有多项式时间算法具有不可忽略的优势解决DBDH难题,可以说DBDH假设在G 上成立。

4.CP-ABE算法

CP-ABE主要包含有4个算法,各算法描述如下:

1)初始化算法Setup:生成主密钥MK 和公共参数PK。

2)密钥生成算法SK=KeyGen(MK,A):使用MK 和用户属性集A 生成用户的私钥SK。

3)加密算法CT=Encrypt(PK,M,T):使用公共参数PK、需加密的数据明文M 和访问结构T 进行加密,得到密文CT。

4)解密算法M=Decrypt(CT,SK):用户使用私钥SK解密密文CT,得到明文数据M。

2.2 可扩展的访问控制标识语言(XACML)

可扩展访问控制标识语言(eXtensible Access ControlMarkup Language,XACML)是用于决定请求/响应的通用访问控制策略语言和执行授权策略的框架,它在传统的分布式环境中被广泛用于访问控制策略的执行。XACML访问控制架构主要由策略执行点(Policy Enforcement Point,PEP)、策略决策点(Policy Decision Point,PDP)、策略管理点(PolicyAdministration Point,PAP)、策略信息点(Policy InformationPoint,PIP)和上下文处理器组成。XACML访问控制流程如下:首先PEP接受原始的访问请求(origiNal Access Request,NAR),并转发给上下文处理器,由其解析为XACML规范的请求并传递给PDP,PDP根据从PAP所获得的策略以及从PIP 获取的实体属性对XACML规范请求进行判定,并将判定结果发给PEP,最后由PEP执行访问判定结果。

3 CP-ABE和XACML多权限安全云存储访问控制方案

3.1 总体方案

CP-ABE和XACML结合实现多权限安全云存储访问控制方案的总体架构。

可以看出,该架构与XACML架构的主要区别是策略集中的规则可以由CP-ABE加密算法中的访问控制结构树转换而来。通过将CP-ABE加密过程中采用的访问控制结构树转换为XACML的策略规则,应用XACML框架实现细粒度多权限访问控制机制。为保护用户敏感数据的机密性,首先,系统采用AES对称加密算法对数据明文进行加密,得到数据密文;其次,对称密钥采用CP-ABE算法进行加密,得到密钥密文;最后,将数据密文和密钥密文按照系统设计格式保存至云存储系统中。当某用户请求访问数据时,采用XACML机制控制用户的多种权限,若访问用户的主体属性通过XACML的策略规则,就可以访问密钥密文,通过解密密钥密文得到对称密钥,从而解密数据密文得到数据明文。XACML策略规则不仅可以从CP-ABE访问控制结构树转换而来,也可以单独进行添加修改。

3.2 方案实现

本文方案基于开源项目Suns XACML和cpabe Toolkit在OpenStack子项目Swift对象存储项目上实现。

3.2.1 系统初始化

方案中采用属性权威(Attribute Authority,AA)管理和分配实体(包括资源、主体和环境)的属性。主体属性包括用户姓名、用户ID、部门、职务和入职时间等;资源属性包括名称、主题、资源大小、创建者和创建日期等;环境属性包括有时间、网络状况、资源使用率等。运行cpabe Toolkit初始化算法Setup 生成主密钥MK和公共参数PK。PK={G0,g,h=g,e(g,g)}MK=(,g)其中,G0为生成元为g、阶为p 的双线性群,随机参数,Zp。

3.2.2 新文件创建

数据所有者上传机密数据到云存储服务器时,需要对数据进行如下处理:

1)DO为文件F 选择唯一标识号IDF,随机选择对称密钥KeyF加密F 得到CF。

2)DO指定访问控制结构树T 并调用CP-ABE加密算法Encrypt(PK,M,T)加密对称密钥KeyF得到CT。假设Y 是访问结构树T 所有叶子节点的集合,记访问结构树T 的根节点为r,设节点t的门限值为kt,为节点t生成一个kt-1次的随机多项式qt,qt(0)代表该节点的秘密。定义函数ind(x)返回节点x 的索引编号,函数par(x)返回节点x 的父节点,函数att(y)返回叶子节点y对应的属性。随机选择参数sZp,令qr(0)=s,对于其他节点x,qx(0)=qpar(x)(ind(x))。Encrypt(PK,M,T)加密算法加密对称密钥KeyF得到的的密钥密文CT 如下:CT=(T,珟C=KeyF e(g,g)s,C=gs,yY:C(1)y =gqy(0),C(2)y =H(attr(y))qy(0))

3)文件在云存储服务器中的存储格式为(IDF,CF,CT)。

4)云服务提供商根据DO上传数据中的访问控制树T,解析并生成XACML使用的策略规则文件并存储于策略数据库中。云用户还可以根据资源属性和环境属性定义策略规则。

3.2.3 文件访问

当有云用户申请访问云存储数据时,需要进行以下处理。

1)云服务器首先验证云用户的有效性。

2)XACML访问控制对用户的数据访问请求按照访问策略进行决策。若实体属性与访问控制策略匹配,则XACML决策为接受访问;否则拒绝访问请求。3)若用户u通过XACML验证,根据用户的主体属性集A 生成对应的私钥SKu。SKu=(D=g(+)/,jA:Dj=gH(j)j,Dj=g)其中随机参数Zp,属性jA。4)执行解密算法Decrypt(CT,SK)得到对称密钥KeyF,使用该密钥解密数据密文得到明文,解密过程如下:首先定义递归运算DecryptNode(CT,SK,x),令i=attr(y),每个叶子节点x 计算:当iA 时,DecryptNode(CT,SK,x)=当iA 时,DecryptNode(CT,SK,x)=e(D(1)i ,C(1)x )e(D(2)i ,C(2)x )=e(g,g)q(0)x 。对于非叶子节点z,需要利用kx个叶节点的Decrypt-Node(CT,SK,x)作为拉格朗日插值定理的插值点,计算得到e(g,g)q(0)z 。设访问控制树T 的根节点为R,令e(g,g)q(0)R =e(g,g)s=B,则解密明文M=珟C/(e(C,D/B)=珟C/(e(hs,g(+)/)/e(g,g)s)。

3.2.4 权限撤销和策略更新数据所有者要撤销某用户u对文件F 的访问权限时,需要通过如下两种方式实现处理:

1)更新文件F 对应的XACML访问控制策略,添加拒绝访问规则。

2)修改CP-ABE访问控制结构树T,生成新的对称密钥进行加密,重加密方案采用云服务器端代理重加密机制。

4 安全性分析

4.1 数据机密性

为保证用户数据的机密性和隐私,首先,用户数据通过AES对称加密算法加密;然后,应用CP-ABE算法加密其对称密钥;最后,对于CP-ABE加密得到的密钥密文采用XACML框架进行访问控制。Bethencourt等人在文献中已经证明CP-ABE的安全性是基于DBDH困难假设之上的,从而保证对称密钥的安全性,因此整个访问控制方案保证了用户数据的安全性和隐私。应用XACML细粒度授权架构保证只有合法用户在权限范围内才能访问、操作资源。

4.2 抗合谋攻击

假设云服务器是诚实但好奇的。假设进行合谋攻击的用户的联合属性集满足访问控制结构树,但其各自的属性集都不能完全满足访问结构树,由用户属性产生的私钥组件Dj=gH(j)j,显然合谋用户的属性不同,使得他们无法解密对称密钥,当然无法访问数据;即使用户合谋进行攻击,也不能恢复e(g,g)s,因此无法解密密钥文件。Goyal等学者在文献中已经证明ABE对于合谋攻击是安全的,本文方案是基于CP-ABE加密算法构建的访问控制机制,所以本文方案对于合谋攻击也是安全的。

4.3 后向前向安全

本方案无论对于新加入的用户还是已经撤销的用户,都保证外包云存储数据的后向和前向安全性。当某个用户在某时刻获得满足密文访问策略的属性集时,与该属性相关的属性组密钥需要进行更新,并用更新的新属性组密钥进行重加密。用户即使保存以前系统中的密文,也不能准确解密得到明文,因为即使能够从密文中计算得到e(g,g)(s+s)的值,由于s是随机值,不能获得,因此也不能准确计算出e(g,g)s。所以,该访问控制方案具有后向安全性。同理,当某用户被撤销权限时,系统采用新的密钥进行重加密,因此该算法同样具有前向安全性。

5 仿真及性能分析

实验机器:Inter(R)Core(TM)i7-4720HQ、16GB DRR3内存,操作系统为Windows8.1。实验环境:VMware Workstation 11.1.2上安装Ubuntu14.04,采用开源云OpenStack构建云计算环境,Keystone作为认证服务,Swift作为云存储服务。实验代码基于sunxacml-1.2和cpabe-0.11库编写,对称加密算法采用基于openssl-1.0.1j库的128bit AES加密算法。实验中,对基于CP-ABE和XACML结合访问控制方案的加密和解密时间开销进行评估。方案中,用户数据首先通过对称加密算法AES-128 加密,CP-ABE 加密的仅仅是128bits的对称密钥,整个方案中对于CP-ABE加密不同数据大小实验并没有真正的意义,本文实验采用不同的访问控制结构树与加解密时间之间的关系。访问控制结构树的叶子表示用户属性,所以节点的数目就是用户属性复杂度的体现。实验一测试了用户私钥产生时间与用户属性数量之间的关系。

不妨假设用户属性为a1和a2,该用户的密钥生成时间为57ms;当用户属性数量为6时,设用户属性为a1,a2,,a6,该用户私钥产生时间为204ms。用户私钥产生时间与用户属性数量的关系成正比。方案中应用CP-ABE加密对称密钥,所以假设加密文件大小为1kB固定不变。分别对不同属性数量的访问控制结构树进行加密解密实验。展示了基于CP-ABE算法的加密与解密时间开销与用户主体属性数目(访问控制结构树中叶子节点数目)之间的关系。用户属性数目越多,加密、解密所用时间亦越多,所以在实际系统中,需要根据实际系统制定合适数目的用户属性。结束语 本文提出基于属性加密结合XACML多权限安全云存储访问控制方案,保证云用户机密数据的安全和用户隐私不被泄漏;通过将CP-ABE访问控制结构树转换为适用于XACML应用的策略规则,将两者有机结合,构造具有细粒度、多权限、可扩展的访问控制方案;充分考虑了CPABE加密解密算法的效率,云存储中大量数据的重加密运算移交于云服务器端实现。下一步工作将对方案中的属性撤销效率进行研究。

热点推荐

上一篇:浅析基于“MOOC+SPOC”的“大学计算机基础”翻转课堂教学模式

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文