认证密钥交换(authenticated key exchange,简称AKE)协议是密码学中的一个基本模块,在实现彼此认证的基础上,能够为开放网络上的通信节点建立会话密钥,为后续的通信会话提供机密性、完整性、可用性等安全服务.根据所基于的密钥基础设施的不同,AKE协议大致可分为基于公钥密码的AKE协议、基于对称密码的AKE协议、基于口令的AKE协议等不同类型.本文主要关注基于公钥密码的AKE协议中的一类,即,基于属性的AKE(attribute based AKE,简称ABAKE)协议.
为了解决复杂信息系统中的细粒度访问控制问题和传统公钥密码体制在分布式网络中应用时存在的缺陷,密码学者提出了基于属性的加密(attribute based encryption,简称ABE)机制[1].ABE机制能够支持属性的与、或、非和门限操作,实现灵活的访问控制策略,因而在分布式领域具有良好的应用前景,如细粒度访问控制、隐私保护、组密钥管理、定向广播等等[2].如同基于身份的AKE协议是建立在身份基加密的基础之上,学者在ABE体制研究的基础上开始设计ABAKE协议.首先,作为一种AKE协议,ABAKE协议能够为上层的密码算法提供安全的会话密钥,用以保障在不安全网络上所传输信息的机密性、完整性、可用性、不可抵赖性和可控性;其次,作为一种特殊的AKE协议,ABAKE协议继承了ABE体制的优势,即,利用属性描述用户,实现了对用户身份的保护,这也使得ABAKE协议能够满足一些特定应用场景的需求,如网上医疗系统、网上聊天室、军队指挥系统、电子投票系统等等.下面通过一个例子来说明ABAKE协议的应用场景.
在一个社交网站上,当用户向网站注册时,管理员依据用户的属性(如性别、年龄、职业等等)给每个用户分发相应的属性私钥.如图 1所示,当Alice想和一个年龄在23岁~27岁之间、职业是教师的女性交流时,推导一个认证策略TAlice;当Bob想和一个年龄在25岁~30岁之间、职业是医生的男性交流时,推导一个认证策略TBob.若Alice和Bob都拥有相应的属性私钥,则双方就能通过彼此的认证策略,最后可通过ABAKE协议协商出一个会话密钥,实现安全地通信.可以看出:在这样一种场景中,通信双方只需验证对方是否满足自己的要求,而无需关注通信方的具体身份信息,这在一定程度上保护了用户隐私.
![]() | Fig. 1 An application example of ABAKE protocol图 1 ABAKE协议应用场景实例 |
最早的ABAKE协议是Ateniese[3]提出的一个基于属性的秘密握手机制,该机制中,只要通信双方所匹配的属性数目超过某个预先设定的门限,双方就能协商出一个会话密钥,其所处理的认证策略比较简单,即,只支持属性的门限操作.Wang等人[4]基于ABE体制提出了一个ABAKE协议的变体,在他们的协议中,用户属性被进行Hash运算后当做一个用户标识,没有实现基于用户属性的认证.因此,该协议更类似于基于身份的AKE协议. 2010年,Yoneyama[5]利用NAXOS协议的设计技巧,提出了一个两轮ABAKE协议,并在修改后的eCK模型中给出了安全性证明.据我们所知,现有文献中的ABAKE协议都只是在随机预言(random oracle,简称RO)模型下可证安全的.但标准模型是比随机预言模型更为自然、更为合理的一类分析模型,且能比随机预言模型提供更强的安全性保证,因此,设计标准模型下可证安全的ABAKE协议更具有实际意义.
本文在Waters[6]的ABE方案的基础上,采用MTI协议族“加密-解密”的设计思想,并借鉴标准模型下可证安全的基于身份AKE协议[6, 7, 8, 9]的设计方法,设计了一个标准模型下可证安全的ABAKE协议.基于判定性双线性Diffie-Hellman(decisional bilinear Diffie-Hellman,简称DBDH)问题的困难性,给出了所提协议在修改后的BJM模型中的安全性证明.与仅有的在随机预言模型下可证安全的ABAKE协议相比,新设计的协议不仅在安全性上具 有优势,同时计算效率也相当,因此更适合在实际中应用.
本文第1节介绍一些预备知识.第2节给出协议的具体构造.第3节在标准模型下证明所提协议的安全性.第4节讨论所提协议的安全性和计算效率.最后一节总结全文.
1 预备知识 1.1 相关密码组件定义1(双线性映射). 假设G和G1是两个阶均为大素数p的循环群,而g是G的一个生成元,双线性映射e:GxG®G1为具有如下性质的映射:
(1) 双线性:若u,vÎG,且a,b΢p,则e(ua,vb)=e(u,v)ab;
(2) 非退化性:
(3) 可计算性:对任意的u,vÎG,存在一个有效的多项式时间算法来计算e(u,v).
定义2(访问结构[10]). 假设在实体集P={P1,P2,…,Pn}上共享了一个秘密,若P的一个子集能够重构该秘密,则称这个子集为一个授权子集;否则,称其为非授权子集.所有授权子集构成的集族T,称为对该秘密的一个访问结构.一个访问结构T称为单调的,是指若AÎT,AÍBÍP,则BÎT.
定义3(线性秘密共享机制[6]). 一个定义在实体集P上的线性秘密共享机制(linear secret sharing scheme,简称LSSS)具有下述性质:
(1) 所有实体的共享组成¢p上的一个向量;
(2) 存在一个lxn的共享生成矩阵M和一个从{1,2,…,l}到P的映射r,随机选取其中,x 是要共享的秘密,则MvT就是利用共享生成矩阵得到的关于x的l个共享组成的向量,其中,共享(MvT)i属于实体r(i).
按照上述方法定义的LSSS具有线性可重构性:假设P是一个针对访问结构T的LSSS,对授权用户集SÎT,定义I={i:r(i)ÎS}Í{1,…,l},则存在常数集{wi:wi΢p</ sub>,iÎI}使得从而有:
而对于非授权用户集,存在行向量使得w(1,0,…,0)T=-1,并且
定义4(DBDH假设). 给定阶为大素数p的群G和G1以及双线性映射e:GxG®G1,群G上的DBDH问题是指:给定g,W=gw,V=gv,Z=gz,RÎG,判断R=e(g,g)wvz是否成立.定义一个算法S解决DBDH问题的优势为
|Pr[S(g,W,V,Z,e(g,g)wvz)=0]-Pr[S(g,W,V,Z,R)=0]|;
而DBDH假设成立是指:对任意一个多项式时间算法S,其解决DBDH问题的优势是可忽略的.
1.2Waters ABE方案本节介绍Waters[6]提出的一个在标准模型下可证安全的ABE方案,该方案包含以下4种算法:
· Setup(T,nmax).
对于属性域规模参数T和LSSS矩阵的最大列数nmax,选择一个阶为大素数p的群G和G1以及双线性映射e:GxG®G1,记g为G的一个生成元.随机选取hj,attÎG,1≤j≤nmax,1≤att≤T.随机选取a,a΢p,设置系统主公钥MPK为g,e(g,g)a,ga,系统主密钥MSK为ga.
· KeyGen(MSK,SU).
对于一个用户属性集SU,选择随机数生成如下用户私钥SKU:
· Encrypt(MPK,(M,r),m).
(M,r)是表示访问结构的LSSS,其中,M是一个lxnmax的矩阵.随机选择一个向量密文CT计算如下:
,
(M,r)与密文CT一起发送.
· Decrypt(CT,SKU).
假设SU满足(M,r)对应的访问结构,记IÍ{1,…,l}={i:r(i)ÎSU},则存在一组常数集{wi:wi΢p,iÎI}使得然后计算:
为分析基于身份AKE协议的安全性,Chen[8]等学者对BJM模型[11]进行了扩展,定义了ID-BJM模型.本节对ID-BJM模型进行修改,使其能够适应于ABAKE协议的安全性分析.称修改后的BJM模型为AB-BJM模型.
AB-BJM模型包含一个协议参与者集合P和一个主动攻击者M,协议的每个参与者被形式化为预言机.协议的一次运行称为一个会话,并定义和
为第s个会话的参与方,其中,A和B表示系统中的用户,并具有属性集SA和SB以及相应的属性私钥SKA和SKB.另外,每个协议参与方
都推导了一个认证策略
(即ABE机制中的访问结构).攻击者M被模型化为概率多项式时间的图灵机,并具有执行Send,Corrupt和ØØReveal询问请求的能力.
定义5(匹配会话). 如果某个协议参与者发出的每条消息都被相继传送到另外一个协议参与者
,并且
的应答消息被传回到
,作为其会话脚本记录相应的下一条消息,则称这两个协议参与者之间拥有了匹配会话.
在AB-BJM模型中,通过定义一个挑战者C和攻击者M之间的安全性游戏来定义ABAKE协议的安全性.该游戏分为两个阶段:
在第1阶段中,攻击者自适应地进行下述询问请求:
· :攻击者通过该请求初始化一个会话或者向会话参与者发送消息.协议参与者
接受到消息m后按照协议规范执行该协议并输出消息m¢,或者输出一个符号表示接受或者拒绝该会话,并将每个收到和发出的消息都记入其会话脚本中.若输入消息m是系统安全参数,则
为会话的发起者;否则,
担任响应者角色;
· Corrupt(SU):攻击者通过该询问获得系统中具有属性集SU的用户U的长期私钥SKU.接受过Corrupt询问的用户的状态被称为“已腐化”;
· :攻击者通过该询问获取会话密钥.若协议参与者
的状态是“已接受”,则输出该参与方的会话密钥;否则,返回一个符号^表示终止.接受了Reveal询问的协议参与者状态是打开的.
在游戏的某一时刻,M向一个新鲜的协议参与者进行一次Test询问,获得该询问的输出消息.其中,新鲜性和
定义如下:
定义6(新鲜参与者). 一个协议参与者被称为是新鲜的,是指以下条件同时成立:
(1) 处于“已接受”状态;
(2) 未被打开,即没有接受Reveal询问;
(3) 对满足的任何用户U,攻击者没有进行Corrupt(SU)询问;
(4) 与拥有匹配会话的协议参与者
(如果存在的话)未被打开.
定义. 若
是新鲜的,则挑战者通过随机选取bÎ{0,1}来回答该询问:
· 若b=0,则输出协议参与者的会话密钥;
· 否则,输出一个在密钥空间中随机选取的与会话密钥等长的串.
在游戏的第2阶段,攻击者可以继续自适应地执行第1阶段中的3种询问请求,但不能对已经接受过Test询问的协议参与者或者与其拥有匹配会话的协议参与者
(如果存在的话)进行Reveal询问,也不能对满足
的任何用户U进行Corrupt询问.
最后,攻击者M输出一个比特b¢作为对b的猜测.若b¢=b,则称M赢得了该安全性游戏.定义攻击者M的猜测优势为
其中,l是安全参数.
定义7(AB-BJM安全性). 一个ABAKE协议在AB-BJM模型下是安全的,是指下述条件同时成立:
(1) 在只有被动攻击者的情况下,拥有匹配会话的协议参与者和
在接受状态时共享相同的会话密钥,且均匀分布在密钥空间{0,1}k上;
(2) 对任意概率多项式时间的攻击者M,是可忽略的.
类似于基于身份的AKE协议,ABAKE协议也需要满足以下几个基本安全属性:
(1) 已知会话密钥安全性:这是指攻击者不能从已经泄露的会话密钥中得到其他会话密钥的信息;
(2) 抗未知密钥共享攻击:这是指协议参与者没有与攻击者共享会话密钥;
(3) 前向安全:这是指协议参与方中的一方或者多方的长期私钥泄露不影响之前已经建立的会话密钥的安全性.基本的前向安全性,是指协议参与方中一方的长期私钥泄露不影响之前建立的会话密钥的安全性;完善的前向安全性,是指协议参与双方的长期私钥都泄露后,之前已经建立的会话密钥仍是安全的;主密钥前向安全性,是指在系统主密钥泄露之后,之前建立的会话密钥仍是安全的;
(4) 抗密钥泄露后的假冒攻击:这是指当协议参与者的长期私钥泄露后,攻击者可以假冒该参与者,但不能假冒其他协议参与者;
(5) 会话密钥托管:这是指可信第三方通过监控协议参与者的通信过程,就可以根据捕获的消息恢复出会话密钥.协议是否应该具有会话密钥托管性质,取决于具体的应用环境.例如:某些应用环境的安全性要求较高,要求可信第三方能够对所有会话过程进行监控;有些应用环境注重用户隐私,则需要防止会话密钥被可信第三方恢复.
在AB-BJM模型中,攻击者具有获取用户私钥、获取会话密钥和修改协议交互消息的能力,因此,在AB-BJM模型下安全的AB-AKE协议能够抵抗密钥泄露伪装攻击、未知密钥共享攻击,并满足已知会话密钥安全,同时还具有基本的前向安全性.
2 协议描述本节将MTI协议族“加密-解密”的设计思想应用于ABAKE协议,给出本文的第1个在标准模型下可证安全的ABAKE协议(简称为ABAKE1).该协议通过将Waters ABE方案嵌入到其中,使得协议双方的属性集在分别满足彼此的认证策略时,能够用自己的属性私钥以类似于解密的方式从对方发送的消息中得到秘密信息,进而利用该秘密信息计算出相同的会话密钥.ABAKE1协议包括系统建立、私钥生成和密钥交换这3个阶段,具体构造描述如下.
· 系统建立.
选择一个阶为大素数p的乘法循环群G和一个从G到G1的有效双线性映射e:GxG®G1.随机选择a,a΢p,并记g为G的生成元.对于LSSS矩阵最大列数nmax和系统属性域规模参数T,随机选取hj,attÎG,1≤j≤nmax,1≤att≤T.选择安全的Hash函数H:{0,1}®{0,1}k作为会话密钥生成函数.系统的主密钥为< span lang="EN-US" xml:lang="EN-US">ga,公开参数为
{{hj,att,1≤j≤nmax,1≤att≤T},g,e(g,g)a,ga,H,G}.
· 私钥生成.
在该系统中,每个用户U都具有一个属性集SU,系统根据用户属性集为每个用户按照如下方法构造私钥:
其中,是系统随机选取的向量.
· 密钥交换.
假设协议的参与方为A和B,他们分别具有属性集SA和SB,相应的私钥分别为SKA和SKB.密钥交换阶段中的消息交互过程如图 2所示,具体描述如下:
1. A推导一个B的属性集SB所能满足的访问结构A随机选取x=
计算
A将TA={X,mA}和
发 送给B;
2. B推导一个A的属性集SA所能满足的访问结构B随机选取y=
计算
B将TB={Y,mB}和
发送 给A;
3. A利用计算一组常数{wi:wi΢p,rB(i)ÎSA},使得
,然后计算 共享秘密:
![]() | Fig. 2 ABAKE1 protocol图 2 ABAKE1协议 |
A计算会话密钥
B同样利用计算一组常数
使得
然后计算共享秘密:
B计算会话密钥
协议正确性分析:代入A的私钥并利用双线性映射的性质,容易得到:
从而可得;
同理可得,从而有:
因此,用户A与B独立计算的两个会话密钥skAB与skBA相同,这也就说明A与B通过执行一次协议,成功地协商出了相同的会话密钥.
3 安全性证明本节在AB-BJM模型中证明协议ABAKE1是安全的.
定理. 在DBDH假设成立的条件下,ABAKE1协议在AB-BJM模型中是安全的.
证明:
· 我们首先说明,协议ABAKE1满足定义7中的条件(1).
若两个协议参与者按照协议规范执行协议,并且攻击者是被动的,则两个协议参与者都能正确地接受到对方的消息,他们之间拥有匹配会话.又根据协议的正确性分析可得kAB=kBA.所以,两个协议参与方最后能够计算出相同的会话密钥,并且均匀地分布于密钥空间上.
· 其次,我们证明协议ABAKE1满足定义7中的条件(2).
下面我们将证明:若存在多项式时间的攻击者M,能以不可忽略的优势赢得安全性游戏,则我们可以构造一个概率多项式时间的模拟器S,以不可忽略的优势解决DBDH问题.
在开始模拟之前,我们假设攻击者最多涉及到N个协议用户,最多建立qe个会话.S选取JÎ(0,qe)和两个协议用户A,B,并猜测攻击者将会对协议参与者进行Test询问.模拟器S接收到DBDH挑战(G,G1,g,p,W=gw,V=gv,Z=gz,R),以及由攻击者提供的挑战认证策略
和
,用LSSS分别表示为
和
,其中,
是
矩阵,
是
矩阵.在上述假设的基础上,模拟器S的具体构造如下.
初始化. S随机选取a¢Î¢p,令e(g,g)a=e(gw,gv)×e(g,g)a¢,则a=wv+a¢.对属性域内的任一属性attÎ{1,…,T}和 jÎ{1,2,…,nmax},随机选择zj,att΢p,若存在使得
则令
否则,令
S设置系统私钥为ga,并发送{{hj,att,1≤j≤nmax,1≤att≤T},g,e(g,g)a,W}给攻击者M.
由于zj,att是随机选取的,因此,按照上述方法生成的公开参数与真实系统中的公开参数具有相同的分布.
Corrupt(SU):由于,则根据LSSS的定义可得:S可计算一个向量
,使得对任意
,若有
则
并且w1=-1.S选取随机向量
,然后计算:
· 对任意attÎSU,若不存在使得
则有:
其中,
· 否则,若存在使得
则有:
其中,
最后,模拟器S返回攻击者M相应于属性集SU的私钥:
.
若令,则可以看出S生成用户私钥满足正确的分布,即,S生成的用户私钥对M来说是有效的.
:S维护一个最初记录为空的列表
(列表项初始化为(^,^,^,^,^,^)),其中,m是会话参与者收到的协议消息,x是S为
选取的随机向量,m¢是
在接收到消息m后产生的消息,kAB是计算的共享秘密,skAB是最后的会话密钥.当S收到消息m后,按照如下方法处理.
(1) 若m是安全参数,则将设置为会话的发起者,分两种情况处理:
· 若s=J,则S随机选取,x1=0,记向量
然后计算:
最后,S记然后将列表项更新为
(由于S不知道z,故列表中的x记为^);
· 若s¹J,则S按正常的协议规范执行,并更新列表LS.
(2) 若m不是安全参数,S查询列表LS,然后分情况处理:
· 若列表LS中不存在记录则将
设置为会话的响应者,然后按照协议规范选取随机向量x,计算m¢,kAB和skAB,并更新列表LS;
· 若列表LS中存在记录则此时
是一个会话的发起者,S按照协议规范计算kAB和skAB,然后将列表项更新为
· 若列表中LS存在记录则此时
就是S在初始阶段所猜测的协议参与者.假设
S可计算出
,然后令kAB=R×e(Z,ga¢),skAB=H(m¢,m,kAB),并更新列表.可以看出:若R=e(g,g)wvz,则skAB就是一个有效的会话密钥;否则,skAB就是一个取自密钥空间的随机值.
若
是S在初始化阶段所猜测的协议参与者,或者是与其拥有匹配会话的协议参与者(如果存在的话),则S终止模拟;否则,S通过查询列表LS返回相应值.
在模拟过程中的某个时刻,攻击者选择一个新鲜的协议参与者
进行Test询问:
· 若不是模拟器S在初始化阶段所猜测的协议参与者,则S终止模拟;
· 否则,S返回会话密钥skAB=H(m¢,m,kAB),其中,kAB=R×e(Z,ga¢).
输出:当攻击者完成第1阶段的询问后,可以继续进行Corrupt,Send和Reveal这3种询问,但要求不能破坏接受了Test询问的协议参与者的新鲜性.一旦攻击者决定完成询问,输出一个比特b¢作为对测试协议参与者的会话密钥的猜测.S收到b¢后,则将其作为对R的猜测.
分析:可以看出,在整个模拟过程中,模拟器S至少以1/(N2qs)的概率不会终止模拟.而在S没有终止模拟的情况下,对攻击者M而言,S所模拟的安全性游戏与真实的安全性游戏是不可区分的.因此,若假设攻击者M在真实的安全性游戏中的猜测优势为e,则其在S所模拟的安全性游戏中的猜测优势就为e/(N2qs).
若R=e(g,g)wvz,S所模拟的安全性游戏就是完善的,M猜测b的优势就是S判断R的优势,即e/(N2qs);若R是随机数,则M猜测b的优势为0,判断R的优势同样为0.因此,我们可得:
通过上述分析可得:若有攻击者能以不可忽略的优势e赢得安全性游戏,则我们就可以构造一个模拟器S以 不可忽略的优势e/(N2qs)解决DBDH问题.这与DBDH假设矛盾,因此,协议ABAKE1满足定义7中的条件(2).
综之,协议ABAKE1满足定义7,因此在AB-BJM模型中是安全的.
4 安全性和效率分析由于协议ABAKE1在AB-BJM模型中是可证安全的,因此协议ABAKE1能够抵抗密钥泄露伪装攻击、未知密钥共享攻击,并满足已知密钥安全,同时还具有基本的前向安全性.
但是,当通信双方的长期私钥都泄露后,攻击者可根据消息记录和用户私钥恢复出和
进而恢复出共享秘密值
和会话私钥.另外,在系统主密钥ga泄露的情况下,攻击者能利用
和
计算出
进而也能恢复出会话密钥 .
因此,协议ABAKE1不具有完善的前向安全性和主密钥前向安全性,也即具有密钥托管的性质,因此也就只能应用于某些要求可信第三方能够对所有会话过程进行监控的环境中.
下面我们对协议ABAKE1进行增强,给出一个具有主密钥前向安全性的ABAKE协议(简称ABAKE2);然后,将本文所提两个ABAKE协议与已有的ABAKE协议从安全性和计算效率两个方面作一比较.
4.1 无会话密钥托管的ABAKE协议在本节,我们在协议ABAKE1的基础上,通过计算一个额外的Diffie-Hellman秘密,给出能够防止会话密钥托管的ABAKE协议ABAKE2.
协议ABAKE2同样包含系统建立、私钥生成和密钥交换这3个阶段,其中,系统建立和私钥生成阶段与协议ABAKE1完全相同.协议ABAKE2的具体流程如下:
1. 与协议ABAKE1完全相同;
2. 与协议ABAKE1完全相同;
3. A利用计算一组常数{wi:wi΢p,rB(i)ÎSA},使得
然后计算共享秘密:
A计算会话密钥
B同样利用计算一组常数
使得
然后计算共享秘密:
B计算会话密钥
协议ABAKE2与协议ABAKE1的不同之处在于:在最终的会话密钥生成过程中,协议ABAKE2增加了一个额外的Diffie-Hellman共享秘密和
.在这种情况下,即使系统主密钥泄露,由于x1和y1是由协议参与者选取的,因此攻击者无法计算
和
,也就无法恢复会话密钥.所以,协议ABAKE2具有主密钥前向安全性,当然也就具有完善的前向安全性.而ABAKE2协议的主密钥前向安全性导致其不具有会话密钥托管的性质,因此能够应用于一些注重用户隐私的应用环境,防止会话密钥被可信第三方恢复.
类似于ABAKE1协议的安全性证明,我们对第1.3节的AB-BJM模型稍加修改后,即攻击者能够通过一个Corrupt询问请求得到系统主密钥,同样能在DBDH假设下给出协议ABAKE2的安全性证明.
4.2 安全性和效率比较到目前为止,有关ABAKE协议的研究并不多.在本节,我们挑选两个典型的ABAKE协议,与本文所提的两个协议从安全性和计算效率上进行比较.
在比较协议安全性时,我们用ksk表示已知会话密钥攻击,fs-b表示基本的前向安全性,fs-p表示完善的前向安全性,fs-m表示主密钥前向安全性,uks表示未知密钥共享攻击,kci表示密钥泄露伪装攻击.从表 1中可以看出,只有本文所提协议是在标准模型下可证安全的.与Wang[4]的协议相比,我们的协议实现了真正意义上的属性认证,并能够表达丰富的认证策略;与Yoneyama[5]的协议相比,我们的协议具有较弱的安全性假设,易于在实际中应用.
![]() |
Table 1 Comparisons of ABAKE protocols on security 表 1 ABAKE协议安全性比较 |
在比较协议计算效率时,用P表示双线性对运算,E和C分别表示群G中的指数运算和元素的比特长度,T和C1分别表示群G1中的指数运算元素的比特长度,CT表示一个LSSS矩阵的比特长度,CT表示用户发送的消息的比特长度,SK表示用户的属性私钥的比特长度,PK表示系统公钥的比特长度,k表示用户的属性集规模,t表示系统的属性域规模,lxn表示LSSS矩阵规模(l也是LSSS矩阵中出现的属性数目),nmax表示系统所允许的LSSS矩阵的最大列数,统计内容为协议成功运行一次的单方运算消耗和存储消耗.从表 2中可以看出,我们的协议在时间复杂度上与Yoneyama[5]的协议基本相同.而Wang等人[4]的协议由于没有实现属性认证,因而计算效率较高.相比于ABAKE1协议,ABAKE2协议由于不具有会话密钥托管的性质,因而也就多了一次额外的指数运算.在空间复杂度方面,Wang等人[4]的协议由于功能上有所欠缺,其空间复杂度也就最低.而本文所提出的两个ABAKE协议空间复杂度完 全相同,与Yoneyama[5]的协议只是在系统公钥的规模上有所区别.可以看出,本文所提协议的空间复杂度与系统参数呈线性关系,完全可以由PBC(pairing-based cryptography)数据包[12]实现.
![]() |
Table 2 Comparisons of ABAKE protocols on complexity 表 2 ABAKE协议复杂度比较 |
本文在Waters的ABE方案的基础上,提出了一个在标准模型下可证安全的ABAEKE协议,并在AB-BJM模型中证明了所提协议在DBDH假设下是安全的,使得该协议具有未知密钥共享安全性、已知会话密钥安全性、基本前向安全性等基本安全属性.此外,针对无会话密钥托管的应用需求,我们对基本协议进行了扩展,给出了一个能够有效防止密钥托管的ABAKE协议.
[1] | Sahai A, Waters B. Fuzzy identity-based encryption. In: Cramer R, ed. Advances in Cryptology-Eurocrypt 2005. LNCS 3494, Berlin: Springer-Verlag, 2005.457-473 . |
[2] | Su JS, Cao D, Wang XF, Sun YP, Hu QL. Attribute-Based encryption schemes. Ruan Jian Xue Bao/Journal of Software, 2011, 22(6):1299-1315 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/3993.htm |
[3] | Ateniese G, Kirsch J, Blanton M. Secret handshakes with dynamic and fuzzy matching. In: Arbaugh W, ed. Proc. of the NDSS 2007. 2007. 159-177. |
[4] | Wang H, Xu Q, Ban T. A provably secure two-party attribute-based key agreement protocol. In: Sakano H, ed. Proc. of the IIH-MSP 2009. New York: IEEE Computer Society, 2009. 1042-1045 . |
[5] | Yoneyama K. Strongly secure two-pass attribute-based authenticated key exchange. In: Joye M, ed. Proc. of the Paring 2010. LNCS 6487, Berlin: Springer-Verlag, 2010.147-166 . |
[6] | Waters B. Ciphertext-Policy attribute-based encryption: An expressive, efficient, and provably secure realization. In: Catalano D, ed.Proc. of the PKC 2011. LNCS 6571, Berlin: Springer-Verlag, 2011.53-70 . |
[7] | Wang SB, Cao ZF, Dong X. Provably secure identity based authenticated key agreement protocols in the standard model. Chinese Journal of Computers, 2007,30(10):1842-1852 (in Chinese with English abstract). |
[8] | Chen L, Cheng Z, Smart NP. Identity-Based key agreement protocols from pairings. Int’l Journal of Information Security, 2007, 6(4):213-241 . |
[9] | Gao ZG, Feng DG. Efficient identity-based authenticated key agreement protocol in the standard model. Ruan Jian Xue Bao/ Journal of Software, 2011,22(5):1031-1040 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/3828.htm |
[10] | Beimel A. Secure schemes for secret sharing and key distribution [Ph.D. Thesis]. Haifa: Israel Institute of Technology, 1996. |
[11] | Blake S, Johnson C, Menezes A. Key agreement protocols and their security analysis. In: Darnell M, ed. Proc. of the 6th IMA Int’l Conf. on Cryptography and Coding. LNCS 1335, Berlin: Springer-Verlag, 1997.30-45 . |
[12] | The pairing-based cryptography library. http://crypto.stanford.edu/pbc/ |
[2] | 金树,曹丹,王小峰,孙一品,胡乔林.属性基加密体.软件学报,2011,22(6):1299-1315. http://www.jos.org.cn/1000-9825/3993.htm |
[7] | 王圣宝,曹珍富,董晓蕾.标准模型下可证安全的身份基认证密钥协商协议.计算机学报,2007,30(10):1842-1852 . |
[9] | 高志刚,冯登国.高效的标准模型下基于身份认证密钥协商协议.软件学报,2011,22(5):1031-1040. http://www.jos.org.cn/1000-9825/3828.htm |