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

赵志远1 王建华2 朱智强2 孙 磊2

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

摘 要 物联网的发展一直面临着严峻的安全威胁和挑战,而物联网数据的安全共享及细粒度访问控制是其急需应对的安全问题之一.针对该问题,提出一种面向物联网数据安全共享的访问结构隐藏的属性基加密方案.该方案在保证数据隐私的情况下,能够实现密文数据的细粒度访问控制.首先提出一种将身份加密方案(identity-based encryption, IBE)转换为支持多值属性与门的密文策略属性基加密方案(ciphertext-policy attribute-based encryption, CP-ABE)的通用转换方法,并且转换后的CP-ABE能够继承IBE的特征.然后基于该转换方法将Wee提出的接收者匿名IBE方案转换为访问结构隐藏的CP-ABE方案,实现了密文、用户私钥、公钥和主私钥长度恒定,且解密只需一个双线对运算.而后将该CP-ABE方案应用于物联网中的智慧医疗应用场景,并给出应用的系统模型及步骤.最后,理论分析与实验结果表明所提方案在实现访问结构隐藏时,在计算效率、存储负担及安全性方面具有优势,在实际应用于物联网环境时更加高效和安全.

关键词 物联网;隐私保护;数据共享;密文策略属性基加密;隐藏访问结构

物联网(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个不同的大素数,GGT表示2个N=p1p2p3阶循环群,e:G×GGT表示一个满足下列条件的双线性映射.

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

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

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

假设Gp1Gp2Gp3分别表示群G中阶为p1p2p3的子群.若hiGpihjGpjij,那么可以得出e(hi,hj)=1.

为了验证上述结果,假设h1Gp1h2Gp2.令gG为生成元,那么可以得出gp1p2生成群Gp3gp1p3生成群Gp2gp2p3生成群Gp1.因此,对于参数α1α2,可以得出h1=(gp2p3)α1h2=(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},LiVi,加密者定义访问结构A={W1,W2,…,Wn},WiVi.对于满足1≤ini,若Li=Wi,则S满足A,即S A;否则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.

挑战阶段.敌手A提交2个等长的消息同时提交2个挑战访问结构然后,仿真者B随机选择b∈{0,1}并基于加密获得密文并将发送给敌手A.其中,任何私钥询问的属性集合不能满足挑战访问结构,若询问阶段1中属性集合满足挑战访问结构,则

询问阶段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}时,对于每一个WjA,通过二进制编码将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的第ii-k+1位;

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

④ for j=1 to n do

i=j×k

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

*WjA,通过编码使得Wj与串bitj

的第k位相关联*

⑦ end for

⑧ return IDA.

2.2 基于IBE的CP-ABE方案

假设一个身份加密方案IBE有4个多项式算法:IBE.SetupIBE.KeyGenIBE.EncryptIBE.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并将CTiIDi发送给挑战者C进行解密询问.B接收到C返回的明文Mi后,将其发送给A.

挑战阶段. 敌手A提交2个等长的消息同时提交2个挑战访问结构然后,仿真者B调用算法1将访问结构转换为身份并将发送给C.C随机选择b∈{0,1}并基于加密获得密文并将发送给B.B接收到后,将其发送给敌手A.其中,任何询问的属性集合不满足挑战访问结构.若询问阶段1中询问的属性集合满足挑战访问结构,则

询问阶段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个多项式时间算法.

1) Setup(1λ)→{PK,MSK}.属性授权机构执行该算法.该算法以安全参数λ作为输入.首先运行Wee.IBE.Setup(1λ),选择2个阶为N=p1p2p3的循环群GGT,且存在有效的双线性映射e:G×GGT.然后选择α∈Z和一个抵制合谋的杂凑函数H,然后计算e(g1,u),最后输出系统公钥和主私钥MSK=(α,u,g3).

2) KeyGen(PK,MSK,S)→SK.属性授权机构执行该算法.该算法以属性集合S、主私钥MSK和系统公钥PK作为输入.该算法首先调用算法1将S转换为身份IDS∈{0,1}|U|,然后运行Wee.IBE.KeyGen(PK,MSK,IDS),随机选择R3Gp3,最后输出用户私钥

3) Encrypt(PK,A,M)→CT.数据拥有者执行该算法.该算法以明文消息M、访问结构A和系统公钥PK作为输入.该算法首先调用算法1将访问结构A转换为身份IDA∈{0,1}|U|,并运行Wee.IBE.Encrypt(PK,IDA,M).然后,随机选择s∈ZN并计算K=H(e(g1,u)s),而后调用一个对称加密算法计算C=SE.Enc(K,M),最后输出密文CT=(C,C1).

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,|U nk=40.给出一个实际访问结构A=[PatientName:126Xu,Age:62,MedicalHistory:86Prescriptions,Hospital:72Hospital K,Department:42Central Sterile Services Department],则通过算法1将每一个属性名对应的属性值转换成相应的二进制数值,如PatientName:126Xu转换成二进制数为11111110.以此类推,将所有属性名对应的二进制数连接在一起,即可获得转换结果:

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

因为S A,所以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表示支持多值属性与门中每个属性取值的总数.为简单起见,lYn统一用n表示,同时假设用户私钥关联的属性个数也为n.

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

从表1的安全(security)列可以看出,文献[12-14]方案分别支持访问树及LSSS访问结构,表达能力强;文献[25]和本文方案支持多值属性与门(ANDm)访问结构,表达能力次之;文献[24]支持正负属性及通配符的与门访问结构,表达能力最弱.在安全性方面,根据方案抵抗攻击能力可以分为:选择明文攻击(chosen plaintext attack, CPA)、明文校验攻击(plaintext checking attack, PCA)、选择密文攻击(chosen ciphertext attack, CCA)[29].其安全性依次增强,一般安全证明只需用到CPA和CCA.根据游戏开始之前是否需要敌手提供挑战目标分为:选择安全(selective security)和完全安全(full security),选择安全要弱于完全安全.通过二者不同组合达到不同安全级别,从表1中可以看出只有文献[12]和本文方案达到了完全安全的CCA,其他方案的安全性相对弱一些.

从表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 不同隐藏访问结构方案对比

SchemeSecurityParameter SizeAccessStructureSecurityModelPublic KeyMaster Secret KeySecret KeyCiphertextRef [12]TreeFull-CCA(∑ni=1ni+2)|g|+2|gT|(∑ni=1ni+2)|N|+|gT|(n+2)|g|(|α|(∑ni=1ni+1)+1)|g|+(|α|+1)|gT|Ref [13]TreeSelective-CPA(n+1)|g|+|gT|(n+1)|N|(n+1)|g|(n+1)|g|+|gT|Ref [14]LSSSFull-CPA(n+3)|g|+|gT||g|(n+2)|g|(2n+1)|g|+|gT|Ref [24]AND∗+,-Selective-CPA(6n+1)|g|2|N|(2n+1)|g|2|g|+|gT|Ref [25]ANDmFull-CPA(∑ni=1ni+h+1)|g|+|gT|(∑ni=1ni+2)|N|+|g|(h+2)|g|3|g|+|gT|OursANDmFull-CCA2|g|+|gT||N|+2|g||g||g|+|gT|

4.2 实验分析

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

1) 实验环境.64 b Ubuntu 14.04操作系统、Intel® CoreTM i5-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方案中,访问策略的复杂程度影响加密和解密时间.为了说明这一点,本文用(S1 AND S2 AND … AND Sn)形式的访问策略模拟最复杂的情况,其中每个Si都是一个属性.这种方法保证了所有密文组件都参与解密计算.同时假设文献[12]中的α=1;文献[25]中的h=10;多值属性与门中ni=4.本文以这种形式属性数量每次递增10,从10增加到100产生10种不同的访问策略.对于每个访问策略,重复20次实验且每次实验完全独立,然后取平均值作为实验结果.不同方案各阶段仿真时间对比情况如图5所示:

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

如图5(a)所示,系统初始化时间与系统属性数量成线性增长关系.该阶段文献[24]的执行时间远远超过其他方案,这是因为该方案在系统初始化阶段需要为每个属性的正、负及通配符3种可能取值分别设置2次相关系统公钥.而文献[12,25]需要计算个群G中的指数运算,因为本文假设ni=4,所以文献[12,25]的初始化时间小于文献[24].当ni>6,文献[12,25]的初始化时间将大于文献[24].总之,这2种方案的初始化时间较长.文献[13]及文献[14]初始化时间稍短一些,但是依然与系统属性数量成正相关.而本文方案只需1个双线对操作和1个G中的指数运算,与系统属性数量无关.

如图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,下一步将根据每个属性的实际属性值个数选取不同的取值个数,以及研究具有丰富表达能力且访问结构隐藏的属性基加密方案.

参考文献

[1]Bangcle Reserach Institute. 2016 White paper on Internet of things security[J]. Information Security and Communica-tions Privacy, 2017, 5(2): 110-121 (in Chinese)(梆梆安全研究院. 2016物联网安全白皮书[J]. 信息安全与通信保密, 2017, 5(2): 110-121)

[2]Statista Inc. Internet of things (IoT) connected devices installed base worldwide from 2015 to 2025 (in billions) [EB/OL]. 2016 [2018-01-15]. https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/

[3]Zhang Yuqing, Zhou Wei, Peng Anni. Survey of Internet of things security[J]. Journal of Computer Research and Development, 2017, 54(10): 2130-2143 (in Chinese)(张玉清, 周威, 彭安妮. 物联网安全综述[J]. 计算机研究与发展, 2017, 54(10): 2130-2143)

[4]Subashini S, Kavitha V. A survey on security issues in service delivery models of cloud computing[J]. Journal of Network and Computer Applications, 2011, 34(1): 1-11

[5]Sahai A, Waters B. Fuzzy identity-based encryption[G] //LNCS 3494: Proc of Int Conf on the Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2005: 457-473

[6]Dong Xiaolei. Advances of privacy preservation in Internet of things[J]. Journal of Computer Research and Development, 2015, 52(10): 2341-2352 (in Chinese)(董晓蕾. 物联网隐私保护研究进展[J]. 计算机研究与发展, 2015, 52(10): 2341-2352)

[7]Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C] //Proc of the 13th ACM Conf on Computer and Communications Security. New York: ACM, 2006: 89-98

[8]Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C] //Proc of the 28th IEEE Symp on Security and Privacy. Los Alamitos, CA: IEEE Computer Society, 2007: 321-334

[9]Sookhak M, Yu F R, Khan M K, et al. Attribute-based data access control in mobile cloud computing: Taxonomy and open issues[J]. Future Generation Computer Systems, 2017, 72(C): 273-287

[10]Nishide T, Yoneyama K, Ohta K. Attribute-based encryption with partially hidden encryptor-specified access structures[G] //LNCS 5037: Proc of the 6th Int Conf on Applied Cryptography and Network Security. Berlin: Springer, 2008: 111-129

[11]Lai Junzuo, Deng R H, Li Yingjiu. Fully secure cipertext-policy hiding CP-ABE[G] //LNCS 6672: Proc of the 7th Int Conf on Information Security Practice and Experience. Berlin: Springer, 2011: 24-39

[12]Song Yan, Han Zhen, Liu Fengmei, et al. Attribute-based encryption with hidden policies in the access tree[J]. Journal on Communications, 2015, 36(9): 119-126 (in Chinese)(宋衍, 韩臻, 刘凤梅, 等. 基于访问树的策略隐藏属性加密方案[J]. 通信学报, 2015, 36(9): 119-126)

[13]Xu Runhua, Lang Bo. A CP-ABE scheme with hidden policy and its application in cloud computing[J]. International Journal of Cloud Computing, 2015, 4(4): 279-298

[14]Wang Zhiwei, He Mingjun. CP-ABE with hidden policy from Waters efficient construction[J]. International Journal of Distributed Sensor Networks, 2016, 12(1): ID:3257029

[15]Cheung L, Newport C. Provably secure ciphertext policy ABE[C] //Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 456-465

[16]Emura K, Miyaji A, Omote K, et al. A ciphertext-policy attribute-based encryption scheme with constant ciphertext length[J]. International Journal of Applied Cryptography, 2010, 2(1): 46-59

[17]Herranz J, Laguillaumie F, Ràfols C. Constant size ciphertexts in threshold attribute-based encryption[G] //LNCS 6056: Proc of the Int Conf on Practice and Theory in Public Key Cryptography. Berlin: Springer, 2010: 19-34

[18]Chen Cheng, Zhang Zhenfeng, Feng Dengguo. Efficient ciphertext policy attribute-based encryption with constant-size ciphertext and constant computation-cost[G] //LNCS 6980: Proc of the 5th Int Conf on Provable Security. Berlin: Springer, 2011: 84-101

[19]Attrapadung N, Herranz J, Laguillaumie F, et al. Attribute-based encryption schemes with constant-size ciphertexts[J]. Theoretical Computer Science, 2012, 422(3): 15-38

[20]Zhang Yinghui, Zheng Dong, Chen Xiaofeng, et al. Computationally efficient ciphertext-policy attribute-based encryption with constant-size ciphertexts[G] //LNCS 8782: Proc of the 8th Int Conf on Provable Security. Berlin: Springer, 2014: 259-273

[21]Odelu V, Das A K, Rao Y, et al. Pairing-based CP-ABE with constant-size ciphertexts and secret keys for cloud environment[J]. Computer Standards and Interfaces, 2016, 54(1): 3-9

[22]Teng Wei, Yang Geng, Xiang Yang, et al. Attribute-based access control with constant-size ciphertext in cloud computing[J]. IEEE Transactions on Cloud Computing, 2017, 5(4): 617-627

[23]Rao Y S, Dutta R. Recipient anonymous ciphertext-policy attribute based encryption[G] //LNCS 8303: Proc of the Int Conf on Information Systems Security. Berlin: Springer, 2013: 329-344

[24]Zhou Zhibin, Huang Dijiang, Wang Zhijie. Efficient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption[J]. IEEE Transactions on Computers, 2015, 64(1): 126-138

[25]Zhang Leyou, Yin Hongjian. Recipient anonymous ciphertext-policy attribute-based broadcast encryption[J]. International Journal of Network Security, 2018, 20(1): 168-176

[26]Wee H. Déjà Q: Encore! un petit IBE[G] //LNCS 9563: Proc of the Theory of Cryptography Conf. Berlin: Springer, 2016: 237-258

[27]Babu R, Jayashree K. Prominence of IoT and cloud in health care[J]. International Journal of Advanced Research in Computer Engineering and Technology, 2016, 5(2): 420-424

[28]Zhou Jun, Cao Zhenfu, Dong Xiaolei, et al. Securing m-healthcare social networks: Challenges, counter-measures and future directions[J]. IEEE Wireless Communications, 2013, 20(4): 12-21

[29]Zhang Hua, Wen Qiaoyan, Jin Zhengping. Provable Security Algorithms and Protocols[M]. Beijing: Science Press, 2012 (in Chinese)(张华, 温巧燕, 金正平. 可证明安全算法与协议[M]. 北京: 科学出版社, 2012)

[30]Lynn B. The pairing-based cryptography (PBC) library[EB/OL]. 2006 [2018-01-15]. http://crypto.stanford.edu/pbc

[31]Bethencourt J, Sahai A, Waters B. Advanced crypto software collection: The cpabetoolkit[EB/OL]. (2011-03-24) [2018-01-15]. http://acsc.cs.utexas.edu/cpabe

Attribute-Based Encryption for Data Security Sharing of Internet of Things

Zhao Zhiyuan1, Wang Jianhua2, Zhu Zhiqiang2, and Sun Lei2

1(Troops 61516, Beijing 100071) 2(Strategic Support Force Information Engineering University, Zhengzhou 450001)

Abstract The development of Internet of things (IoT) has always been faced with serious security threats and challenges. The security sharing and fine-grained access control of data in the IoT is one of the security issues that urgently need to deal with. In order to solve this problem, an attribute-based encryption (ABE) scheme with the hidden access structure for data security sharing of IoT is proposed. This scheme can achieve fine-grained access control of ciphertext and guarantee data privacy. In this paper, a universal method to convert identity-based encryption (IBE) into ciphertext-policy attribute-based encryption (CP-ABE) is proposed, which supports AND-gate access structure with multiple values. The converted CP-ABE can inherit the characteristics of IBE. Then, the receiver anonymous IBE scheme proposed by Wee is converted to the CP-ABE scheme with the hidden access structure based on the conversion method, which realizes the fixed length of ciphertext, user secret key, public key and master secret key, and only needs one bilinear pairing computation in the decryption phase. The converted scheme is applied to the intelligent medical application scene and the system model and application steps are given. Finally, the results of theoretical analysis and experimental simulation show that the proposed scheme implements the hidden access structure and has advantages in computing efficiency, storage burden and security. It is more efficient and secure when the scheme is applied to the IoT environment.

Key words Internet of things (IoT); privacy protection; data sharing; ciphertext-policy attribute-based encryption (CP-ABE); hidden access structure

(zzy_taurus@foxmail.com)

DOI:10.7544/issn1000-1239.2019.20180288

收稿日期2018-04-16;修回日期:2018-12-20

基金项目国家“九七三”重点基础研究发展计划基金项目(2013CB338000);国家重点研发计划项目(2016YFB0501900)

This work was supported by the National Basic Research Program of China (973 Program) (2013CB338000) and the National Key Research and Development Program of China (2016YFB0501900).

中图法分类号 TP309

Zhao Zhiyuan, born in 1989. PhD. His main research interests include cryptograph theory and cloud computing.

Wang Jianhua, born in 1962. Professor, PhD supervisor. His main research interests include network security.

Zhu Zhiqiang, born in 1961. PhD, professor. His main research interests include cloud computing and information security.

Sun Lei, born in 1973. PhD, professor. His main research interests include cloud computing and information security.