近年来, 科学计算和商业计算等众多应用领域产生了海量的数据, 且数据量仍在急剧增长, 给数据存储和管理造成了极大的压力. 云计算技术的兴起使得高效低成本的云存储得以实现. 用户可将数据托管到云数据中心, 并通过互联网进行访问和管理, 而数据中心提供数据备份、容灾等服务, 极大地降低了用户在数据存储方面的投资和管理成本[1].
然而有数据表明, 目前大约80%左右的企业不愿意将业务数据放在公有云上, 用户的主要担忧是数据安全性. 一方面云存储服务商大量涌现, 用户对于这些云服务商缺乏信任; 另一方面云数据中心可能存在技术弱点, 数据不加密或者加密强度不够, 存在信息泄漏的风险. 目前云数据中心主要采用高强度加密标准对数据进行加密, 防止数据被窃取和篡改, 同时通过专业的安全防护措施防范各种安全攻击. 尽管数据机密性是云存储用户的一大关切, 但与此同时用户对数据的开放性也有期待, 希望不同类型的客户可以在各自的权限范围内自由访问数据. 云存储环境下的数据访问控制成为一个亟待解决的问题.
基于密文的访问控制技术可以解决数据的安全访问问题. 用户将数据加密后上传到云存储平台, 只有拥有合法解密密钥的用户才能解密数据. 然而在传统的公钥加密体制中, 用户的公钥是和身份信息绑定的, 进而生成对应的用户证书, 存储和管理用户证书的开销很大; 此外传统公钥体制也不能实现一对多的加解密模式, 不适应数据共享的云存储环境.
针对以上问题, Goyal等人[2]提出了基于属性的加密策略(Attribute-Based Encryption, ABE). 在这种策略中, 每个用户都由一个属性集合表示, 用户的密钥与其属性相关联; 数据拥有者可以自行设定访问控制结构, 访问控制结构是属性的表达式, 只有属性集合满足访问控制结构的用户才能够解密成功. 在图1的例子中, 用户A的属性集为{网络专业, 硕士}, 用户B的属性集为{通信专业, 大四}, 用户B的属性集满足访问控制结构, 而用户A的属性集不满足, 所以只有用户B能够解密密文. ABE将密钥与用户属性关联, 极大地降低了密钥存储和管理的开销. 由于密钥和访问控制结构都与属性关联, ABE可以基于属性实施灵活的访问控制. 基于属性加密也可以实现一对多加解密模式, 满足云存储环境下数据安全共享的需求.
ABE主要分为密钥策略属性加密(KP-ABE)和密文策略属性加密(CP-ABE)两大类. 在KP-ABE (Key-Policy ABE)中, 密钥与访问策略(访问控制结构)相关联, 密文和属性相关联; 而在CP-ABE (Ciphertext-Policy ABE)中, 密文和访问策略相关联(访问控制结构作为加密函数的输入参数之一), 密钥和属性相关联. 两类方法的解密过程都是属性集与访问控制结构进行匹配的过程, 匹配成功则密文顺利解开. KP-ABE以数据访问者为主导, 通过将私钥与访问策略关联选择要接收的数据, 适合云存储环境中对数据的查询. CP-ABE以加密者(数据拥有者)为主导, 通过将密文和访问策略关联对数据访问者作出限制, 适合云存储环境中对数据的访问控制.
以上访问控制都没有考虑时间因素, 事实上许多数据访问控制是时间敏感的. 比如, 视频网络平台发布影片或视频有一个允许发布时间, 这个发布时间由制片方制定, 制片方提前将影视作品提交到平台, 但要求平台不得提前发布或泄露作品. 除限制发布时间外, 制片方也希望有办法阻止一些视频平台非法得到影视作品后进行出售. 因此, 结合用户属性和时间因素来制定访问控制策略具有非常现实的需要.
时释性加密(Timed-Release Encryption, TRE)[3]是在发送者和接收者之间传输密文的一种密码学原语. 它允许发送者提前将加密的消息发送给接收者并指定未来特定的解密时间, 接收者只有在该时间到来后才能解密消息. TRE是时间控制加密技术的典型代表. TRE依赖一个可信的时间服务器产生安全参数和公私钥对, 数据发送者利用时间公钥、接收者公钥和设定的发布时间加密明文, 将密文发送给接收者; 时间服务器在设定的时间到来时发布一个时间陷门; 数据接收者利用私钥和时间陷门解密数据. 近年来, TRE在电子拍卖、电子投票、在线考试等领域发挥了重要的作用. 然而, TRE只是基于时间进行访问控制, 并没有针对用户的访问控制能力.
将TRE引入CP-ABE可以解决云存储环境下带有时间因素的访问控制问题, 但相关研究目前尚未开展, 在技术上也存在一些挑战. 首先, 引入时间服务器之后, 如何降低访问控制对时间服务器的依赖; 其次, 如何把时间服务器的公钥对与CP-ABE的访问控制结构相结合, 把时间陷门与私钥和用户属性相结合, 来增强共享数据的机密性与可用性; 最后, 如何保证引入TRE之后的CP-ABE能够抵抗各种非法用户的攻击行为.
本文针对以上问题提出云存储环境下基于时释性加密的CP-ABE方案, 允许基于属性和时间来制定和实施数据访问控制. 在该方案中, 用户的私钥组成部分来源于云存储平台、用户属性和时间服务器, 降低访问控制对单一第三方机构的依赖; 将用户的私人标记融入用户的私钥中, 抵抗非法用户的串谋攻击; 对共享数据进行时间与属性的双重加密, 提高共享数据的机密性与抗伪装攻击能力.
1 相关工作ABE可以有效解决细粒度访问控制和大批量用户动态扩展的问题, 是云存储环境下理想的访问控制方案. 但在早期的CP-ABE方案中, 私钥需要依赖一个可信的密钥托管中心, 即单个的授权机构, 不适合当前信任分散的、开放的云环境. Dong等人[4]和Yang等人[5]引入多授权机构来解决CP-ABE的密钥托管问题, 将信任和负载分配到多个授权机构中. 然而在他们的方案中, 每个授权机构使用相同的主密钥来产生用户私钥, 若用户具有足够多的属性就可以重建主密钥, 增大了非授权用户串谋攻击的可能性. 关志涛等人[6]针对授权方不完全可信的问题, 提出了一种多授权机构访问控制模型. 在模型中设计了最小化属性分组算法, 用户需要访问共享数据时按需获取密钥, 不仅减少了资源消耗, 还提升了分配效率.
TRE允许发送者在加密消息时指定未来的解密时间, 接收者只有在预设的时间到来后才能解密消息. 1996年Rivest等人[7]对TRE进行了详细论证, 此后TRE的理论和实践均取得了非凡的进步. 2005年Chan和Blake[8]第一次基于TRE提出可扩展的被动式服务器用户匿名方案, 大大降低了对时间服务器的依赖. Hwang等人[9]对TRE的预开放功能作了第一次尝试. 随后Cheon等人[10]于2008年正式提出了安全公钥TRE的概念, TRE的安全性得到了进一步提升. 2014年袁科等人[11]对TRE的研究历史和不同场景下的加密方案做了总结和分析, 具体阐述了TRE的安全目标与攻击模型.
2 基础知识 2.1 双线性映射设存在一个大素数
(1) 双线性: 对于
$e\left( {{g^a},{g^b}} \right) = e\left( {{g^b},{g^a}} \right) = e{(g,g)^{ab}}$ |
(2) 非退化性: 存在
(3) 可计算性: 对于
则我们称上述映射
设存在一个次数为
$L\left( x \right) = \sum\limits_{j = 0}^k {{y_j}{l_j}\left( x \right)} $ |
其中, 每一个
$\begin{array}{*{20}{l}} {{l_j}\left( x \right) = \prod\limits_{0 \le m \le k,m \ne j} {\dfrac{{x - {x_m}}}{{{x_j} - {x_m}}}} = \dfrac{{x - {x_0}}}{{{x_j} - {x_0}}} \cdots }\\ {\;\;\;\;\;\;\;\;\dfrac{{x - {x_{j - 1}}}}{{{x_j} - {x_{j - 1}}}}*\dfrac{{x - {x_{j + 1}}}}{{{x_j} - {x_{j + 1}}}} \cdots \dfrac{{x - {x_k}}}{{{x_j} - {x_k}}},0 \le j \le k} \end{array}$ |
判定双线性Diffie-Hellman问题(Decisional Bilinear Diffie-Hellman Problem, DBDH问题)[12]. 已知一个五元组为
假设存在一个算法A在多项式时间内解决DBDH问题的概率为
因此, 本文设计的安全机制是以DBDH困难问题为基础构建的.
2.4 CP-ABE算法CP-ABE加密算法涉及到属性集合、访问控制结构和访问控制树.
(1) 属性集合: 设每个参与者的身份信息由一个属性集合Ai表示, P为所有参与者属性的集合, 即Ai是P的一个非空子集. 例如:
(2) 访问控制结构: 访问控制结构是一组判断条件, 通常表示为
(3) 访问控制树: 访问控制树被用来描述访问控制结构, 每个叶子节点
典型且常用的CP-ABE机制由下列4个模块构成:
(1) 初始化(Setup): 产生一个公钥对
(2) 加密算法(Encrypt): 输入集合为{明文
(3) 私钥生成算法(KeyGen): 输入集合为{属性集
(4) 解密算法(Decrypt): 输入集合为{密文
TRE依赖一个可信的时间服务器, 在指定的时间到达时发布一个时间陷门, 接收者得到这个时间陷门后才能够解密消息. 时间服务器提供的是绝对的发布时间, 时间陷门就是它的自我签名, 在这个过程中不需要额外的签名服务.
TRE方案包含5个模块, 分别为初始化(Setup)、密钥生成算法(KeyGen)、时间陷门发布算法(TS-Release)、加密算法(Encrypt)和解密算法(Decrypt). TRE方案共有3类参与实体, 分别是时间服务器、发送者和接收者. 具体过程如下:
(1) 初始化(Setup): 时间服务器产生安全参数以及公私钥对;
(2) 密钥生成算法(KeyGen): 接收者根据时间服务器产生的安全参数及时间公钥计算自己的公私钥对;
(3) 时间陷门发布算法(TS-Release): 时间服务器生成字符串
(4) 加密算法(Encrypt): 发送者利用时间公钥和接收者的公钥以及设定的发布时间
(5) 解密算法(Decrypt): 当接收者拿到密文
以下是TRE技术运用到CP-ABE方案的一个应用场景: Alice是计算机学院的一名老师, 计划在下周二对计算机学院网络工程专业的大二学生进行一次在线考试, 但不巧的是她当天必须参加一个重要会议. 在这种情况下, Alice可以在CP-ABE方案中融入TRE来解决她的问题. Alice可以预先发送以下消息:
$\left( {Enc\left( {ID,t{s_{\rm {pub}}},r,M,T} \right),T} \right)$ |
其中,
在开放云存储环境下, 基于时释性加密的CP-ABE方案的密文数据共享模型主要由以下5类参与实体构成: 数据拥有者、数据访问者、云存储平台、授权机构和时间服务器. 系统模型如图3所示.
(1) 数据拥有者: 提供共享数据, 设定访问结构以形成访问策略, 设置发布时间, 同时得到时间服务器发布的时间公钥, 将共享数据用时间公钥并按照访问结构加密后发送给云存储平台.
(2) 数据访问者: 可以从云存储平台获取加密后的共享数据, 等发布时间到来后, 得到时间服务器在发布时间产生的时间陷门, 形成时间私钥, 而后结合自己的密钥来解密共享数据.
(3) 云存储平台: 为数据共享提供一个方便稳定的平台, 并能够管理数据拥有者托管给它的共享数据. 云存储平台会和授权机构一起对共享系统中的属性集合以及用户的密钥进行有效的管理和分配.
(4) 授权机构: 与云存储平台一起对共享系统中的属性集合以及用户的密钥进行有效的管理和分配.
(5) 时间服务器: 完全可信的第三方机构, 会诚实地按照一定周期发布时间陷门, 且这个时间陷门不可伪造, 为云存储环境下的用户提供一个可靠准确的时间参照.
3.2 安全威胁
在第3.1节介绍的共享模型中, 数据访问者可以是云存储环境下的任何参与实体, 可能存在想要对共享数据进行非法访问的用户; 云存储平台虽然可以按照共享机制正常执行任务, 但是出于利益考虑可能试图解密用户存储在上面的数据; 授权机构也可能为了牟利而利用用户的密钥试图解密共享数据; 在我们的安全假设中, 云存储平台和授权机构都是半可信的实体, 它们会诚实地按照规定执行每一步操作, 二者不存在合谋的可能. 在这种情况下, 基于时释性加密的CP-ABE方案可能存在以下3类安全威胁.
(1) 针对托管数据的攻击: 云存储平台和授权机构可能尝试解密共享数据, 导致数据的机密性及隐私性得不到保障.
(2) 串谋攻击: 数据拥有者加密共享数据的依据是用户的属性集合以及访问控制结构, 单个的非授权用户无法访问共享数据, 但是多个非授权用户联合各自的属性有可能解密共享数据.
(3) 选择明文攻击: 攻击者已经掌握了共享数据其中一些成对的小部分的明文与密文, 而且攻击者可以通过渗透或者冒充的方法能够让其设定好的任何明文得到共享机制的加密, 从而, 攻击者又可以得到相对应的密文, 也就是说, 攻击者拥有了共享机制中加密的权限. 这种攻击方式在云存储环境中很常见, 也是攻击者容易实现并能够获得较大优势的攻击类型.
4 基于时释性加密的CP-ABE方案本文提出的基于时释性加密的CP-ABE方案由初始化、密钥构造、加密、解密4个算法组成. 时间服务器被动地产生时间公私钥对和时间陷门, 不与其它实体交互. 在密钥构造部分, 用户的私钥由两部分构成, 分别是云存储平台管理的对称密钥和授权机构产生的属性密钥. 在加密部分, 融合访问控制结构、发布时间与时间公钥对共享数据进行双重加密. 在解密部分, 在预定发布时间到达之前, 用户通过计算并采用嵌套的方式获取访问控制树根节点值, 在发布时间到达之后用户获取时间陷门并解密. 下面详细介绍方案的算法步骤.
4.1 初始化算法初始化算法在CP-ABE方案中增加了时间服务器的初始化以及云存储平台对称密钥的生成.
(1) 在整个共享系统中, 需要由授权机构产生一个安全参数, 获得安全参数之后, 产生一个大素数
(2) 选取以下散列函数
(3) 随机选取
(4) 共享系统中所有的属性集合由云存储平台产生, 为
(5) 时间服务器选取
密钥构造算法给CP-ABE方案中的用户私钥增加了云存储平台产生的对称密钥部分.
云存储平台为每一个注册进入系统的用户产生唯一的标记
用户拿到属性集和标记以后, 将它们发送给授权机构, 向授权机构申请属性密钥.
授权机构根据得到的属性集合为其中的每个属性
$ \begin{split} S{K}_{{u}_{i}}^{G}&=\left( {D={g}^{\textstyle\frac{\alpha }{\beta }}{g}^{\textstyle\frac{{u}_{i}\varepsilon }{\beta }};} \right. \\ &\;\;\;\;\;\;\; \left. {\forall {\lambda }_{j}\in S:{D}_{k}={g}^{{u}_{i}\varepsilon }H{({\lambda }_{j})}^{{r}_{j}},{D}_{k}^{'}={g}^{{r}_{j}}} \right) \\ \;\;\;\; &=\left( {D={g}^{\textstyle\frac{\alpha +{u}_{i}\varepsilon }{\beta }};} \right. \\ & \;\;\;\;\;\;\; \left. { \forall {\lambda }_{j}\in S:{D}_{k}={g}^{{u}_{i}\varepsilon }H{({\lambda }_{j})}^{{r}_{j}},{D}_{k}^{'}={g}^{{r}_{j}}} \right) \end{split}$ | (1) |
最终, 用户结合云存储平台产生的对称密钥和授权机构产生的属性密钥, 形成了自己的私钥
$ \begin{split} & S{K}_{{u}_{i}}=\left( {D={g}^{\textstyle\frac{\alpha +{u}_{i}\varepsilon }{\beta }},\varepsilon ; } \right.\\ & \;\;\;\;\; \left. {\forall {\lambda }_{j}\in S:{D}_{k}={g}^{\varepsilon {u}_{i}}H{({\lambda }_{j})}^{{r}_{j}},{D}_{k}^{'}={g}^{{r}_{j}}} \right) \end{split} $ |
加密算法改变了原有CP-ABE方案中对共享数据的单次加密策略, 转变为由发布时间和时间公钥参加的二次加密. 数据拥有者在上传明文
(1) 构造访问控制树
数据拥有者首先根据自己的需要制定访问控制结构, 而后构建访问控制树, 树中的叶子节点为访问控制结构中的属性, 树中的父节点为门限逻辑运算符.
访问控制树的根节点为R, 数据拥有者设置R的节点值为随机数
(2) 加密共享数据
数据拥有者预先设定好发布时间
$ \begin{split} M =e\left( {t{s}_{\rm {pub}},H{(T)}^{\beta s}} \right)m =e\left( {{g}^{{q}},H{(T)}^{\beta s}} \right)m \end{split}$ | (2) |
假设集合
$ \begin{split} {C}_{T}&=\left(Enc\left(M,{\rm{\Gamma }},PK,\varepsilon ,s\right),T\right) \\ &=\left( {{\rm{\Gamma}},Me{(g,g)}^{\alpha \varepsilon s},{g}^{\beta s},T; } \right.\\ &\left. {\forall {\lambda }_{k}\in Leaf:{C}_{k}={g}^{{f}_{k}\left(0\right)},{C}_{k}^{'}=H{({\lambda }_{k})}^{{f}_{k}\left(0\right)}} \right) \end{split}$ | (3) |
解密算法在CP-ABE的最终解密过程中融入了TRE中时间陷门与时间私钥的解密思想.
当数据拥有者把密文
(1) 数据访问者通过计算并采用嵌套的方法获取到访问控制树根节点
1) 数据访问者拿到访问控制树
如果访问控制树的叶子结点所代表的属性
$ \begin{split} {T}_{x}&=\frac{e\left({D}_{x},{C}_{x}\right)}{e\left({D}_{x}^{'},{C}_{x}^{'}\right)}=\frac{e\left( {{g}^{{u}_{i}\varepsilon }H{({\lambda }_{x})}^{{r}_{x}},{g}^{{f}_{x}\left(0\right)}} \right)}{e\left( {{g}^{{r}_{x}},H{({\lambda }_{x})}^{{f}_{x}\left(0\right)}} \right)} \\ & =\frac{e\left({g}^{{u}_{i}\varepsilon },{g}^{{f}_{x}\left(0\right)}\right)e\left( {H{({\lambda }_{x})}^{{r}_{x}},{g}^{{f}_{x}\left(0\right)}} \right)}{e{\left( {g,H\left( {{\lambda }_{x}} \right)} \right)}^{{r}_{x}{f}_{x}\left(0\right)}} \\ & =e{(g,g)}^{{u}_{i}\varepsilon {f}_{x}\left(0\right)} \end{split}$ | (4) |
2) 对于访问控制树剩下的父节点
令
$ \begin{split} {T_y}& = \mathop \prod \limits_{{\textit{z}} \in N} T_{\textit{z}}^{\prod\limits_{j \in N,j \ne N} {\textstyle\frac{{index\left( j \right)}}{{index\left( {\textit{z}} \right) - index\left( j \right)}}} } \\ & = \mathop \prod \limits_{{\textit{z}} \in N} e{(g,g)^{{u_i}\varepsilon {f_{parent\left( {\textit{z}} \right)}}\left( {index\left( {\textit{z}} \right)} \right)\prod\limits_{j \in N,j \ne N} {\textstyle\frac{{index\left( j \right)}}{{index\left( {\textit{z}} \right) - index\left( j \right)}}} }} \\ & = e{(g,g)^{{u_i}\varepsilon \textstyle\sum\limits_{_{{\textit{z}} \in N}} {\left( {{f_y}\left( {index\left( {\textit{z}} \right)} \right)\prod\limits_{j \in N,j \ne N} {\textstyle\frac{{index\left( j \right)}}{{index\left( {\textit{z}} \right) - index\left( j \right)}}} } \right)} }} \\ & = e{(g,g)^{{u_i}\varepsilon {f_y}\left( 0 \right)}} \\ \end{split} $ | (5) |
式(5)被数据访问者嵌套计算, 只有当访问者的私钥满足访问控制树, 即访问者属性的确符合数据拥有者指定的访问控制结构, 属于授权用户, 访问者才可以计算出
接着等预定的发布时间
$ \begin{split} m' &=\frac{Me{(g,g)}^{\alpha \varepsilon s}}{{\left[\frac{e\left( {{({g}^{\beta })}^{s},{g}^{\textstyle\frac{\alpha +{u}_{i}\varepsilon }{\beta }}} \right)}{{T}_{R}}\right]}^{\varepsilon }*e({g}^{\beta s},H{(T)}^{q})} \\ &=\frac{Me{(g,g)}^{\alpha \varepsilon s}}{{\left[\frac{e\left( {{({g}^{\beta })}^{s},{g}^{\textstyle\frac{\alpha +{u}_{i}\varepsilon }{\beta }}} \right)}{e{(g,g)}^{{u}_{i}\varepsilon s}}\right]}^{\varepsilon }*e({g}^{\beta s},H{(T)}^{q})} \\ &=m \end{split}$ | (6) |
最终数据访问者在
(1) 能够抵抗来自非法用户的非法访问.
非法用户即非授权用户, 这类用户若想要解密共享数据, 就需要充分利用共享系统中的相关消息. 通过分析整个共享机制可以看出, 非法用户能够利用的消息有: 云存储平台中的密文
我们对以上消息构造双线性映射, 如式(7)所示:
$ \begin{split} e\left(D,{g}^{\beta s}\right)&=e\left({g}^{\textstyle\frac{\alpha +{u}_{i}\varepsilon }{\beta }},{g}^{\beta s}\right) \\ & =e{(g,g)}^{\alpha s}e{(g,g)}^{{u}_{i}\varepsilon s} \end{split}$ | (7) |
通过式(7)可以看出, 只有获取到
(2) 能够抵抗来自云存储平台的非法访问.
数据拥有者加密共享数据时会使用云存储平台产生的对称密钥
(3) 能够抵抗来自授权机构的非法访问
授权机构能获取到属性私钥. 由于用户的私钥是由属性私钥和对称密钥
综上所述, 本文提出的共享机制能够抵抗系统中不同参与实体的非法访问, 进而解决了托管数据的机密性问题.
5.2 基于时释性加密的CP-ABE方案能够抵抗不同用户的串谋攻击.假设存在两个非法用户
$\begin{split} &{\left\{ {e{{(g,g)}^{{u_i}{f_x}\left( 1 \right)}}, \cdots ,e{{(g,g)}^{{u_i}{f_x}\left( m \right)}}} \right.}\\ &{\left. {e{{(g,g)}^{{u_j}{f_x}\left( n \right)}}, \cdots ,e{{(g,g)}^{{u_j}{f_x}\left( {{k_x}} \right)}}} \right\}} \end{split}$ | (8) |
可以看到, 叶子结点的值分别都具有用户
综上所述, 多个非授权用户联合各自的属性不可能解密还原共享数据, 本文提出的共享机制可以有效地抵抗串谋攻击.
5.3 基于时释性加密的CP-ABE方案能够抵抗选择明文攻击.定义1. 关于CP-ABE的选择明文攻击游戏[13]
攻击游戏是模拟敌手和挑战者交互的一个过程, 从而把现实中的攻击行为的全过程展现出来. 关于CP-ABE的选择明文攻击游戏, 挑战者和敌手的具体交互过程如下:
(1) 系统建立: 在模拟云存储环境中, 挑战者根据我们的密文共享机制进行云存储共享系统的构建, 产生公私密钥, 敌手可以拿到公钥.
(2) 初步查询: 敌手拿到挑战者给出的公钥之后, 可以向挑战者发出查询请求, 敌手想要查询与属性集关联的用户私钥.
(3) 进行质询: 敌手此时已经拿到存放在云存储平台的访问控制树
(4) 继续查询: 敌手继续向挑战者申请查询操作, 查询与属性集关联的用户私钥, 但是已经查询到的属性集仍然不满足访问控制树
(5) 进行猜测: 此时挑战者必须给出关于密文
如果挑战者猜测的
$\left| {{\rm{Pr}}\left[ {b' = b} \right] - \frac{1}{2}} \right|$ | (9) |
由于我们的安全机制是建立在DBDH问题的基础之上的, 因此, 在任意概率的多项式时间内, 若敌手在DBDH游戏中的攻击优势可以被忽略, 那么就可以说明我们的密文共享机制可以抵抗选择明文攻击, 即是选择明文安全的. 证明过程如下:
假设存在一个攻击者A, 要想攻破我们的密文共享机制, 则A为敌手, 同时需要构建DBDH的攻击者, 可以通过构建一个模拟器来充当DBDH的攻击者, 这个模拟器被命名为B, 模拟器B攻破DBDH问题的优势为
(1) 系统建立: 在模拟云存储环境中, 模拟器B产生3个随机值, 分别为:
(2) 初步查询: 模拟器
$\left\{ {{g^{\frac{{ab + x + {u_i}\varepsilon }}{b}}},\forall {\lambda _j} \in S:{g^{{u_i}\varepsilon }}H{{\left( {{\lambda _j}} \right)}^{{r_j}}},{g^{{r_j}}}} \right\}$ | (10) |
至此, 共享机制当中的授权机构成功被模拟器
(3) 进行质询: 攻击者
(4) 继续查询: 攻击者
(5) 进行猜测: 此时攻击者
$ \begin{split} {M}_{{b}^{\prime }}e{(g,g)}^{\alpha c}&={M}_{{b}^{\prime }}e{(g,g)}^{\left(ab+x\right)c} \\ & ={M}_{{b}^{\prime }}e{(g,g)}^{abc}e\left({g}^{x},{g}^{c}\right) \end{split}$ | (11) |
如此, 密文数据被模拟器
综上, 共享系统的密文机制被攻击者攻破的概率为
本文指出在云存储环境下基于用户属性和访问时间进行细粒度访问控制将成为一种迫切需求, 并提出了基于时释性加密的CP-ABE方案, 通过在CP-ABE中融入TRE机制来实现带有时间控制的密文共享机制. 该方案大大减少了对时间服务器和第三方机构的依赖, 能够有效抵抗来自用户、云存储平台和授权机构的非法访问、非法用户的串谋攻击以及选择明文攻击. 未来将重点研究用户密钥的撤销和更新问题, 保证共享数据不被注销后的用户解密获取.
[1] |
俞能海, 郝卓, 徐甲甲, 等. 云安全研究进展综述. 电子学报, 2013, 41(2): 371-381. DOI:10.3969/j.issn.0372-2112.2013.02.026 |
[2] |
Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data. Proceedings of the 13th ACM Conference on Computer and Communications Security. Alexandria, VA, USA. 2006. 89–98.
|
[3] |
Cathalo J, Libert B, Quisquater JJ. Efficient and non-interactive timed-release encryption. Proceedings of the 7th International Conference on Information and Communications Securit. Beijing, China. 2005. 291–303.
|
[4] |
Dong X, Yu JD, Luo Y, et al. Achieving an effective, scalable and privacy-preserving data sharing service in cloud computing. Computers & Security, 2014, 42: 151-164. |
[5] |
Yang K, Jia XH, Ren K, et al. DAC-MACS: Effective data access control for multiauthority cloud storage systems. IEEE Transactions on Information Forensics and Security, 2013, 8(11): 1790-1801. DOI:10.1109/TIFS.2013.2279531 |
[6] |
关志涛, 杨亭亭, 徐茹枝, 等. 面向云存储的基于属性加密的多授权中心访问控制方案. 通信学报, 2015, 36(6): 116-126. |
[7] |
Rivest RL, Shamir A, Wagner DA. Time-lock puzzles and timed-release crypto. Cambridge, MA: MIT LCS Tech, 1996.
|
[8] |
Chan ACF, Blake IF. Scalable, server-passive, user-anonymous timed release cryptography. 25th IEEE International Conference on Distributed Computing Systems. Columbus, OH, USA. 2005. 504–513.
|
[9] |
Hwang YH, Yum DH, Lee PJ. Timed-release encryption with pre-open capability and its application to certified E-mail system. Proceedings of the 8th International Conference on Information Security. Singapore. 2005. 344–358.
|
[10] |
Cheon JH, Hopper N, Kim Y, et al. Provably secure timed-release public key encryption. ACM Transactions on Information and System Security, 2008, 11(2): 4. |
[11] |
袁科, 刘哲理, 贾春福, 等. TRE加密技术研究. 计算机研究与发展, 2014, 51(6): 1206-1220. DOI:10.7544/issn1000-1239.2014.20130177 |
[12] |
谷利泽, 郑世慧, 杨义先. 现代密码学教程. 2版. 北京: 北京邮电大学出版社, 2015.
|
[13] |
Doshi N, Jinwala DC. Fully secure ciphertext policy attribute-based encryption with constant length ciphertext and faster decryption. Security and Communication Networks, 2014, 7(11): 1988-2002. DOI:10.1002/sec.913 |