开放科学(资源服务)标志码(OSID):
近年来,大数据技术发展迅速,对社会生活的影响与日俱增。但大数据技术在带来诸多便利的同时,也暴露出诸多安全隐私问题,目前解决该问题的关键是安全高效的数据加/解密。对此,文献[1]提出了属性基加密(Attribute Based Encryption,ABE)方案,其中心思想是系统根据用户的角色或身份,给其分配不同的一组属性集从而保证用户拥有不同的访问权限。根据访问策略所在位置的不同,属性基加密方案可分为密钥策略属性基加密(KP-ABE)[2]和密文策略属性基加密(CP-ABE)[3]。属性的频繁撤销不仅会导致系统计算负担过重,而且会引起数据安全问题。如何应对大数据访问控制中属性撤销带来的负面影响成为当下最受关注的研究热点之一。
在CP-ABE方案中,密文与特定的访问策略相关联,用户私钥则与一组属性有关,即数据拥有者可以任意指定哪些数据可被哪些特定的用户查看。比起KP-ABE系统,CP-ABE则更适合处理生活中大部分的数据安全问题。该方案最早由文献[3]提出,但是缺少属性撤销功能。文献[4-5]提出给每个属性加上一个有效期,由授权中心定期更新属性的最新版本,但该方案缺乏实时更新性,系统安全性较低。文献[6]提出利用非完全可信的第三方服务器进行用户属性撤销,但是要求第三方服务器时刻在线,因此撤销不够灵活且对系统要求过高。文献[7]提出了一种支持属性直接撤销的方案,该方案无法抵抗合谋攻击,安全性较低。文献[8-10]提出的方案均为用户级撤销,缺乏细粒度的属性级撤销。文献[11]提出一种使用单一授权机构管理所有用户属性、并为所有用户颁发解密密文的密钥,虽有第三方服务器帮助进行加解密操作,但是单一的授权中心容易降低系统安全性与运行效率。文献[12]提出了首个多权限访问控制系统,但是该系统的中央授权机构拥有的主密钥能够解密所有密文,削弱了系统的安全性,同时撤销问题仍未得到解决。文献[13-14]提出使用多个授权机构产生用户秘钥,解决了秘钥托管和属性撤销问题,但仍然没有解决系统计算量过大的缺陷。
针对上述问题,本文借鉴文献[15]提出的属性撤销思想,在改进文献[16]中算法的基础上,提出一种灵活的属性撤销方案,采用安全两方计算协议以及多个属性授权中心进行细粒度属性撤销、密钥托管以及用户级撤销,以提高系统安全性能及属性撤销效率。
1 预备知识 1.1 双线性映射定义1 映射
1) 双线性:
2) 非退化性:
3) 可计算性:存在有效的方法计算
定义2 设由系统中所有属性组成的集合为P,且
定义3 Shamir提出采用拉格朗日多项式插值的门限秘密共享方案。该方案将秘密s无规律分成k份,其中任意不少于t(1≤t≤k)份可以通过拉格朗日插值重构出s,但任意少于t-1份的分割数据都不能重构出s。同时,为每个分割出来的秘密分配节点
1) 秘密分割
(1) 秘密分享中心分发一组被分割的秘密s给每一位参与者
(2) 随机选择t个非零且不重叠的元素
2) 秘密重构
采用拉格朗日重构的思想,将t个参加者所拥有的多项式节点
定义4[17]在一个安全系数普遍较低的分布式网络环境中,参与者A与B在协同计算后得到某函数
本文方案主要由5类实体构成,分别为:数据拥有者(Data Owner,DO),云存储服务器(Cloud Service Provider,CSP),密钥生成中心(Key Generation Center,KGC),属性授权中心(Attribute Authorization Center,AAC),数据使用者(Data User,DU)。
2.1 算法定义本文算法由以下几个主要函数构成:
1) Setup():KGC利用安全参数初始化运算获得系统的公钥PK,私钥SK。CSP产生DU的各种参数值。
2) Data Encrypt (PK,m,
3) Data KeyGen(PK,MK,
4) Data Decrypt(
5) Revocation():此阶段进行用户级撤销和属性级撤销。删除DU的参数进行用户级撤销。更改属性版本秘钥以及用户秘钥进行属性级撤销。
2.2 安全性假设下面给出支持撤销的CP-ABE方案在选择明文攻击(Indistinguishablity under Chosen Plaintext Attack,IND-CPA)下的安全模型,以及攻击者A与挑战者B之间的攻击游戏流程。
准备阶段:攻击者A向挑战者B挑战访问控制策略
初始化:挑战者B运行Setup(),输出主密钥MK,公钥PK,且发送PK给攻击者A,留存MK。
阶段1:攻击者A随机指定一组属性集
挑战:攻击者A向挑战者B提交两个等长的消息
阶段2:同阶段1,A继续向B发送询问报文。
猜测:A猜测数值
$ \mathrm{A}\mathrm{d}{\mathrm{v}}_{\mathrm{I}\mathrm{N}\mathrm{D}-\mathrm{C}\mathrm{P}\mathrm{A}}\left(A\right)=\left|\mathrm{P}\mathrm{r}\left[{p}^{\mathrm{*}}-{p}^{}\right]\right.-1/2 $ | (1) |
若在某个概率多项时间内敌手赢得游戏的优势可以被忽略,则称本文方案满足IND-CPA安全。
3 方案概述本文方案在CP-ABE的基础上,结合安全两方计算协议与多属性授权中心,解决用户级撤销及属性级撤销。方案流程如图 1所示。
![]() |
Download:
|
图 1 支持属性撤销的CP-ABE方案流程 Fig. 1 CP-ABE solution process that supports attribute revocation |
方案具体步骤如下:
1) 用户秘钥生成。各个属性授权中心生成对应属性的属性版本秘钥
2) 属性级撤销。KGC将随机选取的重加密参数
3) 用户级撤销。CSP给每一位合法用户DU分配唯一身份值
该方案包含的主要函数如下:
1) Setup()
CSP为每个用户分配唯一身份值
2) Data Encrypt (PK,m,T)
该算法由DO操作,首先,使用访问结构和访问树表示DO制定的访问控制策略,访问结构中的属性作为叶子节点,门限逻辑运算符作为中间节点,且树的根节点为R,以此来构建访问控制树
在树
$ \begin{array}{l}\mathrm{C}\mathrm{T}=\{{\rm T}, {\tilde{C}}=m\cdot e{(g, g)}^{\alpha s}, C={h}^{s}, \forall j\in \mathrm{J}:\\ \mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }{C}_{j}={g}^{{q}_{j}\left(0\right)}, {C}_{j}^{\mathrm{*}}=H{\left(j\right)}^{{q}_{j}\left(0\right)}\}\end{array} $ | (2) |
3) Data KeyGen(PK,MK,
(1) 属性版本密钥生成
该算法由AAC运行。每个
(2) 用户密钥生成
该算法由CSP和KGC同时运行得出。CSP将参数
KGC在接收到B后,计算用户的部分密钥
$ \mathrm{S}{\mathrm{K}}_{c}=({\forall }_{}j\in J, {D}_{j}={g}^{{r}_{\mathrm{t}}}\cdot H{\left(j\right)}^{{U}_{ij}}, {D}_{j}^{\mathrm{*}}={g}^{{U}_{ij}}) $ | (3) |
用户分别接收到来自KGC和CSP的部分密钥后,合并生成用户自己的用户密钥:
$ \begin{array}{l}\mathrm{S}{\mathrm{K}}_{U}=(\mathrm{S}{\mathrm{K}}_{C}, \mathrm{S}{\mathrm{K}}_{K})=(D={g}^{(\alpha +{r}_{t})/\beta }, \forall j\in \mathrm{J}:\\ \mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }{D}_{j}={g}^{{r}_{t}}\cdot H{\left(j\right)}^{{U}_{ij}}, {D}_{j}^{\mathrm{*}}={\mathrm{g}}^{{U}_{ij}})\end{array} $ | (4) |
4) Data Decrypt(SKu,CT)
该算法由DU执行,当用户获得加密数据后,采用递归的算法对数据进行解密。过程如下:
(1) 若j为访问控制树
$ \begin{array}{l}\mathrm{D}\mathrm{e}\mathrm{c}\mathrm{r}\mathrm{y}\mathrm{p}\mathrm{t}\mathrm{N}\mathrm{o}\mathrm{d}\mathrm{e}(\mathrm{C}\mathrm{T}, \mathrm{S}{\mathrm{K}}_{\mathrm{u}}, x)=\frac{e({D}_{j}, {C}_{j})}{e({D}_{j}^{\mathrm{*}}, {C}_{j}^{\mathrm{*}})}=\\ \frac{e\left({g}^{{r}_{t}}\cdot H{\left(j\right)}^{{U}_{\mathrm{i}\mathrm{j}}}, {g}^{{q}_{j}\left(0\right)}\right)}{e\left({g}^{{U}_{ij}}, H{\left(j\right)}^{{q}_{j}\left(0\right)}\right)}=\frac{e\left({g}^{{r}_{t}}, {g}^{{q}_{j}\left(0\right)}\right)\cdot e\left(H{\left(j\right)}^{{U}_{ij}}, {g}^{{q}_{j}\left(0\right)}\right)}{e\left({g}^{{q}_{j}\left(0\right)}, H{\left(j\right)}^{{U}_{ij}}\right)}=\end{array} \\e\left({g}^{{r}_{t}}, {g}^{{q}_{j}\left(0\right)}\right)=e{(g, g)}^{{r}_{t}{q}_{j}\left(0\right)} $ | (5) |
当
(2) 若j为访问控制树
$ {F}_{x}=\prod \limits_{z\in {\mathbb{Z}}_{x}}{{F}_{\mathrm{z}}}^{{\mathrm{\Delta }}_{i, }{\mathbb{Z}}_{x}^{\mathrm{\text{'}}}\left(0\right)}={\prod \limits_{z\in {Z}_{x}}\left(e{(g, g)}^{{r}_{t}{q}_{z}\left(0\right)}\right)}^{{\mathrm{\Delta }}_{i,{\mathbb{Z}}_{x}^{\mathrm{\text{'}}}}\left(0\right)}=\\ {\prod \limits_{z\in {Z}_{x}}\left(e{(g, g)}^{{r}_{t}{{q}_{\left(\mathrm{p}\mathrm{a}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}\right(\mathrm{z}\left)\right)}}^{\left(\mathrm{i}\mathrm{n}\mathrm{d}\mathrm{e}\mathrm{x}\right(\mathrm{z}\left)\right)}}\right)}^{{\mathrm{\Delta }}_{i, {\mathbb{Z}}_{x}^{\mathrm{\text{'}}}}\left(0\right)}= \\ {\left(e{(g, g)}^{{r}_{t}{q}_{j}\left(\mathrm{i}\right)}\right)}^{{\mathrm{\Delta }}_{i, {\mathbb{Z}}_{x}^{\mathrm{\text{'}}}}\left(0\right)}=e{(g, g)}^{{r}_{t}{q}_{j}\left(0\right)} $ | (6) |
其中
当
$ A=\mathrm{D}\mathrm{e}\mathrm{c}\mathrm{r}\mathrm{y}\mathrm{p}\mathrm{t}\mathrm{N}\mathrm{o}\mathrm{d}\mathrm{e}(\mathrm{C}\mathrm{T}, \mathrm{S}{\mathrm{K}}_{\mathrm{u}}, R)= \\ e{(g, g)}^{{r}_{t}{q}_{R}\left(0\right)}=e{(g, g)}^{{r}_{t}{s}_{}} $ | (7) |
(3) 当用户属性集
$ \frac{\stackrel{~}{C}}{e(C, D)/A}=\frac{m\cdot e{(g, g)}^{\alpha s}}{e\left(\right({g}^{\beta }{)}^{s}, {g}^{({\alpha }_{}+{r}_{t})/\beta })/e{(g, g)}^{{r}_{t}{s}_{}}}=m $ | (8) |
5) Revocation()
主要包含以下4个阶段:
(1) 用户级撤销
当用户整体从系统中撤销时,CSP将其唯一身份值
(2) 属性级撤销
KGC随机选取一个重加密参数
每个
(3) 用户密钥更新
$ \begin{array}{l}\mathrm{S}{\mathrm{K}}_{\mathrm{u}}=\{D={g}^{(\alpha +{r}_{t})/\beta }, {D}_{{j}^{\text{'}}}={g}^{{r}_{t}}H{\left(\Phi j\right)}^{{U}_{i{j}^{\text{'}}}}, {D}_{{j}^{\mathrm{\text{'}}}}^{\mathrm{*}}={g}^{{U}_{i{j}^{\text{'}}}},\\ \mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\forall j\in \mathrm{J}\backslash \left\{{j}^{\text{'}}\right\}:{D}_{j}={g}^{{r}_{t}}H{\left(j\right)}^{{U}_{ij}}, {D}_{j}^{\mathrm{*}}={g}^{{U}_{ij}}\}\end{array} $ | (9) |
(4) 密文更新
CSP接收到KGC的更新参数后,迅速更新密文的相关组件,确保密文的安全性。
$ \begin{array}{l}\mathrm{C}\mathrm{T}=\{{\rm T}, \stackrel{~}{C}=m\cdot e{(g, g)}^{\alpha s}, C={h}^{s}, \forall j\in \mathrm{J}:\\ \mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }{C}_{j}^{\text{'}}=H{\left(\Phi j\right)}^{{q}_{j}\left(0\right)}, j={j}^{\text{'}}, {C}_{j}^{\text{'}}=H{\left(j\right)}^{{q}_{j}\left(0\right)},j\ne \mathrm{J}, \\ \mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }{C}_{j}={g}^{{q}_{j}\left(0\right)}\}\end{array} $ | (10) |
本方案中多属性授权中心可分为两个模块,即由多个属性授权中心
证明:在本文的方案中,只有当DU的
在随机预言机模型下基于DBDH[19](判定双线性Diffie-Hellman问题)困难假设进行安全性证明:
模型生成(
$ \begin{array}{l}\mathrm{P}\mathrm{r}\left[Q\left({g}^{}, {g}^{a}, {g}^{b}, {g}^{c}, e{\left(g, g\right)}^{abc}\right)=1\right]-\\ \mathrm{P}\mathrm{r}\left[Q\left({g}^{}, {g}^{a}, {g}^{b}, {g}^{c}, e{(g, g)}^{\theta }\right)=1\right]\ge \varepsilon \end{array} $ | (11) |
一个概率多项式时间算法Q以优势为
定理1 假设DBDH成立,则敌手就无法在多项式时间内求解DBDH问题,其中可忽略优势
准备阶段:敌手A选择访问控制树
初始化:B运行Setup()算法。
1) 选择随机数y
2) 针对每个属性
3) 公钥
阶段1:敌手A选择属性集
1) B随机选取
2) 对每个属性
挑战:敌手A向挑战者B提交两个等长的消息
随机选取
$ {\tilde{c}}_{o}={m}_{p}\cdot e{(g, g)}^{\alpha (s+{s}^{\text{'}})}={m}_{p}\cdot e{(g, g)}^{(ab+y)(s+{s}^{\text{'}})}= \\{m}_{p}\cdot e{(g, g)}^{abs}e{(g, g)}^{ab{s}^{\text{'}}}e{(g, g)}^{ys}e{(g, g)}^{y{s}^{\text{'}}} $ | (12) |
$ {c}_{j}={g}^{{q}_{j}\left(0\right)} $ | (13) |
$ {c}_{j}^{\mathrm{*}}=H{\left(j\right)}^{{q}_{j}\left(0\right)} $ | (14) |
$ {c}_{j}^{\text{'}}=H{\left(\Phi j\right)}^{{q}_{j}\left(0\right)} $ | (15) |
挑战者B将密文
阶段2:同阶段1,A继续向B发送秘钥询问报文。
猜测:敌手A输出猜测
1) 若
2) 若
$ \mathrm{P}\mathrm{r}=[{p}^{\mathrm{*}}\ne {p}^{}|z=e{(g, g)}^{\theta }]=\frac{1}{2} $ |
因此
综上所述,若没有敌手在多项式时间内选择访问控制树
本文中提出的方案与其他方案在秘钥托管、抗合谋、撤销机制等方面作出分析比较。从表 1中可以得出结论:本文方案在系统安全等功能方面考虑得比较全面,基本问题得到解决。
![]() |
下载CSV 表 1 各方案功能实现分析比较 Table 1 Analysis and comparison of function realization of each scheme |
当进行用户级撤销时,仅由CSP将用户唯一身份值
本文方案中采用的安全两方计算协议所需计算复杂度为O(5n),属性版本秘钥由各个属性授权中心产生,故计算复杂度为O(n),故生成用户秘钥所需计算复杂度为O(6n)。
由此可以看出本文方案在解密花费以及撤销花费中,将部分计算任务交由CSP进行,极大地降低了系统计算复杂度。各方案效率的对比结果如表 2所示。
![]() |
下载CSV 表 2 效率分析比较 Table 2 Analysis and comparison of efficiency |
在表 2中,te为指数运算所需的花费,tp为双线性对运算所需的花费,p为在
本文提出一种支持属性撤销的CP-ABE方案,通过安全两方计算协议,生成并更新用户秘钥,从而实现细粒度级的用户级和属性级撤销,同时引进多个属性授权中心,在撤销某用户或某用户属性时,任意属性授权中心都无法获得用户的属性版本密钥。实验结果表明,该方案能有效降低撤销操作的计算复杂度,并增强了系统安全性。未来研究将继续优化细粒度撤销所需的计算开销,以进一步降低系统的计算复杂度。
[1] |
SAHAI A, WATERS B. Fuzzy identity-based encryption[M]. Berlin, Germany: Springer, 2005.
|
[2] |
HU H, SHANG W. One revocable KP-ABE scheme[J]. Computer Systems Applications, 2013, 22(9): 123-128. (in Chinese) 胡海英, 商威. 一种可撤销的KP-ABE方案[J]. 计算机系统应用, 2013, 22(9): 123-128. DOI:10.3969/j.issn.1003-3254.2013.09.023 |
[3] |
BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption[C]//Proceedings of IEEE Symposium on Security and Privacy. Washington D.C., USA: IEEE Press, 2007: 321-334.
|
[4] |
BOLDYREVA A, GOYAL V, KUMAR V. Identity-based encryption with efficient revocation modes[C]//Proceedings of 2008 ACM Conference on Computer and Communications Security. New York, USA: ACM Press, 2008: 417-426.
|
[5] |
WAN Z, LIU J, DENG R H. HASBE: a hierarchical attribute-based solution for flexible and scalable access control in cloud computing[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(2): 743-754. DOI:10.1109/TIFS.2011.2172209 |
[6] |
YU S, WANG C, REN K, et al. Attribute based data sharing with attribute revocation[C]//Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. New York, USA: ACM Press, 2010: 261-270.
|
[7] |
HUR J, NOH D K. Attribute-based access control with efficient revocation in data outsourcing systems[J]. IEEE Transactions.on Parallel and Distributed Systems, 2011, 22(7): 1214-1221. DOI:10.1109/TPDS.2010.203 |
[8] |
LEWKO A, SAHAI A, WATERS B. Revocation systems with very small private keys[C]//Proceedings of IEEE Symposium on Security and Privacy. Washington D.C., USA: IEEE Press, 2005: 273-285.
|
[9] |
YANG L, ZHU J, WANG X, et al. Optimized ciphertext-policy attribute-based encryption with efficient revocation[J]. International Journal of Security & Its Applications, 2013, 7(6): 385-394. |
[10] |
XU Z, MARTIN K M. Dynamic user revocation and key refreshing for attribute-based encryption in cloud storage[C]//Proceedings of the 11th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. Washington D.C., USA: IEEE Press, 2012: 844-849.
|
[11] |
LIU Z S, PENG J P. An outsourcing attribute encryption scheme for attribute revocation[J]. Computer Engineering, 2017, 43(10): 109-114. (in Chinese) 刘竹松, 彭佳鹏. 一种支持属性撤销的外包属性加密方案[J]. 计算机工程, 2017, 43(10): 109-114. DOI:10.3969/j.issn.1000-3428.2017.10.019 |
[12] |
CHASE M. Multi-authority attribute based encryption[C]//Proceedings of Theory of Cryptography Conference. Washington D.C., USA: IEEE Press, 2007: 515-534.
|
[13] |
HAN K, LI Q, DENG Z. Security and efficiency data sharing scheme for cloud storage[J]. Chaos, Solitons & Fractals, 2016, 86: 107-116. |
[14] |
LI W, XUE K, XUE Y, et al. TMACS: a robust and verifiable threshold multi-authority access control system in public cloud storage[J]. IEEE Transactions on Parallel & Distributed Systems, 2016, 27: 1484-1496. |
[15] |
HUR J. Improving security and efficiency in attribute-based data sharing[J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 25(10): 2271-2282. DOI:10.1109/TKDE.2011.78 |
[16] |
YANG K, JIA X, REN K. Attribute-based fine-grained access control with efficient revocation in cloud storage systems[C]//Proceedings of the 8th ACM SIGSAC Symposium on Information. New York, USA: ACM Press, 2013: 523-525.
|
[17] |
TANG Y S. Analysis on the security and complexity of the secure two-party computation model under convolutional hidden technology[D]. Guizhou: Guizhou University, 2016. (in Chinese) 唐瑜穗. 卷积隐藏技术下的安全双方计算模型的安全性与复杂性分析[D]. 贵州: 贵州大学, 2016. |
[18] |
CHASE M, CHOW S S M. Improving privacy and security in multi-authority attribute-based encryption[C]//Proceedings of 2009 ACM Conference on Computer and Communications Security. New York, USA: ACM Press, 2009: 121-130.
|
[19] |
BONEH D, FRANKLIN M. Identity-based encryption from the Weil pairing[EB/OL]. [2020-03-02]. https://crypto.stanford.edu/~dabo/papers/bfibe.pdf.
|
[20] |
LI X, TANG S, XU L, et al. Two-factor data access control with efficient revocation for multi-authority cloud storage systems[J]. IEEE Access, 2017, 5: 393-405. DOI:10.1109/ACCESS.2016.2609884 |
[21] |
LIU Z, JIANG Z, WANG X, et al. Practical attribute-based encryption: outsourcing decryption, attribute revocation and policy updating[J]. Journal of Network & Computer Applications, 2018, 108: 112-123. |