APP下载

面向物联网数据安全共享的属性基加密方案

2019-06-26赵志远王建华朱智强

计算机研究与发展 2019年6期
关键词:私钥公钥密文

赵志远 王建华 朱智强 孙 磊

1(61516部队 北京 100071) >2(战略支援部队信息工程大学 郑州 450001)

物联网(Internet of things, IoT)被人们视为继计算机、互联网之后信息技术产业发展的第3次革命.依托于物联网的智能家居、车联网、智慧医疗、智能电网等快速发展,万物互联的时代已经到来[1].Statista网站最新统计数据显示,预计2020年突破300亿个互联设备[2].

物联网中不计其数的智能终端将感知的海量数据通过复杂的信息通信渠道传送至具有庞大数据存储和处理能力的数据中心,其可以抽象为“终端-传送管道-云端”架构,也对应着物联网架构的3个逻辑层次:感知层、传输层和应用层.由于其网络泛在、全面感知、可靠传递、智能处理的特征要素愈发凸显,致使物联网面临着非常严峻的安全挑战[1].

我国中国科学院大学张玉清教授等通过对2012年至2017年上半年已发表的大量物联网安全相关论文进行系统研究,分析出目前物联网安全急需应对的五大安全挑战之一为数据共享的隐私保护方法,总结出未来五大安全研究热点之一为隐私数据保护[3].目前在不能够完全保证数据隐私的情况下,通过密码技术将明文数据加密上传存储在数据中心是一个行之有效的方法.

密码学作为信息安全的基石,可以提供信息的完整性、机密性、不可抵赖性、可控性及可用性[4].属性基加密(attribute-based encryption, ABE)[5]源于身份基加密(identity-based encryption, IBE),其作为一种新型的公钥加密体制,可以根据用户属性实现对数据灵活的细粒度访问控制,是解决当前物联网数据安全共享的关键支撑技术之一[6].根据访问结构嵌入位置的不同,ABE分为密钥策略属性基加密方案(key-policy ABE, KP-ABE)[7]和密文策略属性基加密方案(ciphertext-policy ABE, CP-ABE)[8].在KP-ABE方案中,密文和属性集合相关联,私钥和访问结构相关联,当且仅当密文关联的属性集合满足私钥关联的访问结构时,用户才能解密密文以恢复出明文消息;在CP-ABE方案中,私钥和属性集合相关联,密文和访问结构相关联,当且仅当与私钥关联的属性集合满足与密文关联的访问结构时,用户才能解密密文以恢复出明文消息.由于把访问策略的制定权放在了数据拥有者手中,所以CP-ABE类似于传统访问控制中的基于角色的访问控制,指定具有某些属性的用户可以访问该密文,实现了“一对多”的加密模式.因此,CP-ABE能够在物联网中发挥极大价值,受到学术界和工业界的广泛关注[9].

当CP-ABE应用于物联网时,其主要面对2方面问题:1)一般CP-ABE在加密数据时连同访问结构一同上传至数据中心,而访问结构本身也可能是敏感的隐私信息,恶意用户能够根据访问结构得到其感兴趣的信息.例如:个人健康档案中,访问结构中可能包含用户的身份证、家族遗传史等信息.因此,实现隐藏访问结构对于保护物联网中隐私信息十分必要.2)物联网中的智能终端往往具有有限的计算能力、存储能力及能量储备.而CP-ABE方案中加解密时间往往与访问结构复杂度成线性正相关,密文及私钥大小同样与属性数量成线性正相关,资源有限的智能终端难以承担复杂计算与大量存储负担.因此,实现密文和私钥定长且高效的CP-ABE方案对于其在物联网中广泛应用至关重要.

针对问题1,2008年Nishide等人[10]基于多值属性的与门访问结构提出了2种可以隐藏访问结构的CP-ABE方案,能够同时保护明文消息和访问结构的隐私信息,并完成了方案的选择性安全证明.2011年Lai等人[11]基于合数阶双线性群提出一种隐藏访问结构的CP-ABE方案,其采用多值属性与门访问结构,并完成了方案的完全安全证明.2015年宋衍等人[12]基于合数阶双线性群提出一种访问结构隐藏的属性基加密方案,其采用访问树作为访问结构,并完成了方案的完全安全证明.同年,Xu等人[13]基于合数阶群提出一种访问结构隐藏的CP-ABE方案,该方案支持访问树策略,并完成方案的选择安全证明.2016年Wang等人[14]基于合数阶双线性群提出一种访问结构隐藏的CP-ABE方案,该方案支持线性秘密共享方案(linear secret sharing scheme, LSSS)访问结构,并基于静态假设完成方案的选择安全证明.

但是上述方案只实现了隐藏访问结构,而密文及私钥大小与访问结构复杂度及属性数量成线性正相关,加解密需要大量的计算.

针对问题2,国内外相关研究学者展开大量研究工作.2007年Cheung等人[15]首次提出基于与门访问结构的密文定长的CP-ABE方案,但该方案只在一般群模型下讨论了方案的安全性.2010年Emura等人[16]第1次提出基于支持多值属性与门访问结构的密文定长的CP-ABE方案.随后,Herranz等人[17]第1次提出基于陷门访问结构的密文长度恒定的CP-ABE方案,该方案访问结构的表达能力要强于文献[15].2011年Chen等人[18]提出一种支持非单调与门访问结构的CP-ABE方案,该方案能够实现密文长度恒定且仅需要定量计算完成解密.2012年Attrapadung等人[19]提出一种基于陷门访问结构的CP-ABE方案,该方案具有较短的密文.2014年Zhang等人[20]提出一种密文长度恒定的属性基加密方案,该方案基于支持多值属性和通配符的与门访问结构,并且在随机预言机模型下基于判定性q-BDHE假设完成安全性证明.2016年Odelu等人[21]提出一种基于素数阶双线性群的CP-ABE方案,该方案能够同时实现密文和用户私钥长度恒定.2017年Teng等人[22]提出一种定长密文的层次结构CP-ABE方案,该方案解密计算也只需恒定的双线性对操作,且该方案基于判定性q-BDHE假设实现了CCA2安全.

但是上述方案只考虑了计算效率问题,没有实现访问结构隐藏,其在应用于物联网环境时,易通过访问结构属性信息泄露用户隐私.

为使CP-ABE方案更好地适用于物联网环境,相关学者同时针对上述2个问题也有一定研究.2013年Rao等人[23]提出了一种匿名接收的CP-ABE方案,该方案采用与门访问结构,并证明该方案是完全安全.2015年Zhou等人[24]提出一种密文长度恒定且访问结构隐藏的CP-ABE方案,该方案支持正负属性及通配符的与门访问结构,并完成了方案的选择安全证明.2018年Zhang等人[25]基于合数阶群提出访问结构隐藏的基于属性的密文策略广播加密(ciphertext-policy attribute-based broadcast encryption, CP-ABBE)方案,该方案支持与门访问结构,同时其密文长度恒定,且完成了方案的完全安全证明.

为进一步提高CP-ABE方案计算效率,减少用户存储负担,使其更加适用于物联网环境的数据安全共享,本文提出一种将IBE转换为支持多值属性与门CP-ABE的通用转换方法,并且转换后的CP-ABE能够继承IBE的特征.例如,基于接收者匿名IBE转换的CP-ABE方案具有访问结构隐藏的特性,且方案安全性与原IBE方案安全级别相同.然后基于该转换方法将Wee[26]提出的接收者匿名IBE方案转换为访问结构隐藏的CP-ABE方案,该方案实现了密文、用户私钥、公钥和主私钥长度恒定,且解密只需一个双线对运算.而后将其应用至物联网中的智慧医疗应用场景,并给出应用的系统模型及步骤.最后对方案进行了理论分析与实验验证,分析和实验结果表明本文方案在计算效率和存储负担方面具有优势,同时能够实现访问结构隐藏,为物联网环境下的数据安全共享提供新的解决思路.

1 理论基础知识

本节主要介绍文中所需的相关技术,首先给出合数阶双线性群和支持多值属性的与门访问结构,其是构造所提方案的基础.本文为提高计算效率,首先用对称加密方案加密明文,然后基于CP-ABE方案加密对称密钥,所以给出了对称加密方案定义.另外,本节给出了IBE和CP-ABE的定义及CP-ABE方案的CCA安全模型,以便理解IBE和CP-ABE的工作原理,更好地理解本文所提的通用转换方案.

1.1 合数阶双线性群

双线性群是密码系统中重要的关键技术.令ψ表示某个群生成算法,该算法以安全参数λ为输入,输出参数p1,p2,p3,G,GT,e,其中p1,p2,p3表示3个不同的大素数,G和GT表示2个N=p1p2p3阶循环群,e:G×G→GT表示一个满足下列条件的双线性映射.

1) 双线性.对于任意的u,v∈G和a,b∈ZN,等式e(ua,vb)=e(u,v)ab成立.

2) 非退化性.∃g∈G使得e(g,g)在GT中的阶为N.

3) 可计算性.对于∀u,v∈G,可以在多项式时间内有效计算e(u,v).

假设Gp1,Gp2,Gp3分别表示群G中阶为p1,p2,p3的子群.若hi∈Gpi,hj∈Gpj且i≠j,那么可以得出e(hi,hj)=1.

为了验证上述结果,假设h1∈Gp1,h2∈Gp2.令g∈G为生成元,那么可以得出gp1p2生成群Gp3,gp1p3生成群Gp2,gp2p3生成群Gp1.因此,对于参数α1与α2,可以得出h1=(gp2p3)α1,h2=(gp1p3)α2.最后计算e(h1,h2)=e((gp2p3)α1,(gp1p3)α2)=e(gα1p3,gα2)p1p2p3=1.

1.2 访问结构

CP-ABE方案中,加密者为密文指定一个访问结构,若解密者拥有关联私钥的属性集合满足关联密文的访问结构,则解密者能够正确解密密文.本文采用一种支持多值属性与门的访问结构[16].假设系统中共有n个属性,则该属性集合为U={att1,att2,…,attn};每个属性atti能拥有多个属性值Vi={vi,1,vi,2,…,vi,ni},即ni=|Vi|.假设解密者拥有属性集合S={L1,L2,…,Ln},Li∈Vi,加密者定义访问结构A={W1,W2,…,Wn},Wi∈Vi.对于满足1≤i≤n的i,若Li=Wi,则S满足A,即SA;否则S不满足A,即S|≠A.对于每一个属性atti,数据拥有者必须从Vi={vi,1,vi,2,…,vi,ni}中选取1个值vi,*.

1.3 相关加密方案定义

1.3.1 对称加密方案

具有密钥空间K={0,1}lSE的对称加密算法SE=(SE.Enc,SE.Dec)包含2个多项式时间算法.

1)SE.Enc(K,M).该算法以加密密钥K∈K和明文M∈M作为输入,输出密文C.

2)SE.Dec(K,C).该算法以解密密钥K和密文C作为输入,输出明文M.

敌手A攻破该算法的优势可以表述为

AdvA(λ)

(1)

若任何多项式时间敌手A的优势AdvA(λ)是可忽略的,那么一次对称加密方案是语义安全的.

1.3.2 IBE定义

IBE方案包含4个多项式时间算法.

1)Setup(1λ)→{PK,MSK}.权威机构执行该算法.该算法以安全参数λ作为输入,输出公共参数PK和主私钥MSK.

2)KeyGen(PK,MSK,ID)→SK.权威机构执行该算法.该算法以用户身份ID∈{0,1}*、主私钥MSK和公共参数PK作为输入,输出解密密钥SK.

3)Encrypt(PK,ID,M)→CT.加密者执行该算法.该算法以明文消息M、用户身份ID∈{0,1}*和公共参数PK作为输入,输出密文CT.

4)Decrypt(PK,CT,SK)→M.解密者执行该算法.该算法以密文CT、解密密钥SK和公共参数PK作为输入.如果IDSK=IDCT,则可以解密成功,获得明文消息M,否则算法终止.

1.3.3 CP-ABE定义

CP-ABE方案包含4个多项式时间算法.

1)Setup(1λ)→{PK,MSK}.属性授权机构执行该算法.该算法以安全参数λ作为输入,输出系统公钥PK和主私钥MSK.

2)KeyGen(PK,MSK,S)→SK.属性授权机构执行该算法.该算法以属性集合S、主私钥MSK和系统公钥PK作为输入,输出用户私钥SK.

3)Encrypt(PK,A,M)→CT.数据拥有者执行该算法.该算法以明文消息M、访问结构A和系统公钥PK作为输入,输出密文CT.

注:为提高计算效率,数据拥有者可以先用对称密钥K加密数据M,然后数据拥有者指定一个基于属性的访问结构A用于加密对称密钥K.

4)Decrypt(PK,CT,SK)→M.数据用户执行该算法.该算法以密文CT(基于访问结构A)、解密密钥SK(基于属性集合S)和系统公钥PK作为输入.如果S满足A,则可以解密成功,获得明文消息M,否则算法终止.

1.4 CP-ABE方案的CCA安全模型

通过仿真者B和敌手A之间的博弈游戏描述访问结构隐藏CP-ABE方案的CCA(choose ciphertext attack)安全,具体过程如下:

系统建立.仿真者B运行Setup算法获得系统公钥PK和系统主私钥MSK,然后将PK发送给敌手A,自己保留主私钥MSK.

询问阶段1. 敌手A可以适应性进行下列私钥询问和密文的解密询问.

1) 私钥询问.敌手A将属性集合Si发送给仿真者B,然后B将关联Si的私钥SKSi返回给A;

2) 解密询问.敌手A将密文CTi和属性集合Si发送给仿真者B,然后B将明文Mi返回给A.

询问阶段2. 类似询问阶段1,A继续向B询问.但不能询问满足挑战访问结构的属性集合,也不能够询问挑战密文.

猜测阶段.敌手A输出一个值b′∈{0,1}作为对b的猜测.如果b′=b,我们称A赢得了该游戏.敌手A在该游戏中的优势定义为

AdvA=|Pr[b′=b]-12|.

定义1.若无多项式时间敌手以不可忽略的优势来攻破上述安全模型,那么访问结构隐藏的CP-ABE方案是CCA安全.

2 通用转换方法

1.3.2节和1.3.3节分别详细介绍了IBE和CP-ABE的形式化定义,基于这些定义,本节首先讨论ABE和IBE的关系,给出一种将IBE转换为支持多值属性与门CP-ABE的通用转换方法,并且转换后的CP-ABE能够继承IBE的特征.例如,基于接收者匿名IBE转换的CP-ABE方案具有访问结构隐藏的特性.然后给出基于IBE转换为CP-ABE的理论方案.最后给出转换方案的安全性证明.

2.1 访问结构与身份的转换算法

参考多值属性与门访问结构的定义,假设系统共有n个属性名U={att1,att2,…,attn},每个属性名有ni=|Vi|个属性值Vi={vi,1,vi,2,…,vi,ni}.然后定义一个正整数k,将每个属性值转换为一个k位的二进制串.因此可以得到ni≤2k,即每个属性名最多有2k个属性值.假设转换成身份ID具有|U|位,则可以得到nk=|U|.当给一个访问结构A={W1,W2,…,Wn}时,对于每一个Wj∈A,通过二进制编码将Wj转换为相应的k位二进制串bitj,并且这种转换是一一对应的.具体转换算法如算法1所示.具体实施例将在3.4节给出.

算法1.属性到身份的转换算法.

输入:访问结构A={W1,W2,…,Wn},整数k≥1,集合U,其中nk=|U|;

输出:用户身份IDA.

① 令IDA[i]是IDA的第i位;

② 令IDA[i,i-1,…,i-k+1]是IDA的第i至i-k+1位;

③ 令Wj是A={W1,W2,…,Wn}的第j个属性;

④ forj=1 tondo

⑤i=j×k;

⑥IDA[i,i-1,…,i-k+1]=bitj;

的第k位相关联*

⑦ end for

⑧ returnIDA.

2.2 基于IBE的CP-ABE方案

假设一个身份加密方案IBE有4个多项式算法:IBE.Setup,IBE.KeyGen,IBE.Encrypt,IBE.Decrypt,然后通过下述过程构建CP-ABE方案.

1)Setup(1λ)→{PK,MSK}.该算法以安全参数λ作为输入,然后运行

IBE.Setup(1λ)→{IBE.PK,IBE.MSK}.

(2)

最后输出系统公钥PK=IBE.PK和系统主私钥MSK=IBE.MSK.

2)KeyGen(PK,MSK,S)→SK.该算法以属性集合S、主私钥MSK和系统公钥PK作为输入.然后该算法调用算法1将属性集合S转换为身份IDS∈{0,1}|U|,并运行

IBE.KeyGen(PK,MSK,IDS)→IBE.SK.

(3)

最后输出用户私钥SK=IBE.SK.

3)Encrypt(PK,A,M)→CT.该算法以明文消息M、访问结构A和系统公钥PK作为输入.然后该算法调用算法1将访问结构A转换为身份IDA∈{0,1}|U|,并运行

IBE.Encrypt(PK,IDA,M)→IBE.CT.

(4)

最后输出密文CT=IBE.CT.

注:为提高计算效率,数据拥有者可以先用对称密钥K加密数据M,然后数据拥有者指定一个基于属性的访问结构A用于加密对称密钥K.

4)Decrypt(PK,CT,SK)→M.该算法以密文CT(基于访问结构A)、解密密钥SK(基于属性集合S)和系统公钥PK作为输入.然后运行

IBE.Decrypt(PK,CT,SK)→IBE.M.

(5)

如果S满足A,则可以解密成功,获得明文消息M=IBE.M;否则算法终止.

2.3 安全证明

定理1.若底层匿名IBE方案是CCA安全,那么通过IBE转换获得的访问结构隐藏的CP-ABE方案是CCA安全.

证明. 假设敌手A能够以不可忽略的优势攻破访问结构隐藏的CP-ABE方案,那么我们能够构造仿真者B以不可忽略的优势攻破底层匿名IBE方案.B是IBE的挑战者.安全证明的具体思路如图1所示:

Fig. 1 Schematic diagram of proof图1 安全证明示意图

挑战者C、仿真者B与敌手A的交互过程为:

系统建立.仿真者B与挑战者C交互获得系统公钥PK,然后仿真者B将PK发送给A.

询问阶段1. 敌手A可以适应性进行下列私钥询问和密文的解密询问.

1) 私钥询问.敌手A将属性集合Si发送给仿真者B,然后B调用算法1将Si转换为身份IDi并将IDi发送给挑战者C进行私钥询问,B接收到C的私钥SKIDi后,将其发送给敌手A.

2) 解密询问.敌手A将密文CTi和属性集合Si发送给仿真者B,然后B调用算法1将Si转换为身份IDi并将CTi和IDi发送给挑战者C进行解密询问.B接收到C返回的明文Mi后,将其发送给A.

询问阶段2. 类似询问阶段1,A继续向B询问.但不能询问满足挑战访问结构的属性集合,也不能够询问挑战密文.

猜测阶段. 敌手A输出一个值b′∈{0,1}作为对b的猜测.

若b′=b,则敌手A赢得了该游戏,即攻破了本文访问结构隐藏CP-ABE方案.然后,仿真者B同样输出b′∈{0,1}作为对挑战者C的猜测,b′一定满足b′=b,仿真者B攻破了底层匿名IBE方案.因此,若底层匿名IBE方案是CCA安全,那么通过IBE转换获得的访问结构隐藏的CP-ABE方案是CCA安全.

证毕.

3 EHAS-CP-ABE方案构造及应用

本节通过第2节的通用转换方法将Wee[26]的IBE方案转换为具有隐藏访问结构的高效密文策略属性基加密(efficient ciphertext-policy attribute-based encryption with hidden access structure, EHAS-CP-ABE)方案,即本节提出一种高效安全的CP-ABE方案.该方案具有隐藏访问结构,密文、用户私钥、系统公钥和主私钥长度恒定以及快速解密等优点.首先本节给出所提方案的系统理论模型,然后基于IBE方案给出方案的具体理论构造及安全证明,最后给出该方案应用于个人健康档案管理系统的实例.

3.1 EHAS-CP-ABE系统模型

本文提出一种支持访问结构隐藏的高效密文策略属性基加密方案EHAS-CP-ABE,为物联网中数据共享的隐私保护提供理论支撑.其系统模型包括属性授权机构(attribute authority, AA)、云服务商(cloud service provider, CSP)、数据拥有者(data owner, DO)和数据用户(data user, DU)四部分.

1) 属性授权机构.属性授权机构是一个完全可信的权威机构,其主要负责生成系统公钥和系统主私钥,同时其管控属性密钥分发等工作.

2) 云服务商.云服务商主要是指第三方云存储提供商.数据拥有者将加密的数据上传至云服务商,减少其存储负担.假设云服务商是诚实并好奇的(honest but curious),即云服务商会诚实地提供服务,但其也会窥探存储数据中的隐私.

3) 数据拥有者.数据拥有者在将数据上传至云服务商之前需要用对称密钥K加密数据.然后数据拥有者指定一个基于属性的访问结构用于加密对称密钥K.只有当数据用户的属性集合满足访问结构时,才能正确解密密钥密文获得K,然后用对称密钥K解密内容密文获得最终明文.

4) 数据用户.数据用户即数据的访问者,能够自由地访问云中的密文数据资源.属性授权机构根据其属性为其生成私钥用于解密密钥密文.

EHAS-CP-ABE系统的结构示意图如图2所示:

Fig. 2 Schematic diagram of CP-ABE图2 CP-ABE结构示意图

3.2 方案构造

通过第2节的通用转换方法,基于Wee[26]的IBE方案提出EHAS-CP-ABE方案.由于Wee[26]的IBE方案的密文、用户私钥、公钥和主私钥定长,且解密只需一个双线对运算,所以本文所提EHAS-CP-ABE方案也具有这些性质.所提方案包含4个多项式时间算法.

4)Decrypt(PK,CT,SK)→M.数据用户执行该算法.该算法以密文CT(基于访问结构A)、解密密钥SK(基于属性集合S)和PK作为输入.首先运行Wee.IBE.Decrypt(PK,CT,SK),若S满足A,则可以获得IDS=IDA,然后可以计算并获得K=H(e(C1,SK))=H(e(g1,u)s),调用对称解密算法计算M=SE.Dec(K,C),最终获得明文消息M.

3.3 安全证明

定理2.若Wee[26]的IBE方案具有接收者匿名特性且是完全CCA安全,那么本文所提EHAS-CP-ABE方案是访问结构隐藏且完全CCA安全.

证明. 本文所提EHAS-CP-ABE方案是在Wee[26]的IBE方案基础上通过第2节通用转换方法获得.所以EHAS-CP-ABE方案的安全性满足定理1.又因为Wee[26]的IBE方案是完全CCA安全且接收者匿名,所以本文所提EHAS-CP-ABE方案也是完全CCA安全且访问结构隐藏的.

证毕.

3.4 个人健康档案中的应用

物联网中的智慧医疗受到学术界和工业界的广泛关注,通过可穿戴设备收集个人健康记录同时基于医院等信息构建一个医疗信息集成平台,从而解决医疗信息孤岛问题[27].个人健康档案(personal health record, PHR)是智慧医疗的核心基础数据,我国也于2009年计划在每个区市建立规范统一标准的居民健康档案.

由于个人健康档案涉及用户非常多的个人隐私信息,同时又要将这些数据安全共享给相关医生和亲戚朋友,所以数据和相关设备的安全至关重要,尤其是如何实现以病人为中心的数据的细粒度访问控制.

而属性基加密方案通过定义访问结构能够天然地实现“一对多”的细粒度访问控制,所以将其应用在个人健康档案的细粒度访问控制受到许多学者关注.通过研究相关文献,目前属性基加密方案应用在个人健康记录中,由于属性信息也可能泄露用户隐私信息,所以实现访问结构隐藏的属性基加密方案是研究重点;另外,随着移动网络和智能设备的发展,尤其是可穿戴设备的大量应用,减少设备的存储成本和计算成本至关重要,因此设计密文、用户私钥、系统公钥和主私钥长度恒定,计算效率高的属性基加密方案是另一个研究热点.

本文通过通用转换方法获得的CP-ABE方案能够继承原IBE方案的性质,通过转换Wee[26]的IBE方案,EHAS-CP-ABE方案实现了访问结构隐藏,密文、用户私钥、系统公钥和主私钥定长,且解密只需一个双线对运算.所以其非常适用于个人健康档案的加密共享.下面给出一个具体应用实例.

根据Zhou等人[28]意见,将一个小区或区市的病人组成一个群体,然后该群体拥有一个属性授权机构,其系统模型如图3所示:

Fig. 3 System model of personal health record图3 个人健康档案系统模型

属性授权机构保持个人健康档案的属性名和属性值结构,如图4所示:

Fig. 4 Attribute structure of personal health record图4 个人健康档案属性结构

通过算法1给出一个具体转换实例.假设k=8,n=5,|Unk=40.给出一个实际访问结构A=[PatientName:126Xu,Age:62,MedicalHistory:86Prescriptions,Hospital:72HospitalK,Department:42Central Sterile Services Department],则通过算法1将每一个属性名对应的属性值转换成相应的二进制数值,如PatientName:126Xu转换成二进制数为11111110.以此类推,将所有属性名对应的二进制数连接在一起,即可获得转换结果:

因此只有拥有属性集合S={PatientName:126Xu,Age:62,MedicalHistory:86Prescriptions,Hospital:72HospitalK,Department:42Central Sterile Services Department}的用户才能通过算法1转换S获得:

因为SA,所以IDA=IDS.最终用户才能正确解密获得明文数据.

通过EHAS-CP-ABE方案实现PHR的细粒度访问控制具体实施有4个阶段.

1) 系统初始化阶段.AA首先运行Setup算法获得系统公钥PK和主私钥MSK,将PK公布于该小区用户,自己保留MSK.

2) 数据加密阶段.病人Alice定义访问结构A后,运行Encrypt算法获得PHR的密文CT,然后将CT上传至PHR Storage.

3) 私钥生成阶段.医生Bob想要访问Alice的PHR,其首先提交一个属性集合S至AA,然后AA验证属性集合的合法性,最后运行KeyGen为Bob生成其私钥SK.

4) 数据解密阶段.Bob从PHR Storage下载密文后,用私钥解密密文,最后获得明文数据M.

因为EHAS-CP-ABE方案是访问结构隐藏的,所以属性信息不会泄露用户的隐私;而明文数据通过算法本身完成数据加密实现信息隐藏;病人Alice通过自己定义的访问结构A完成加密,只有拥有满足A的属性集合的用户才能完成解密,读取明文,实现了数据的细粒度访问共享.

4 方案分析及实验验证

4.1 理论分析

本节主要在安全性及各种参数大小方面将本文方案与已有5种隐藏访问结构方案进行对比.对比过程中所使用描述符定义为:|N|表示ZN中数据元素的长度;|g|表示G中数据元素的长度;|gT|表示GT中数据元素的长度;h表示文献[25]方案中的用户总数;l表示访问矩阵M的行数,Y表示访问树T的叶子节点数,α表示访问树T的末端内部节点数,n表示与门中属性的数量,ni表示支持多值属性与门中每个属性取值的总数.为简单起见,l,Y,n统一用n表示,同时假设用户私钥关联的属性个数也为n.

不同隐藏访问结构方案在安全性及相关参数大小方面的对比情况如表1所示.

从表1的参数大小(parameter size)列可以看出,本文方案的公钥、主私钥、私钥及密文都达到了恒定长度,与访问结构复杂度及属性集合数量无关.文献[14]的主私钥为|g|;文献[24]的主私钥为2|N|,同时其密文实现恒定长度为2|g|+|gT|.文献[25]的密文实现恒定长度为3|g|+|gT|,私钥长度与广播集合中用户总数成线性正相关,为(h+2)|g|.其他方案都与访问结构复杂度及属性数量成线性正相关.系统中各系统模块的存储负担及相互之间的通信负载正是与这些参数大小密切相关,所以本文方案各个系统模块的存储负担及相互之间的通信负载非常小,更加适用于具有大量资源有限的智能感知终端的物联网环境.

Table 1 Comparison of Different Hidden Access Structure Schemes表1 不同隐藏访问结构方案对比

4.2 实验分析

通过理论分析,本文方案在安全性和参数长度方面具有优势.为进一步评估本文方案的实际性能,通过下面实验测试了本文方案和相关方案在系统建立、私钥生成、数据加密和数据解密方面的计算时间.

1) 实验环境.64 b Ubuntu 14.04操作系统、Intel®CoreTMi5-6200U(2.3 GHz)、内存4 GB,实验代码基于PBC-0.5.14[30]与cpabe-0.11[31]进行修改与编写,并且使用基于512 b有限域上的超奇异曲线y2=x3+x中的160 b椭圆曲线群.

2) 实验设置.在CP-ABE方案中,访问策略的复杂程度影响加密和解密时间.为了说明这一点,本文用(S1ANDS2AND … ANDSn)形式的访问策略模拟最复杂的情况,其中每个Si都是一个属性.这种方法保证了所有密文组件都参与解密计算.同时假设文献[12]中的α=1;文献[25]中的h=10;多值属性与门中ni=4.本文以这种形式属性数量每次递增10,从10增加到100产生10种不同的访问策略.对于每个访问策略,重复20次实验且每次实验完全独立,然后取平均值作为实验结果.不同方案各阶段仿真时间对比情况如图5所示:

Fig. 5 Comparison of simulation time图5 仿真时间对比

如图5(b)所示,密钥生成时间与用户属性集合大小成线性增长关系.该阶段文献[24]的执行时间远远超过其他方案,这是因为该方案在密钥生成阶段需要为用户属性集合中的每个属性计算2个私钥组件.文献[12-14]方案的私钥生成时间整体相当,小于文献[24],但依然与用户属性集合大小成线性正相关.文献[25]方案的私钥生成时间与广播集合中用户数量成线性正相关,因为本文假设用户数量h=10,所以其私钥生成时间恒定.而本文方案只需1个G中的指数运算即可.

如图5(c)所示,加密时间与访问结构中的属性数量成线性增长关系.因为在加密阶段,文献[12-14]需要为每个属性计算密文组件,所以它们的加密时间与访问结构复杂度成线性正相关.而文献[24-25]和本文方案只需定量计算即可完成数据加密,与访问结构复杂度无关.

如图5(d)所示,解密时间与解密所需属性数量成线性增长关系.文献[12-14,24]方案的解密时间都随着解密所需属性数量的增长而增长,且文献[14]大概是其他3种方案的2倍.文献[25]方案解密阶段只需4个双线对操作,本文方案解密阶段只需1个双线对操作和1次杂凑运算,然后用获得的解密密钥最终解密密文,整个过程中解密时间与属性数量无关.

综合分析,本文方案在各个阶段的计算时间都与属性数量无关,达到了常数级别.而系统公钥、主私钥、用户密钥及密文长度同样与属性数量无关,实现定长.方案在实现隐藏访问结构的同时,其安全性较其他方案更高.所以,本文方案更加适用于计算、存储及能量资源有限的智能感知终端,为物联网环境中数据安全共享提供新的解决思路.

5 结束语

物联网的迅速发展使其融入至每一个人的生活中,但数据共享的隐私保护依然是制约物联网发展的一个重要因素.因此,本文提出一种基于属性密码方案的物联网数据安全共享方法.本文首先提出一种将IBE转换为支持多值属性与门CP-ABE的通用转换方法,并且转换后的CP-ABE能够继承IBE的特征.例如基于接收者匿名IBE转换的CP-ABE方案具有访问结构隐藏的特性,且方案安全性与原IBE方案安全级别相同.然后基于该转换方法将Wee[26]提出的接收者匿名IBE方案转换为访问结构隐藏的CP-ABE方案(EHAS-CP-ABE),该方案实现了密文、用户私钥、公钥和主私钥长度恒定,且解密只需一个双线对运算.而后将其应用至物联网中的智慧医疗应用场景,并给出应用的系统模型及步骤.最后对方案进行了理论分析与实验验证,分析和实验结果表明本文方案在计算效率和存储负担方面具有优势,同时能够实现访问结构隐藏,为物联网环境下的数据安全共享提供新的解决思路.

通用转换算法中,当k=1时,表示将IBE转换为只支持与门访问结构的ABE.另外,可以采用相似的方法将相应ABE转换为IBE方案,即实现本文提出转换算法的反转换.本文方案中每个属性有相同的属性值个数k,下一步将根据每个属性的实际属性值个数选取不同的取值个数,以及研究具有丰富表达能力且访问结构隐藏的属性基加密方案.

猜你喜欢

私钥公钥密文
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
支持多跳的多策略属性基全同态短密文加密方案
程序员把7500枚比特币扔掉损失巨大
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
国密SM2密码算法的C语言实现