Page 258 - 《软件学报》2020年第12期
P. 258

3924                                Journal of Software  软件学报 Vol.31, No.12, December 2020

         exponent operation for each leaf node. In addition to this, the private key attribute computation is also outsourced to the Spark cluster. In
         proposed scheme, the authorization center generates a user private key requiring only four exponential and users only need to save a key
         sub-item with small space.
         Key words:    attribute-based encryption; encryption outsourcing; fast encryption; Spark platform
                                                                             [2]
                       [1]
             在诸如 GFS 的外包存储环境中,基于属性加密 ABE(attribute-based encryption) 因能实现数据的安全存
         储、访问控制和秘密共享,引起了学术界的广泛关注                   [3−6] .根据访问控制策略与用户私钥相关还是与数据密文相
                                                                              [7]
         关,ABE 可以分为密钥策略基于属性加密 KP-ABE(key-policy attribute-based encryption) 和密文策略基于属性
                                                       [8]
         加密 CP-ABE(ciphertext-policy attribute-based encryption) .但是 ABE 的数学基础之一是双线性映射   [9,10] ,而双
         线性映射存在耗时的指数运算和双线性对运算,导致 ABE 算法的计算效率低下,算法的计算要求,对于包括智
         能手机、平板在内的电子设备都很难满足.为了提高 ABE 算法的计算效率,减轻用户客户端的计算负担,一些引
         入计算外包的 ABE 方案被提出.然而这些方案仅仅研究了如何将用户客户端的大部分计算工作外包给云服务
         器,没有给出外包加密在云服务器中的并行计算方法,也没有解决外包加密的数据安全问题,而且还存在用户保
         管私钥过多、授权中心生成用户私钥成本过大的问题.针对上述问题,在 Green 等人所提出的 CP-ABE 方案                               [11]
         基础上,利用 Spark 技术的 Map 操作和 Reduce 操作,提出一种面向公有云的快速加密与共享方案.该方案的具体
         贡献如下.
             (1)  提出一种基于 Spark 大数据平台的快速加密与共享方案.在该方案中,将密文共享访问树的计算工作
                 外包给云服务器,而用户客户端仅需要执行 4 次指数运算以及每个叶子节点的一次指数运算;
             (2)  设计一种快速计算密文共享访问树的方法.该方法先将共享访问树的计算任务分解成多个可并行执
                 行的小任务,然后将这些小任务交给 Spark 集群处理.使用该并行计算方法,共享访问树的计算效率得
                 到显著提高;
             (3)  提出一种用户私钥生成外包方法.该方法将用户属性对应的指数运算外包给 Spark 集群,而授权中心
                 仅需要 4 次指数运算就能生成一个用户私钥,并且将大多数密钥子项交由云服务器保存,用户客户端
                 仅需要保存一个占用空间很小的密钥子项.
             本文第 1 节对 CP-ABE 算法的研究现状进行总结,并分析它们的优缺点.第 2 节概述本文提出的一种面向
         公有云的快速加密与共享框架.第 3 节给出本文方案的安全模型.第 4 节详细介绍本文提出的一种面向公有云
         的快速加密与共享方案.第 5 节从安全性和性能上对本文方案进行分析.第 6 节对本文方案进行实验分析.最后
         对全文进行总结.
         1    相关研究

                                                                   [8]
             2007 年,为了保证外包数据的安全存储和秘密共享,Bethencourt 等人 率先提出来密文策略基于属性加密
         方案.该方案的用户私钥与属性集合相关联,数据密文与访问控制策略相关联,其不但接近基于角色的访问控制
         方法,而且能抵抗用户间的共谋攻击.然而,其仅仅在随机预言模型下能达到选择明文安全.为了解决这一问题,
         Waters 采用线性秘密共享方案 LSSS(linear secret sharing scheme) [12,13] ,提出一种在标准模型下能达到选择明文
         安全的 CP-ABE 方案    [14] .该方案高效、可靠且更具表达力,并给出了安全性证明,但其加解密时间随访问表达式
         的复杂度呈线性增长.2011 年,Green 等人        [11] 在 Waters 的基础上提出一种具有可重放选择密文安全的外包解密
         方案,该方案选择一个随机因子将用户私钥生成转换密钥,并提交给云服务器进行部分解密,然后将云服务器部
         分解密结果下载至用户客户端,利用该随机因子解密出最后的明文数据,大大减轻了用户客户端的计算负担.该
         方案同时给出了 CP-ABE 和 KP-ABE 两种方案的外包解密方法,但没有给出外包加密方法.为此,Zhou 等人                            [15]
         于 2012 年提出一种外包加密方法,该方法将共享访问树绝大部分计算工作外包给云服务器完成,而用户客户端
         仅需要计算共享访问树的根节点和一个叶子节点.该方案尽管在外包加密的同时云服务器不能获取数据明文,
         但无法抵抗满足未外包叶子节点属性的用户与云服务器之间的共谋攻击.同年,Li 等人                             [16] 受 Zhou 的启发,提出
         一种基于 MapReduce 技术的外包加密方案.该方案将共享访问树从根节点分为两部分:根节点右边为一个叶子
   253   254   255   256   257   258   259   260   261   262   263