APP下载

基于雾节点的分布式属性基加密方案

2021-06-18马佳佳张志强曹素珍窦凤鸽丁晓晖王彩芬

计算机工程 2021年6期
关键词:密文解密密钥

马佳佳,张志强,曹素珍,窦凤鸽,丁晓晖,王彩芬

(1.西北师范大学 计算机科学与工程学院,兰州 730070;2.深圳技术大学 大数据与互联网学院,广东 深圳 518118)

0 概述

2012 年,BONOMI 等[1]正式提出了雾计算,使用网络中的边缘设备来进行数据的存储和运算,缓解中心网络设备的压力。作为新一代的分布式计算[2],雾计算具有低延时、分布广泛、带宽压力小、调度灵活等优势,未来将被广泛应用于物联网和工业行业等领域中[3]。

2005 年,SSHAI 等[4]提出了属性基加密(Attribute-Based Encryption,ABE)技术,将属性合并为其密码原语的输入。属性基加密分为密钥策略的属性基加密(Key-Policy Attribute-Based Encryption,KP-ABE)[5]和密文策略的属性基加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)[6]两种。在CP-ABE 下访问策略与密文相关联,更加符合实际需求[7]。2014 年,FAN 等[8]提出了权重属性的概念,将二进制状态表示的属性值扩展到任意状态,使其更广泛地应用于实际环境中,文献[9]为减轻用户端的解密运算压力,以密钥分割的方式将运算工作外包给雾节点,文献[10]将终端设备中部分复杂的加解密运算外包给雾节点。上述方案都未考虑单一授权中心单点失效的问题,在单授权的ABE方案[11-13]中,授权机构要为所有用户生成属性密钥,容易受到集中攻击并且存在性能瓶颈。为解决这一问题,文献[14]提出多授权的ABE 方案,有效地解决了单授权机构单点失效的问题。文献[15]为解决传统CP-ABE单一授权机构存在的问题,设计了基于区块链的多授权访问控制方案。文献[16]考虑到用户系统用户的合法性问题,将恶意用户追踪机制引入到了多机构中。为了降低用户的计算开销,文献[17]提出支持计算外包的多授权CP-ABE 访问控制方案,将部分解密计算外包给代理服务器;文献[18]提出了基于密文策略的基于属性的加密方案,将部分解密外包给云服务器;文献[19]采用多机构属性基加密方案,除了能够满足机密性与细粒度性之外,还提供了匿名认证;文献[20]使用边缘雾节点来承担大部分的用户解密运算操作,有效节省了用户终端资源。

本文提出基于雾节点的分布式权重属性CP-ABE外包解密方案。该方案通过雾节点实现外包解密计算,验证外包结果的正确性。为每个属性定义权重值,默认最小权重值,当用户属性值小于最小权重值时,不能访问密文,使属性从二进制状态“0”和“1”(即“满足”和“不满足”)扩展到任意状态,从而简化访问结构,减少密文的存储开销和加密中的计算成本。

1 预备知识

1.1 符号说明

本文方案中的部分符号说明如表1 所示。

表1 符号说明Table 1 Symbol description

1.2 困难问题假设

定义1 设G、GT是两个阶为素数p的乘法循环群,g是G的生成元,e为双线性映射e:G×G→GT。随机选取a,s,b1,b2,…,bq∊Zp,公开:

判定性q⁃parallel BDHE 假设是指不存在多项式时间的算法以不可忽略的优势区分和GT中的某一随机元素R。

1.3 线性秘密共享方案

定义2每个参与方P上的线性秘密共享方案(Linear Secret Sharing Scheme,LSSS)Π。

存在一个l×n的矩阵M称为Π 的共享生成矩阵,对于所有的i=1,2,…,l,定义M的第i行Mi被标识为参与方ρ(i),同时有列向量v=(s,r2,r3,…,rn),其中s∊Zp是要共享的秘密值,r2,r3,…,rn∊Zp是随机数,则根据秘密共享方案Π,向量M˙v是l的秘密份额,并且(M˙v)i属于ρ(i)。

假定Π 的访问结构为A,令授权集合S∊A,定义I⊂{1,2,…,l}且I={i:ρ(i)∊S}。存在常量{ωi∊Zp}i∊I,对于任意合法共享秘密{λi},有(Mi˙v)=ε˙v=s,其中ε=(1,0,…,0)。{ωi}在共享生成矩阵M的大小相关的时间多项式中,约定向量(1,0,…,0)是任何线性秘密共享方案的目标向量。对于M中任何满足的行集I,得到目标向量在I的跨度内,而任何未经授权的行集I,目标向量不在集合I的行的跨度内,并且存在一个向量ω,使得ω˙(1,0,…,0)=-1,ω˙Mi=0。

2 方案描述

2.1 系统模型

本文方案由6个实体构成,即云服务商(Cloud Service Provider,CSP)、中央授权机构(Center Authority,CA)、属性授权机构(Attribute Authority,AA)、雾节点(Fog)、数据属主(Data Owner,DO)以及数据用户(Data User,DU)。系统模型如图1 所示,其中,m 表示明文,CT 表示密文。

图1 系统模型Fig.1 System model

系统模型主要包括以下部分:

1)云服务商(CSP)。半可信云服务提供商,负责存储密文。

2)中央授权机构(CA)。可信的第三方,为整个系统生成公共参数。

3)属性授权机构(AA)。管理用户属性集,并为用户生成密钥。不同的授权机构为每个用户生成唯一的全局身份标识符GID,在为用户生成密钥时,用户GID 与属性绑定在一起,同时授权机构维护用户的属性列表。

4)雾节点(Fog)。雾节点是诚实且好奇的,主要负责解密DU 从CSP 下载的部分密文。

5)数据属主(DO)。将加密的数据文件上传至CSP,在加密时,DO 指定一个满足用户属性的访问结构,然后将数据文件加密成密文上传至CSP。

6)数据用户(DU)。自由地访问CSP 中的密文数据资源,当DU 能够满足访问策略时,才能够成功地解密密文数据。

2.2 方案构造

设e为G×G→GT的一个双线性映射。定义G、GT为素数阶p的双线性群,生成元为g。选择哈希函数H:{0,1}*→G,将身份ID 映射到中。

1)GlobalSetup(k)→PP

全局初始化算法由CA 执行。该算法输入安全参数k,定义全局属性A={a1,a2,…,an}及权重集W={w1,w2,…,wn},输出公共参数PP={G,GT,A,W,H,g}发送给授权中心。

2)AuthoritySetup(PP)→(PK,MSK)

输入公共参数PP,由属性授权机构运行该算法。每个授权机构管理用户的不同属性,对其管理的每个属性i,随机选取两个数αi,yi∊Zp,生成系统的公钥PK=和主密钥MSK={αi,yi}。其中,系统公钥PK 是公开的,主密钥MSK 是保密的。

3)KeyGen(MSK,GID,S)→(TSK,DSK)

输入系统主密钥MSK、用户身份GID 以及用户属性集合S,AA 为用户GID 的权重属性i生成属性密钥,其权重为wk∊W,并将该属性i记录在与其身份对应的属性列表中。对于属性i∊S,随机选取a,t,z∊Zp,计算L=gt/z,Ki,GID=,生成雾节点的转换密钥TSK=(PK,L,{Ki,GID}),设置用户验证密钥以及用户私钥DSK=(z,TSK)。

4)Encrypt(PK,m,(M,ρ))→CT

输入系统公钥PK、消息m以及LSSS访问策略(M,ρ),输出密文CT。该算法由数据属主运行,M为l×n的矩阵,Mi为M的第i行,函数ρ将矩阵M的每一行映射到一个属性。随机选取v=(s,r2,r3,…,rn)∊,λi=Miv,i∊(1,l),s为共享秘密值。随机选取r1,r2,…,rl∊Zp,计算C=m˙e(g,g)αis,C′=gs/z,。输出密文CT=((M,ρ),C,C′,Ci,Di,i∊(1,l))。

5)FogParDec(TSK,CT)→parCT

输入S对应的TK 以及(M,ρ)的密文CT,该算法由雾节点解密。若S满足访问结构,则X={x|ρ(x)∊S且wi≤wk},其中,wi是访问矩阵M第x行Mx对应属性的权重,wk是用户该属性的权重。存在{cx∊Zp}x∊X,对任意合法分享{λi},有×(Miv)=s。令k=ρ(x)表示访问矩阵M第x行Mx所对应属性,x∊[1,l]。对所有x∊[1,l]进行分类计算,如果k∉S或k∊S,wi>wk,则返回┴;如果k∊S且wi≤wk,对于∀x∊X,计算半解密密文:

6)UserVerParDec(C′,SKu,parCT)→CT′

用户验证阶段由授权中心执行,输入部分密文C′、用户的验证密钥SKu以及半解密密文parCT,计算:

7)Decrypt(DSK,C,CT′)→m

用户解密消息m,输入用户密钥DSK,密文构件C、CT′,计算:

3 安全性证明

定义3在访问结构(M*,ρ*)下,如果存在多项式时间的敌手Α 以ε的优势攻破本文方案,那么存在另一个敌手B 以的优势解决判定性q⁃parallelBDHE假设,其中,M*是l*×n*的矩阵,l*,n*≤q。

证明挑战者B 首先选取两个乘法循环群G1、G2,g为G1的生成元,以及双线性映射G1×G1→G2,随机选取a,s,b1,…,bq∊Zp,公开:

阶段2与阶段1 类似。

猜测Α 输出对β的猜测β′。如果β′=β,则Β 输出μ′=0,表示,否则Z为群G1中的随机元素。

4 性能分析

表2 是文献[9,15-16]方案与本文方案的特征比较分析。通过比较可以发现,本文最大的优势在于使用加权属性简化访问结构,从而减少系统的计算开销。

表2 相关方案特征比较Table 2 Comparison of characteristics of relevant schemes

表3 为方案计算开销比较。令E1和E2分别是群G和GT上的指数运算,P表示双线性运算的次数,|M|表示满足访问结构的属性个数,|S|表示用户属性个数,|AAA|表示加密时授权机构的个数,|I|表示满足访问结构属性个数。

表3 相关方案计算开销比较Table 3 Calculation of cost comparison of relevant schemes

为了更直观地说明本文方案的优势,对本文方案与现有方案进行比较。实验环境为Intel®CoreTMi5-8250UCPU@1.60 GHz,1.80 GHz 处理器,8.00 GRAM的个人笔记本电脑,使用语言为Java,算法实现基于JPBC(Java Pairing-Based Cryptography Library)。

图2 所示是随着访问结构属性个数的变化数据拥有者在加密密文时所消耗的时间,本文方案因为引入权重属性,简化了访问结构,所以其加密阶段的计算开销小于文献[15-16]方案。图3 所示是在解密阶段用户属性满足密文中包含的属性个数变化时终端用户所消耗的时间。在用户解密阶段,本文方案将部分解密运算外包给了雾节点,而文献[15-16]方案解密运算由用户独立完成,因此本文方案用户的计算开销远远小于[15-16]方案。图4 所示是随着用户属性的变化,多个授权机构为用户生成密钥所消耗的时间,多授权机构分担不同的属性的密钥工作,避免了单一机构密钥分发单点失效的问题。通过本文方案与文献[15-16]方案的加解密以及密钥生成的计算开销对比可以发现,因为本文引入权重属性,并将部分解密外包给了雾节点,所以本文方案在加密和用户解密时的计算开销优于文献[15-16]方案。

图2 数据拥有者的计算开销Fig.2 Computational overhead of data owner

图3 终端用户的计算开销Fig.3 Computing overhead of end user

图4 密钥生成的计算开销Fig.4 Computational overhead of key generation

5 结束语

本文提出一种基于雾节点的权重属性CP-ABE 方案。利用分布式授权解决单授权机构单点失效的问题,引入权重属性简化访问结构,并且通过雾节点进行部分解密,减少了终端用户的计算开销。基于判定性q⁃parallel BDHE 问题,在随机预言机模型下证明了本文方案的安全性。实验结果表明,该方案在加解密以及密钥生成部分具有更小的计算开销。下一步将考虑在标准模型下设计属性加密方案,以实现更加安全高效的基于雾节点的分布式属性基加密方案。

猜你喜欢

密文解密密钥
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
密码系统中密钥的状态与保护*
炫词解密
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
一种基于密文分析的密码识别技术*
云存储中支持词频和用户喜好的密文模糊检索