增强安全的云存储数据访问控制方案
2021-10-19吴柯桦叶春晓
刘 铮,吴柯桦,叶春晓
(1.重庆医科大学附属第一医院信息中心,重庆 400016; 2.重庆市生态环境大数据应用中心,重庆 401147;3.重庆大学计算机学院,重庆 400044)
0 引 言
云存储为数据所有者提供了方便的数据存储服务和面向普通用户的24小时不间断数据访问服务。但是由于云服务器是不完全可信的,租用云服务器的企业无法直接对它们的数据进行直接控制,而一些非法的云服务商可能因为利益而非法出售用户的数据资源。云存储中的数据机密性与访问控制问题是一个急需解决的问题。云上保障数据安全的常用方法是在存储数据之前对数据进行加密。基于密文的策略属性加密(CP-ABE)[1]是云上数据访问控制的主要技术之一,该技术在支持数据加密的基础上,可以进行细粒度访问控制策略,又支持数据加密,且在CP-ABE中,访问策略由数据所有者决定,数据所有者可以直接控制数据。CP-ABE可分为2类:一类是具有单属性的CP-ABE(SACP-ABE),其中所有属性都由属性权威机构管理[1-3];另一类是具有多属性权限的CPABE(MACP-ABE),不同的属性权威机构负责管理不同的属性集[4-7]。与SACP-ABE相比,MACP-ABE不仅减轻了密钥管理和密钥分配的压力,而且避免了单点故障的风险,因此更适用于在云存储中进行数据的访问控制。
为了实现动态的云数据访问控制,需要考虑属性撤销和策略更新。由于用户访问的时间和地点的不同,可能获得不同的属性集合,进而导致不同的访问权限。由于不同的用户可能具有相同的属性,因此在撤销属性时需要考虑2个安全问题[8]:一个是后向安全,即被撤销的用户不能解密包含被撤销属性的密文;另一个是前向安全,只要分配给新用户的属性集符合数据访问策略,则新用户仍然可以解密系统中已经存在的密文。由于云服务是半可信的[8-12],因此云服务与用户可能存在合谋攻击。根据属性撤销的粒度不同,撤销可以分为用户级用户撤销和属性级属性吊销,用户撤销是指撤销用户的所有权限;属性撤销则只撤销用户的部分权限。一个用户可以撤销所有的属性来实现用户撤销,本文主要研究属性撤销问题。
本文首先在文献[13]中发现NEDAC-MACS的一个安全漏洞,然后,对NEDAC-MACS中的部分算法进行改进,提高了系统的安全性。本文的主要工作归纳为以下3点:
1)发现了NEDAC-MACS的安全漏洞,并给出一种攻击方法,证明被撤销的用户仍然可以通过与云服务器串通来解密更新的密文。
2)提出一种基于NEDAC-MACS的安全增强型数据访问控制方案(SEDAC-MACS),该方案对NEDAC-MACS的模型进行改进,解决了云服务器与用户的合谋问题。
3)通过形式化的密码分析,证明本文的方案能够抵抗未授权用户之间以及云服务器与用户之间的合谋攻击,保证前向安全性、后向安全性和数据保密性。
1 相关工作
传统的基于属性的加密方案中,Sahai等人[14]首次将IBE和ABAC技术结合,提出了基于属性的加密(ABE)。Goyal等人[15]首先将ABE分为2类:密钥策略ABE和密文策略ABE,同时给出了第一个密钥策略ABE方案。相应地,Bethencourt等人[1]提出了第一种基于密文策略的方案。Ostrovsky等人[16]提出了一种支持非单调访问策略的ABE方案,以提高ABE的表达能力。Lewko等人[17]提出了一种完全安全的密文策略ABE方案。在文献[18]中,Waters提出了一种在标准模型下基于非交互假设的CP-ABE方案,该方案采用线性秘密共享方案扩大了CP-ABE的应用范围。Rouselakis等人[19]利用素数阶群构造了一个基于CP-ABE的支持大规模属性域的方案。以上解决方案都是针对单属性授权的应用场景。为了提高密钥分配的效率,便于密钥管理,降低单点攻击的风险,Chase[6]第一次提出了多属性权威的ABE方案;随后,Chase等人[7]提出了一个增强安全的多属性权威ABE方案,以解决CA权力过大的问题。在文献[20]中,Lewko等人在随机预言模型中构造了一个基于MACP-ABE的方案。然而,上述基于多属性权威的ABE方案中均未考虑撤销问题。
具有撤销机制的属性加密方案。为了解决属性撤销问题,Pirretti等人[21]为属性设置了过期时间,当过期时可以撤销用户权限。Bethencourt等人[1]设置了密钥的过期时间来实现属性撤销。然而,由于这种撤销不能及时进行,无法保证前向安全和后向安全。Hur等人[22]通过引入密钥加密密钥树和属性组的概念提出了一种具有属性撤销功能的ABE方案,但是该方案是基于单属性权威,且存在用户与属性撤销用户之间进行合谋攻击的安全漏洞。Chen等人[23]通过发送部分密文非撤销用户来实现用户撤销,但是这种方法引入了巨大的计算和通信开销。Li等人[24]提出了双因子加密的ABE方案,该方案通过2次加密来实现用户撤销和属性撤销。Li等人[11]对该方案进行了改进,并给出了一种能够抵抗合谋攻击的属性撤销方案。Yang等人[8]使用属性版本号来实现属性撤销,提出了一种具有属性撤销机制的多属性权威的云存储数据共享方案。Wu[13]等人对Yang等人[8]的方案进行了2次攻击,并提出了一种新的扩展方案NEDAC-MACS。然而,该方案没有考虑到云服务商是不可信的,存在与用户进行合谋的可能性。Yu等人[25]首先提出了将代理重加密与CP-ABE结合实现属性撤销,但该方案没有考虑用户隐私问题。Kawai等人[26]提出了一种完全匿名的代理重加密方案实现数据共享,然而该方案没有实现外包解密,因此效率不高。Chaudhari等人[27]提出了一种基于属性的密文策略代理重加密方案(CP-ABPRE),该方案能保证访问策略的隐私,同时实现属性撤销与高效率解密。Ziegler等人[28]提出了一种有效的可撤销的属性加密方案,实现了策略隐藏、用户与属性撤销。Wang等人[29]针对云数据共享方案中密文搜索问题,提出了多值独立快速搜索的密文策略属性基加密方案,提升搜索效率与保护用户隐私。Zhang等人[30]针对大数据发布平台中用户动态集中管理与用户隐私保护的问题,提出了一种可扩展与可动态更新的基于属性隐私保护方案。Ziegler等人[28]针对具有复杂层次结构的组织中数据安全共享与用户管理问题,提出了基于权限的多层次组织的云数据共享方案,有效提升用户管理的效率。
2 准备工作
2.1 主要定义
本节主要介绍双线性对(Bilinear Maps)和线性秘密共享方案(Linear Secret Sharing Schemes, LSSS)的定义。
定义1 双线性对。选取3个阶数均为素数p乘法循环群G1、G2和G3。令映射e:G1×G2→G3为一个双线性对,当映射满足下列的3个性质:
1)双线性:∀(u,v)∈G1×G2,a,b∈Zp,有e(ua,vb)=e(u,v)ab。
2)非退化性:∃(u,v)∈G1×G2,使得e(u,v)≠1。
3)可计算性:存在有效的算法来计算出e(u,v), ∀(u,v)∈G1×G2。本文中映射e是对称的,e(ga,hb)=e(g,h)ab=e(gb,ha), ∀(g,h)∈G1×G2。
在本文中G1=G2,即双线性映射是对称的。
ga·s·bk/bj,…,gaq·s·bk/bj)
其中,∀1≤j,k≤q,k≠j,有难以区分的随机元素R∈G与e(g,g)aq+1∈GT。算法β解决q-parallel BDHE问题的优势为ε,如果:
定义3 当没有多项式时间算法的敌手以不可忽略的优势解决q-parallel BDHE问题时,q-parallel BDHE假设成立。该假设在文献[18]中被证明。
2.2 NEDAC-MACS模型简介
NEDAC-MACS包含5个阶段:系统初始化、密钥生成、加密、解密和属性撤销。
2.2.1 系统初始化
CA Setup。CA运行CA Setup算法进行系统初始化,CA首先选择2个素数阶为p的乘法循环群G和GT,然后选择一个双线性映射G×G→GT。选择一个Hash函数使H:{0,1}*→G,最后随机选择一个a∈Zp作为系统主密钥MSK。计算出系统参数SP=(g,ga,G,GT,H)。
CA为每个合法的AA(属性权威机构)分配一个全局身份aid,为每个合法的用户分配全局唯一的身份标识uid。然后CA随机选择2个数uuid,zuid∈Zp为每个用户计算出对应的全局公私钥对GPKuid=guuid和GSKuid=zuid,为用户生成数字证书Cert(uid)=Enc(uid,uuid,g1/zuid)。
AA Setup。属性权威机构AAy随机选择3个数字αy,βy,γy∈Zp作为自己的私钥SΚy=(αy,βy,γy)。对于每个属性xy∈SAy, AAy将会选择一个版本的VKxy=uxy,生成属性公钥PKxy=(guxyH(xy))γy。AAy的属性公钥计算为:
2.2.2 密钥生成
每个用户首先要提交自己的数字证书Certuid到AAy,然后AAy使用验证密钥ukCA验证用户合法性之后,AAy为用户分配一组属性Sj,y,否则AAy拒绝为用户提供服务。之后AAy随机选择2个数tj,y,hj,y∈Zp,计算生成用户密钥SKj,y:
其中,j∈SU,y∈SA。
2.2.3 数据加密
2.2.4 数据解密
令I={IAy}y∈IA表示密文中包含的属性的索引集合,其中IAy⊂{1,2,…,l}表示属性权威AAy管理的属性的索引集合,定义为IAy={i:ρ(i)∈SAy}。令NA=|IA|表示密文中涉及的属性权威的数量。解密算法选择一个常数集{ωi∈Zp}i∈I,当集合{λi}是指数s的合法共享时,恢复加密指数s=∑b∈Iωbλb,算法解密指令TK的计算方法为:
接下来算法计算密钥k,k=C/(TKzj),最后用户Uj使用内容密钥k解密密文。
2.2.5 属性撤销
3 NEDAC-MACS漏洞分析
=gαλb((guρ(b)H(ρ(b)))γy)-rb
=grb/βy
=g-rbγy/βy
根据以上分析,被撤销的用户仍然可以通过与云服务器合谋来解密更新的密文数据。这个结论与文献[13]中只有新版本的密钥才能解密更新密文的说法相矛盾。因此在NEDAC-MACS中的属性撤销机制不能抵抗云服务器与撤销用户的合谋攻击,这造成了NEDAC-MACS方案的安全漏洞,进而使方案无法满足后向安全的要求。
4 系统模型和安全模型
在本章中,将基于文献[8,13]给出本文方案的系统模型、安全假设和安全模型。
4.1 系统模型
系统模型中有6个角色,如图1所示。
图1 系统模型
1)全局认证中心(Certificate Authority, CA)。CA是一个全局可信的认证机构,主要职责为负责用户和属性权威的注册以及系统初始化。
2)属性权威机构(Attribute Authority, AA)。每个属性权威机构只负责管理所管辖区域的属性集,生成与分发相对应的属性公钥。同时接受用户的私钥请求,为合法用户生成与分发属性集对应的私钥。
3)云存储服务器(Cloud Storage Server, CS)。CS是半可信的服务器,主要负责为用户提供数据存储与数据访问服务。
4)代理服务器(Proxy Server, PS)。PS是一个全局可信服务器,负责为用户提供密文更新服务,以及为合法用户生成解密口令。
5)数据所有者(Data Owner, DO)。DO负责制定数据访问策略和加密数据,并将加密的密文数据上传到云端。
6)用户(User)。每个用户都有一个全局的身份标识,合法的用户可以向PS请求密文,只有当用户的属性集满足数据访问策略时才能解密密文数据。
4.2 各实体安全假设
在SEDAC-MACS中,本文有如下假设:
1)CA是可信的,但不允许CA解密任何密文。
2)每个AA也是可信的,但它可能会被攻击导致服务不可用。
3)云服务器是半可信的,它不会拒绝向任何授权用户提供服务,并且会正确执行用户分配的任务,但云服务器可能对云上存储的数据内容或接收到的数据内容好奇。
4)用户是不可信的,用户可能通过合谋来获取未经授权的数据访问。
5)代理服务器是可信的,不会与被撤销的用户以及云服务器合谋。
4.3 安全模型
与文献[8]、文献[6]、文献[20]、文献[9]和文献[13]中的安全模型类似,属性权威机构只能被静态地破坏。敌手被允许查询密钥,但查询得到的密钥不能解密将要挑战的密文。密文不能用来解密这些密钥。本方案的安全模型基于文献[13]。
5 SEDAC-MACS访问控制方案
在本章中,介绍SEDAC-MACS方案。SEDAC-MACS包括5个阶段:系统初始化、密钥生成、加密、解密和属性撤销。在SEDAC-MACS的系统初始化、密钥生成、加密过程中,所有相应的算法与NEDAC-MACS相同。
在SEDAC-MACS的数据解密阶段,该方案与NEDAC-MACS略有不同。当用户向云服务发送数据请求时,云服务首先验证用户的身份信息。如果用户证书是合法的,并且用户的属性集合满足密文中的访问控制策略时,云服务器将用户所需的密文发送给代理服务器。代理服务器在收到密文后根据收到的密文密钥来更新密文,根据解密算法获得解密口令。如果用户是非法的,云服务器将拒绝用户的请求。
SEDAC-MACS的主要改动在属性撤销阶段,步骤如下:
1)更新密钥生成。
2)密钥更新。
3)密文更新。
在密文更新后以及密文不包含撤销属性的情况下,PS使用用户上传的私钥SK执行解密算法计算出解密口令,并将TK发送给用户。
6 安全分析
如表1所示,本文对文献[5]、文献[13]和SEDAC-MACS在撤销安全、合谋攻击和抗属性权威被破坏的可证明安全等方面进行了比较。
表1 CP-ABE方案安全性对比
1)后向安全和前向安全。
在属性撤销的过程中,属性权威机构会对每个非撤销用户根据他们的身份标识来生成对应的密钥更新密钥以便更新他们自己的私钥,而被撤销的用户无法获得更新密钥也就不能将他们的私钥更新到最近的版本。同时,由于密文更新密钥与属性更新密钥不能被撤销的用户或云服务获得或计算出,因此本文的方案满足后向安全。另外,属性权威机构将密文更新密钥安全地转发给代理服务器,然后代理服务器将密文更新到最近的版本,拥有新版本属性的用户就能够解密之前的密文从而获得明文数据,因此本文的方案也满足前向安全。
2)抗合谋攻击。
每个用户都有一个全局身份标识,并且用户与属性相关的密钥组件是与属性权威机构选择的随机数相关的,因此每个用户的密钥组件都不相同,用户无法将他们的密钥通过结合的方式实现非授权访问。另外,云存储服务只负责提供存储服务,可信的代理服务器提供可靠计算服务,因此撤销的用户或者敌手无法通过与半可信的云服务合谋进行非授权的访问。
3)可证明安全。
本文在4.3节中所描述的安全模型可被以下理论证明SEDAC-MACS是安全的。
定理1 当q-parallel BDHE假设成立时,多项式时间内敌手有一个大小为Mi(1
证明:由于SEDAC-MACS是在NEDAC-MACS方案的基础上改进的,并未给NEDAC-MACS带来新的安全漏洞,而NEDAC-MACS已被证明是安全的,因此SEDAC-MACS能够抵抗属性权威机构的静态合谋攻击。
7 性能分析
在本章,将从存储代价与通信代价等方面通过与文献[5]方案和文献[13]方案比较来分析本文方案的性能。令|p|为群G、GT、Zp的元素的个数。假设系统有NA个属性权威机构,每个权威机构AAy管理na,k个属性。令用户uid从属性权威机构AAy获得的属性数量记为nuid,y=|Suid,y|,令tc为密文中访问结构相关联的属性总数,nc,x为云存储中包含撤销属性x的密文总数,nr为要被撤销的属性总数,nc为云存储中密文总数。
1)存储开销。
存储代价是云存储系统中数据访问控制方案最重要的问题之一。如表2所示,本文分析了系统中每个实体的存储代价。当系统中密文数或者与撤销属性相关联的密文数很大时,本文方案的存储代价几乎与文献[13]方案相同,优于文献[5]方案。
表2 CP-ABE存储开销比较
对于属性权威机构来说,每个属性权威机构都应该存储它所管理的属性的相关信息。本文的方案和文献[13]方案的存储代价均比文献[5]方案的代价小,因为3个方案均要求属性权威机构存储每个用户的公钥与私钥以及属性公钥,然而文献[13]方案需要额外存储所管理属性的属性密钥。
对于数据拥有者来说,存储代价主要来源于公共参数。本文的方案与文献[13]方案都比文献[5]方案的存储代价小,因为文献[5]方案需要数据所有者除了存储公共参数外还要存储密文。
对于数据共享用户来说,存储代价主要来源于属性权威机构发布的与用户自己相关的私钥。本文的方案与文献[13]方案都比文献[5]方案的存储代价小,因为文献[5]方案要求用户既要存储私钥也要存储与撤销属性相关联的密文组件。
对于云服务来说,3个方案中云存储服务器有着相同的存储代价,存储代价都来源于密文的数目,在这里本文没有考虑要被加密的明文的长度。
对于代理服务器来说,本文的方案需要代理服务器存储密文更新密钥,而其他方案不需要。
2)通信开销。
本文只比较在属性撤销阶段的通信代价,因为3个方案在加密与解密阶段的通信代价几乎相同。如表3所示,文献[5]方案中属性撤销阶段的通信代价是与包含撤销属性的密文数目线性相关的。而本文的方案与文献[13]方案在属性撤销阶段都有着固定的通信代价。
表3 CP-ABE通信开销比较
8 结束语
本文指出了NEDAC-MACS的安全漏洞,提出了一种安全增强的多权限云存储数据访问控制方案。与NEDAC-MACS相比,该方案在满足NEDAC-MACS的安全要求的同时,还能抵抗云服务器与被撤销用户之间的合谋攻击,更适合于云数据访问控制。最后证明了SEDAC-MACS能够保证数据安全和撤销安全。