《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 一种基于CP-ABE多属性授权中心的隐私保护方案
一种基于CP-ABE多属性授权中心的隐私保护方案
2016年微型机与应用第14期
谭跃生, 娄燕贺
(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)
摘要: 针对云计算环境下用户隐私保护的问题,提出一种基于CPABE多属性授权中心隐私保护方案(PPMACPABE)。方案中采用多个属性授权中心代替单一中央授权服务器,避免了由单一中央授权服务器引起的安全性问题。方案设计了一种交互式的密钥生成算法,利用承诺方案和零知识证明的方法,实现了用户密钥获取过程中用户的属性以及全局身份标识不被泄露,安全性分析表明PPMACPABE方案能够保护用户隐私,并给出了方案的正确性证明。仿真实验结果表明,与DCPABE方案相比,在保护用户隐私信息的前提下,本方案有较高的效率。
Abstract:
Key words :

  谭跃生, 娄燕贺

  (内蒙古科技大学 信息工程学院,内蒙古 包头 014010)

  摘要:针对云计算环境下用户隐私保护的问题,提出一种基于CP-ABE多属性授权中心隐私保护方案(PPMACP-ABE)。方案中采用多个属性授权中心代替单一中央授权服务器,避免了由单一中央授权服务器引起的安全性问题。方案设计了一种交互式的密钥生成算法,利用承诺方案和零知识证明的方法,实现了用户密钥获取过程中用户的属性以及全局身份标识不被泄露,安全性分析表明PPMACP-ABE方案能够保护用户隐私,并给出了方案的正确性证明。仿真实验结果表明,与DCP-ABE方案相比,在保护用户隐私信息的前提下,本方案有较高的效率。

  关键词:CP-ABE;多授权;隐私保护;零知识证明;承诺方案;

0引言

  随着云计算[1]的发展,存储在云中的数据是否安全是关系到云存储能否发展的关键问题。加密的方法可以有效保证存储在云中的数据安全。本文利用基于属性加密的密文策略(CP-ABE)[2]的加密算法保护云中的数据。CP-ABE方案是更加灵活有效的加密算法,因为加密者可以在加密数据时为数据制定相应的访问结构。

  但是在CP-ABE方案中,中央授权(CA)服务器的安全性成为了整个系统的安全瓶颈,因为一旦中央授权服务器遭受攻击,整个系统将会瘫痪。因此,参考文献[3]最后遗留了一个公开问题,即如何构建一个ABE方案,其中私钥能由多个授权方生成,这样用户可以减少对中央授权服务器的信任。之后CHASE M[4]给出了一个肯定的回答。但是在CHASE M的方案中,如何抵抗用户合谋攻击是一个难题,为了克服这个难题,引出了全局身份标识(Global Identity,GID)的概念,通过每个用户的GID与对应的私钥进行绑定抵抗合谋攻击。但是本方案需要一个中央授权服务器。

  HUR J等人[5]于2013年提出将密钥生成中心进行拆分,多个机构之间进行交互式计算,共同生成用户私钥。其优点是,任一密钥生成机构无法获得全部密钥,不能解密密文,以消除不可信第三方密钥生成机构问题。但其缺点是,增加了用户端的计算量,降低了执行效率。

  Lin Hhuan等人[6]通过利用分布式密钥产生协议[7](Distributed Key Generation protocol,DKG )和联合零秘密共享协议[8](Joint Zero Secret Sharing protocol ,JZSS)提出了一种MAABE方案,其中不需要中央授权服务器。为了进行系统初始化,多个授权服务器必须协同工作,并各自运行2次DKG协议和k次JZSS协议,其中k是每个授权服务器所对应多项式的次数。每个授权服务器必须要维护k+2个密钥。这个方案只有当合谋攻击用户的数量少于k时才是安全的,并且k的值在系统初始化的时候就确定了。此方案授权方计算量过大,而且系统的性能会随着属性数量的增长而不断退化。

  Liu Zhen等人[9]提出了一种在标准化模型下完全安全的多授权中心CPABE方案,此方案存在多个中央授权服务器和多个属性授权服务器。中央授权服务器负责给用户发行与身份相关的密钥,属性授权服务器为用户发行属性相关的密钥,在获得属性相关密钥之前,用户必须先从中央授权服务器获得私钥。但这个方案是在复合顺序线性群组中设计的。

  LEKWO A和WATERS B[10]提出了一种新的去中心化的CP-ABE方案(DCP-ABE),改变了之前需要多个授权服务器合作才能进行系统初始化的情况。此方案中,多个授权服务器在系统初始化和密钥产生阶段不需要合作,并且也不需要中心授权服务器,任何一个授权服务器都可以自由加入或离开本系统,而且不需要重新进行系统初始化。这个系统是在复合顺序线性群组上构建的,并在随机预言模型中实现了安全性。但是本方案中的授权服务器能够通过追踪用户的GID来收集用户属性。

  上述多个方案并没能有效地保护用户隐私,因此,基于上述方案,本文提出了PPMAC-ABE方案,该方案基于DCP-ABE模型,设计交互式密钥生成算法IAKeyGen,在用户向多个AA进行密钥获取时,有效保护用户的属性以及GID,进而实现了用户的隐私保护。

1预备知识

  定义1(双线性映射) 若设G、Gr是两个阶为素数q的群,g为G的一个生成元,存在映射e:G×G→Gr。当e为双线性映射时,其有如下性质:

  (1)双线性性,即:

  u,v∈G,a,b∈Z,e(ga,gb)=e(g,g)ab

  (2)非退化性:e(g,g)≠1x。其中1x是群Gr的标识。

  (3)可计算性:对任意u,v∈G,存在有效的算法计算出e(u,v)。

  定义2(访问结构)设P={P1,P2,…,Pn}是所有属性的集合,访问结构A是{P1,P2,…,Pn}的非空子集,即A∈2{P1,P2,…,Pn}/{Φ}。则A作为一个判断条件:在A中的集合为授权集合,否则,为非授权结合。

  定义3(线性秘密共享)设p为一有限集合,Zp为素数域,一个基于集合P的秘密共享方案Π如果满足下列属性,则称作是线性的:

  (1)一方共享的值构成基于Zp上的一个向量。

  (2)对于Π,存在一个l行n列的矩阵Μ称作共享生成矩阵。对于x=1,2,…,l第i行用ρ(i)表示。其中ρ:{1,2,…,l}→Zp。当一个向量v=(s,v2,…,vn),其中s∈Zp是要共享的秘密值,v2,…,vn∈Zp为随机值,那么Μv即为将s共享为l份共享值所组成的向量。ρ(i)=Μiv表示第i个实体得到的共享值,Μi表示Μ的第i行。

2PPMACP-ABE方案

  本方案一共包括四类实体:数据拥有(Data Owner,DO)、云服务商(Cloud Server,CS)、多个属性授权方(Attribute Authorities,AA )和用户User,系统模型图如图1所示。  

001.jpg

  DO首先为将要上传的明文M制定相应的访问策略T,并从多个属性授权服务器获取多个公钥PKi,利用T和PKi对明文M进行加密得到密文CT,并将CT上传到CS。当用户从CS下载到CT并且想要对密文CT进行解密时,用户会向多个AA提交自己的属性集得到相应的私钥SKi,当SKi中的属性集合满足了密文CT中的访问策略T,并能够将秘密值成功恢复时,解密成功。

  本方案由下列算法构成。

  2.1系统初始化算法Setup

  初始化算法分为系统初始化Global Setup和属性授权服务器初始化Authority Setup:

  Global Setup(1k)→params。全局初始化算法:设本方案中共有N个属性授权服务器{A1,A2,…,An},每一个属性授权服务器Ai监管一组属性Bi={bi,1,bi,2,…,bi,n},其中一个属性值满足:

  bi,j∈Zp(i=1,2,…,N,j=1,2,…,qi)。

  每个用户拥有唯一的全局身份标识GIDU并有一组属性U。本算法输入安全参数1k,输出线性组(e,p,G,Gr),则公共参数为:

  params=(g,h,f,e,p,G,Gr)

  其中g、h、f为G的生成元,Authority Setup(1k) →(SKi,PKi)。授权服务器初始化算法每个属性授权服务器生成各自的密钥对(SKi,PKi)。每个属性授权服务器Ai任选αi,βi,γi,xi∈Zp,计算:

  Hi=e(g,g)αi,Ai=gxi,Bi=gβi,Γ1=gγi,Γ2=hγi(i∈1,2,…,N)

  对于Ai中的每一个属性bi,j,A任选zi,j∈Zp并计算:

  Zi,j=gzi,j,Ti,j=hzi,j/gri+ai,j(1)

  然后Ai发表公钥:

  PKi={Hi,Ai,Bi,( Γ1,Γ2),(Ti,j,Zi,j)bi,j∈B}(2)

  同时保留主密钥:

  SKi={αi,βi , γi, ai,(zi,j)bi,j∈B}(3)

  2.2密文生成算法Encrypt

  Encrypt(params,M,(Μi, ρi,PKi)i∈I) →CT,I是一组属性授权服务器的集合,并且I中的属性授权服务器所监管的属性会用来加密明文M。对于j∈I,加密算法首先选择访问结构(Μj,ρi),v=(sj,vj,2,…,vj,nj),其中sjvj,2,…,vj,nj∈Zp,Μj是一个lj×nj矩阵,计算λi,j=Μjivj,其中Μji是Μj的第i行,最后,任选rj,1,rj,2,…rj,lj∈Zp,计算:

  ((Cj,1=gxjλj,1Z-rj,1ρj(1),Dj,1=grj,1),…,

  (Cj,lj=gxjλj,ljZ-rj,ljρj(lj),Dj,lj=grj,lj))j∈I(4)

  得到密文:

  CT={C0,(Xj,Yj,Ej(Cj,1,Dj,1),…,(Cj,lj,Dj,lj))j∈I}(5)

  随后DO将产生的密文CT上传到云服务器CS上。

  2.3交互式密钥生成算法IAKeyGen

  IAKeyGen中使用的承诺方案[11]由下列几个算法构成:

  (1)Setup(1k) →params:这个算法输入安全参数1k,输出公共参数params。

  (2)Commit(params,m) →(com,decom)。本算法输入公共参数params和数据m,输出承诺com和解承诺decom。decom能够从com中解出m。

  (3)Decommit(params,m,com,decom) →{0,1}。本算法输入公共参数params,数据m,承诺com和解承诺decom。如果decom能够从com中解出m,输出1,否则输出0。

  一个承诺方案必须满足两种属性:隐藏性和绑定性。

  隐藏性:要求用户在解密出数据m之前,m一直都是隐藏的。

  绑定性:要求只有decom才能从com中解密出数据m。

  IAKeyGen算法:当用户从CS下载到CT并且要对CT进行解密时,用户与多个属性授权中心执行算法:

  IAKeyGen(U(params,GIDU,U~,PKi,decomi,6.jpg

  首先用户利用授权标签Ti,j向每一个参与加密的AA进行授权认证。

  7.png

  其中γi是A~i的密钥中的一部分,Ti,j可以在不泄露属性bi,j的前提下,使AA相信此用户拥有属性bi,j。然后用户U执行承诺方案,对GIDU和属性bi,j进行承诺,即:

  Commit(params,bi,j)→(comi,j,decomi,j)bi,j∈A~i∩U~

  Commit(params,GIDU)→(comi,decomi)(8)

  将(comi,(comi,j)bi,j∈U~∩A~i)发送给AA,通过零知识证明向AA申请私钥,此时:

  用户U输入:(params,GIDU,U~,PKi,decomi,(decomi,j)bi,j∈A~i∩U~)

  属性授权服务器A~i输入:(params,SKi,PKi,comi,(comi,j)ai,j∈A~i∩U~)

  当解承诺:

  Decommit(params,GIDU,comi,decomi)=1

  Decommit(params,ai,j,comi,j,decomi,j)=1(9)

  同时成立时,A~i任选(cu,eu),U任选(d1,k2),双方进行安全双方计算[12]得到:wU,i=eud1,tU,i=cu/k2,A~i利用得到的参数,计算:

  Ki=gαigxiwU,if tU,if βi+μtU,i,Pi=gwU,i,Li=gtU,i,L′i=htU,i,

  Ri=g1tU,i,R′i=h1tU,i,(Fx=ZwU,ix)ax∈A~i∩U~(10)

  得到私钥:

  SKiU={Ki,Pi,Li,L′i,Ri,R′i,(Fx)ax∈U~∩A~}(11)

  并发送给用户。否则,算法终止。

  2.4解密算法Decrypt

  合法用户对CT进行解密:

  12.png

3方案安全性分析

  通过以下游戏来定义本方案的安全模型,该模型是在挑战者和敌手Α之间进行的。初始化阶段:敌手Α提交一组恶意属性授权方的列表B={Bi}i∈I和一组访问结构A={Μμi,ρμi}i∈I*,其中I∈{1,2,…,N},I*∈{1,2,…,N},应该至少存在一个访问结构(Μ*,ρ*)∈A不能被B所监管的属性满足,敌手Α也不能通过其获取密钥。

  Global Setup阶段:挑战者运行本算法产生公共参数params,并发送给敌手Α。

  Authority Setup阶段:存在以下两种情况。

  (1)对于属性授权服务器Bi∈B,挑战者运行本算法生成公私钥对(PKi,SKi),并把它们发送给敌手Α。

  (2)对于属性授权服务器BiB,挑战者运行此算法生成公私钥对(PKi,SKi),并把PKi发送给敌手Α。

  阶段1:敌手Α询问用户U的GID和一组属性集生成的密钥,挑战者运行KeyGen算法生成SKU,并发送给敌手Α,本次询问具有自适应性及可重复性。

  挑战阶段:敌手Α提交两份相同长度的信息M0和M1,挑战者在{0,1}上随机掷币,得到b∈{0,1}。

  然后挑战者运行:

  Encrypt(params,Mb,(M*i,ρi,PKi)i∈I*)(13)

  产生被挑战的密文CT*发送给敌手Α。

  第二阶段:重复第一阶段。

  猜测阶段:Α输出他的猜测值b′,若b′=b则敌手Α赢得游戏。

  如果不存在任何多项式时间内的敌手能以不可忽略的优势猜测出挑战者的随机掷币,那么本方案就是安全的。

4仿真实验

  实验环境:VMware Workstation 12.0.0虚拟机平台,部署多台64位Cent操作系统,4 GB内存。实验中文件大小为100 KB,并利用CPABE工具包[13]实现仿真实验,与文献[10]中的DCP-ABE方案进行对比。

002.jpg

  通过与DCP-ABE方案在参数生成时间、加密算法以及解密算法所耗费的时间进行了对比分析。图2表示对于不同数量的AA,两方案在参数生成阶段所需要的时间。可见随着AA数量的增加,本方案所消耗的时间更少。

003.jpg

004.jpg

  加密与解密的耗时对比如图3和图4所示,图中表示当密文中的属性个数增加时,用户的加密解密时间也会增长,本方案在实现隐私保护的同时,在时间上的消耗上与DCP-ABE方案相近。

  在密钥产生阶段,由于需要AA和用户之间进行交互式计算,因此与DCP-ABE相比,本方案在密钥产生阶段用户一端增加了计算量,设密文中的属性个数为n,则客户端的计算量数量级为O(n),增加的计算量在可接受范围之内。

5结论

  CPABE方案在云存储环境下有着重要的应用,但系统中CA的安全性是整个系统的安全瓶颈。本文提出的PPMACP-ABE方案的目的在于保护云存储环境中用户的隐私。采用交互式算法,利用承诺方案和零知识证明等技术实现了在多个AA模型下对用户的属性和GID的保护,在合理的计算量范围内提高了系统的安全性。适用于对安全性要求较高的云存储系统。

参考文献

  [1] MellP,Grance T.800145. The NIST definition of cloud computing[S]. Gaithersburg,USA: National Institute of Standards and Technology,2009.

  [2] BETHENCOURT S A,WATERS B.Ciphertextpolicy attributebased encryption[C]. IEEE Symposium on Security and Privacy (SP’07),Oakland,USA: IEEE Computer Society,2007: 321334.

  [3] SAHAI A, WATERS B. Fuzzy identity based encryption[J]. Lecture Notes in Computer Science,2005,3494:457473.

  [4] CHASE M. Multiauthority Attribute Based Encryption[J]. Lecture Notes in Computer Science,2007,4392:515534.

  [5] HUR J,KOO D,HWANG S O,et al. Removing escrow from ciphertext policy attributebased encryption[J]. Computers & Mathematics with Applications,2013,65(9):13101317.

  [6] Lin Huang, Cao Zhenfu, Liang Xiaohui,et al. Secure threshold multi authority attribute based encryption without a central authority[J]. Information Sciences An International Journal,2010,180(13):26182632.

  [7] 王小英. 基于椭圆曲线密码的分布式密钥生成协议与应用[D]. 成都:西华大学, 2007.

  [8] 孙昌霞,马文平,陈和风. 可证明安全的中心授权的多授权属性签名[J].电子科技大学学报,2012,41(4):552556.


此内容为AET网站原创,未经授权禁止转载。