可密钥验证的多授权属性基加密方案

2017-06-29 12:00:34杨诗雨李学俊
计算机应用与软件 2017年5期
关键词:私钥密文解密

杨诗雨 李学俊

(西安电子科技大学网络与信息安全学院 陕西 西安 710071)

可密钥验证的多授权属性基加密方案

杨诗雨 李学俊

(西安电子科技大学网络与信息安全学院 陕西 西安 710071)

在多授权属性基加密方案中,每个授权机构都会给用户发一个私钥,当用户拿到所有的私钥但不能成功解密时,就不知道是哪个授权机构对应得私钥出错,所以只能要求所有的授权机构重发一次,这样既浪费时间又浪费资源。为了解决上述问题,提出了一种可密钥验证的多授权基于属性的加密方案,实现了在矩阵访问结构下对私钥的正确性进行验证,解决了当合法用户不能成功解密时需要大量的授权机构重发私钥的问题。同时实现了抗共谋攻击,提高了系统的安全性。最后证明了该方案在selective-set模型下达到选择明文攻击安全。

多授权 属性基加密 密钥验证 抗共谋攻击

0 引 言

在属性加密机制中,用户的身份信息不是由单个信息来生成,而是由一系列描述性的属性集合组成,增强了描述性。同时引入了灵活的访问结构,实现了一对多通信,使得发送方在加密信息时不需要指定具体的接收方,只有符合相应条件的接收者才能解密恢复出明文。基于这一特性,属性基加密可广泛应用于分布式环境下的信息安全,如云计算中的安全存储。如今,属性基加密也已成为公钥加密机制的研究热点之一。

2005年,Sahai等首次实现了模糊的基于身份的加密[1]方案,提出了基于属性加密的概念。2006年,Goyal等首次提出可支持细粒度访问控制的密钥策略属性基加密方案[2],方案中用一般的单调树形访问结构来描述用户的属性,将访问结构嵌入到用户私钥中,只有当密文中的属性集合满足用户的访问结构时才能正常解密。这一重大改进大大扩展了属性加密的应用范围。2007年,Bethencourt等提出了一种密文策略属性基加密方案[3],方案中将树形访问结构嵌入到密文中,加密者可以自行决定哪些用户可以解密消息,实现了更灵活的访问策略。

上述几种基于属性的加密方案中都只有一个授权机构管理属性,计算密钥并发送给不同的用户,工作量大,负担重,并且整个系统的安全性很低,一旦授权机构被攻破,所有的信息都会泄露,风险较大。为了解决上述问题,在2007年Chase首次提出多授权机构的属性基加密系统[4]。但在该方案中还是需要一个可信的中央机构来管理授权机构集合,一旦中央机构被攻破,系统安全性就受到威胁。所以在2015年,Longo等便提出了去除中央机构的多授权属性基加密方案[6]。该方案虽然避免了中央机构带来的安全隐患,但是不能抵抗共谋攻击,系统安全性较低。同时也不能验证用户得到的私钥是否正确,当用户不能成功解密时就只能所有的授权机构重发一次密钥,这样既浪费时间又浪费资源。

本文针对文献[6]中的两个问题,提出了一种可密钥验证的多授权属性基加密方案。该方案可以抵抗共谋攻击,即使不同的用户联合起来共享他们所得的密钥也无法成功解密出明文,提高了系统的安全性。并且利用密钥可验证的构造思想[5]实现了用户私钥的正确性验证,当用户得到授权机构分发的私钥时运行验证算法验证其正确性。如果该私钥不正确则只需对应的授权机构重发一次,不用所有的授权机构都重发一次私钥,大大减轻了授权机构的负担,也减少了不必要的资源浪费。

1 背景知识

1.1 双线性映射

设G0和G1为乘法循环群,阶为素数p。假设离散对数问题DLP在这两个循环群中为困难问题,定义映射e:G0×G0→G1,如果e满足下面这些性质,则e为一个双线性对:

1) 双线性:e(ga,hb)=e(g,h)ab,其中g,h∈G0,a,b∈Zp。

2) 非退化性:存在g∈G0,满足e(g,g)≠1,1表示G1中的单位元。

3) 可计算性:对∀P,Q∈G0,e(P,Q)都是可计算的。

如果存在上述双线性映射e:G0×G0→G1以及群G1,则称G0为双线性群。又因为映射满足e(ga,gb)=e(g,g)ab=e(gb,ga),所以映射e具有对称性。

1.2 困难假设

1.3 访问结构

定义1(访问结构) 对于一个实体集合{P1,P2,…,Pn},任何B和C,如果当B∈A且B⊆C时,都有C∈A,我们就称集合A⊆2{P1,P2,…,Pn}是单调的。一个单调的访问结构是{P1,P2,…,Pn}的非空子集合A,即A⊆2{P1,P2,…,Pn}{φ}。包含于A的集合为授权集合,不包含于A的集合为非授权集合。

在最初的属性基加密方案中都是采用树形访问结构[2],本文采用矩阵访问结构。文献[7]中详细讲解了怎么将一个访问树转化为矩阵结构。下面我们来回顾一下线性秘密共享机制LSSS(Linear Secret-Sharing Schemes)。假设一个秘密共享方案Π拥有p个属性(在Zp中),如果满足下列条件,则称其为线性的:

(1) 每个属性都可以由Zp中的一个向量来表示。

任意满足上述定义的线性秘密共享方案都满足线性重构性质,重构性质如下:令Π是一个LSSS,其访问结构为A,授权集合为S。令I={i:ρ(i)∈S}表示矩阵中与属性相关的行的集合,其中I⊂{1,2,…,l}。那么存在常数ωi∈Zp,i∈I,使得如果λi是主秘密s的有效分享,则有∑i∈Iωiλi=s。

并且在文献[8]中指出常数ωi可以在生成矩阵M大小的多项式时间内找到。本文的构造方案中就很好地利用LSSS的重构性质进行解密。更多关于LSSS和访问结构的细节可参见文献[8-9]。

2 方案描述及安全性证明

2.1 安全模型

在本方案中,每个授权机构独立生成自己的公开参数。每个用户都有一个全局身份标识GID[5](Global Identifier),将用户的GIDu嵌入主密钥中,这样可以防止用户1和用户2联合得到主密钥,以抵抗共谋攻击。加密者选择属性集S和一系列信任的授权机构,利用一系列公开参数对明文进行加密。用户向授权机构询问并得到私钥,私钥中嵌入了用户的GID和访问结构A。只有当密文中的属性集满足用户的访问结构,即S∈A时,用户才有可能成功解密出明文。整个方案在selective-set模型下达到选择明文攻击安全IND-CPA(Indistinguishability under chosen-plaintext attack)。其安全模型定义如下:

1) 初始化:敌手申明要挑战的属性集S和授权机构集合A,并且选择一个诚实的授权机构k0∈A。

2) 建立阶段:挑战者运行生成密钥算法,初始化授权机构,将公开参数交给敌手。

3) 查询阶段1:敌手对私钥和验证信息进行询问。对每一个GID,授权机构k0只回答对不满足S的访问结构A(即S∉A)所对应的私钥和验证信息作出的询问。而其他的授权机构回答所有的询问。

4) 挑战阶段:敌手向挑战者提交两个等长的消息m0和m1。挑战者随机抛一枚硬币,根据其结果b∈{0,1}来决定加密消息mb。再将密文发给敌手。

5) 查询阶段2:重复查询阶段1的操作。

6) 猜测阶段:敌手猜测b的值,输出b′∈{0,1},如果b′=b,那么就说明敌手赢得胜利。

2.2 具体方案构造

选取素数阶双线性群G,G1,双线性映射e:G×G→G1,生成元g∈G。假设有N个独立的授权机构,全部属性被划分为N个互不相交的集合,每个属性集合由不同的授权机构负责管理。随机选择伪随机算法(PRF)种子s1,s2,…,sn。属性集合为U。

1) 初始化:假设加密者选取其中A个授权机构进行加密,对每一个授权机构k∈A,随机选取αk∈Zp,和zk,i∈Zp,其中i∈U。授权机构私钥为{sk,αk},系统的公开参数为PKk=(e(g,g)αk,{Ti=gzk,i}i∈U)。

2) 加密:输入系统的公开参数PKk,属性集合S和明文m。随机选取一个s∈Zp,加密后输出密文如下:

3) 密钥生成:

• 对任意用户u,令yk,u=FSk(u),Fsk(·)为伪随机函数。则授权机构k的主密钥MKk,u=(yk,u,{zk,i}i∈U)。

• 最后计算hk,i=e(g,g)λk,i,Y=e(g,g)yk,u,Tk,m={e(g,g)rm}m=2,…,n。

• 输出Qu,验证信息{hk,i,Y,Tk,m}和私钥SKk,u。

4) 验证:用户得到私钥和一些验证信息之后,首先检查是否e(kk,i,ck,ρk(i))=hk,i。如果相等则说明私钥中的λk,i和hk,i中的λk,i一致。之后再检查λk,i是否正确。验证如下等式:

当等式成立时,则表示该行通过验证。如果有一项未通过验证,则表明私钥有错,可要求该授权机构重发对应部分的私钥。当所有项都通过验证时,则表示该私钥正确,用户可继续解密。

5) 解密: 输入密文CT,授权机构集合A和私钥。对每个授权机构k,(Mk,ρk)是矩阵访问结构,假设属性集合Sk是授权集合(即访问结构满足属性集Sk),其中Sk表示授权机构k对应的属性集合,便可以找到ωk,i∈Zp,i∈Ik,使得∑i∈Ikλk,i·ωk,i=yk,u,其中Ik={i,ρ(i)∈Sk},Ik∈{1,2,…,l}。解密过程如下:

2.3 安全性证明

上述方案在selective-set安全模型下可以达到IND-CPA安全。并且确保只要有一个完全诚实的授权机构存在,该方案就是安全的。下面描述如何将方案的安全性规约到DBDH困难问题上。

定理1 假设存在一个敌手能够在多项式时间内攻破该方案,那么就可以构造一个以不可忽略的优势解决DBDH困难问题的模拟器。

首先假设对每个诚实的授权机构,当伪随机函数PRFFSK被替换为真正的随机函数时,敌手仍然能以相同的优势攻破方案。因为如果不替换,我们就可以区分PRF和随机函数,这和PRF的定义相矛盾。

挑战者选取两个群G1、G2和这两个群上的一个双线性映射e,设G1的生成元为g。之后挑战者私下抛一枚硬币,查看其结果v∈{0,1}。如果v=1,则选取A=ga,B=gb,C=gc,Z=e(g,g)abc。如果v=0,则选取A=ga,B=gb,C=gc,Z=e(g,g)z。其中a,b,c,z都是随机整数。

e(g,g)αk=e(gb,g-rk) ∀k∈A{k0}

由以上公式可以得出:

αk0=ab+b∑k∈A{k0}rk

αk=-rkb∀k∈A{k0}

由以上公式可以得到公开参数gzk,i的值如下:

对所有的i,模拟器计算:

Tk0,m={e(g,g)um}m=2,…n

对所有的i,模拟器计算:

Y=e(gb,ghk,1)=e(g,g)-b·tk,u=e(g,g)yk,u

Tk,m={e(gb,ghk,m)=e(g,g)bhk,m}m=2,…,n

3 方案分析

3.1 密钥可验证性分析

3.2 抗共谋分析

在本方案中,系统的主密钥由各个授权机构产生的密钥主密钥份额组成,而各个授权机构的主密钥嵌入了每个用户的GID(我们要求每个用户的GID是唯一的可识别的,并且每个用户不能给不同的授权机构发送不同的GID),从而保证了系统的抗共谋攻击能力。

3.3 效率对比分析

文献[10]中陈勤等提出了一种多认证机构可验证的属性基加密方案。表1和表2将本文的方案和文献[10]中的方案进行效率对比分析。表中P和E分别代表双线性对和幂指数运算。U、SC、SK和I分别代表系统的属性域,加密所用的属性集,密钥生成所用的属性集和解密所用的属性集。F代表授权机构的数量,D代表树形访问结构中非叶子节点对应的多项式次数,n代表矩阵访问结构的列数。

表1 计算量对比

表2 公开参数、私钥、验证信息和密文大小对比

4 结 语

本文构造出一种无中央机构的多授权可验证的属性基加密方案,避免了因中央机构被攻破而导致整个系统安全受到威胁的问题。方案采用矩阵访问结构,实现了密钥验证,解决了当合法用户不能成功解密时需要大量的授权机构重发私钥的问题。并且整个方案可以抵抗共谋攻击,增强了系统的安全性。

[1] Sahai A, Waters B. Fuzzy identity-based encryption[C]// LNCS 3494: Proceedings of Eurocrypt’05.Berlin: Springer, 2005:457-473.

[2] Goyal V, Pandey O, Sahai A, et al. Attribute Based Encryption for Fine-Grained Access Control of Encrypted Data[C]// Proceedings of CCS’06.New York: ACM Press, 2006:89-98.

[3] Bethencourt J, Sahai A, Waters B. Ciphertext-Policy Attribute-Based Encryption[C]// Security and Privacy, 2007. SP '07. IEEE Symposium on. IEEE Xplore, 2007:321-334.

[4] Melissa Chase. Multi-authority attribute based encryption[C]//LNCS 4392: Proceedings of TCC’07.Springer, 2007: 515-534.

[5] Tang Qiang, Ji Dongyao. Verifiable Attribute Based Encryption [J]. International Journal of Network Security, 2010, 10(2): 114-120.

[6] Riccardo Longo, Chiara Marcolla, Massimiliano Sala. Key-Policy Multi-authority Attribute-Based Encryption[C]// LNCS 9270:Proceedings of CAI’15.Switzerland:Springer,2015:152-164.

[7] Lewko A, Waters B. Decentralizing attribute-based encryption[C]// LNCS 6632: Proceedings of Cryptology Eurocrypt’11. Berlin: Springer, 2011:568-588.

[8] Beimel A. Secure schemes for secret sharing and key distribution[D]. Israel: Faculty of computer science, Technion-Israel Institute of technology, 1996.

[9] Liu Z, Cao Z. On efficiently transferring the linear secret-sharing scheme matrix in ciphertext-policy attribute-based encryption[Z]. IACR Cryptology ePrint Archive, 2010.

[10] Chen Qin, Dang ZhengQin, Zhang Jinman, et al. Verifiable attribute based encryption scheme with multi-authority[J]. Application Research of Computers, 2012, 29(1):308-311.

MULTI-AUTHORIZATION ATTRIBUTE-BASED ENCRYPTION WITH KEY VERIFICATION

Yang Shiyu Li Xuejun

(InstituteofNetworkandInformationSecurity,XidianUniversity,Xi’an710071,Shaanxi,China)

In the multi-authorization attribute-based encryption scheme, each authority will send a private key to the user. When the user to get all the private key but can not be successfully decrypted, the authority does not know which is the corresponding private key error, it can only ask all authorized agencies to re-send time, so that a waste of time and waste of resources. In order to solve the above problems, a multi-authorization attribute-based encryption scheme with key verification is proposed. This method can verify the correctness of the private key under the matrix access structure, and solves the problem that a large number of authorized institutions need to retransmit the private key when the legitimate user can not decrypt successfully. At the same time, it realizes the anti-collusion attack and improves the security of the system. Finally, it is proved that the proposed scheme achieves the security of selective plaintext attack in the selective-set model.

Multi-authorization Attribute-based encryption Key verification Resist collusion attack

2016-06-29。杨诗雨,硕士,主研领域:密码学。李学俊,副教授。

TP309.2

A

10.3969/j.issn.1000-386x.2017.05.054

猜你喜欢
私钥密文解密
解密“热胀冷缩”
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
基于模糊数学的通信网络密文信息差错恢复
基于改进ECC 算法的网络信息私钥变换优化方法
解密“一包三改”
少先队活动(2020年9期)2020-12-17 06:17:31
炫词解密
一种基于虚拟私钥的OpenSSL与CSP交互方案
云存储中支持词频和用户喜好的密文模糊检索