隐藏访问策略的高效CP-ABE方案

2019-10-21 08:06
计算机研究与发展 2019年10期
关键词:密文解密密钥

王 悦 樊 凯

1(西安文理学院信息工程学院 西安 710065) 2(西安电子科技大学网络与信息安全学院 西安 710071)

随着安全意识的提高,人们对人工智能的安全问题也十分重视.基于云计算和人工智能的密切关系,云上大数据的安全也是人工智能安全的一个重要部分.要解决人工智能安全问题,其中一个方面就是要解决云上大数据的安全.

云计算作为一种新兴的数据交互模式极大地改变了人们的生活方式,通过利用互联网资源池及动态可扩展的虚拟化计算资源,越来越多的人对自己的信息数据进行在线存储、远程共享及云端计算.云计算因此成为学术界乃至产业界的热门与焦点.然而,随着云计算的逐步发展,各种各样的信息、资源等都将被存储在云端,敏感的用户数据被存储在互联网上的第三方,即云服务等提供商,将成为一个趋势.例如用户数据、个人邮件以及一些个人喜好等都被存储在各类门户网站上,比如雅虎以及谷歌等.但是,现在存在一个严重的问题,即在实际生活中云服务提供商不能保证完全可信.早在2009年Gartner的一份调查就已经反映了这个问题,这份调查报告显示现在70%以上的企业用户对云计算中的用户的隐私性以及数据的安全性表示怀疑.而近些年不断发生地各类存储服务网站瘫痪及用户文件外泄的事件,更使得用户们对云计算及云存储的安全性有了深深的担忧.因此,现阶段安全问题已经成为制约云计算发展的至关重要的因素.如何实现云环境中用户身份的合法性认证、如何确保云服务中信息的保密性以及用户数据的可靠性授权,都是云计算安全领域急需解决的问题.

近些年关于云计算的应用研究日益增多,云存储技术也受到了越来越多的关注及研究.为了向用户提供数据访问以及存储等功能,云存储尽可能地将网络中的各类存储资源集合起来统筹协作,这样不仅极大地节约了用户的成本,也将资源的利用做到了最大化.然而,云存储中的安全问题,比如如何安全有效地共享信息、用户如何得到安全有效的云存储数据访问策略是现阶段云计算技术急需解决的.目前,国内外已经有很多的云存储服务,例如谷歌的App Engine 和亚马逊的Simple Storage Service等.它们在云存储技术方面已经取得了显著的成果,除此之外在加密、完整性、不可否认性、授权以及身份验证等安全性能方面也做出了不少努力.然而,其仅仅只是对通信过程中的相关协议进行了加密处理,对存储的数据却并没有进行加密操作.同时由于用户无法亲自监管其存储在云端的数据,更使得数据的安全性成为限制云存储发展的主要问题.

由于访问控制的固有特性,基于属性的加密(attribute based encryption, ABE)作为可以有效解决数据安全访问控制的措施之一,受到了业内的广泛关注.Sahai和Waters[1]首先在2005年引入了ABE的概念,其被认为是一种有效的加密和访问控制方式.属性基加密(ABE)方案主要包括密钥策略(KP-ABE)和密文策略(CP-ABE)两种类型,在KP-ABE[2]方案中,密钥与访问结构密切关联,密文与属性集合密切关联,具有秘密密钥的用户只能解密由秘密密钥的访问策略指定的密文;而CP-ABE[3]方案中,密文与访问结构密切关联,密钥与属性集合关联,只有当属性满足访问结构时,用户才能成功解密密文.由此看来,CP-ABE方案非常适合分布式云存储及解密方不确定的环境,它利用用户的相关属性以及对象间的相互信任关系作为授权依据,并由此来设计访问结构.

然而,在密文策略属性基加密方案中,访问策略与密文密切相关,十分容易暴露,并可能导致用户敏感信息的泄露.例如一个健康组织想向所有携带某些疾病的患者发送一个信息.其中,属性Universe包含所有疾病,访问策略包含“++-**+”这种格式.其中“+”(“-”)表示特定疾病的阳性(阴性), “*”表示无关紧要.如果CP-ABE方案不能隐藏访问策略,那么从一个人是否可以解密该消息,我们就可以直接得到一些用户的敏感信息.因此,隐藏方案的访问结构,对保护用户隐私来说至关重要.

1 相关工作

为了保护用户在访问策略中的隐私,Waters和Boneh[4]提出了一种新的加密方案,通过隐藏向量的谓词加密以实现匿名.随后,Katz,Sahai和Waters[5]又提出了一种新的谓词加密方案,它不仅支持内积加密,而且可以实现匿名的CP-ABE方案;Nishide等人[6]提出了2种隐藏访问策略的密文策略ABE方案,他们使用包含无关值的多值属性的“与”门作为方案的访问结构;Balu和Kuppusamy[7]提出了另一种隐藏策略的密文策略ABE方案,相比较而言,其访问策略可以得到更加有效的表达.上述这些方案都使用与文献[6]相同的访问结构,但是几乎所有这些方案都是使用3种类型的符号(正,负和无关字符)来表示每个属性的可能值,这样的设计在某种程度上是十分冗余的.后来,Lai等人[8]提出了一种完全安全的CP-ABE方案,且它也支持隐藏的策略和无关值,但在其方案中密文大小会随着所有属性的可能值数量的增加而增长,在一定程度上,这便极大地限制了其扩展出更高的性能;Phuong,Yang和Susilo[9]提出了一种新的隐藏策略密文属性基加密方案,他们使用“位置”的概念,并实现了密文大小恒定不变,然而,他们的方案在不同的假设条件下都只能被证明是选择安全的;除此之外,Waters[10]首先提出了一种新的方法用以证明加密系统的安全性,即双系统加密,并且还提出完全安全的IBE和HIBE系统;然后Lewko和Waters[11]提出了一个支持短密文的完全安全的HIBE方案;Lewko等人[12]在IPE结构中使用双系统,提出了一个新的IPE方案;Okamoto和Takashima等人[13]在双系统条件下提出了第一个完全安全的ABE方案;Freeman[14]提出了一个隐藏访问策略的CP-ABE方案,并且使用了双系统证明其是完全安全的,但是它们也采用与文献[6]相同的访问结构,导致了大尺寸密文长度和效率的低下.策略隐藏的属性加密一直以来都是人们关注的焦点,到目前为止,已经不断有科研人员提出了实现方案[15-27].

本文的方案是一个专注于实现高效的隐藏策略的CP-ABE方案,并可证明它在静态假设下是完全安全的.基于由Phuong等人[9]提出的使用不同符号的位置进行转换的思想,本文的CP-ABE方案达到了完全安全并实现了可以隐藏访问策略且密文大小短小、低解密成本等十分高效的性能.

本文方案工作的主要贡献归纳有3个方面:

1) 进一步研究了基于无关值与门的隐藏访问策略的CP-ABE方案,提出了一个高效的可以隐藏访问策略的CP-ABE方案.

2) 针对提出的方案进行了安全性分析,明确其具有数据机密性、访问策略的安全性以及抗共谋攻击的特性,确保了方案的安全可靠.

3) 从理论分析与仿真实验2方面对方案的效率进行了分析说明,证明了方案在加解密以及密钥生成方面都有较高的效率.

2 预备知识

2.1 合数阶双线性群

1) 双线性.∀g,h∈G,∀a,b∈ZN,e(ga,hb)=e(g,h)ab.

2) 非退化性.∃g∈G,使得e(g,g)在GT中阶为N.

假设在多项式时间内,对于参数λ,双线性映射e的运算以及群G与GT中的运算都是可计算的.接着分别用Gp1,Gp2,Gp3表示G的3个子群,且其阶分别为p,q,r,X3是Gp3的一个生成元.注意,如果hi∈Gpi且hj∈Gpi,i≠j,那么,e(hi,hj)就是群GT的单位元,即e(hi,hj)=1.

2.2 复杂性假设

本文方案所依赖的用于证明系统安全性的复杂性假设:第1个假设是3素数子群判定性假设.这个假设是静态的,且大小固定.

这里我们认为T1可以被写成是Gp1中一个元素和Gp3中一个元素的乘积.这2个元素分别被称为T1的Gp1部分及T1的Gp3部分.

本文使用Gp1p3来表示G中阶为p1p3的子群,这里我们可以认为T1是Gp1中的一个元素,T2是Gp1中的一个元素以及Gp3中一个元素的乘积.这些元素分别被称为T1的Gp1部分,T2的Gp1部分以及T2的Gp3.

2.3 韦达定理[9]

给定2个矢量v=(v1,v2,…,vL),z=(z1,z2,…,zL),矢量v既包含字母也包含无关字符,无关字符的个数是n,而矢量z只包含L个字母.设定J={j1,j2,…,jn},i∈[1,L]表示矢量v中无关字符的位置.

(1)

我们选择一个随机群元素Hi,且vi,Zi是Hi的指数.如此,式(1)将变成:

(2)

利用韦达定理,我们可以构建式(1)中的系数λk为

α=i1,i2,…ik,

β=i1,i2,…ik,

0≤k≤n(n=|J|).

例如假定J={j1,j2,j3},多项式为(x-j1)×(x-j2)×(x-j3).利用韦达定理我们得到λ3=1,λ2=-(j1+j2+j3),λ1=(j1j2+j1j3+j2j3),λ0=-j1j2j3.

3 高效的策略隐藏的CP-ABE方案

3.1 系统模型

如图1所示,云共享系统模型中主要有4种角色:云服务器、数据提供者、用户、可信授权中心.

Fig. 1 System model of the effective CP-ABE with hidden access policy图1 高效的策略隐藏的CP-ABE方案系统模型图

1) 云服务器.它可以提供数据及信息的存储服务.它既是诚实的同时又是好奇的,所谓诚实是指它会严格执行我们制定的协议,而好奇意味着它会主动泄露我们的数据,这种情况下我们定义云服务器是半可信的.

2) 数据提供者.数据提供者需要自己制定访问策略,并且根据制定的访问策略来加密自己想要共享的数据,然后将加密后的数据上传到云服务器进行保管,且数据提供者不依赖于云服务器对数据的访问控制,相反,数据的访问控制是由数据拥有者自己制定且包含在加密数据的内部.系统中的合法用户在理论上均可以对密文进行访问,但是只有当用户的属性集合满足数据提供者定义在密文中的访问策略时,用户才能够解密密文从而得到明文.

3) 用户.用户可以向云服务器发送一个数据访问请求,接着云服务器对密文进行预解密,若该用户具有的属性集合满足数据提供者制定的访问策略,则云服务器将密文发送给用户,用户利用自己的私钥解密密文最终获得想要的数据,否则无法获得相应的数据.

4) 可信授权中心.一般情况下,可信授权中心被认为是可以信任的,它是云共享系统的核心,主要负责用户密码管理和分发以及系统参数生成.

3.2 安全模型

本方案基于选择明文安全模型[28-30],安全模型是通过敌手与挑战者间的一场安全挑战游戏来表述的,具体步骤为:

Setup.挑战者B运行初始化算法,并向敌手A提供公共参数PK.

Phase1.敌手A根据已掌握的属性S1,S2,…,Sn,自适应地向挑战者发出查询请求.对于每一个Si,挑战者B运行KeyGen(PK,MK,L)→SK算法,并将SKi发送给A.

Challenge.敌手A向挑战者发送一个访问结构W以及2个等长的消息M0和M1.挑战者B抛掷一枚公平硬币b∈{0,1},且在访问结构W作用下加密Mb,并将密文CT发送给A.

Phase2.重复执行询问阶段1,但限制这些属性中的任何一个都不满足W.

Guess.敌手A输出对b的一个猜测b′.定义敌手A在上述游戏中敌手A获胜的优势为

对于一个加密方案,如果在任意多项式时间内,敌手在游戏中的优势是可忽略的,即其赢得游戏的概率都趋近于0,则称该加密方案在该模型下是安全的.

3.3 方案介绍

本文的方案主要是在文献[9]所述的第2个方案的基础上进行改进,以减少解密运算的消耗,提高解密的效率.

Setup1(1λ,U)→(PK,MK).这一部分去除参数g2∈G,增加一个随机指数d,并改变设定Y=e(g,g)d,其余部分不变,可得公共密钥为

(3)

修改主密钥:

(4)

与原方案对比,公共参数PK中的Y值由原来的e(g,g2)d变为e(g,g)d,主密钥MK去掉了一个参数g2,增加了一个参数d,这些改变将会在解密算法步骤中起到作用,减小解密算法的运算,提高解密率.

Encrypt(PK,M,W)→CT.对比原方案,无需对加密算法作修改,因此,密文不变仍为

(5)

(6)

但对比原方案,在随机选择指数f1,f2,r1,i,r2,i,…,r1,n,r2,n∈Zp后,接着选择随机元素RA,RB,R1,i,R2,i,R3,i,R4,i∈G.然后计算:

(7)

Decrypt(PK,SK,CT)→M.由原方案可得,如果SK的属性列表满足访问结构W,则内积(v,XV)和(v,XZ)返回0.则可用解密密钥SK解密密文CT.

通过对初始化算法以及密钥生成算法的改变操作,可得:

(8)

(9)

因此我们知道:

(10)

而通过对之前方案的了解,我们知道:

(11)

所以当用户属性满足访问结构时,即(v,XV)=0且(v,XZ)=0时,可以得到消息M=Cme(g,g)ds2.

4 高效的策略隐藏CP-ABE方案分析

4.1 安全性分析

1) 数据机密性.这是保证本方案安全的一个最基本的安全特性.对于一个一般用户而言,当他不满足访问策略时,他就无法得到e(g,g)ds2的值,因此也无法进行解密操作,无法获得对应的明文.在本方案中,云服务器被认为是诚实但好奇的,它有可能去试图恢复用户的明文信息,但它最多只能得到e(g,g)ds2的值,却无法获取相应但密文CT,因此,它也无法进行解密操作,进而无法获得相应的明文消息.

2) 访问策略的安全性.当用户的加密信息发送给云服务器时,会通过计算然后以{C1,i,C2,i,C3,i,C4,i}来代替策略中的每个属性值,以{K1,i,K2,i,K3,i,K4,i}代替用户的属性值,而这些值只有对应属性的用户才可以被允许计算.因此,对于云服务器以及其他未授权用户无法进行计算得到它们相应的数据值,因此也无法对各个属性进行区分,避免了它们从访问策略中获得额外的信息,如此就确保了方案访问策略的安全性.

4) CPA安全性证明.假设存在攻击者A具备概率优势ε,可以在选择明文攻击安全游戏中攻破本方案构造的系统,将其记为advA=ε.

模拟器的构造过程:

② 第1阶段.攻击者向挑战者询问密钥语言机Okey.

攻击者向模拟器发送(uid,Suid),并向模拟器询问密钥预言机,其中uid为用户身份标识,Suid为对应身份标识所拥有的属性集合.

攻击者任意选取同样长度的明文M0和M1以及2个挑战访问结构A0和A1,其中挑战访问结构都不能与第1阶段选择的属性集合Suid匹配,然后攻击者将明文和挑战访问结构发送给挑战者.挑战者收到后,投掷一枚公平硬币,均匀地选择一个随机数β∈{0,1},然后按照访问结构Aβ对Mβ进行加密.

③ 第2阶段.重复执行第1阶段,但是访问请求中的用户属性集不能满足挑战访问结构.

猜测:攻击者对β进行猜测,输出β′∈{0,1},如果β=β′,模拟器输出v′=0,否则模拟器输出v′=1.

(12)

(13)

那么,模拟器完成前面假设3的概率优势为

(14)

在多项式时间内,任何攻击者无法以不可忽略的概率优势攻破假设3.因此该模拟器拥有的概率优势ε2是可以忽略的.那么,攻击者A在安全游戏中攻破本方案所构造系统的概率优势ε也是可以忽略的.

4.2 理论分析

现将本文提出的方案与已有的8种属性基加密方案在性能和安全性2个方面进行比较,主要考虑群阶的性质、密文长度、解密运算、安全模型、引用假设、访问结构、是否包含无关值、是否策略隐藏.如表1所示,对基于“与”门访问结构的或者具有固定长度的密文的CP-ABE方案进行了一个详细的对比.其中p表示双线性配对操作,n是访问结构或属性列表中的属性数量,m是每个属性的所有可能值的数量,w是访问结构中无关属性的数量.由此我们可以看到,在所有可以支持无关属性并可以隐藏访问策略的方案中,由于密文大小和解密开销仅取决于访问结构中的无关值的数量,所以由表1对比看出,在满足隐藏访问策略且支持无关值的条件下,虽然无法保证本文方案有最小的解密成本,但本文方案有最短的密文长度,保证了解密效率.且本方案是基于完全安全的模型构建,确保了其安全性.因此,综合来讲,本文所述的方案具有最佳的性能.

Table 1 Comparison of CP-ABE Schemes

4.3 实验分析

Fig. 2 Comparison of user encryption time for the effective CP-ABE with hidden access policy图2 高效的策略隐藏的CP-ABE方案用户加密时间比较

本节将通过实验对方案进行评估,选取文献[21-22]的方案进行对比.实验中使用的环境为32 b的Linux操作系统,CPU频率为3.0 GHz,内存为3 GB,软件使用MATLAB.因为ABE算法的加解密操作的主要耗时都与访问策略中的属性个数有关.因此,为了不失一般性,我们实验选取了20个策略集合(A1&A2&…&AN),A1代表一个属性,N∈[1,2,…,20].对每个策略,计算同一条件下加解密的耗时.为了保证最终结论的准确性,我们采取了多次测量求取平均值的方法.

Fig. 3 Comparison of user decryption time for the effective CP-ABE with hidden access policy图3 高效的策略隐藏的CP-ABE方案用户解密时间比较

图2表示的是用户加密时所需要的时长,从图2中可以很明显地看出3个方案加密时间的开销都随着属性增加呈现线性增长,这是因为每个方案的加密计算都与密文长度有线性相关关系.因此,其密文的长度也都会随属性数目的增长而线性增长,这是因为每个方案的加密计算都与密文长度有线性相关关系,因此,其密文的长度也都会随属性数目的增长而线性增长.其中,文献[22]的加密计算耗时最短,但其却并未对密文中的访问策略进行加密操作,而与之对比,文献[21]方案以及本文方案虽然耗时多但支持了访问策略的隐藏.

图3展现了解密者在解密操作时的时间开销.其中本文方案以及文献[22]的方案在用户解密时的时间开销基本维持在常量水平,而文献[21]的方案因为需要进行对运算操作,因此它的解密时长则会随着访问策略中属性数量的增加而呈现线性增长.而对比与文献[22]方案而言,本方案生成密文更加短小,因此极大地加快了解密的速度,缩短了解密时长.

图4表现了用户产生私钥时所需要的时间开销,显而易见,随着用户属性数量的增加,这3个方案的计算开销都呈现出线性增加.这是由于每个存在于用户私钥中的属性都要进行相应的运算,因而属性的个数越多,计算开销就会越大.而对于每个属性,文献[21]方案的计算开销都相对而言比较大,所以其耗时也就比较多.

Fig. 4 Comparison of secret key generation time for the effective CP-ABE with hidden access policy图4 高效的策略隐藏的CP-ABE方案私钥生成时长比较

5 总 结

本文提出了一种隐藏访问策略的高效CP-ABE方案,它可以使得属性隐藏和秘密共享能够同时应用到“与”门结构中,然后利用合数阶双线性群构造了一种基于包含正负及无关值的“与门”的策略隐藏方案.本方案有效地避免了用户的具体属性值泄露给其他第三方,确保了用户隐私的安全.此外,通过实验验证及分析,保证了本文方案在实现复杂访问结构的策略隐藏的同时,还满足解密时间短、解密效率高的优点.

猜你喜欢
密文解密密钥
一种支持动态更新的可排名密文搜索方案
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于模糊数学的通信网络密文信息差错恢复
炫词解密
支持多跳的多策略属性基全同态短密文加密方案
解密“一包三改”
密码系统中密钥的状态与保护*
密钥共享下跨用户密文数据去重挖掘方法*
炫词解密