基于CP-ABE的隐藏属性外包解密访问控制

2018-06-04 08:08努尔买买提黑力力
计算机与现代化 2018年5期
关键词:代理服务器密文解密

陈 成,努尔买买提·黑力力

(新疆大学数学与系统科学学院,新疆 乌鲁木齐 830046)

0 引 言

随着计算机技术的快速发展和网络的广泛应用,数据共享愈发频繁。人们开始使用云储存服务,将自己的数据储存在云端进行数据共享。云储存服务给人们生活带来便捷的同时也引发了许多问题,如何实施云储存中共享数据的访问控制是一个棘手的问题。ABE(Attribute-Based Encryption)[1]的出现为解决该问题提供了很好的方法。

ABE有2种风格,分别是密钥策略属性基加密KP-ABE (Key-Policy Attribute-Based Encryption)[2-5]和密文策略属性基加密CP-ABE(Ciphertext-Policy Attribute-Based Encryption)[3-7]。在CP-ABE中,数据拥有者将访问结构嵌入密文中以便表达用户的访问控制策略。因此,CP-ABE比KP-ABE更适合应用在云储存系统中。然而,一般的CP-ABE中访问结构中的属性和密文一起保存,没有考虑到访问策略的隐私,访问结构中的属性信息可能会暴露用户数据相关的信息。

针对以上问题,文献[8-18]围绕属性隐藏做了一些研究工作。其中文献[8]提出将访问结构中的属性隐藏在密文中,但该方案只支持“与”操作,且用户的密钥长度与系统中属性的个数线性相关,解密需计算大量双线性对。文献[12]在保证访问结构中属性隐私的同时,能支持任意门限或布尔表达式,且计算开销与文献[8]提出的方案相比大为减少,但其在计算令牌时需大量运算。文献[14]在保护复杂的访问结构中属性隐私的同时,没有增加过多计算开销。文献[16]在支持细粒度访问控制和高效密钥分发的基础上,更好地隐藏访问结构中的属性,并在计算密钥速度上有优势。文献[18]在支持细粒度访问控制和隐藏访问结构中属性基础上,还支持任意门限或布尔表达式。

计算成本和策略表达能力是隐藏属性的CP-ABE方案仍需研究的问题。本文在文献[18]的基础上提出一种隐藏属性外包解密的CP-ABE访问控制方案,该方案能够有效保护数据拥有者制定的访问结构中属性的隐私性,属性授权中心不再是完全诚实的,并将大量解密计算交给代理服务器完成,未经授权的属性授权中心或代理服务器不能解密共享的加密数据。

1 数据分享系统

本章描述数据分享系统结构和安全性要求的定义。

1.1 系统描述

数据分享系统结构如图1所示。

图1 数据分享系统结构

属性授权中心:它为整个系统生成公共和秘密参数,同时为用户生成对应的属性密钥。假设它是半诚实的,它会诚实地执行系统分配的任务,但希望尽可能多地了解加密的数据。

数据拥有者:他是拥有数据的用户,他将自己的数据上传到云服务器,以便于共享。数据拥有者负责制定访问策略,并在上传数据前根据访问策略加密其数据。

云服务器:它提供数据共享服务,负责储存加密数据并提供相应的内容服务。假设云服务器是半诚实的。

代理服务器:它接收到用户的访问请求后,按照用户提供的令牌对密文进行代理解密以便减轻用户的计算量。假设代理服务器是半诚实的。

用户:他是访问数据的个体。假如用户持有的属性满足加密数据中的访问策略,那么他能够解密成功并且获得明文数据。

1.2 算法构成

方案由Setup、KeyGen、Encrypt、GenToken、PDecrypt、Decrypt这6个算法构成。数据分享系统的工作流程如下:首先,属性授权中心实行Setup算法进行系统初始化。数据拥有者需要共享数据时,可以实行Encrypt算法对待共享的数据实施加密并发送给云服务器。如果用户想要从云端取得数据,必须在属性授权中心注册,属性授权中心实行KeyGen算法为用户生成密钥。用户通过取得的密钥实行GenToken算法生成令牌,并将令牌发送给代理服务器,请求对指定的密文实施代理解密。代理服务器通过用户令牌实行PDecrypt算法并将结果发送给用户。用户接收到结果后通过密钥实行Decrypt算法获取明文数据。

算法详细介绍如下:

1)Setup(k)→(PKA,MKA),(PKS,MKS):属性授权中心根据安全参数k输出系统公共参数param。之后,属性授权中心输出它的主公钥和主私钥对(PKA,MKA),代理服务器输出它的主公钥和主私钥对(PKS,MKS)。

2)KeyGen(S,PKA,MKA)→SK:密钥生成算法以用户持有的属性集S、属性授权中心主公钥PKA和主私钥MKA为输入,输出用户密钥SK=(z,TK)。算法由属性授权中心实行,它根据用户持有的属性为其分发相应的密钥。

3)Encrypt(T,M,PKA,PKS)→CT:加密算法以访问结构T、明文信息M、PKA及PKS为输入,输出密文CT。算法由数据拥有者实行。

4)GenToken(SK,Λ)→ToK:令牌生成算法以SK和用户持有的属性集S的子集Λ为输入,输出用户令牌ToK。算法由用户实行,用户解密时需要生成令牌,并向代理服务器提供令牌以便使其实施代理解密。

5)PDecrpt(CT,ToK,PKA,MKS)→CTout:代理解密算法以CT,ToK,PKA和MKS为输入,如果用户持有的属性满足密文中的访问结构,算法输出部分为解密的转换密文CTout,否则输出⊥。算法由代理服务器实行,它在收到用户令牌后对用户请求的密文进行代理解密,并将结果发送给用户。

6)Decrypt(CTout,SK)→M:解密算法以CTout和SK为输入,如果用户持有的属性满足密文中的访问结构,算法输出M,否则输出⊥。算法由用户实行,用户收到代理解密的结果CTout后进一步进行解密,如果其持有的属性满足访问结构,那么用户能够解密密文。

1.3 安全性要求

1) 数据机密性:防止不满足访问策略的未经授权的用户访问数据明文。此外,属性授权中心是半诚实的,因此,应该防止属性授权中心和代理服务器访问数据明文。

2) 防合谋:若干用户不能通过组合他们的属性来解密密文,除非他们其中至少有一个用户能够使用自己的密钥单独解密。

3) 策略隐藏:云服务器和非授权用户不能从密文对应的访问控制策略中获取属性信息,避免访问控制策略中的属性信息泄露加密数据有关的信息。

2 方案提出

2.1 预备知识

定义1访问结构[6]。设{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}{∅}。

定义2双线性对。设G0和G1是阶为素数p的乘法循环群,g是G0的生成元。映射e:G0×G0→G1是一个双线性对,如果e满足如下3个性质:

2)非退化性:e(g,g)≠1。

3)可计算性:对∀P,Q∈G0,存在有效算法计算e(P,Q)。

定义3DBDH问题。

树形访问结构和满足属性访问结构的详细定义参见文献[6]。

2.2 方案描述

Setup:属性授权中心根据安全参数k选取以g为生成元的阶为素数p的双线性群G0,同时选取哈希函数H:{0,1}*→G0和H1:G1→{0,1}log p。公共参数param由(G0,g,H,H1)组成。

算法输出用户对应的密钥SK=(z,TK)。

为了在访问树T下加密消息M,计算KS=e((gγ)β,H(IDS)),然后构造密文为:

ToK=(B=gβ/τ,B(1)=(D(1))τ,B(2)=(D(2))τ,

DecryptNode(CT,ToK,x)

=(e(g,g)arqx(0))τ/z

否则,令DecryptNode(CT,ToK,x)=⊥。

对于访问树中非叶子节点x,定义一个递归算法DecryptNode(CT,ToK,x):对于非叶子节点x的所有子节点z,计算DecryptNode(CT,ToK,z),并令Fz=DecryptNode(CT,ToK,z)。设存在一个随机的大小为kx的节点集合Sx,集合中节点都是x的子节点且满足Fz≠⊥。如果没有这样的集合存在,则节点x不满足算法,即Fx=⊥。否则,计算:

=(e(g,g)arqx(0))τ/z

并返回结果。

Decrypt:算法以CTout和SK为输入。如果用户持有的属性满足密文中的访问结构时,用户通过令牌能从代理服务器处得到转换密文CTout。因此,用户计算明文如下:

3 方案分析

3.1 数据机密性

一方面,如果用户持有的属性不满足密文中的访问结构时,用户无法恢复出e(g,g)ars,即解密失败。在本文中,代理服务器是半诚实的,它可能试图解密数据拥有者加密的明文信息,但其至多只能恢复出e(g,g)αsτ/z,因为其无法获取对应的τ和z,因此无法恢复出e(g,g)αs,即无法解密出相应的明文。

3.2 抗合谋

3.3 策略隐藏

当数据拥有者将加密数据发往云服务器时,其已用H1(e((ga)β,hλy))替换了访问树中的每个属性λy,只有持有相应属性的用户才能计算。云服务器和其他非授权用户不知道β和a,因此不能算出H1(e((ga)β,hλy)),从而无法对各属性实现有效区分,即不能从访问控制策略中取得额外的信息。

3.4 理论分析

表1对文献和本文方案中属性隐藏保护能力和属性表达能力进行了比较。从表1可以看出文献[8]、文献[12]、文献[18]和本文方案都支持属性隐藏;文献[8]在属性表达能力方面仅支持与操作,而文献[12]、文献[18]和本文方案都支持任意门限或布尔表达式。

表1 表达能力与属性隐藏比较

方案表达能力属性隐藏文献[8]方案2与操作有文献[12]方案任意门限或布尔表达式有文献[18]方案任意门限或布尔表达式有本文方案任意门限或布尔表达式有

表2对各方案中的系统公钥长度、密钥长度和密文长度进行了比较。系统公钥保存在本地或在需要时向授权中心申请,分别对应储存和通信开销。密钥由用户储存,因此密钥长度对应用户的储存开销。数据拥有者将密文传给云服务器,用户从代理服务器取得密文,因此密文长度反映了系统中的通信开销。其中C0和C1分别表示G0和G1中元素的长度,u表示系统中全体属性的个数,t表示与用户密钥相关联的属性的个数,k表示与密文相关联的属性的个数。

表2 通信与储存代价比较

方案系统公钥长度密钥长度密文长度文献[8]方案2C1+(u+1)C0(2u+1)C0C1+(2u+1)C0文献[12]方案C1+2C0(3t+1)C0C1+(2k+1)C0文献[18]方案C1+(2+u)C0(2t+2)C0C1+(k+1)C0本文方案C1+(3+u)C0(2t+2)C0C1+(k+1)C0

4 结束语

云存储因其高效率和低成本的优势将是未来发展的趋向,怎样在实行数据共享的同时最大化地保护用户隐私信息是至关重要的。本文在文献[18]的基础上提出了一种基于CP-ABE的隐藏属性外包解密访问控制方案。该方案能有效地隐藏数据拥有者制定的访问结构中的属性,同时对属性授权中心只要求半诚实,减轻了对属性授权中心的完全依赖,降低了系统中非法解密密文的风险。

参考文献:

[1] Sahai A, Waters B. Fuzzy identity-based encryption[C]// International Conference on Theory and Applications of Cryptographic Techniques. 2005:457-473.

[2] Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]// ACM Conference on Computer and Communications Security. 2006:89-98.

[3] Ostrovsky R, Sahai A, Waters B. Attribute-based encryption with non-monotonic access structures[C]// ACM Conference on Computer & Communications Security. 2007:195-203.

[4] Attrapadung N, Imai H. Conjunctive broadcast and attribute-based encryption[C]// Proceedings of 2009 3rd International Conference on Pairing-Based Cryptography. 2009:248-265.

[5] Attrapadung N, Imai H. Attribute-based encryption supporting direct/indirect revocation modes[C]// International Conference on Cryptography and Coding. 2009:278-300.

[6] Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C]// IEEE Symposium on Security and Privacy. 2007:321-334.

[7] Waters B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization[C]// International Workshop on Public Key Cryptography. 2011:53-70.

[8] Nishide T, Yoneyama K, Ohta K. Attribute-based encryption with partially hidden encryptor-specified access structures[C]// International Conference on Applied Cryptography and Network Security. 2008:111-129.

[9] Yu Shucheng, Ren Kui, Lou Wenjing. Attribute-based content distribution with hidden policy[C]// IEEE Workshop on Secure Network Protocols. 2008:39-44.

[10] Lai Junzuo, Deng R H, Li Yingjiu. Fully secure cipertext-policy hiding CP-ABE[C]// International Conference on Information Security Practice and Experience. 2011:24-39.

[11] Lai Junzuo, Deng R H, Li Yingjiu. Expressive CP-ABE with partially hidden access structures[C]// ACM Symposium on Information, Computer and Communications Security. 2012:18-19.

[12] Hur J. Attribute-based secure data sharing with hidden policies in smart grid[J]. IEEE Transactions on Parallel & Distributed Systems, 2013,24(11):2171-2180.

[13] Zhang Yinghui, Chen Xiaofeng, Li Jin, et al. Anonymous attribute-based encryption supporting efficient decryption test[C]// ACM Symposium on Information, Computer and Communications Security. 2013:511-516.

[14] 宋衍,韩臻,刘凤梅,等. 基于访问树的策略隐藏属性加密方案[J]. 通信学报, 2015,36(9):119-126.

[15] 应作斌,马建峰,崔江涛. 支持动态策略更新的半策略隐藏属性加密方案[J]. 通信学报, 2015,36(12):178-189.

[16] 雷蕾,蔡权伟,荆继武,等. 支持策略隐藏的加密云存储访问控制机制[J]. 软件学报, 2016,27(6):1432-1450.

[17] 张赛,杨庚,韩亚梅,等. 支持属性撤销的策略隐藏与层次化访问控制[J]. 计算机工程与应用, 2017,53(4):51-58.

[18] 杜瑞颖,沈剑,陈晶,等. 基于策略隐藏属性加密的云访问控制方案[J]. 武汉大学学报(理学版), 2016,62(3):242-248.

猜你喜欢
代理服务器密文解密
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
密钥共享下跨用户密文数据去重挖掘方法*
炫词解密
地铁信号系统中代理服务器的设计与实现
一种基于密文分析的密码识别技术*
防火墙技术与校园网络安全的研究
解密“大调解”