APP下载

支持加密外包的基于属性加密方案*

2021-10-03冷青松罗王平

通信技术 2021年9期
关键词:密文外包客户端

冷青松,罗王平

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

面对用户日益增长的个人数据(如照片、文件等),移动设备有限的存储空间难以满足用户的存储需求。尽管将其备份在可以无限扩展的移动存储介质是一个较好的办法,但并不方便用户的使用。一方面是随身携带移动存储介质会增加用户的保管负担,另一方面是在使用移动存储介质时需要用移动设备物理接入,极不方便。

云中极为丰富的存储资源为资源受限的移动设备提供了极大便利,但对不受控的云端,数据的安全性极为重要[1-3]。加密是解决该问题的主要手段,然而数据以密文的形态呈现在云端会导致数据无法在用户间共享。密文策略基于属性加密(Ciphertext-Policy Attribute-Based Encryption,CPABE)[4]。因为类似基于角色的访问控制方式,具有“一次加密、多人共享”的特点,所以它可以同时满足上述问题的安全性和密文共享要求。

然而,CP-ABE 应用于移动设备同样存在缺陷,即移动设备有限的算力并不能高效计算包含耗时模指数运算的CP-ABE 加密算法,导致算法整体加密时间较长,不但耗时耗电,而且用户的使用体验较差。针对这一问题,提出一种支持加密外包的基于属性加密方案。

该方案的主要贡献如下。

(1)提出CP-ABE 的外包加密方法。根据文献[5]的定理4 构造共享访问矩阵,并将共享访问策略外包给云加密服务器加密,使得移动设备仅需针对云加密服务器的加密结果做进一步处理,并把最后生成的完整密文存储在云存储服务器中。

(2)证明方案的有效性。性能测试表明,该方案在移动设备上运算非外包部分的效率较高,降低了CP-ABE 对移动设备的计算性能要求。

1 相关研究

密文策略基于属性加密算法由Bethencourt 等在2007 年提出。它采用访问树结构作为密文的访问策略,而用户密钥则采用该用户拥有的属性集合进行定义。只有当用户的属性集合满足访问策略时,该用户才有权限且正确解密该访问策略对应的密文[4]。为了实现该方案在随机预言模型下是安全的,WATERS 利用线性秘密共享方案作为访问策略提出标准模型下安全的CP-ABE 方案[6],但其只支持小属性空间。

模指数运算作为CP-ABE 算法的核心,使得该算法的加密效率并不高。ZHOU 等[7]提出一种移动云计算环境下计算外包的基于属性加密方案,将访问结构从根节点一分为二,在客户端仅需完成计算量较少的部分,使得手机、平板等移动设备都能快速完成一次加密,但其外包过程暴露的参数容易被第三方窃取、利用而导致用户数据泄露。李经纬[8]在ZHOU[7]的基础上,提出采用平凡属性代替根节点的右子树(即客户端加密的子树),根节点的左子树为原访问结构树,然后结合MapReduce 技术设计了一种外包加密方案。该方案将根节点分配给左子树的秘密共享数分成N份,分别让N个计算节点加密根左子树,最后合并N个计算节点的加密结果得到完整根左子树密文。但是,该方案假设主节点和至少一个计算节点是可信的,且没有充分利用MapReduce 技术的计算能力。HUANG 等[9]考虑到物联网环境下终端设备的计算性能较弱,面向物联网环境提出了一种计算外包的细粒度访问控制方案。该方案先将整个共享访问结构树的计算工作外包给雾计算,然后客户端仅需要对雾计算返回的结果做进一步处理。此处理过程计算量较少,但加密后的密文再次被雾计算节点获取后,雾计算节点很容易解密出明文。王磊采用离线/在线加密思路提出了一种灵活高效的快速CP-ABE 方案[10]。在设备空闲时,根据输入的访问结构树对其进行离线加密。在有明文需要加密时,即刻执行在线加密算法。尽管采用离线/在线加密技术加快了客户端的加密响应速度,但仅局限于访问结构树不变化的情况。闫玺玺等[11]采用模指数安全外包算法提出一种可验证的CP-ABE 安全外包方案,采用两组不同参数外包CP-ABE 中模指数运算,验证了外包加密结果的正确性,但存在安全性问题,且外包过程也比较复杂。相比云计算环境,雾计算更接近移动设备,具有响应快等特点。因此,黄凤鸣等[12]和曾萍等[13]分别提出两种与HUANG 等人所提方案[9]类似的外包加密方案。两种方案均将共享访问策略外包给雾计算加密,而客户端仅需要对共享访问策略加密结果做简单处理。不同之处在于,前者使用访问结构树,后者使用线性秘密共享方案。

从分析可以看出,尽管部分方案能将CP-ABE的部分加密计算外包给第三方,但其外包过程比较复杂,且外包计算时的安全性仍存在问题。

2 模型与算法定义

2.1 系统模型

如图1 所示,该加密外包方案共有5 个实体,分别是授权中心、云加密服务器、云存储服务器、数据所有者和数据使用者(图1 中出现的数字和字母均在第2.2 章节中定义)。

图1 系统模型

(1)授权中心是所有实体的可信区域,负责初始化整个系统(即执行初始化算法),并为所有用户生成私钥;

(2)云加密服务器是一个具有强大计算能力的云计算集群,加密数据所有者外包的共享访问策略;

(3)云存储服务器是一个具有强大存储能力的云存储集群,存储数据所有者外包的数据密文,并为数据使用者提供数据密文的访问服务(该方案假设云存储服务器不能与云加密服务器共谋);

(4)数据所有者也是数据使用者,是整个系统的数据提供者,负责执行加密算法,并将最终密文上传至云存储服务器存储;

(5)数据使用者可以访问数据所有者存储在云加密服务器的数据密文,当该数据使用者的属性集合满足数据密文的访问策略时,可以使用解密算法解密出对应的明文。

2.2 算法定义

定义1 支持加密外包的基于属性加密方案包含以下5 个算法。

(1)(PK,MSK)←Setup(U):初始化算法由授权中心执行,输入系统属性空间U,输出系统的公钥PK和主密钥MSK;

(2)SK←KeyGen(PK,MSK,S):私钥生成算法由授权中心执行,输入系统公钥PK、系统主密钥MSK和用户属性集合S,输出用户私钥SK;

(3)CTOUT←OutEncrypt[PK(M,ρ)]:外包加密算法由云加密服务器执行,输入系统公钥PK、共享访问策略(M,ρ),输出LSSS 共享访问策略(M,ρ)的密文CTOUT;

(4)CT←Encrypt[PK,(M,ρ),m]:加密算 法由用户客户端执行,输入系统公钥PK、共享访问策略(M,ρ)和数据明文m,调用外包加密算法OutEncrypt获取LSSS 共享访问策略密文CTOUT,输出数据密文CT;

(5)m←Decrypt[CT,SK]:解密算法由用户客户端执行,输入数据密文CT、用户私钥SK,输出数据明文m。

2.3 共享访问矩阵

根据文献[5]的定理4,使用访问结构树转换后的共享访问矩阵M如下:

式中:{i1,i2,…,ini}为访问结构树从叶子节点i到根节点路径上的所有非叶子节点;suc(j)为节点j在路径上的后继节点。

定理1 使用上述矩阵作为共享访问矩阵时,将采用0 作为秘密共享数计算的属性秘密共享数加上s与采用s作为秘密共享数计算的属性秘密共享数相等。

证明:当采用0 作为秘密共享数时,选取随机向量v=(0,s2,…,sn)计算属性秘密共享数λi''=Miv=0+…+bijcijsj+…+bincinsn,再加上s得λi=λi''+s=s+…+bijcijsj+…+bincinsn。

当采用s作为秘密共享数时,随机向量v'=(s,s2,…,sn)计算属性秘密共享数λi'=Miv=s+…+bijcijsj+…+bincinsn。

由于λi=λi',故命题成立。

3 方案构造

该方案包含初始化、私钥生成、外包加密、加密和解密5 个部分。

3.1 初始化:Setup(U)

选择两个阶为大素数p的乘法循环群G和GT,参数g∈G为群G的生成元,定义双线性映射e∶G×G→GT。从群G中随机选择一组元素h1,…,hU∈G,依次表示属性空间U中的属性,并选择两个随机数α和a。

系统公钥PK为:

系统主密钥MSK=gα。

3.2 私钥生成:KeyGen(PK,MSK,S)

选择随机数t∈Zp(系统中每个用户对应该随机数具有唯一性),构造的用户私钥SK为:

3.3 外包加密:OutEncrypt[PK,(M,ρ)]

令M为l×n规模的矩阵,云加密服务器根据文献[5]的定理4 构造共享访问矩阵。从群Zp中选择一组随机元素,即v=(0,s2,…,sn)因此秘密共享数为0。定义矩阵M的第i行的行向量为Mi,计算λi'=Miv。针对所有行向量选择一组随机数r1,…,rl∈Zp,计算LSSS 共享访问策略(M,ρ)的密文如下:

3.4 加密:Encrypt(PK,(M,ρ),m)

将LSSS 访问策略CTOUT发送至云加密服务器,调用OutEncrypt算法计算LSSS 共享访问策略的密文CTOUT并将计算结果返回客户端。客户端选择随机的秘密共享数s∈Zp,令λi=s+λi',因此生成的密文CT如下:

3.5 解密:Decrypt(CT,SK)

假设用户属性集合S满足密文的访问策略,即解密属性集合I⊂{1,2,…,l}且I={i∶ρ(i)∈S},计算一组常数{wi∈Zp}i∈I使得∑i∈Iwiλi=s,其中参数λi是解密属性在加密时的秘密共享数)。

先计算:

后计算数据明文m=C/e(g,g)αs。

4 安全性与性能分析

4.1 安全性分析

该方案在WATERS 方案[6]的基础上构造,其生成的用户私钥和数据密文所包含的结构均与WATERS 方案相同。在外包加密过程中,云加密服务器只能获得共享访问策略及其加密该共享访问策略后的密文,而经用户客户端进一步处理后的完整密文只能由云存储服务器保存,云加密服务器无法获取。因此,云加密服务器并不会获取到其他可以利用的数据,而云存储服务器仅能获取到完整的密文。可见,该方案与WATERS 方案的安全性一致,在标准模型下可达到选择明文安全的要求。

4.2 性能分析

为了验证该方案的性能,从理论和实验两种方式出发,对比分析该方案与WATERS 方案[6]。

在理论方面,由于这两种方案主要的耗时运算是指数运算和双线性对运算,因此采用这两个指标来衡量两个方案的性能。本文方案与WATERS 方案[6]的计算性能对比,如表1 所示。其中,EG表示群G的一次指数运算所消耗的时间;ET表示群GT的一次指数运算所消耗的时间;B表示一次双线性对运算所消耗的时间。由于本文方案重点对加密进行优化,因此私钥生成和解密的计算性能与WATERS 方案一致,而客户端加密仅需要恒定且较少的计算量。

表1 方案的计算开销对比

在实验方面,采用Android 模拟器进行模拟实验。Android 模拟器是Pixel 2 XL,配置x86 处理器、4 GB 内存和Android 7.1.1。该实验所构建的群均从y2=x3+x中选择,其元素长度为512 位。该实验采用的属性数量依次是1,10,20,…,100,每项实验结果取50 次运算结果的均值。两种方案的客户端加密时间对比如图2 所示。WATERS 方案的加密时间随着属性数量的递增呈线性增长,而本文方案的客户端的加密时间比较恒定,在0.07 s 左右。

图2 客户端加密时间

该方案的关注点是对加密进行外包,没有设计对解密进行外包。若需要实现解密外包,参考GREEN 等[14]所提出的方案改造即可。

5 结语

面对基于属性加密高耗时的运算量,移动设备极难快速响应用户的加密请求。针对这一问题,提出一种支持加密外包的基于属性加密方案,采用外包方式将共享访问策略的加密工作交由云加密服务器完成,减轻了移动设备的计算压力。理论分析和实验分析都表明,该方案具有有效性。

猜你喜欢

密文外包客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*
企业竞争中供应链管理的作用
中小企业内部审计外包风险及应对措施分析
新华社推出新版客户端 打造移动互联新闻旗舰