APP下载

一种适用于广电网的属性基广播加密方案

2018-07-19李学俊袁亚文金春花

计算机研究与发展 2018年7期
关键词:私钥密文解密

李学俊 袁亚文 金春花

1(西安电子科技大学网络与信息安全学院 西安 710071) 2 (江苏省物联网移动互联技术工程实验室(淮阴工学院) 江苏淮安 223001) (aluckydd@mail.xidian.edu.en)

1 相关工作

1.1 研究背景

随着物联网和云计算技术的高速发展[1],广播电视网(广电网)开始向云端转移,以新智慧、新体验为主题,进入智能化信息服务云平台战略转型阶段.“云管端”协同下,广电提供商借助“云”将互联网信息接入应用平台,从而为用户提供数字电视、远程教育、政府信息发布、社区智能服务和游戏娱乐等多样化信息服务[2].例如数字电视节目服务中,抛弃传统的大面积整体推送,将用户按照订阅喜好和消费习惯分类划分,不同用户可享受专属电视节目单.云端融合后,广电网不再封闭,不法分子趁机活跃,经常私自篡改广播信息、利用网络获取智能服务等.如第26届中国国际广播电视信息网络展览会中提到的“2017年网络视频盗版侵权导致潜在广告展示和版权付费的统计损失超过200亿元”.广电网作为社会信息主要传播渠道,需要密码技术保障广播内容的传输安全[3].

传统的广电网主要依靠对称密码技术,需通信双方协商对称密钥,不符合实际应用.公钥加密技术由于大大节省了密钥空间成为密码界的主流技术,公钥广播加密作为其中一种,可实现高效地一对多信息共享,并保证只有被选中的用户才可成功解密,保证了信息安全并减小了通信开销,被广泛应用于广电网.但是,随着用户的增多,广播加密由于无法灵活控制用户陷入了发展瓶颈.为提高广播效率,属性基广播加密技术被提出,将用户按照属性划分,设计灵活的密文访问结构从而高效控制用户接入,加速了广播加密技术在广电网的发展.

广电网转型后具有很多特性,广电服务商需要制作符合不同用户的个性化服务密文,随着用户数量增多,这种个性化服务大大增加了广播流量.而且用户的动态性较强,用户可能没有及时缴费被撤销服务权限,续费后又被恢复权限.此外广电网中服务一般都带有权重色彩,会根据不同的缴费状况设置不同等级服务,因此会出现不同权重值的同种属性.最后终端用户存储资源和计算资源有限,无法存储过长的私钥、进行复杂的解密运算.因此,广电网需要寻找更合适的广播加密技术.

1.2 国内外研究现状

1991年,Berkovits[4]首次提出广播加密技术(broadcast encryption, BE)的概念.1993年,Fiat等人[5]首次给出了广播加密技术的形式化定义.随着应用环境的改变,密码学界开始研究不同性能的BE技术.2001年Naor等人[6]提出了一种BE方案,引入公钥从而节省了密钥空间提高了效率.方案使用门限秘密共享机制,具有叛逆者追踪功能,但不抗共谋攻击.2005年Du等人[7]在身份基加密技术基础上提出一种身份基广播加密方案.方案利用用户身份生成公钥,接收用户必须满足身份要求才能解密,但是密文长度随接收用户数目线性增长.同年,Boneh等人[8]提出一个基于双线性映射的BE方案(BGW方案),BGW方案中用户私钥为一个群元素并且抗共谋攻击,实现了学者们一直苦苦寻求的目标.从此开启了基于双线性映射的BE技术的研究.

2005年,Sahai等人[9]提出了属性基加密思想(attribute-based encryption, ABE),引入了属性的概念.2006年Goyal等人[10]根据用户私钥、访问结构和系统属性之间的关系,将ABE技术分为基于密钥策略和基于密文策略2类:基于密钥策略的属性基加密技术(key policy ABE, KP-ABE)中用户私钥关联访问结构;基于密文策略的属性基加密技术(ciphertext policy ABE, CP-ABE)中密文关联访问结构.相比于KP-ABE,CP-ABE中信息发送方加密时可以根据需要自由选定访问结构,更适合现在应用环境,因此本文重点研究CP-ABE.2010年Emura等人[11]构造了第1个固定密文长度ABE方案,方案中每个属性拥有正、负2种取值.2011年Chen等人[12]提出一种固定密文长度ABE方案,方案在每个属性取正、负属性值的基础上加入了通配符机制,增加了方案灵活性并且计算简单.后来,基于文献[12]方案的思想,固定密文长度的ABE方案[13]被提出.为提高效率,ABE外包技术被提出,通过将复杂的解密运算委托给云服务器来减轻用户计算负担.2009年Ibraimi等人[14]提出了一种基于中间人的属性基加密方案(Ibraimi方案),解决了用户的存储和解密负担过重的问题.由于大部分ABE方案都没有考虑权重的概念,事实上考虑权重概念很有意义.2013年Liu等人[15]基于树形结构,构造了权重ABE方案,但方案加解密需要消耗大量的计算资源.2017年Wang等人[16]根据属性的重要性不同,为属性分配不同的权重.

2008年Lubicz等人[17]将属性基加密技术首次应用于广播加密技术中,创造性地提出一种属性基广播加密技术(attribute based broadcast encryption, ABBE).相比传统的BE技术,该方案加解密过程更加快捷,并且可实现用户灵活的访问控制.2010年Zhou等人[18]提出了一个高性能的ABBE方案,但方案的解密计算开销过大,访问结构的实现上也不够灵活.上述方案存在一个共同问题,即不能实现无需私钥更新的细粒度的用户级撤销.因此可以说ABBE和ABE的主要区别就是ABBE可以允许细粒度的用户级别撤销,发送方可以直接控制单独的用户,而且无用户撤销时可以直接利用属性控制全部用户,实现与ABE同样的功能[23].2009年Attrapadung等人[19]借助BGW方案提出2种ABBE方案.2种方案均可以不更新用户私钥完成细粒度的用户级撤销.但方案的密文和用户私钥长度都与访问结构中属性个数线性相关,带来较大的通信和存储开销.2010年Karlov等人[20]提出一种访问策略灵活的ABBE方案,方案同样基于BGW方案,采用布尔函数中合取范式和析取范式访问结构,支持任意访问策略,但方案密文长度仍会随访问结构而变化,并且为了实现用户级撤销,方案增加了代表身份的特殊属性,增加了访问结构的管理难度.2016年Zhou等人[21]将文献[18]方案改进后提出一种可隐私保护的ABBE方案.方案实现密文长度固定并可隐藏访问结构,达到隐私保护目的.但方案解密计算开销随系统属性数目线性变化.属性数目较大时,方案解密效率变得极低.同年胡思路等人[22]提出一种高效的ABBE方案,方案密文长度固定,但用户私钥长度随用户属性数目的增加迅速增大,不适用于物联网环境.2015年Yang等人[23]提出一种密文长度固定的ABBE方案,但用户私钥长度随访问结构中通配符数目变化,并且需要频繁更新.

1.3 本文主要工作

针对现有ABBE方案中广播密文长度过大、用户私钥数量过多、加解密计算复杂以及没有考虑权重概念等缺陷,构造了一个高效的权重属性基广播加密方案.方案基于经典的BGW方案,在撤销用户时无需更新用户私钥组件,提高了撤销效率;采用权重门限访问结构并引入通配符机制,实现了广播密文长度的固定,发送方并且可以自由选取访问结构中属性个数和动态调整权重门限值,另外方案的权重思想也具有现实意义,按照属性的重要程度划分权重取值,符合具有分等级服务的广电物联网环境;然后方案引入Ibraimi等人[14]的基于中间人的思想,将用户大部分私钥存储和解密计算工作委托给中间人代理完成,用户仅需本地存储一个群元素长度的私钥,解密时只需一次双线性对计算,高效地降低了用户私钥存储负担和解密时的计算负担.

2 预备知识

2.1 “云管端”基础架构

“云管端”协同布局[2]促进“广电网+物联网”战略转型.“云”是计算机服务器组成的云环境,提供数据的存储与分享,但不保证数据的安全性;“管”是远距离数据传输管理协议;“端”是物联网终端设备,计算能力有限;如图1所示:

Fig. 1 The infrastructure of “Cloud, Channel, Device”图1 “云管端”基础架构

2.2 双线性映射

定义1. 假设G和GT均为大素数阶P的乘法循环群.若存在映射e:G×G→GT满足3个性质,我们则称e为双线性映射:

1) 双线性性.∀u,v∈G以及∀a,b∈P,e(ua,vb)=e(u,v)a b永远成立.

2) 非退化性.∃g∈G使得e(g,g)≠1,其中1为群GT的单位元.

3) 可计算性.对∀u,v∈G,都能有效计算出e(u,v)的值.

若上述双线性映射e:G×G→GT存在,则称群G为双线性群.

若e(ua,vb)=e(u,v)a b=e(ub,va),则称双线性映射e为对称的,否则称e为非对称的.

2.3 访问结构

定义2. 集合S={P1,P2,…,Pn}拥有n个参与实体,访问结构W是集合P=2{P1,P2,…,Pn}中的一个非空子集.假设W是单调的,对于∀B,C如果B⊆W且B⊆C,那么C⊆W都成立.W中包含的集合则可称为授权集合,非授权集合则为不属于W中的集合.在属性基加密技术中,属性集合就为实体集合.

(n,t)门限访问结构较为简单,但是在实现密文长度固定方面有很好的应用.可以描述为:将一份秘密s分为n个部分,选定门限t,使得只有不少于t个部分相互协作才能恢复出秘密s,而少于t个部分协作则无法得到秘密.

定义3. 权重门限访问结构(weighted threshold access structure with wildcard,W-(n,t)).系统属性集合U={A1,A2,…,An},其中|Un,用户属性集合为Su⊆U,权重函数weight:A→P.选定一个门限值t的权重门限访问结构W-(n,t)对信息进行加密,其加密属性集合Ω⊆U中每个属性Ai∈Ω的权重值为weight(Ai).若解密用户属性集合Su中必须包含不少于t个加密属性,即|Su∩Ω|≥t,并且Su中每个属性Ai∈Su∩Ω的权重值不小于其对应的weight(Ai),用户才能正确解密.则称可正确解密的用户属性集合满足权重门限访问结构,记为SuW-(n,t);否则称用户属性集合不满足权重门限访问结构,记为Su/W-(n,t),拥有该集合的用户无法完成解密.

2.4 困难假设

判定性m-BDHE问题(decisional m-bilinear Diffie-Hellman exponent, m-BDHE).给定一个阶为素数P的群G,元素g∈G为群G中的一个生成元.随机选定2个元素α,s∈p和一个随机元素T∈GT.判定性m-BDHE问题描述为给定参数y:

y=(g,gs,gα,gα2,…,gαm,gαm+2,…,gα2m).

判断T为e(g,g)αm+1s还是为群GT中的一个随机元素R.攻破上述假设的优势为

|Pr[B(y,T=e(g,g)αm+1)=0]-
Pr[B(y,T=R)=0]|.

定义4. 如果不存在PPT算法可以以不可忽略的优势解决判定性m-BDHE问题,则称m-BDHE问题是困难的.

3 方案定义

3.1 方案形式化定义

基于中间人的属性基广播加密方案(mediated ABBE, M-ABBE)形式化定义如下:

1) 系统初始化

Setup(1λ)→(PK,msk):输入系统安全参数1λ,输出系统公共参数PK和系统主密钥msk.

2) 私钥提取

KeyGen(GID,LGID,PK,msk)→{SKGID,1,SKGID,2}:输入用户的身份信息GID、用户属性集合LGID、系统公共参数PK和系统主密钥msk,输出2部分私钥为SKGID,1和SKGID,2.

3) 广播加密

4) 代理解密

Transform(CT,GID,SKGID,1,PK)→CTOUT⊥:输入密文CT、用户的身份信息GID、用户的第1部分私钥SKGID,1和系统公共参数PK.中间人首先检验用户权限.若用户属于目标接收集合GID∈并且用户属性集合LGID满足访问结构W,中间人则可以成功完成代理解密的工作,算法输出外包解密密文CTOUT.否则,算法终止并输出错误⊥.

5) 用户解密

Decrypt(CTOUT,SKGID,2)→M:用户输入外包解密密文CTOUT、第2部分私钥SKGID,2.若CTOUT正确则算法输出明文M,否则用户无法完成最终解密.

3.2 安全模型

M-ABBE中存在2种情况的攻击敌手:1)敌手A没有第1部分私钥SKi,1,但可以获取外包解密密文CTOUT;2)敌手A没有第2部分私钥SKi,2,但可以得到最终解密后的明文M.由于uψ1和uψ2两个元素是随机选取的,所以情况2类型的敌手没有办法在不知道SKi,2的情况下成功进行最终解密.本文主要针对其中的情况1类型的敌手进行分析.

M-ABBE方案的选择明文攻击安全(chosen plaintext attack, CPA)是通过敌手A和挑战者C之间的一个互动游戏来定义,这里另外定义一个模拟算法B帮助完成敌手A和挑战者C之间的互动.假定游戏中A可以自适应询问私钥,为记录被询问的密钥,在游戏开始之前首先为模拟算法B建2个空白的列表:List1=(Fi,SKi,1),List2=(Fi,SKi,2).游戏定义如下:

初始化. 挑战者C接受挑战,敌手A确定系统属性数目n并选择一个目标接收用户集合*和一个访问结构W*.然后敌手A将(*,W*)全部提交给模拟算法B,然后B将其传送给挑战者C.

建立. 挑战者C选一个安全参数1λ,然后运行系统初始化算法生成系统公共参数PK和系统主密钥msk,并将系统公共参数PK传送给模拟算法B,然后模拟算法B将系统公共参数PK返回给敌手A.

阶段1. 敌手A进行以下私钥询问,然后敌手A选择一个不满足之前所提交的解密条件(*,W*)的用户i进行用户私钥询问.

当敌手A询问用户i的第1部分私钥SKi,1时,模拟算法B先检查列表List1.当列表中无该项记录,模拟算法B将会询问挑战者C关于用户i的私钥组件.挑战者C接受询问运行私钥提取算法计算相应的私钥组件后交给模拟算法B.模拟算法B得到挑战者C返还的私钥组件后得出SKi,1返回给敌手A.并且模拟算法B同时得到SKi,2,然后B将记录(Fi,SKi,1)记录到List1列表中,并且将记录(Fi,SKi,2)记录到List2列表中;否则,模拟算法B可以直接从列表中索引到记录(Fi,SKi,1),并将结果发送给敌手A.

挑战. 敌手A随机选取2条长度相同的明文消息M0,M1并提交给模拟算法B,然后模拟算法B将其发送给挑战者C.最后由挑战者C随机选择b∈{0,1},运行加密算法加密消息Mb并得到相应的密文CT*并交给模拟算法B返回给敌手A.

阶段2. 重复阶段1.

猜想. 最终敌手A猜测b*∈{0,1},如果猜测正确,模拟算法B输出0,则称敌手A在该游戏中获胜.走完上述流程后,定义敌手A的获胜优势为

AdvA=Pr[b*=b]-12.

定义5. 如果对于任意PPT的敌手A赢得上述游戏的优势可以忽略,则称M-ABBE方案是CPA安全的.

4 方案描述

4.1 系统框架

Fig. 2 The system structure图2 系统框架图

如图2所示,本方案共5个实体,分别为权威机构(trusted authority, TA)、广播中心(broadcast center, BC)、云存储服务器(cloud storage, CS)、中间人(mediator, Mr)、接收用户(data receiver, DR).它们的具体职责为:

1) TA.负责管理系统属性集合,生成系统公共参数,为用户生成并分发私钥,TA完全可信.

2) BC.控制数据的分享.BC可自由选择消息的目标接收用户集合,并制定灵活的访问结构,加密消息后将密文上传,供用户访问.

3) CS.负责存储BC上传的密文信息.CS不可信,并试图窥探密文所包含的隐私数据.

4) Mr.是一个不可信任的云服务器.负责存储用户的部分私钥,并在解密阶段代理解密,承担用户大部分计算量.当CS将密文发送Mr后,Mr首先查看用户身份是否合法,然后利用用户的部分私钥进行代理解密,生成外包解密密文并发送给用户.

5) DR.负责最终解密工作.当且仅当DR属于目标接收用户集合并且其属性列表满足密文访问结构才能成功完成解密工作.DR存储空间匮乏.

4.2 方案概述

1) 系统初始化

Setup(1λ)→(PK,msk):输入安全参数1λ.TA首先确定用户的最大数目m和系统属性数量n,并选择2个阶为素数P的乘法循环群G和GT,g∈G为群G的一个生成元,并选择双线性映射e:G×G→GT.然后TA随机选取一个元素α∈P,对于用户i=1,2,…,m(为方便,这里用索引i代表用户),计算gi=gαi∈G代表用户i的身份公共参数,并计算{gi=gαi}i=m+2,m+3,…,2m∈G作为系统默认公共参数.接着TA随机选取2个元素ξ,r∈P,并计算v=gξ,R=gr∈G.根据属性权重的分割集Uω和通配符集合U*,TA随机选择N个元素{βk}k=1,2,…,N∈P,其中N=|Uω|+|U*|,并计算{Tk=gβk}k=1,2,…,N∈G.注意:这里N≤m,并将系统属性集合中每个属性值对应一个索引k,对应方式为

公开PK=(g,g1,…,gm,gm+2,…,g2m,{Tk}k=1,2,…,N,ν,R)并保留主密钥msk=(α,ξ,r,{βk}k=1,2,…,N).

2) 私钥提取阶段

KeyGen(i,Si,U*,PK,msk)→{SKi,1,SKi,2}:输入用户的身份i、用户权重属性集合Si、系统公共参数PK和系统主密钥msk.TA随机选取n+1个元素δ,δ1,…,δn∈p,使得接着,TA随机选择x∈p和2个元素uψ1和uψ2,使得uψ1-uψ2=1.然后根据U*和Si,TA计算SKi,1和SKi,2两部分私钥,其中TA计算SKi,1私钥组件为

其中,fk代表U*对应的私钥组件,ωk代表Si对应的私钥组件,其中k′=k-weight(Ak)×n,weight(Ak)代表i的Ak属性的权重值.用户第1部分私钥为SKi,1=(D1,D2,{D3,j}j=1,2,…,2m{m+1},{fk}k∈U*,{ωi,k}k∈Si).

TA将SKi,1秘密发送给中间人进行存储.接着TA计算D′=gαm+1uψ2,并将SKi,2=(D′)秘密发送给用户进行存储.

3) 数据加密阶段

BC用K对称加密M得到CTM=M(gm,g1)s,最后BC输出密文CT=(CTM,Hdr).

4) 代理解密

Transform(CT,i,SKi,1,PK)→CTOUT⊥:输入CT、用户身份i、第1部分私钥SKi,1和系统公共参数PK.中间人首先检验用户权限.若i是合法用户i∈,并且Si满足权重门限访问结构SiW,Mr则可以完成代理解密工作.否则,算法终止并输出错误.注意这里SiW分为2种情况:

①i属性集合的权重取值和访问结构中属性权重取值相同,也就是(Ak,weight(Ak))∈Si且weight(Ak)Si=weight(Ak)W-(n,t);

②i权重属性集合中属性权重取值大于访问结构中属性权重取值,即某个属性权重取值较大,i权限较高weight(Ak)Si>weight(Ak)W-(n,t).Mr代理解密计算过程如下:

情况1. Mr计算:

情况2. Mr计算:

然后计算:

最后计算CTOUT=CTM(K1K2),得出CTOUT后发送给i.

5) 用户解密

Decrypt(CTOUT,SKi,2)→M:DR(用户i)收到CTOUT后,输入第2部分私钥SKi,2,DR最终完成解密工作恢复出明文:

M=CTOUTe(C1,SKi,2).

5 方案分析

5.1 选择明文安全性

定理1. 假定判断性m-BDHE假设是困难的,则没有PPT的敌手能以选择明文方式攻破M-ABBE方案.

证明. 假设一个PPT的敌手A赢得M-ABBE方案模型游戏的优势ε=AdvA是不可忽略的,那么挑战者C就可以定义一个PPT的模拟算法B,能够以不可忽略优势ε2解决m-BDHE问题.模拟过程如下:

初始化. 挑战者C接受一个判断性m-BDHE困难问题挑战(g,yg,α,m=(g1,g2,…,gm,gm+2,…,g2m),T),其中gi=gαi∈G,并且α∈P是未知的.挑战者C运行一个模拟算法B,敌手A选择系统属性数目n,B设置系统属性集合为U={A1,A2,…,An},并进行权重分割得到属性权重分割集Uω,另外,除了属性权重取值之外,每个属性还具有一个通配符取值代表该属性无关紧要.其构成的集合称为系统通配符集合当用户i加入系统时,根据用户i所具有的属性为其分配权重属性集合Si⊆Uω.然后A选定目标接收者集合*和通配符机制的权重门限访问结构W*,并将(*,W*)提交给挑战者C.

建立.C首先选择一个安全参数1λ,运行系统初始化算法生成系统公共参数PK以及主密钥msk,并将PK传送给B交给敌手A.具体为C选择随机数d,r0,δ1,δ2,…,δn∈P并计算:

接着C根据Uω和U*,随机选择N=|Uω|+|U*|个元素u1,u2,…,uN∈p,计算{Tk=guk-αm+1-k}k=1,2,…,N,最后C得出系统公共参数PK并传送给模拟算法B,其中PK=(g,g1,…,gm,gm+2,…,g2m,{Tk}k=1,2,…,N,ν,R).

阶段1. A选择一个不满足解密条件的用户i进行私钥询问(注意:此用户i有2种,i不是目标用户i∉*或者Si不满足访问结构Si/W*).A能够进行有限次数的以下询问,当询问i的第1部分私钥SKi,1时,B检查列表List1,若列表中无该项记录,B将会询问挑战者C关于i的私钥组件.挑战者C接受询问运行私钥提取算法计算相应的私钥组件后交给模拟算法B.模拟算法B得到挑战者C返还的私钥组件后得出SKi,1返回给A.然后B将(Fi,SKi,1)记录到List1中.否则,模拟算法B可以直接从列表中索引到记录并发送给A.以上游戏交互具体为,B首先选择选取元素δ,x,并使得然后随机选择2个元素uψ1和uψ2使得uψ1-uψ2=1.针对以上2种用户i情况,B将会询问C并进行相应计算:

情况1. 用户i不属于目标用户集合i∉*,C计算i私钥部分:

然后计算:

D2=gx uψ1,

D3,j=gαjuψ1.

对于i属性部分,根据U*,计算其系统通配符所对应私钥组件为

fk=(gδk′guk-αm+1-k)uψ1x=(gδk′Tk)uψ1x.

然后根据Si,计算:

C将SKi,1=(D1,D2,{D3,j}j=1,2,…,2m{m+1},{fi}i∈U*,{ωi,k}k∈Si)发送给模拟算法B转交给敌手A.

注意:用户i不属于目标用户集合,所以挑战者C可以产生i正确私钥.

情况2. 用户i属于目标用户集合i∈*,但Si/W*.则Si中必然存在至少一个属性Ak与访问结构W*中属性权重值不相同.C找出该位置上属性Ak*.首先,对于用户i身份私钥部分,C随机选择2个元素δ′,x′∈P,并通过设置gδ′=gδ,gx′-αk*=gx,使得δ=δ′,x=x′-αk*,然后计算i的私钥部分:

D1=(gαiξg(δ-r)x)uψ1=

D2=guψ1x=guψ1(x′-αk*),

D3,j=gαjuψ1.

根据U*,i系统通配符所对应私钥组件为

fk=(gδk′Tk)uψ1x=(gδk′guk-αm+1-k)uψ1(x′-αk*).

然后根据Si,计算:

C将SKi,1=(D1,D2,{D3,j}j=1,2,…,2m{m+1},{fi}i∈U*,{ωi,k}k∈Si)发送给B转交给敌手A.

注意:当Si/W*时,C可以找出那个不符合的属性Ak*,利用Ak*的属性值产生的因子gam+1,可以和D1中的g-am+1相互抵消,因此挑战者C不必知道gam+1也可产生正确的私钥.

挑战. A随机选择2条长度相同的明文消息M0,M1交给C.由C随机地选择b∈{0,1}中的一个,运行加密算法计算CTM*=M×Tt,并随机选择元素t∈P,并计算:

阶段2. 重复阶段1.

猜想. 最终敌手A猜测b*∈b,如果猜测正确,模拟算法B输出0,则称A在该游戏中获胜.

分析:如果T=e(g,gm+1),A在游戏中的获胜概率为12+ε;如果T是群GT中随机元素,A在游戏中的获胜概率为12.所以B做出准确模拟的优势为12Pr[B(y,T=e(g,gm+1))=0]+12Pr[B(y,T=R)=0]-12=ε2,即模拟算法B能够以一个不可忽略的优势解决m-BDHE问题,但这一问题已被证明是困难的,因此假设不成立,证明M-ABBE方案是CPA安全的.

5.2 抗共谋攻击安全性

在属性基广播加密方案中,抗共谋攻击是一个很大的挑战,用户为了在恢复明文M时,必须先获得对称会话密钥e(g,gm+1)s.不诚实的用户和敌手都有可能试图恢复该对称会话密钥.由于属性基广播加密方案利用的是目标接收用户集合和属性访问结构的双重密文访问控制,用户的属性信息和身份信息在系统中都很关键.本方案中共谋攻击分为2种:属性-身份共谋攻击和属性-属性的共谋攻击.

在情况1中,假设有攻击者a和b,a属于目标接收用户集合a∈,但是Sa/W;b不属于目标接收用户集合b∉,但SbW.此时,如果a和b进行共谋,就存在明文M泄露的危险.本方案中使用了随机因子抵抗情况1的共谋攻击.具体来说在方案的私钥提取算法中,用户身份私钥D1绑定用户身份和随机因子ξ,uψ1,同时用户属性私钥fk和ωGID,k绑定随机因子x,对于a和b来说uψ1不同,而且δ,r,x是随机的,因此无法联合私钥,所以本方案抗属性-身份共谋攻击.

在情况2中,假设a和b都属于目标接收用户集合a,b∈,但Sa/W,Sb/W.为了得到明文,现在a和b进行共谋,尝试将属性部分私钥并在一起.但是本方案中用户属性私钥和不同的随机因子δk,r,x绑定.因此,即使攻击者a和b尝试进行属性-属性共谋,也无法进行正确的计算,因此会话密钥不会被恢复.本文方案也可抗属性-属性共谋攻击.

5.3 性能分析

方案性能评估分为2方面:理论分析和实验仿真.理论分析方面,将本方案对比Attrapadung等人在文献[19]中的第1个方案Attrap1、Attrapadung等人在文献[19]中的第2个方案Attrap2、Karlov等人在文献[20]中的方案、Zhou等人在文献[18]中的方案以及胡思路等人在文献[22]中的方案,分析方案的功能、通信开销、存储开销和计算开销,将结果列表给出;实验仿真方面,将本方案对比文献[19]的第1个方案Attrap1、文献[19]的第2个方案Attrap2和文献[22]的方案,通过相同环境中实验仿真,分析方案的私钥长度、加密和解密时间,将结果作图说明.

在进行方案性能评估时,|G|和|GT|分别代表群G和群GT中一个元素的长度;N代表系统属性值总数;n代表访问结构中的属性个数;Su代表用户拥有的属性个数;r代表被撤销的人数;ex和p分别代表模指数和双线性对运算.需要注意的是文献[19]第1个方案Attrap1中n代表访问结构中矩阵的行数;文献[20]方案中N=2n;文献[18]方案中N=3n.

5.3.1 理论分析

比较方案的功能、通信开销和存储开销时,由于通信开销与方案密文长度有关,存储开销与方案用户私钥长度有关,因此对比分析时主要对比了方案的密文长度和私钥长度.由于广电网中通信资源有限,因此方案的密文长度越短越好,又由于接收用户存储资源匮乏,因此方案的用户私钥长度也越短越好.

从表1中可以看出,在方案的功能方面,对比方案全部没有考虑属性权重思想,其实引入属性权重概念具有现实意义,尤其是在分等级服务的广电网环境中.如系统中属性“会员”、“年龄”、“地区”、“职业”,其中“会员”属性可以根据等级划分为“黄钻、绿钻、蓝钻”,因此可以按照权重等级定义为该属性为“(会员,1)(会员,2)(会员,3)”;“年龄”属性可以根据等级划分为“老年、少年、中年、青年”,对应权重属性为“(年龄,1)(年龄,2)(年龄,3)(年龄,4)”;同样“地区”属性可以划分为“三环、二环、一环”,对应权重属性为“(地区,1)(地区,2)(地区,3)”.当发送方选择“(会员,2)(年龄,3)(地区,1)(职业,*)”作为密文访问结构中属性时,即表示发送方不考虑用户的“职业”属性,其余用户属性权重值均不小于对应加密属性权重值的接收用户才可解密,如住在二环的蓝钻青年即可解密.因此,本方案通过属性权重的引入增加了访问结构的灵活性,满足了多样化的隐私需求.

Table 1 Comparison of Communication and Storage Overhead

Note: “√” means this scheme has this funtion, “×” means this scheme does not have this function.

在通信开销方面,从表1可以看出,文献[19]第1个方案Attrap1、文献[19]第2个方案Attrap2、文献[20]的方案密文长度都随着访问结构中的属性数目线性增长,属性数目增多,通信开销将飞速增长,不适合广电网应用环境.文献[18,22]中方案和本方案都实现了密文长度的固定.其中,文献[18]方案在密文长度上比本方案小了一个|G|群元素和一个|GT|群元素长度,而且也是基于同样BGW技术的思想.但是文献[18]方案只利用了属性基加密技术,只能实现属性级别的撤销.若撤销某个具体用户,必须进行复杂的私钥更新操作,不适合用户动态性强的广电网环境.最后,本方案和文献[22]方案的密文长度相同.

在存储开销方面,文献[19]第1个方案Attrap1、文献[19]第2个方案Attrap2、文献[18,20,22]方案的用户私钥长度都与访问结构中属性个数相关.其中文献[22]方案中用户私钥长度随着访问结构中属性个数增加而飞速增长,并且达到二次增长的相关关系,文献[20]方案中用户私钥长度还与系统属性个数线性相关.由于这些私钥需要用户本地存储,因此上述方案会给用户带来沉重的存储负担,不适用于接收用户的存储资源匮乏的环境.与以上方案不同,我们的方案采纳了中间人思想,通过外包存储将繁重的私钥存储任务委托给中间人执行,用户本地只需存储一个|G|长度的私钥,减轻了用户存储负担.并且本方案引入属性权重思想,系统可根据属性的重要性为其分配不同的权重,更适合实际应用背景.综上,本方案更适合应用于广电网环境.

比较方案的计算开销时,由于群G和群GT上模乘运算的开销远远小于模指数运算和双线性对运算开销,因此对比分析时,只对比了G和GT的模指数运算和双线性对运算.由于广电网中用户计算资源匮乏,因此方案加解密计算中模指数运算和双线性对运算数目越少越好.

从表2可以看出,在广播加密阶段文献[19]第1个方案Attrap1、文献[19]第2个方案Attrap2和文献[20]方案中模指数计算数目均与访问结构中属性个数呈线性增长关系,不符合实际应用.文献[18,22]方案和本方案的加密计算开销固定并且差别很小,其中文献[18]方案比本方案的计算开销还少2个群G上的模指数的计算开销,文献[22]方案和本方案计算开销相同.但在解密阶段时,文献[18]方案需进行2n次双线性对运算,计算开销随着访问结构中属性个数的增加线性增长.虽然文献[22]方案在解密计算时的双线性对运算数目固定,但也比本方案计算开销大.本方案通过引入中间人实现了解密外包,将复杂的解密计算委托给中间人执行,用户自己只需进行一个双线性对计算,更适合用户计算资源匮乏的广电网环境.

Table 2 Comparison of Computation Cost

5.3.2 实验仿真

实验环境配置如下:Intel®CoreTMi5-4210U CPU @1.70 GHz,双核,4.00 GB RAM, Windows 10操作系统.实验仿真是基于JPBC密码库[24],采用Java语言实现.仿真中基于a.properties参数得到3个椭圆曲线群G1,G2,GT以及一个有限域,并生成一个对称双线性映射e:G1×G2→GT.实验中选取了5,10,15,20,25,30共6个属性数目的参考点,并编写时间测量函数定量提取这6个参考点的加解密时间.图中的时间测量结果以毫秒(ms)为单位,并且所有数据是程序运行30次所取的平均值.具体仿真结果如图3~5所示:

Fig. 3 Length of private key图3 用户私钥长度

由于文献[19]第1个方案Attrap1和文献[19]第2个方案Attrap2中密文访问结构相同,因此仿真时只选择了文献[19]第1个方案Attrap1.图3所示,文献[19]第1个方案Attrap1中用户私钥的长度随着用户属性个数线性增加,在属性为30个时用户私钥长度4.35 KB.文献[22]方案中用户私钥的长度随着用户属性个数的增加飞速增加,在属性为30个时用户私钥长度高达到235 KB.而本方案不同,用户私钥长度一直保持固定不变,只为0.128 KB.这是由于本方案中引入了外包存储,所以用户只需要存储一个|G|群元素的私钥即可.

Fig. 4 Encryption time图4 加密运算时间

Fig. 5 Decryption time图5 解密运算时间

由图4、图5可知,文献[19]第1个方案Attrap1的加密时间和解密时间都与方案访问结构中属性个数呈线性关系,不适用于用户计算资源有限的环境.文献[22]方案和本方案的加密时间都基本不变,加密时间几乎相同.但在解密计算时,文献[22]方案解密时间会随着属性个数逐渐增长,这是由于其方案中模指数运算数目随着属性个数呈线性增长关系.但我们的密文长度固定的属性基广播加密方案不同,用户解密时间固定不变,不随属性的变化而变化.这是由于本方案中借助了中间人进行解密外包,中间人代理解密后将外包解密密文交给用户,用户只需进行一次双线性对运算即可.所以综合加密时间与解密时间的对比分析,本方案计算性能要高于文献[22]的方案.

6 总 结

针对广电网中安全需求和应用特性,本文构造了一个高效的权重属性基广播加密方案.方案基于经典的BGW方案,并融合了门限属性基加密技术的优点,撤销用户时无需更新用户私钥组件,同时实现了广播密文长度的固定;引入属性权重概念更具有现实意义,并且增强了密文访问结构的灵活性;增加了通配符机制,满足了多样的隐私需求;通过引入外包存储和解密,实现较小存储开销和计算开销,符合终端用户中计算资源有限的广电网特征.经证明:本方案具有抗共谋攻击性.但是本方案仅实现了标准模型下的选择明文安全,如何将方案进行改进从而达到更高的安全性是今后的研究方向.

猜你喜欢

私钥密文解密
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
炫词解密
支持多跳的多策略属性基全同态短密文加密方案
程序员把7500枚比特币扔掉损失巨大
解密“一包三改”
炫词解密