认证密钥协商(Authentication Key Agreement, AKA)机制允许隐式认证的两个或多个参与方能够在公开网络下协商出一个只有他们自己知道的共享会话密钥, 以确保后续会话消息的机密性、认证性和完整性。基于身份的AKA(ID-AKA)协议[1]由于不存在基于PKI的AKA协议中严重的证书管理问题, 因此受到研究者广泛的关注。
自使用双线性对运算的ID-AKA协议[2]被提出以来, 大量类似协议相继出现[3-5]。由文献[3, 6]可知, 在同样安全等级下, 一个双线性对的操作代价是一个椭圆曲线点乘操作代价的3倍~20倍。在移动互联网中, 对于传感器节点等资源受限的节点而言, 基于双线性对运算的协议执行效率较低, 而不使用双线性对运算的ID-AKA协议能更好地适应资源受限的设备。
文献[7]构建了一种适用于AKA协议的形式化安全模型——BR(Bellare-Rogaway)模型, 此后, mBR模型、CK (Canetti-Krawczyk)模型[8]和eCK模型[9]等相继被提出。上述安全模型都试图捕捉尽可能多的安全属性[4], 其中, eCK安全模型捕捉的安全属性最多, CK模型捕捉的安全性属性次之, mBR模型捕捉的安全属性最少。在现有不使用双线性对的ID-AKA协议中, 文献[10]协议在CK模型下进行安全性证明, 文献[11-13]协议基于mBR模型, 文献[14-15]协议基于CK模型, 只有文献[16-19]协议基于eCK模型, 其中:文献[17]提出一种需要6个椭圆曲线点乘运算的不使用双线性对的ID-AKA协议; 文献[18]提出一种需要5个椭圆曲线点乘运算的协议; 文献[19]提出一种只需要4个点乘运算的协议WML-17, 协议效率较高。
本文指出WML-17协议在eCK模型下存在不安全性, 进而提出一个eCK安全且不使用双线性对的ID-AKA协议。针对WML-17协议不能抵抗临时私钥泄露攻击的问题, 分析形式化下敌手的攻击方式, 指出文献[19]安全性证明中的缺陷。在此基础上, 提出一个增强性方案, 并证明其在GDH困难问题假设下能够达到eCK安全。
1 预备知识 1.1 复杂性假设令G表示素数q阶循环加法群, 并令P为G的一个生成元。G上的Diffie-Hellman假设[17]描述如下:
1) 计算性Diffie-Hellman(CDH)假设:对于未知的a, b∈
2) 判定性Diffie-Hellman(DDH)假设:对于未知的a, b, c∈
3) 间隙性Diffie-Hellman(GDH)假设:对于未知的a, b∈
适合ID-AKA协议的eCK安全模型, 事实上是原始eCK安全模型[9]从PKI环境下到基于身份密码学环境下的转换。
1) 协议参与者:协议参与者被模拟为一组参与方, 其中每一个参与者被模拟为概率多项式时间(Probability Polynomial Time, PPT)图灵机。任意两方可以参与协议的一次执行。每一个参与方至多执行多项式次会话。令Πi, jm表示IDi拥有的与意定同伴IDj的第m次会话。如果IDi能够计算Πi, jm的会话密钥SKi, jm, 则称Πi, jm被接受。
2) 攻击者模型:敌手
(1) EphemeralKeyReveal(Πi, jm):敌手访问会话Πi, jm的临时私钥。
(2) SessionKeyReveal(Πi, jm):敌手获取已接受会话Πi, jm的会话密钥。
(3) StaticKeyReveal(IDi):返回参与方IDi的长期私钥给敌手
(4) KGCStaticKeyReveal:敌手得到KGC的主私钥。
(5) Send(Πi, jm, M):敌手代表参与方IDj给会话Πi, jm发送消息M(M可以为空消息λ), 并且得到参与方IDi的回答。空消息λ意味着IDi为会话发起者。如果消息非空, 需要进一步判断IDi是否是会话发起者。如果IDi为会话发起者, 仅做出决定(接受或者拒绝); 否则, 返回消息M′并做出决定(接受或者拒绝)。
(6) Test(Πi, jm):Test询问要求Πi, jm是新鲜的(下文将给出新鲜性的定义), 且只允许敌手执行一次。收到此询问后, 一次公平硬币b∈{0, 1}会被执行。如果b=0, 敌手会得到一个会话密钥; 否则, 敌手会得到一个随机串(其和会话密钥密钥同样本空间)。
3) 游戏:游戏分为2个阶段:阶段1和阶段2。在阶段1, 敌手
4) 分析:当b′=b和Πi, jm依然是新鲜的, 敌手
定义1(匹配会话) 设会话Πi, jm和Πj, in已经接受, 如果参与方IDi计算Πi, jm的会话密钥的消息集{IDi, IDj, Mi, Mj}和参与方IDj计算Πj, in的会话密钥的消息集{IDj, IDi, Mj, Mi}是相同的, 则称Πi, jm和Πj, in为匹配会话。
定义2(新鲜性) 假定Πi, jm是已接受的会话。如果满足下列情况, 则Πi, jm是新鲜的:
1) Πi, jm及其匹配会话Πj, in(存在的话)的会话密钥不能被敌手获取。
2) 当Πi, jm持有匹配会话时, 参与方IDi的长期私钥以及在Πi, jm中的临时私钥不能同时被敌手获取, 参与方IDj的长期私钥以及在匹配会话Πj, in中的临时私钥不能同时被敌手获取。
3) 当Πj, in没有匹配会话时, 参与方IDi的长期私钥以及在Πi, jm中的临时私钥不能同时被敌手获取, 参与方IDj的长期私钥不能被敌手得到。
定义3(eCK安全性) 如果一个ID-AKA协议满足如下条件, 则称其是安全的:
1) 在良性敌手面前, 持有匹配会话的会话总是与其匹配会话持有相同的会话密钥。
2) 没有一个PPT敌手能够以不容忽视的优势赢取游戏。
2 WML-17协议及安全性分析 2.1 协议描述WML-17协议[19]由以下3个阶段构成:
1) 系统建立。给定安全参数k, 信任机构KGC首先构造(E/Fp, G, q, P), 其中, p为一个k位的大素数, E/Fp为有限域Fp上的一条椭圆曲线, G为E/Fp上的一个生成元P生成的素数阶q循环加法群。首先, KGC从群
2) 用户公钥和私钥生成。假定用户A的身份为IDA。KGC从群
3) 认证密钥协商。假定持有唯一身份IDA的用户A和持有唯一身份IDB的用户B执行此阶段, A为发起方, 协商过程如下:
(1) A从群
(2) B收到EA后, 从群
(3) 此时A持有EB、RB与IDB, A计算PB=RB+H1(IDB, RB)Psys, KAB1=dAEB+(dA+eA)PB, KAB2=eAEB, 以及共享的会话密钥SKAB=H2(IDA, IDB, EA, EB, KAB1, KAB2)。
(4) 此时B拥有EA、RA与IDA, B计算PA=RA+H1(IDA, RA)Psys, KBA1=dBEA+(dB+eB)PA, KBA2=eBEA, 以及共享的会话密钥SKBA=H2(IDA, IDB, EA, EB, KBA1, KBA2)。
2.2 非形式化下敌手的攻击假定参与方为A和B, A是发起者, A持有IDA、RA、dA, 用户B持有IDB、dB、RB。假冒B的攻击者
1) 用户A从群
2)
3) 用户A按照协议规定进行会话密钥计算, 即SKAB=H2(IDA, IDB, EA, E′B, KAB1, KAB2), 其中, KAB1=dAE′B+(dA+eA)PB, KAB2=eAE′B, PB=RB+H1(IDB, RB)Psys。
攻击者
分析:因为KAB1=dAE′B+(dA+eA)PB=dA(e′BP-PB)+dAPB+eAPB= dAe′BP+eAPB=e′BPA+eAPB=KBA1, KAB2=eAE′B=KBA2, 所以SKAB=SKBA, 这意味着敌手
本节将指出WML-17协议不具备eCK安全性, 即证明存在一个攻击者
1) 游戏初始化:模拟器C
2) 游戏的第一阶段:
(1)
(2)
(3) 获取RB后, 攻击者
(4) 攻击者
3) 游戏的第二阶段:由新鲜性定义可知会话ΠA, Bℓ是新鲜的。敌手
4) 游戏结束:攻击者
分析:因为SKA, Bℓ=SKBA(其证明过程类似于等式SKAB=SKBA的证明), 所以攻击者
2.2节与2.3节的分析展示了WML-17协议的安全缺陷, 这使得此WML-17协议的安全证明变得无效。通过仔细观察, 笔者发现WML-17协议的安全证明中存在不严格的分析。具体来说, 文献[19]中对第3类情况“攻击者
为弥补WML-17协议中的安全缺陷, 本文提出一个增强性方案。该方案的系统建立和用户公私钥阶段与WML-17协议基本一致。增强性方案的认证密钥协商阶段描述如下:
假定持有唯一身份IDA的用户A和持有唯一身份IDB的用户B执行此阶段, A为发起方, 其协商过程如下:
1) A从群
2) B从群
3) 收到{RB, EB}后, A计算PB=RB+H1(IDB, RB)Psys, KAB1=(dA+2eA)(PB+2EB), KAB2=(dA+eA)(PB+EB), 以及共享的会话密钥SKAB=H2(IDA, IDB, EA, EB, KAB1, KAB2)。
4) 收到{RA, EA}后, B计算PA=RA+H1(IDA, RA)Psys, KBA1=(dB+2eB)(PA+2EA), KBA2=(dB+eB)(PA+EA), 以及共享的会话密钥SKBA=H2(IDA, IDB, EA, EB, KBA1, KBA2)。
增强性方案的正确性验证如下:因为G为加法循环群且dAP=PA、dBP=PB、EB=eBP、EA=eAP, 所以KAB2=(dA+2eA)(PB+2EB)=dAPB+2dAEB+2eAPB+4eAEB=dAdBP+2dAeBP+2eAdBP+4eAeBP=dBPA+2dBEA+2eBPA+4eBEA=dB(PA+2EA)+2eB(PA+2EA)=KBA1, 同理可得KAB2=KBA2, 因此, SKA, B1=SKBA。
4 安全性证明定理1 在GDH假设以及函数H1和H2被视为随机预言机的情况下, 增强性方案满足第1.2节概述的eCK安全性。
证明 如果定义3展示的2个条件成立, 则协议满足eCK安全性。第1个条件由第3节展示的正确性得以保证。下面采取反证法论证第2个条件成立, 即假设一个敌手
假定k为安全参数, 攻击协议的PPT敌手
对于猜测攻击而言, 因为会话密钥是H2的输出,
目前只剩下伪造攻击, 伪造攻击采取归约的方式进行分析。如果敌手
1) 策略S1:被动敌手
2) 策略S2:被动敌手
3) 策略S3:主动或被动敌手
4) 策略S4:主动或被动敌手
如果
在策略S1下对敌手
1) 建立阶段:C
(1) C
(2) 对于参与方IDa而言, C
(3) 对于其他参与方IDvi(i≠a), C
(4) 对于任意参与方IDi(i∈[1, np(k)]), C
2) 游戏第一阶段:C
(1) H1(IDi, Ri):如果ΛH1中有与(IDi, Ri, hi)相匹配的条目存在, C
(2) StaticKeyReveal(IDi):如果IDi是IDa, C
(3) KGCStaticKeyReveal:C
(4) EphemeralKeyReveal(Πi, jm):如果Πi, jm是匹配会话Πb, al, C
(5) Send(Πi, jm, M):C
如果M是trani, jm中第2个消息, C
(6) SessionKeyReveal(Πi, jm):C
如果Πi, jm尚未接受, C
(7) H2(IDi, IDj, Ei, Ej, Ki, j1, Ki, j2):C
如果列表ΛH2中存在匹配条目(IDi, IDj, Ei, Ej, Ki, j1, Ki, j2), C
3) 游戏第二阶段:
Test(Πi, jm):若Πi, jm非目标会话Πa, bn, C
分析:如果
C
$ \mathop{Adv}_{C\mathcal{H}}^{\text{GDH}}\left( k \right)\ge \frac{Ad{{v}_{\mathcal{A}}}\left( k \right)}{4{{n}_{0}}\mathop{n}_{p}^{2}(k)\mathop{n}_{s}^{2}(k)} $ |
因此, 如果Adv
对策略S2的分析如下:
1) 建立阶段:C
(1) C
(2) 对于任意参与方IDi(i∈[1, np(k)]), C
(3) 对于任意参与方IDi(i∈[1, np(k)]), C
2) 游戏第一阶段:C
(1) H1(IDi, Ri)、H2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2)和SessionKeyReveal(Πi, jm):这3个询问的回答同S1。
(2) StaticKeyReveal(IDi):C
(3) KGCStaticKeyReveal:C
(4) EphemeralKeyReveal(Πi, jm):若Πi, jm=Πa, bn或Πi, jm=Πb, al, C
(5) Send(Πi, jm, M):C
如果M是trani, jm中第2个消息, C
3) 游戏第二阶段:
分析:如果
C
$ Adv_{C\mathcal{H}}^{\text{GDH}}\left( k \right)\ge \frac{Ad{{v}_{\mathcal{A}}}\left( k \right)}{4{{n}_{0}}n_{p}^{2}\left( k \right)n_{s}^{2}(k)} $ |
因此, 如果Adv
在策略S3下, 敌手可能是主动敌手, 因此, IDb的消息以及临时私钥可能是敌手产生的。
1) 建立阶段:C
(1) C
(2) 对于参与方IDb来说, C
(3) 对于其他参与方IDi(i≠b), C
(4) 对于任意参与方IDi(i∈[1, np(k)]), C
2) 游戏第一阶段:C
(1) H1(IDi, Ri)、KGCStaticKeyReveal和H2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2):这3个询问的回答如同S1。
(2) StaticKeyReveal(IDi):如果IDi是IDb, C
(3) EphemeralKeyReveal(Πi, jm):如果Πi, jm是测试会话Πa, bn, C
(4) Send(Πi, jm, M):C
如果M是trani, jm中第2个消息, C
(5) SessionKeyReveal(Πi, jm):此询问和S1的基本一致, 不同之处在于S1中匹配会话是必定存在, S3中匹配会话是有可能存在。
3) 游戏第二阶段:A仅能查询一次Test(Πi, jm)。此询问的回答同S1。
分析:如果
C
$ Adv_{C\mathcal{H}}^{\text{GDH}}\left( k \right)\ge \frac{Ad{{v}_{\mathcal{A}}}\left( k \right)}{4n_{0}^{2}n_{p}^{2}\left( k \right)n_{s}^{2}(k)} $ |
因此, 如果Adv
对策略S4的分析如下:
1) 建立阶段:C
(1) C
(2) 对于参与方IDa而言, C
(3) 对于参与方IDb而言, C
(4) 对于其他参与方IDi(i≠a, i≠b), C
(5) 对于任意参与方IDi(i∈[1, np(k)]), C
2) 游戏第一阶段:C
(1) SessionKeyReveal(Πi, jm)、KGCStaticKeyReveal、H1(IDi, Ri)、H2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2):这4个询问的回答同S3。
(2) StaticKeyReveal(IDi):如果IDi=IDa或IDi=IDb, C
(3) EphemeralKeyReveal(Πi, jm):C
(4) Send(Πi, jm, M):C
如果M是trani, jm中第2个消息, C
3) 游戏第二阶段:
分析:如果
C
$ Adv_{C\mathcal{H}}^{\text{GDH}}\left( k \right)\ge \frac{Ad{{v}_{\mathcal{A}}}\left( k \right)}{4n_{0}^{2}n_{p}^{2}\left( k \right)n_{s}^{2}(k)} $ |
因此, 如果Adv
对本文改进协议和其他无双线性对的ID-AKA协议在效率和安全性方面进行比较。由于无双线性对的协议往往基于点乘、Hash运算、点加、点减等运算, 因此本文只考虑时间复杂度相对比较大的点乘运算。令TEM表示执行一次点乘运算所耗费的时间。为评估方案的安全性, 此处考虑协议采取的安全模型以及是否满足eCK安全性, 比较结果如表 1所示。
![]() |
下载CSV 表 1 不同协议的效率与安全性比较 |
由表 1可知:与FG-10协议[14]和Li-13协议[13]相比, 本文改进协议效率相同但拥有较强的安全性; 与CKD-10协议[12]、XW-12协议[15]、WML-17协议[19]相比, 本文改进协议的安全性强且效率高; 与SWZ-16协议[16-17]和NCLH-16协议[18]相比, 本文改进协议与其具有同样的安全性, 但效率最高。
综上, 与现有无双线性对的ID-AKA协议相比, 本文改进协议具有最优的安全性, 并达到了最优的轮效率和计算效率, 因此其更适合应用于移动互联网等实际应用场景。
6 结束语本文分析文献[19]中无双线性对运算的ID-AKA协议, 证明该协议无法满足eCK安全性, 同时给出非形式化和形式化下敌手的攻击方式, 指出其安全证明中的缺陷。在此基础上, 提出一个增强性方案, 并证明该方案具有eCK安全性。分析结果表明, 本文协议在单轮的情况下仅需要4个点乘运算完成密钥协商阶段, 计算效率较高, 适合用于移动互联网等实际应用场景。由于无双线性对运算的ID-AKA协议在seCK模型[20]下不安全, 因此下一步将对此进行改进, 设计一个seCK安全的ID-AKA协议。
[1] |
SHAMIR A.Identity-based cryptosystems and signature schemes[C]//Proceedings of Cryptology-Crypto'84.Berlin, Germany: Springer, 1984: 47-53.
( ![]() |
[2] |
SMART N P. An identity based authenticated key agreement protocol based on the Weil pairing[J]. Electronics Letters, 2002, 38(13): 630-632. DOI:10.1049/el:20020387 ( ![]() |
[3] |
CHEN Liqun, CHENG Zhaohui, SMART N P. Identity-based key agreement protocols from pairings[J]. International Journal of Information Security, 2007, 6(4): 213-241. ( ![]() |
[4] |
HUANG Hai, CAO Zhenfu.An ID-based authenticated key exchange protocol based on bilinear Diffie-Hellman problem[C]//Proceedings of the 4th International Symposium on Information, Computer, and Communications Security.Berlin, Germany: Springer, 2009: 363-368.
( ![]() |
[5] |
PANDIT T, BARUA R, TRIPATHY S.eCK secure single round ID-based authenticated key exchange protocols with master perfect forward secrecy[C]//Proceedings of the 8th International Conference on Network and System Security.Berlin, Germany: Springer, 2014: 435-447.
( ![]() |
[6] |
ARANHAD F, FAZ-HERNÁNDEZ A, LÓPEZ J, et al.Faster implementation of scalar multiplication on Koblitz curves[C]//Proceedings of the 2nd International Conference on Cryptology and Information Security in Latin America.Berlin, Germany: Springer, 2012: 177-193.
( ![]() |
[7] |
BELLARE M, ROGAWAY P.Entity authentication and key distribution[C]//Proceedings of Cryptology-Crypto'93.Berlin, Germany: Springer, 1993: 232-249.
( ![]() |
[8] |
CANETTI R, KRAWCZYK H.Analysis of key-exchange protocols and their use for building secure channels[C]//Proceedings of Cryptology-Eurocrypt'01.Berlin, Germany: Springer, 2001: 453-474.
( ![]() |
[9] |
LaMACCHIA B, LAUTER K, MITYAGIN A.Stronger security of authenticated key exchange[C]//Proceedings of the 1st International Conference on Provable Security.Berlin, Germany: Springer, 2007: 1-16.
( ![]() |
[10] |
ZHUA R W, YANG Guoming, WONG D S. An efficient identity-based key exchange protocol with KGS forward secrecy for low-power devices[J]. Theoretical Computer Science, 2007, 378(2): 198-207. DOI:10.1016/j.tcs.2007.02.021 ( ![]() |
[11] |
曹雪菲, 寇卫东, 樊凯, 等. 无双线性对的基于身份的认证密钥协商协议[J]. 电子与信息学报, 2009, 31(5): 1241-1244. ( ![]() |
[12] |
CAO Xuefei, KOU Weidong, DU Xiaoni. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges[J]. Information Sciences, 2010, 180(15): 2895-2903. DOI:10.1016/j.ins.2010.04.002 ( ![]() |
[13] |
李坤.基于身份的认证密钥协商协议研究[D].西安: 西安电子科技大学, 2013. http://cdmd.cnki.com.cn/Article/CDMD-10701-1013307658.htm
( ![]() |
[14] |
FIORE D, GENNARO R.Making the Diffie-Hellman protocol identity-based[C]//Proceedings of Cryptology-CT-RSA'10.Berlin, Germany: Springer, 2010: 165-178.
( ![]() |
[15] |
XIE Min, WANG Libin. One-round identity-based key exchange with perfect forward security[J]. Information Processing Letters, 2012, 112(14/15): 587-591. ( ![]() |
[16] |
孙海燕.认证密钥协商协议及其应用[D].北京: 北京邮电大学, 2014. http://cdmd.cnki.com.cn/article/cdmd-10013-1015527367.htm
( ![]() |
[17] |
SUN Haiyan, WEN Qiaoyan, ZHANG Hua, et al. A strongly secure identity-based authenticated key agreement protocol without pairings under the GDH assumption[J]. Security and Communication Networks, 2015, 8(17): 3167-3179. DOI:10.1002/sec.1241 ( ![]() |
[18] |
NI Liang, CHEN Gongliang, LI Jianhua, et al. Strongly secure identity-based authenticated key agreement protocols without bilinear pairings[J]. Information Sciences, 2016, 367. ( ![]() |
[19] |
王真, 马兆丰, 罗守山. 基于身份的移动互联网高效认证密钥协商协议[J]. 通信学报, 2017, 38(8): 19-27. ( ![]() |
[20] |
SUN Haiyan, WEN Qiaoyan, LI Wenmin. A strongly secure pairing-free certificateless authenticated key agreement protocol under the CDH assumption[J]. SCIENCE CHINA Information Sciences, 2016, 59(3): 1-15. ( ![]() |