随着移动终端的普及, 使用移动设备访问云存储数据变得非常流行, 而且云存储服务提供商也鼓励用户使用移动终端来访问数据[1-3].另外, 随着云存储系统的大规模部署, 大量敏感数据被外包到云存储服务器[4, 5], 用户失去了对数据的完全控制, 能否保证云存储数据的安全成为了用户关注的焦点.为了解决以上挑战, 虽然可以采用传统的对称加密技术和非对称加密技术实现数据的安全访问, 但是这样会带来计算代价高、数据冗余和密钥管理等问题.例如, 同一份文件为了保证不同的用户可以访问, 需要使用不同用户的密钥进行加密, 大大增加了用户的计算代价, 同时也会导致云存储服务器数据的冗余.因此, 如何设计一个高效的移动云存储数据访问控制方案仍然是一个挑战[6-8].
在属性基加密(attribute-based encryption, 简称ABE)方案中, 其密钥构成与属性集合相关, 密文构成与访问结构相关; 如果属性集合能够满足密文中的访问结构, 便可以获取明文.ABE不仅具有一对多的特点, 而且可以实现不确定用户数的解密, 因此被广泛应用于云存储数据的细粒度访问控制[9-11].但其加密计算代价大, 并且计算开销随着访问结构中属性个数的增加而线性增加, 不适合直接应用于电力资源有限的移动终端.虽然在线-离线(online-offline)[12, 13]和转换密钥技术[14]可以通过预处理及外包解密的方式来降低用户端加密和解密的计算开销, 但前者需要在离线加密阶段确定访问结构, 实际上不同数据的访问结构并不相同, 不便于提前确定; 后者通过把解密外包到不完全可信的第三方, 不能保证解密的正确性.尽管Shao等人[15]提出的方案可以不用提前确定访问结构, 但是用户的属性集合只受到一个属性授权机构的管理, 不利于系统规模的扩充; 而且其没有验证外包解密的正确性.面对以上挑战, 本文提出了一个在线-离线的多授权机构属性基加密(online/offline multi- authority attribute based encryption, 简称OO-MA-ABE)方案, 其主要思想是把用户端在线计算代价转移到离线阶段或者云服务器上.本文的主要贡献如下:
1) 本文利用在线-离线和外包解密技术, 构造了一个高效的移动云存储数据访问控制方案.在加密阶段, 把大量的配对操作提前预处理; 在解密阶段, 把配对操作外包到云存储服务器; 用户端只需要运行简单的运算操作就可以完成加密和解密, 从而大大降低了用户端的在线计算开销.
2) 本文提出了一种验证外包解密正确性的方法.在加密阶段, 用户利用加密密钥和明文生成哈希值作为数据的验证令牌; 在解密阶段, 用户用验证令牌验证解密结果的正确性, 进而检验云存储服务器解密是否正确.同时, 本文方案可以抵抗单个授权机构获取用户的身份信息, 保证了用户身份的隐私性.
3) 本文对方案进行了安全分析和仿真实验, 结果表明了方案的安全性和高效性.
本文首先对云存储数据访问存在的问题进行概括, 并给出本文的主要贡献.第1节对云存储数据访问采用的属性基加密机制的研究现状进行总结, 并分析它们的优缺点.第2节主要对本文所采用的理论知识进行总结, 并给出本文的系统模型、方案定义及安全模型.第3节具体概述本文提出的方案.第4节从安全性及性能上对本文方案进行分析.最后对本文方案进行总结.
1 相关工作Sahai和Waters[16]首次提出了属性基加密方案, 其只支持简单的门限访问策略.为了丰富方案的访问策略, 大量的密文策略属性基加密(ciphertext policy attribute based encryption, 简称CP-ABE)和密钥策略属性基加密(key policy attribute based encryption, 简称KP-ABE)的方案也随之提出, 其中, CP-ABE[17-19]方案中用户的密钥与属性集合相关, 密文和访问结构相关; 其能够很好地用于云存储的密文访问控制.另外, 也有些ABE研究主要集中于计算效率[20, 21]、访问策略隐藏[22]和匿名身份验证[23].由于单授权机构存在不利于系统规模扩充及可以获取用户信息等问题, Chase[24]首次提出多授权机构属性基加密(multi-authority attribute based encryption, 简称MA-ABE)方案; Lewko和Waters[25]提出非中心的属性基加密(decentralized ABE)方案, 并采用双重加密的安全证明方法证明了方案的安全性, 而且摆脱了Chase方案的中心机构的瓶颈问题.为了进一步提高ABE方案的加密解密计算效率, Guo等人[26]受Even等人[27]提出的在线-离线签名算法的启发, 首次提出了基于身份的Online- Offline加密方案.Hohenberger和Waters[28]利用Rouselakis和Waters[29]的属性基加密方案, 首次提出了Online-Offline属性基加密方案.该方案把所有的配对操作移交到离线阶段去处理, 大大减少了在线阶段的计算开销.另外, 该方案通过借助Green等人[30]提出的外包计算来减少解密阶段的计算开销.Shao等人[15]利用转换密钥技术和在线/离线属性加密原语的技术, 构造了一个应用于移动云计算数据的共享方案, 大大减少了用户加密解密的计算开销.但其受限于一个授权机构, 不利于系统大规模的扩充.于是, Yang等人[31]提出基于外包令牌的非中心属性基加密方案, 虽然很大程度地减轻了解密阶段的开销, 但并没有考虑如何改善加密阶段的开销问题. De等人[32]提出了一种快速加密多授权机构加密机制, 但该方案不能保证用户隐私且不支持外包验证.
2 准备知识 2.1 基础知识A.双线性映射
假设存在两个素数阶
(1) 双线性:
(2) 非退化性:配对操作e并不能将
(3) 可计算性:对于任意的
B.访问结构
定义1(访问结构). 假设
C.困难假设
定义2. 给定两个素数阶
定多元组:
$ \begin{gathered} g,{g^s}, \hfill \\ {g^{{a^i}}},{g^{{b_j}}},{g^{s{b_j}}},{g^{{a^i}{b_j}}},{g^{{a^i}/b_j^2}}\forall (i,j) \in \left[ {q,q} \right], \hfill \\ {g^{{a^i}{b_j}/b_{j'}^2}}\forall (i,j),j' \in \left[ {2q,q,q} \right]{\text{ with }}j \ne j', \hfill \\ {g^{{a^i}/b_j^2}}\forall (i,j),j' \in \left[ {2q,q} \right]{\text{ with }}j \ne j', \hfill \\ {g^{s{a^i}{b_j}/{b_{j'}}}},{g^{s{a^i}{b_j}/b_{j'}^2}}\forall (i,j) \in \left[ {q,q,q} \right]{\text{ with }}j \ne j'. \hfill \\ \end{gathered} $ |
如果不存在一种算法能够在多项式时间内以不可忽略的概率区分
A.系统模型
本文提出的高效可验证的移动云存储数据访问控制方案包含4个实体:数据拥有者(data owner)、云存储服务器(cloud storage server, 简称CS)、N个属性授权机构(attribute authorities, 简称AAs)及数据使用者(data user), 如图 1所示.
(1) 数据拥有者:数据拥有者使用移动终端与云存储服务器通信, 并外包密文到云存储服务器.假定, 移动设备的电力资源和计算能力有限, 并拥有足够的存储空间.同时, 数据拥有者为每个密文生成验证令牌.
(2) 云存储服务器:云存储服务器存储数据拥有者共享的密文和验证令牌, 提供数据访问控制服务, 并帮助用户产生转换后密文.假定云存储服务器是诚实且好奇的, 即不完全可信的.
(3) 数据使用者:数据使用者通过移动终端与云存储服务器通信, 并外包自己的转换密钥给云存储服务器用于获取转换后的密文.同时, 数据使用者使用验证令牌和自己的私钥验证云存储服务器的解密是否正确.
(4) 属性授权机构:属性授权机构是完全可信的, 独立地管理着每类属性; 多个授权机构共同为合法的用户生成私钥.另外, 单个授权机构不能提取用户的私钥和用户身份信息.
B. OO-MA-ABE方案定义
在这一部分, 我们定义了OO-MA-ABE方案的多项式时间算法, 具体如下.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
C.安全模型
我们利用敌手
初始化阶段:敌手
(1) 对于每个授权机构
(2) 对于每个授权机构
查询阶段1:敌手
挑战阶段:敌手
查询阶段2:重复查询阶段1.
敌手
猜测阶段:敌手
定义3. 如果敌手
在这一部分, 本文具体构造了高效可验证的多授权机构属性基加密方案.假定该方案中LSSS访问矩阵最大的行数为Pmax.本文方案包括如下几个阶段.
1) 系统初始化
通过执行GlobalSetup算法, 产生系统公开参数Params.首先利用
$Params = \left( {g, h, u, v, w, e, p, H, {H_0}, {H_1}, G, {G_T}, H'} \right)$ | (1) |
2) 授权机构建立
授权机构运行AASetup进行初始化操作, 具体过程分为如下两步.
(1) 所有授权机构随机选择
(2) 对于每个授权机构
(a) 随机选择N-1个整数
(b) 当收到来自其他授权机构
$M{K_i} =\\ \left( {\prod\limits_{k \in \left\{ {1,...,N} \right\}/\left\{ i \right\}} {{g^{{s_{ik}}}}} } \right){\text{ }}/\left( {\prod\limits_{k \in \left\{ {1,...,N} \right\}/\left\{ i \right\}} {{g^{{s_{ki}}}}} } \right) = {g^{\left( {\sum\limits_{k \in \left\{ {1,...,N} \right\}/\left\{ i \right\}} {{s_{ik}}} - \sum\limits_{k \in \left\{ {1,...,N} \right\}/\left\{ i \right\}} {{s_{ki}}} } \right)}}$ | (2) |
其中,
(c) 为每个属性
每个授权机构发布自己的公钥
3) 密钥产生
当新的用户访问系统时, 需要从属性授权机构请求私钥, 授权机构通过执行密钥产生KeyGen算法为用户发布私钥.KeyGen的具体过程分为如下两步.
(1) 每个授权机构
(a) 随机选择一个数
(b) 当收到来自其他授权机构的组件
$\left. \begin{gathered} {D_0} = \prod\nolimits_N^{i = 1} {M{K_i}.{g^{{\gamma _i}}}} = {g^{\sum\nolimits_N^{i = 1} {{\gamma _i}} }} = {g^r}, \\ {D_1} = \prod\nolimits_N^{i = 1} {M{K_i}.{g^{{\alpha _i}}}.{w^{{\gamma _i}}}} = {g^{\sum\nolimits_N^{i = 1} {{\alpha _i}} }}{w^r}, \\ {D_v} = \prod\nolimits_N^{i = 1} {M{K_i}.{v^{ - {\gamma _i}}}} = {v^{ - r}} \\ \end{gathered} \right\}$ | (3) |
其中,
(2) 授权机构首先为每个属性
用户从授权机构获得的私钥为
4) 离线加密
当数据拥有者的移动设备重新启动时, 执行Encrypt.OffL算法产生临时密文, 并将临时密文存储在移动设备中; Encrypt.OffL算法的具体过程如下.
(a) 随机选择参数
(b) 为访问矩阵的每一行随机选择
计算
方案临时密文为
5) 在线加密
当数据拥有者外包数据到云存储服务器时, 需要运行Encrypt.OnL加密数据MSG, 然后把密文外包到云存储服务器.Encrypt.OnL算法的具体过程如下.
(1) 数据拥有者随机选择
(2) 数据拥有者执行如下操作加密对称密钥ck, 具体过程如下.
(a) 定义访问控制结构
(b) 选择随机向量
(c) 计算
计算
外包密文为
6) 密文转换
数据使用者在移动设备重启时, 执行GenToken算法产生转换密钥, 并将其存储到移动设备上.GenToken算法的具体过程如下, 首先随机选择
首先通过下式计算
$ke{y_\mu } = \frac{{e\left( {{C_0}, {{({D_0})}^\mu }} \right)}}{{e\left( {{w^{\sum\nolimits_{j \in \ell } {{C_{j, 4}}.{\omega _j}} }}, {{({D_1})}^\mu }} \right) \cdot \prod\nolimits_{j \in \ell } {{{\left( {e\left( {{C_{j, 1}}, {{({D_1})}^\mu }} \right) \cdot e{{\left( {{C_{j, 2}}.{u^{{C_{j, 5}}}}, {{({D_{j, 2}})}^\mu }} \right)}^{H\left( {ID} \right)}}.e\left( {{C_{j, 3}}, {{({D_{j, 3}})}^\mu }} \right)} \right)}^{{\omega _j}}}} }}$ | (4) |
其中,
7) 解密
数据使用者收到云存储服务器发送的转换密文后, 执行Decrypt算法进行解密, 具体过程如下:首先计算对称密钥
正确性:如果下面的等式成立, 则本文的方案是正确的.从公式(4)中, 可以得到如下计算组件:
$\left. \begin{gathered} {\prod\nolimits_{j \in \ell } {\left( {e\left( {{C_{j, 1}}, {{\left( {{D_1}} \right)}^\mu }} \right) \cdot e{{\left( {{C_{j, 2}} \cdot {u^{{C_{j, 5}}}}, {{\left( {{D_{j, 2}}} \right)}^\mu }} \right)}^{H\left( {ID} \right)}} \cdot e\left( {{C_{j, 3}}, {{\left( {{D_{j, 3}}} \right)}^\mu }} \right)} \right)} ^{{\omega _j}}} \hfill \\ = \prod\nolimits_{j \in \ell } {{{\left( {e\left( {{w^{{z_j}}}{v^{{t_j}}}, {g^{\mu r}}} \right) \cdot e{{\left( {{{\left( {{u^{{x_j}}}h} \right)}^{ - {t_j}}}.{u^{{t_j}\left( {{x_j} - \rho (j)} \right)}}, {g^{\mu {r_i}}}} \right)}^{H\left( {ID} \right)}}.e\left( {{g^{{t_j}}}, {{\left( {{u^{{A_j}}}h} \right)}^{\mu {r_j}H\left( {ID} \right)}}{v^{ - r\mu }}} \right)} \right)}^{{\omega _j}}}} \hfill \\ = \prod\nolimits_{j \in \ell } {{{\left( {e\left( {{w^{{z_j}}}{v^{{t_j}}}, {g^{\mu r}}} \right) \cdot e{{\left( {{h^{ - {t_j}}}.{u^{ - \rho (j){t_j}}}, {g^{\mu {r_i}}}} \right)}^{H\left( {ID} \right)}}.e\left( {{g^{{t_j}}}, {{\left( {{u^{{A_j}}}h} \right)}^{\mu {r_j}H\left( {ID} \right)}}{v^{ - r\mu }}} \right)} \right)}^{{\omega _j}}}} \hfill \\ = \prod\nolimits_{j \in \ell } {{{\left( {e\left( {{w^{{z_j}}}{v^{{t_j}}}, {g^{\mu r}}} \right).e\left( {{g^{{t_j}}}, {v^{ - r\mu }}} \right)} \right)}^{{\omega _i}}} = \prod\limits_{j \in \ell } {e{{\left( {{w^{{z_j}}}, {g^{\mu r}}} \right)}^{{\omega _i}}} = e} \left( {{w^{\sum\nolimits_{j \in \ell } {{z_j}.{\omega _j}} }}, {g^{\mu r}}} \right)} \hfill \\ \end{gathered} \right\}$ | (5) |
$\prod\nolimits_{i \in {I_c}} {e({C_0}, {{({D_0})}^\mu })} = \\ \prod\nolimits_{i \in {I_c}} {e\left( {{g^s}, {g^{\mu \sum\nolimits_N^{i = 1} {{\alpha _i}} }}{w^{\mu r}}} \right)} = {\prod\nolimits_{i \in {I_c}} {e(g, g)} ^{\mu \sum\nolimits_N^{i = 1} {{\alpha _i}} s}}e{(w, g)^{\mu rs}}$ | (6) |
$e\left( {{w^{\sum\nolimits_{j \in \ell } {{C_{j, 4}}.{\omega _j}} }}, {{\left( {{D_1}} \right)}^\mu }} \right) =\\ e\left( {{w^{\sum\nolimits_{j \in \ell } {\left( {{{z'}_j} - {z_j}} \right).{\omega _j}} }}, {g^{\mu r}}} \right) = e\left( {{w^{\sum\nolimits_{j \in \ell } {{{z'}_j}.{\omega _j} - \sum\nolimits_{j \in \ell } {{z_j}.{\omega _j}} } }}, {g^{\mu r}}} \right)$ | (7) |
最后, 通过计算式(5)~式(7), 可以得到
$ke{y_\mu } =\\ \frac{{\prod\nolimits_{i \in {I_c}} {e\left( {{C_0}, {{\left( {{D_0}} \right)}^\mu }} \right)} }}{{e\left( {{w^{\sum\nolimits_{j \in \ell } {{C_{j, 4}}.{\omega _j}} }}, {{\left( {{D_1}} \right)}^\mu }} \right) \cdot \prod\nolimits_{j \in \ell } {{{\left( {e\left( {{C_{j, 1}}, {{\left( {{D_1}} \right)}^\mu }} \right) \cdot e{{\left( {{C_{j, 2}}.{u^{{C_{j, 5}}}}, {{\left( {{D_{j, 2}}} \right)}^\mu }} \right)}^{H\left( {ID} \right)}}.e\left( {{C_{j, 3}}, {{\left( {{D_{j, 3}}} \right)}^\mu }} \right)} \right)}^{{\omega _j}}}} }}\\ {\text{ = }}e{\left( {g, g} \right)^{\mu \sum\nolimits_N^{i = 1} {{\alpha _i}} s}}$ | (8) |
理论1.本文方案在离散对数的假设下抵抗N-1个属性授权机构合谋攻击.
证明:每个属性授权机构随机产生N-1个随机整数
理论2.在q-type假设(q-type assumption)成立的情况下, 没有多项式时间敌手可以选择性攻破我们的方案.
证明:假定在选择安全性的情况下有多项式时间敌手
初始化:敌手
建立阶段:仿真者
$\left. \begin{gathered} u = {g^{\tilde u}}\prod\nolimits_{\left( {j,k} \right) \in [\ell ,n]} {{{\left( {{g^{{a^k}/b_j^2}}} \right)}^{M_{j,k}^*}}} , \hfill \\ h = {g^{\tilde h}}\prod\nolimits_{\left( {j,k} \right) \in [\ell ,n]} {{{\left( {{g^{{a^k}/b_j^2}}} \right)}^{ - {\rho ^*}\left( j \right)M_{j,k}^*}}} , \hfill \\ w = {g^a}, \hfill \\ v = {g^{\tilde v}}\prod\nolimits_{\left( {j,k} \right) \in [\ell ,n]} {{{\left( {{g^{{a^k}/{b_j}}}} \right)}^{M_{j,k}^*}}} \hfill \\ \end{gathered} \right\}$ | (9) |
仿真者生成的公钥为
查询阶段1:在这一阶段, 敌手
$\left. \begin{gathered} {D_0} = {g^{\tilde \alpha /\beta }}{\left( {{g^{a/\beta }}} \right)^{\tilde r}}\prod\limits_{i = 2}^n {{{\left( {{g^{{a^{q + 2 - i}}/\beta }}} \right)}^{H\left( {ID} \right){\omega _i}}}} , \hfill \\ {D_1} = {g^{\tilde r}}\prod\limits_{i \in [n]}^n {{{\left( {{g^{{a^{q + 1 - i}}}}} \right)}^{ID{\omega _i}}}} \hfill \\ \end{gathered} \right\}$ | (10) |
另外, 对于每个属性
${r_\tau } = {\tilde r_\tau } + \tilde r.\sum\limits_{\begin{array}{*{20}{c}} {i' \in \left[ \ell \right]} \\ {{\rho ^{*\left( {i'} \right)S}}} \end{array}} {\frac{{{b_{i'}}}}{{{A_\tau } - {\rho ^*}(i')}}} + \sum\limits_{_{\begin{array}{*{20}{c}} {i' \in \left[ {n,\ell } \right]} \\ {{\rho ^{*\left( {i'} \right)S}}} \end{array}}} {\frac{{{\omega _i}{b_{i'}}{a^{q + 1 - i}}}}{{{A_\tau } - {\rho ^*}(i')}}}$ | (11) |
最后, 为每个属性计算如下密钥组件, 其中,
${D_{\tau, 2}} = {g^{{r_\tau }}}$ | (12) |
$ \left. \begin{gathered} {D_{\tau, 3}} = {v^{- \tilde r}}\prod\limits_{i \in \left[n \right]} {{{\left( {{g^{{a^{q + 1 - i}}}}} \right)}^{ - H\left( {ID} \right)\tilde v\omega i}}} \cdot \prod\limits_{\left( {i, j, k} \right) \in \left[{n, \ell, n} \right], i \ne k} {{{\left( {{g^{\frac{{{a^{q + k + 1 - i}}}}{{{b_j}}}}}} \right)}^{ - H\left( {ID} \right){\omega _i}M_{j, k}^*}}} \cdot \hfill \\ {\left( {{u^{{A_t}}}h} \right)^{H\left( {ID} \right){{\tilde r}_\tau }}} \cdot {\left( {{K_{\tau, 2}}/{g^{{{\tilde r}_\tau }}}} \right)^{H\left( {ID} \right)\left( {\tilde u{A_\tau } + \tilde h} \right)}} \cdot\\ \prod\limits_{\left( {i, j, k} \right) \in \left[{\ell, \ell, n} \right], {\rho ^*}\left( {i'} \right) \notin S} {{g^{H\left( {ID} \right)\tilde r}}\left( {{A_\tau } - {\rho ^*}\left( j \right)} \right)M_{j, k}^*b_{i'}^{{a^k}}/\left( {{A_\tau } - {\rho ^*}\left( {i'} \right)} \right)b_j^2 \cdot } \hfill \\ \prod\limits_{\left( {i, i', j, k} \right) \in \left[{n, \ell, \ell, n} \right], {\rho ^*}\left( {i'} \right) \notin S} {{g^{H\left( {ID} \right)}}\left( {{A_\tau } -{\rho ^*}\left( j \right)} \right){\omega _i}M_{j, k}^*b_{i'}^{{a^{q + 1 + k -i}}}/\left( {{A_\tau } -{\rho ^*}\left( {i'} \right)} \right)b_j^2} \hfill \\ = {\left( {{u^{{A_\tau }}}h} \right)^{{r_\tau }H\left( {ID} \right)}}{v^{ - r}} \hfill \\ \end{gathered} \right\} $ | (13) |
仿真者响应私钥
挑战阶段:敌手
$\left. \begin{gathered} {C_{\tau, 1}} = {w^{{{\tilde \lambda }_\tau }}} \cdot {\left( {{g^{s{b_\tau }}}} \right)^{ - \tilde v}}.{\prod\limits_{\begin{array}{*{20}{c}} {\left( {j, k} \right) \in \left[{\ell, n} \right]} \\ {j \ne \tau} \end{array}} {\left( {{g^{{{s{a^k}{b_\tau }} {\left/ \right. } {{b_j}}}}}} \right)} ^{ - M_{j, k}^*}}.{w^{ - {z_j}}}, \\ {C_{\tau, 2}} = {\left( {{g^{s{b_\tau }}}} \right)^{ - \left( {\tilde u{\rho ^*}\left( \tau \right) + \tilde h} \right)}}.{\prod\limits_{\begin{array}{*{20}{c}} {\left( {j, k} \right) \in \left[{\ell, n} \right]}\\ {j \ne \tau} \end{array}} {\left( {{g^{{{s{a^k}{b_\tau }} {\left/ \right. } {b_{_j}^2}}}}} \right)} ^{ - \left( {{\rho ^*}\left( \tau \right) - {\rho ^*}\left( j \right)} \right)M_{j, k}^*}}.{u^{{{z'}_j}}}, \\ {C_{\tau, 3}} = {\left( {{g^{s{b_\tau }}}} \right)^{ - 1}}, \\ {C_{\tau, 4}} = {z_j}, \\ {C_{\tau, 5}} = {{z'}_j} \\ \end{gathered} \right\}$ | (14) |
最后, 仿真者
查询阶段2:重复查询阶段1.
猜测阶段:敌手
在表 1中, 本文方案从访问结构的类型、是否离线加密、外包解密、外包可验证及授权机构数量方面, 与以前的ABE方案进行了对比.从对比中可以看出, 本文方案同时实现了多授权机构ABE模型下的离线加密、外包解密以及外包结果可验证的功能, 文献[15]中的方案、文献[31, 32]中的方案仅实现了其中部分功能.相比而言, 本文方案支持的功能更加丰富, 实用性更强.
我们对本文提出的方案、文献[31]中的方案及文献[32]中的方案进行了仿真实验, 并对3个不同方案的离线加密、线上加密和用户端解密的时间进行了对比分析.所有实验程序均采用Java语言编写, 并在Eclipse下运行, 微机环境为Windows操作系统Intel(R) Core(TM) i3 CPU 2.0GHz和2GB RAM内存.同时, 本文方案采用了JPBC中提出的基于椭圆曲线y2=x3+x构造的160位椭圆曲线群.另外, 为降低实验中随机因素的影响, 我们针对不同程序的每一种情况都独立运行20次实验, 实验结果如图 2所示.
图 2(a)中, 我们首先给出了数据拥有者的离线加密时间对比.从图中可以看出, 随着系统中属性数量的不断增加, 本文方案中数据拥有者在离线阶段所花费的加密时间要明显少于文献[31]和文献[32]的方案.这对系统的整体效率来说是一个非常大的提升.然后, 我们对数据拥有者的线上加密时间进行了对比分析, 如图 2(b)所示.在移动云计算环境下, 提高移动设备的线上运行效率, 降低能耗, 延长设备使用时间是非常重要的.从图中可以看出, 我们的方案在数据拥有者端加密耗费的时间要远远少于文献[32]的方案, 这说明, 相较其他方案, 本文方案在移动云环境下具有更强的实用性.最后, 我们对用户端的解密代价进行了分析, 如图 2(c)所示.在用户解密阶段, 本文方案和文献[31]的方案用户端均只需进行一次指数运算(除法运算花费时间很少, 可忽略不计), 解密花费时间相同.而在文献[32]所提方案中, 用户在解密阶段需要进行两次指数运算, 所消耗时间远远超过本文方案需要的解密时间.所以, 本文方案中用户所花费的代价相较而言是最低的.综上所述, 本文的方案在性能和功能上均优于其他方案.
5 结论本文为了处理多授权机构属性基加密访问控制方案中加密和解密计算代价问题, 提出了高效可验证的多授权机构属性基加密云存储数据访问控制方案.该方案通过把加密过程分为两部分, 即离线加密和线上加密; 把加密阶段所有的配对操作在离线阶段预处理, 来减少线上加密阶段的计算开销.另外, 本文方案通过外包解密的方式减少用户端解密计算的代价, 同时对外包的计算进行了验证, 保证了云存储服务器解密的正确性.本文方案可以抵抗单个授权机构获取用户的所有属性, 一定程度上保护了用户的身份隐私.最后, 对本文提出的方案进行了安全性分析和仿真实验, 结果表明了方案的高效性及安全性, 可用于部署到移动云存储平台.
[1] |
Yao X, Han X, Du X. A lightweight access control mechanism for mobile cloud computing. In: Proc. of the 2014 IEEE Conf. on Computer Communications Workshops (INFOCOM WKSHPS). IEEE, 2014. 380-385.http://ieeexplore.ieee.org/document/6849262/ |
[2] |
Ren W, Zeng L, Liu R, Cheng C. F2AC:A lightweight, fine-grained, and flexible access control scheme for file storage in mobile cloud computing. Mobile Information Systems, 2016.
|
[3] |
Xie Y, Wen H, Wu B, Jiang Y, Meng J. A modified hierarchical attribute-based encryption access control method for mobile cloud computing. In: Proc. of the Cloud Computing. 2016.http://ieeexplore.ieee.org/document/7368903/ |
[4] |
Nag A, Choudhary S, Dawn S, Basu S. Secure data outsourcing in the cloud using multi-secret sharing scheme (MSSS). In: Proc. of the 1st Int'l Conf. on Intelligent Computing and Communication. Singapore: Springer-Verlag, 2017. 337-343.https://link.springer.com/chapter/10.1007/978-981-10-2035-3_34 |
[5] |
Chattopadhyay AK, Nag A, Majumder K. Secure data outsourcing on cloud using secret sharing scheme. IJ Network Security, 2017, 19(6): 912–921.
|
[6] |
Wang S, Zhou J, Liu JK, Yu J, Cheng J, Xie W. An efficient file hierarchy attribute-based encryption scheme in cloud computing. IEEE Trans. on Information Forensics and Security, 2016, 11(6): 1265-1277.http://ieeexplore.ieee.org/document/7401059/ |
[7] |
Xu J, Wen Q, Li W, Jin Z. Circuit ciphertext-policy attribute-based hybrid encryption with verifiable delegation in cloud computing. IEEE Trans. on Parallel and Distributed Systems, 2016, 27(1): 119-129.http://ieeexplore.ieee.org/document/7010954/ |
[8] |
Lei L, Cai QW, Jing JW, Wang Z, Chen B. Enforcing access controls on encrypted cloud storage with policy hiding. Ruan Jian Xue Bao/Journal of Software, 2016, 27(6):1432-1450(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5003.htm[doi:10.13328/j.cnki.jos.005003]http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=5003&journal_id=jos |
[9] |
Wang Z, Huang D, Zhu Y, Li B, Chung CJ. Efficient attribute-based comparable data access control. IEEE Trans. on Computers, 2015, 64(12): 3430-3443. |
[10] |
Wang H, Zheng Z, Wu L, He D. New large-universe multi-authority ciphertext-policy ABE scheme and its application in cloud storage systems. Journal of High Speed Networks, 2016, 22(2): 153–167.
[doi:10.3233/JHS-160536] |
[11] |
Jung T, Li X, Wan Z, Wang M. Control cloud data access privilege and anonymity with fully anonymous attribute-based encryption. IEEE Trans. on Information Forensics and Security, 2015, 10(1): 190-199.http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6951492 |
[12] |
Hohenberger S, Waters B. Online/Offline attribute-based encryption. In: Public-Key Cryptography-PKC 2014. Berlin, Heidelberg: Springer-Verlag, 2014. 293-310. |
[13] |
Shao J, Zhu Y, Ji Q. Privacy-Preserving online/offline and outsourced multi-authority attribute-based encryption. In: Proc. of the 16th IEEE/ACIS Int'l Conf. on Computer and Information Science (ICIS). IEEE, 2017. 285-291. |
[14] |
Qin B, Deng RH, Liu S, Ma S. Attribute-Based encryption with efficient verifiable outsourced decryption. IEEE Trans on Information Forensics and Security, 2015, 10(7): 1384–1393.
[doi:10.1109/TIFS.2015.2410137] |
[15] |
Shao J, Lu R, Lin X. Fine-Grained data sharing in cloud computing for mobile devices. In: Proc. of the 2015 IEEE Conf. on Computer Communications (INFOCOM). IEEE, 2015. 2677-2685. |
[16] |
Sahai A, Waters B. Fuzzy identity-based encryption. Eurocrypt, 2005, 3494: 457–473.
|
[17] |
Han J, Susilo W, Mu Y, Zhou J, Au MHA. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption. IEEE Trans. on Information Forensics and Security, 2015, 10(3): 665-678.http://ieeexplore.ieee.org/document/6987293/ |
[18] |
Tang H, Cui Y, Guan C, Wu J, Weng J, Ren K. Enabling ciphertext deduplication for secure cloud storage and access control. In: Proc. of the 11th ACM on Asia Conf. on Computer and Communications Security. ACM, 2016. 59-70.https://www.semanticscholar.org/paper/Enabling-Ciphertext-Deduplication-for-Secure-Cloud-Tang-Cui/9912658cb16bb8ddcf10c03414dbf3e7a5c4e5eb/figure/1 |
[19] |
Li J, Yao W, Zhang Y, Qian H, Han J. Flexible and fine-grained attribute-based data storage in cloud computing. IEEE Trans. on Services Computing, 2016. |
[20] |
Zhou Z, Huang D, Wang Z. Efficient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption. IEEE Trans. on Computers, 2015, 64(1): 126-138.http://ieeexplore.ieee.org/abstract/document/6624107/ |
[21] |
Yanli C, Lingling S, Geng Y. Attribute-Based access control for multi-authority systems with constant size ciphertext in cloud computing. China Communications, 2016, 13(2): 146–162.
http://ieeexplore.ieee.org/xpl/abstractAuthors.jsp?reload=true&arnumber=7405733& |
[22] |
Phuong TVX, Yang G, Susilo W. Hidden ciphertext policy attribute-based encryption under standard assumptions. IEEE Trans. on Information Forensics and Security, 2016, 11(1): 35-45.http://ieeexplore.ieee.org/document/7236899/ |
[23] |
Ruj S, Stojmenovic M, Nayak A. Decentralized access control with anonymous authentication of data stored in clouds. IEEE Trans. on Parallel and Distributed Systems, 2014, 25(2): 384-394.http://ieeexplore.ieee.org/document/6463404/ |
[24] |
Chase M. Multi-Authority attribute based encryption. In: Proc. of the Conf. on Theory of Cryptography. LNCS 4392, Berlin, Heidelberg: Springer-Verlag, 2007. 515-534. |
[25] |
Lewko A, Waters B. Decentralizing attribute-based encryption. In: Advances in Cryptology-EUROCRYPT 2011. Berlin, Heidelberg: Springer-Verlag, 2011. 568-588. |
[26] |
Guo F, Mu Y, Chen Z. Identity-Based online/offline encryption. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin, Heidelberg: Springer-Verlag, 2008. 247-261. |
[27] |
Even S, Goldreich O, Micali S. On-Line/Off-Line digital signatures. In: Proc. of the Conf. on the Theory and Application of Cryptology. New York: Springer-Verlag, 1989. 263-275. |
[28] |
Hohenberger S, Waters B. Online/Offline attribute-based encryption. In: Proc. of the Int'l Workshop on Public Key Cryptography. Berlin, Heidelberg: Springer-Verlag, 2014. 293-310. |
[29] |
Rouselakis Y, Waters B. Practical constructions and new proof methods for large universe attribute-based encryption. In: Proc. of the 2013 ACM SIGSAC Conf. on Computer & Communications Security. ACM, 2013. 463-474.https://www.semanticscholar.org/paper/Practical-constructions-and-new-proof-methods-for-Rouselakis-Waters/592745ac8339a0330f13baac973c1f998704ad43/figure/0 |
[30] |
Green M, Hohenberger S, Waters B. Outsourcing the decryption of ABE ciphertexts. In: Proc. of the USENIX Security Symp. 2011. 34. |
[31] |
Yang K, Jia X. DAC-MACS: Effective data access control for multi-authority cloud storage systems. In: Security for Cloud Storage Systems. New York: Springer-Verlag, 2014. 59-83. |
[32] |
De SJ, Ruj S. Decentralized access control on data in the cloud with fast encryption and outsourced decryption. In: Proc. of the 2015 IEEE Global Communications Conf. (GLOBECOM). IEEE, 2015. 1-6.http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=7417639 |
[8] |
雷蕾, 蔡权伟, 荆继武, 林璟锵, 王展, 陈波.支持策略隐藏的加密云存储访问控制机制.软件学报, 2016, 27(6):1432-1450. http://www.jos.org.cn/1000-9825/5003.html[doi:10.13328/j.cnki.jos.005003]
|