«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (9): 153-160, 182  DOI: 10.19678/j.issn.1000-3428.0053945
0

引用本文  

孙海燕, 李玲玲, 张玲, 等. 一种增强的移动互联网身份基认证密钥协商协议[J]. 计算机工程, 2019, 45(9), 153-160, 182. DOI: 10.19678/j.issn.1000-3428.0053945.
SUN Haiyan, LI Lingling, ZHANG Ling, et al. An Enhanced Identity-based Authentication Key Agreement Protocol for Mobile Internet[J]. Computer Engineering, 2019, 45(9), 153-160, 182. DOI: 10.19678/j.issn.1000-3428.0053945.

基金项目

国家自然科学基金(61502436,61672471);河南省科技攻关项目(172102210060);郑州轻工业大学博士基金(2014BSJJ081)

通信作者

孙海燕(1983-), 女, 讲师、博士, 主研方向为密码协议, E-mail:sunhaiyan2520@163.com

作者简介

李玲玲, 硕士研究生;
张玲, 黄万伟, 博士;
张建伟, 黄万伟, 博士

文章历史

收稿日期:2019-02-19
修回日期:2019-04-12
一种增强的移动互联网身份基认证密钥协商协议
孙海燕 , 李玲玲 , 张玲 , 张建伟 , 黄万伟     
郑州轻工业大学 软件学院, 郑州 450002
摘要:针对双线性对运算耗时较多和PKI证书管理负担重的问题,王真等人提出基于身份的移动互联网高效认证密钥协商协议(通信学报,2017年第8期),但该协议不能抵抗临时私钥泄露攻击,不具备eCK安全性。为此,提出一种不使用双线性对运算的身份基认证密钥协商协议,并在GDH假设和随机预言机模型下,证明其具备eCK安全性。分析结果表明,该协议密钥协商阶段仅需4个椭圆曲线点乘运算,与CKD-10、XW-12、WML-17等协议相比效率较高,单轮通信次数和计算代价较少,适用于移动互联网环境。
关键词双线性对    攻击    eCK模型    基于身份的密码学    认证密钥协商    
An Enhanced Identity-based Authentication Key Agreement Protocol for Mobile Internet
SUN Haiyan , LI Lingling , ZHANG Ling , ZHANG Jianwei , HUANG Wanwei     
Software Engineering College, Zhengzhou University of Light Industry, Zhengzhou 450002, China
Abstract: To address the problems of time-consuming bilinear pairings and the heavy burden of PKI certificate management, WANG Z, et al.proposed an identity-based efficient Authentication Key Agreement(AKA) protocol for mobile Internet(Journal of Communications, 2017, No.8), but this protocol cannot resist the attack of temporary private key leakage and does not have eCK security.For this reason, an identity-based authentication AKA protocol without bilinear pairings operation is proposed, whose eCK security is proved under the GDH assumption and random oracle model.Analysis results show that this protocol only needs four elliptic curve point multiplication in the key agreement stage, which is more efficient than CKD-10, XW-12, WML-17 and other protocols.Meanwhile, its single round communication times and computational cost are less, which is suitable for mobile Internet environment.
Key words: bilinear pairings    attack    eCK model    identity-based cryptography    Authentication Key Agreement(AKA)    
0 概述

认证密钥协商(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阶循环加法群, 并令PG的一个生成元。G上的Diffie-Hellman假设[17]描述如下:

1) 计算性Diffie-Hellman(CDH)假设:对于未知的a, b$\mathbb{Z}$q*, 给定PaPbP, 在多项式时间算法内计算abP是无法实现的。

2) 判定性Diffie-Hellman(DDH)假设:对于未知的a, b, c$\mathbb{Z}$q*, 给定PaPbPcP, 在多项式时间算法内无法判定cab mod q是否成立。

3) 间隙性Diffie-Hellman(GDH)假设:对于未知的a, b$\mathbb{Z}$q*, 给定PaPbP, 在多项式时间算法内借助DDH预言机计算abP是无法实现的。

1.2 eCK安全模型

适合ID-AKA协议的eCK安全模型, 事实上是原始eCK安全模型[9]从PKI环境下到基于身份密码学环境下的转换。

1) 协议参与者:协议参与者被模拟为一组参与方, 其中每一个参与者被模拟为概率多项式时间(Probability Polynomial Time, PPT)图灵机。任意两方可以参与协议的一次执行。每一个参与方至多执行多项式次会话。令Πi, jm表示IDi拥有的与意定同伴IDj的第m次会话。如果IDi能够计算Πi, jm的会话密钥SKi, jm, 则称Πi, jm被接受。

2) 攻击者模型:敌手$\mathcal{A}$同样被模拟为一个PPT图灵机, 其控制整个通信链路, 可以根据自己意愿随意地窃听、拦截、暂停、重放、修改和插入消息。敌手$\mathcal{A}$可以执行以下询问:

(1) EphemeralKeyReveal(Πi, jm):敌手访问会话Πi, jm的临时私钥。

(2) SessionKeyReveal(Πi, jm):敌手获取已接受会话Πi, jm的会话密钥。

(3) StaticKeyReveal(IDi):返回参与方IDi的长期私钥给敌手$\mathcal{A}$

(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, 敌手$\mathcal{A}$可以询问任意多项式数量界的除Test外的其他5个查询。阶段1结束, 敌手开始阶段2。在阶段2, 敌手$\mathcal{A}$选择测试会话Πi, jm来执行唯一的Test(Πi, jm)查询, 其中Πi, jm必须拥有新鲜性。阶段2结束后敌手依旧可以执行除Test外的其他5个查询, 但要保持Πi, jm的新鲜性。一旦敌手给出b的猜测b′, 游戏结束。

4) 分析:当b′=bΠi, jm依然是新鲜的, 敌手$\mathcal{A}$赢得上述游戏。敌手优势被定义为Adv$\mathcal{A}$(k)=|2Pr[$\mathcal{A}$成功]-1|。

定义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上的一条椭圆曲线, GE/Fp上的一个生成元P生成的素数阶q循环加法群。首先, KGC从群$\mathbb{Z}$q*中选取一个随机元素s为主私钥, 设置主公钥为Psys=sP, 然后选择2个Hash函数H1:{0, 1}*×G$\mathbb{Z}$q*H2:{0, 1}*×{0, 1}*×G4→{0, 1}k。最后, KGC秘密地保存主私钥, 公开(E/Fp, G, q, P, Psys, H1, H2)。

2) 用户公钥和私钥生成。假定用户A的身份为IDA。KGC从群$\mathbb{Z}$q*中选取一个随机元素rA, 计算RA=rAPhA=H1(IDA, RA)与dA=rA+hAs, 设置A的私钥为dA, 并将dA以安全的模式传输给用户A。此外, KGC公开IDARA。用户A计算公钥PA=RA+hAPsys, 且在dAP=PA的相等下判定dA是有效的。

3) 认证密钥协商。假定持有唯一身份IDA的用户A和持有唯一身份IDB的用户B执行此阶段, A为发起方, 协商过程如下:

(1) A从群$\mathbb{Z}$q*中选取一个随机元素eA作为其临时私钥, 计算其临时公钥EA=eAP, 然后发送{RA, EA}给B。

(2) B收到EA后, 从群$\mathbb{Z}$q*中选取一个随机元素eB作为其临时私钥, 计算其临时公钥EB=eBP, 然后发送{RB, EB}给A。

(3) 此时A持有EBRBIDB, A计算PB=RB+H1(IDB, RB)Psys, KAB1=dAEB+(dA+eA)PB, KAB2=eAEB, 以及共享的会话密钥SKAB=H2(IDA, IDB, EA, EB, KAB1, KAB2)。

(4) 此时B拥有EARAIDA, 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持有IDARAdA, 用户B持有IDBdBRB。假冒B的攻击者$\mathcal{A}$(B)实施的临时私钥泄露攻击过程如下:

1) 用户A从群$\mathbb{Z}$q*中选取一个随机元素eA, 计算EA=eAP, 发送{RA, EA}给$\mathcal{A}$(B)。

2) $\mathcal{A}$(B)收到EA后, 随机选取eB$\mathbb{Z}$q*, 计算PB=RB+H1(IDB, RB)Psys, EB=eBPPB, 发送{RB, EB}给A。

3) 用户A按照协议规定进行会话密钥计算, 即SKAB=H2(IDA, IDB, EA, EB, KAB1, KAB2), 其中, KAB1=dAEB+(dA+eA)PB, KAB2=eAEB, PB=RB+H1(IDB, RB)Psys

攻击者$\mathcal{A}$(B)首先获取A选取的临时私钥eA, 然后计算PA=RA+H1(IDA, RA)Psys, PB=RB+H1(IDB, RB)Psys, KBA1=eAPB+eBPA, KBA2=eAEB, 以及会话密钥SKBA=H2(IDA, IDB, EA, EB, KBA1, KBA2)。

分析:因为KAB1=dAEB+(dA+eA)PB=dA(eBPPB)+dAPB+eAPB= dAeBP+eAPB=eBPA+eAPB=KBA1, KAB2=eAEB=KBA2, 所以SKAB=SKBA, 这意味着敌手$\mathcal{A}$(B)和A持有的会话密钥相同。因此, WML-17协议不能满足临时私钥泄露攻击抵抗性。

2.3 形式化下敌手的攻击

本节将指出WML-17协议不具备eCK安全性, 即证明存在一个攻击者$\mathcal{A}$总能赢得其和模拟器C$\mathcal{H}$间的游戏。假定攻击者$\mathcal{A}$想要攻击目标会话ΠA, B, 其中用户A持有IDA, 用户B持有IDB。游戏描述如下:

1) 游戏初始化:模拟器C$\mathcal{H}$生成系统主密钥s和系统参数(E/Fp, G, q, P, Psys, H1, H2), 然后发送系统参数给攻击者$\mathcal{A}$。模拟器C$\mathcal{H}$利用s为用户A产生RAdA, 为用户B产生RBdB。此处, H1H2是一般的哈希函数。

2) 游戏的第一阶段:

(1) $\mathcal{A}$执行Send(ΠA, B, ⊥)查询后。收到Send查询后, 模拟器C$\mathcal{H}$从群$\mathbb{Z}$q*中选取一个随机元素eA, 计算EA=eAP, 回复{RA, EA}给$\mathcal{A}$

(2) $\mathcal{A}$执行Send(ΠB, Am, ⊥)查询后。收到Send查询后, 模拟器C$\mathcal{H}$从群$\mathbb{Z}$q*中选取一个随机元素eB, 计算EB=eBP, 回复{RB, EB}给$\mathcal{A}$

(3) 获取RB后, 攻击者$\mathcal{A}$随机选择eB$\mathbb{Z}$q*, 计算PB=RB+H1(IDB, RB)Psys, EB=eBPPB。然后$\mathcal{A}$执行Send(ΠA, B, {RB, EB})查询。收到此Send查询后, C$\mathcal{H}$将该会话的状态设定为已接受。

(4) 攻击者$\mathcal{A}$查询EphemeralKeyReveal(ΠA, B), 然后获得参与方A的临时密钥eA

3) 游戏的第二阶段:由新鲜性定义可知会话ΠA, B是新鲜的。敌手$\mathcal{A}$执行Test(ΠA, B)。收到Test询问, C$\mathcal{H}$公平地抛一次硬币b∈{0, 1}, 如果b=0, C$\mathcal{H}$返回其按照协议具体计算的值SKA, B, 如果b=1, 返回随机值sk′∈{0, 1}k。此处SKA, B=H2(IDA, IDB, EA, EB, KAB1, KAB2), 其中, KAB1=dAEB+(dA+eA)PB, KAB2=eAEB, PB=RB+H1(IDB, RB)Psys

4) 游戏结束:攻击者$\mathcal{A}$先计算PA=RA+H1(IDA, RA)Psys, PB=RB+H1(IDB, RB)Psys, KBA1=eAPB+eBPA, KBA2=eAEB, 以及SKBA=H2(IDA, IDB, EA, EB, KBA1, KBA2)。然后根据$SK_{\text{A, B}}^{\ell }\overset{?}{\mathop{=}}\, A{{K}_{\text{BA}}}$的结果来给定b的结果。如果SKA, B=SKBA, 攻击者$\mathcal{A}$猜测b=0;否则, 猜测b=1。

分析:因为SKA, B=SKBA(其证明过程类似于等式SKAB=SKBA的证明), 所以攻击者$\mathcal{A}$总是正确地猜测b的值, 即Pr[$\mathcal{A}$成功]=1, 由此可知, Adv$\mathcal{A}$(k)=|2Pr[$\mathcal{A}$成功]-1|=1。因此, WML-17协议不具备eCK安全性。

2.4 安全缺陷

2.2节与2.3节的分析展示了WML-17协议的安全缺陷, 这使得此WML-17协议的安全证明变得无效。通过仔细观察, 笔者发现WML-17协议的安全证明中存在不严格的分析。具体来说, 文献[19]中对第3类情况“攻击者$\mathcal{A}$只掌握双方临时私钥”的分析是不恰当的。在“攻击者$\mathcal{A}$只掌握双方临时私钥”的情况下, 需要考虑测试会话ΠA, B的匹配会话是否存在。如果ΠA, B无匹配会话, 则B的临时密钥eB是由攻击者$\mathcal{A}$选择的, 模拟器是无法获知eB的; 如果ΠA, B有匹配会话, 则B的临时密钥eB是由模拟器C$\mathcal{H}$选择的, 此时攻击者$\mathcal{A}$可以通过执行EphemeralKeyReveal询问获取临时密钥eB。在ΠA, B没有匹配会话的情况下, 即在模拟器C$\mathcal{H}$无法获取eB的情况下, C$\mathcal{H}$无法由KAB1=eB(aP)+eA(bP)+CDH(aP, bP, abP)推导出CDH(aP, bP, abP)的。因此, 模拟器C$\mathcal{H}$不能解决GDH问题, 进而归约失败。

3 增强性方案

为弥补WML-17协议中的安全缺陷, 本文提出一个增强性方案。该方案的系统建立和用户公私钥阶段与WML-17协议基本一致。增强性方案的认证密钥协商阶段描述如下:

假定持有唯一身份IDA的用户A和持有唯一身份IDB的用户B执行此阶段, A为发起方, 其协商过程如下:

1) A从群$\mathbb{Z}$q*中选取一个随机元素eA作为其临时私钥, 计算其临时公钥EA=eAP, 发送{RA, EA}给B。

2) B从群$\mathbb{Z}$q*中选取一个随机元素eB作为其临时私钥, 计算其临时公钥EB=eBP, 发送{RB, EB}给A。

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=PAdBP=PBEB=eBPEA=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假设以及函数H1H2被视为随机预言机的情况下, 增强性方案满足第1.2节概述的eCK安全性。

证明  如果定义3展示的2个条件成立, 则协议满足eCK安全性。第1个条件由第3节展示的正确性得以保证。下面采取反证法论证第2个条件成立, 即假设一个敌手$\mathcal{A}$以不容忽视的机率成功攻破协议, 则能够利用$\mathcal{A}$构造一个能够以不容忽视的机率求解GDH问题的模拟器C$\mathcal{H}$

假定k为安全参数, 攻击协议的PPT敌手$\mathcal{A}$以不容忽视的优势Adv$\mathcal{A}$(k)赢得游戏。假定游戏中, 每一方至多从事ns(k)个会话, $\mathcal{A}$涉及至多np(k)个不同的诚实参与方以及执行至多n0H2查询。由于H2被视为随机预言机, 发起Test询问(成功概率为1/2)后, $\mathcal{A}$只能通过猜测攻击(直接猜出正确的会话密钥)、密钥复制攻击(敌手建立一个会话, 它和目标会话非匹配, 但会话密钥却相同)以及伪造攻击(某一时刻, 敌手自己计算Ka, b1Ka, b2, 然后执行H2(IDa, IDb, Ea, Eb, Ka, b1, Ka, b2))赢得游戏(即能够成功区分随机串和目标会话的会话密钥)。

对于猜测攻击而言, 因为会话密钥是H2的输出, $\mathcal{A}$直接猜出正确会话密钥的机率为O(1/2k)。显然, 概率是可忽略不计的。对于密钥复制攻击而言, 其概率为O(ns(k)2/2k), 可忽略不计。

目前只剩下伪造攻击, 伪造攻击采取归约的方式进行分析。如果敌手$\mathcal{A}$以不容忽视的机率通过伪造攻击攻破协议, 则可以利用敌手$\mathcal{A}$来构造以不容忽视的优势解决GDH问题的模拟器C$\mathcal{H}$。在这里, C$\mathcal{H}$$\mathcal{A}$一起执行安全模型中描述的游戏, C$\mathcal{H}$回答$\mathcal{A}$的所有询问, 令AdvC$\mathcal{H}$GDH(k)为C$\mathcal{H}$解决GDH的优势。给定GDH问题实例(U=uP, V=vP), 其中u, v$\mathbb{Z}$q*, PG, C$\mathcal{H}$的任务是在DDH的帮助下计算CDH(U, V)=uvP。当游戏开始时, C$\mathcal{H}$以1/np(k)2ns(k)的概率猜测敌手$\mathcal{A}$选取的测试会话为Πa, bn, 其中a, b∈[1, np(k)]且a=b, n∈[1, ns(k)]。接下来, 模拟器C$\mathcal{H}$需要猜测敌手的策略选择。根据定义2, 需要考虑测试会话Πa, bn有无匹配会话。如果测试会话Πa, bn拥有匹配会话Πb, al, 则敌手$\mathcal{A}$是被动敌手, 敌手只能被动转发两参与方之间的消息, 进一步说明Πa, bnΠb, al的消息以及临时私钥是由模拟器C$\mathcal{H}$产生的。无匹配会话意味着敌手$\mathcal{A}$是主动敌手, 即IDa的消息以及临时私钥是由模拟器C$\mathcal{H}$产生的, 而IDb的消息以及临时私钥则是由敌手产生的。基于上述分析和新鲜性定义, 模拟器C$\mathcal{H}$必须从如下4种情况中猜测敌手的策略选择, 其中, IDa的临时私钥指IDa持有的目标会话Πa, bn的临时私钥, IDb的临时私钥指IDb持有的匹配会话Πb, al的临时私钥。

1) 策略S1:被动敌手$\mathcal{A}$不知道IDa的长期私钥和IDb的临时私钥。

2) 策略S2:被动敌手$\mathcal{A}$不知道IDaIDb的临时私钥。

3) 策略S3:主动或被动敌手$\mathcal{A}$不知道IDa的临时私钥和IDb的长期私钥。

4) 策略S4:主动或被动敌手$\mathcal{A}$不知道IDaIDb的长期私钥。

如果$\mathcal{A}$以不容忽视的机率通过“伪造攻击”攻破协议, 则必有一个策略下其概率不容忽视。

4.1 策略S1分析

在策略S1下对敌手$\mathcal{A}$和模拟器C$\mathcal{H}$间的游戏进行分析, 具体如下:

1) 建立阶段:C$\mathcal{H}$建立KGC的公钥和所有参与方的长期私钥。C$\mathcal{H}$维护列表ΛSetup, 条目形如(IDi, (di, Ri), Pi)且值初始为空。

(1) C$\mathcal{H}$选取一随机值PsysG作为KGC的公钥。

(2) 对于参与方IDa而言, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ha, 计算Ra=UhaPsys, 同时令H1(IDa, Ra)=ha, da=⊥, 设置daIDa的长期私钥。因此, 参与方IDa的长期公钥可以计算为Pa=Ra+H1(IDa, Ra)Psys=Ra+haPsys=U

(3) 对于其他参与方IDvi(ia), C$\mathcal{H}$$\mathbb{Z}$q*中选取2个随机元素hidi, 计算Ri=diPhiPsys, 同时令H1(IDi, Ri)=hi, 并设置diIDi的长期私钥。因此, Pi=Ri+hiPsys=diP

(4) 对于任意参与方IDi(i∈[1, np(k)]), C$\mathcal{H}$给敌手$\mathcal{A}$传输(IDi, Ri), 并分别在列表ΛSetupΛH1中插入条目(IDi, (di, Ri), Pi)和(IDi, Ri, hi)。

2) 游戏第一阶段:C$\mathcal{H}$维护4个列表ΛH1ΛH2ΛSendΛReveal, 分别用于处理随机预言机H1H2、Send和SessionKeyReveal询问。对于如下询问, $\mathcal{A}$可以无次序地询问多项式界次数, C$\mathcal{H}$回答$\mathcal{A}$的询问如下:

(1) H1(IDi, Ri):如果ΛH1中有与(IDi, Ri, hi)相匹配的条目存在, C$\mathcal{H}$响应hi$\mathcal{A}$。否则, C$\mathcal{H}$从群$\mathbb{Z}$q*中选取一个随机元素hi, 在列表ΛH1中插入条目(IDi, Ri, hi), 并回复hi$\mathcal{A}$

(2) StaticKeyReveal(IDi):如果IDiIDa, C$\mathcal{H}$中止; 否则, C$\mathcal{H}$返回IDi的长期私钥di$\mathcal{A}$

(3) KGCStaticKeyReveal:C$\mathcal{H}$退出游戏。

(4) EphemeralKeyReveal(Πi, jm):如果Πi, jm是匹配会话Πb, al, C$\mathcal{H}$退出游戏; 否则, C$\mathcal{H}$返回临时私钥ri, jm作为应答。

(5) Send(Πi, jm, M):C$\mathcal{H}$维护的列表ΛSend中的条目形如(Πi, jm, trani, jm, ri, jm)且值初始为空, 其中, trani, jm是到现在Πi, jm传输和得到的一切消息集, ri, jmIDi所拥有的会话Πi, jm的临时私钥。

如果Mtrani, jm中第2个消息, C$\mathcal{H}$设置该会话为已接受; 否则, 若Πi, jm=Πb, al, C$\mathcal{H}$ri, jm=⊥, 在列表ΛSetup中获取Rb, 给$\mathcal{A}$回应{Rb, Eb=V=vP}, 并修改ΛSendΠi, jm的条目; 否则, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ri, jm, 在列表ΛSetup中获取Ri, 给$\mathcal{A}$回应{Ri, ri, jmP}, 并修改ΛSetupΠi, jm的条目。

(6) SessionKeyReveal(Πi, jm):C$\mathcal{H}$维护的列表ΛReveal中的条目形如(Πi, jm, IDinim, IDrespm, Einim, Erespm, SKi, jm)且值初始为空, 其中下标ini代表发起者, 下标resp代表响应者。

如果Πi, jm尚未接受, C$\mathcal{H}$返回⊥; 否则, 若Πi, jm是测试会话Πa, bn或者匹配会话Πb, al, C$\mathcal{H}$结束游戏; 否则, 若Πi, jm的会话密钥SKi, jm已存在, C$\mathcal{H}$返回SKi, jm; 否则, 从列表ΛSend中获取{Ri, Ei}和{Rj, Ej}, 执行H1(IDi, Ri)查询获取结果hi, 执行H1(IDj, Rj)查询获取结果hj, 计算Pi=Ri+hiPsysPj=Rj+hjPsys, 然后以(IDi, IDj, Ei, Ej)(IDi为发起者)或者(IDj, IDi, Ej, Ei)(IDj为发起者)为索引, 查看列表ΛH2中是否有匹配项使得DDH(Pi+2Ei, Pj+2Ej, Ki, j1)=1和DDH(Pi+Ei, Pj+Ej, Ki, j2)=1。如果存在, 则从列表ΛH2中获取hK并设置其为SKi, jm; 否则均匀选取随机串SKi, jm∈{0, 1}k。最后C$\mathcal{H}$返回SKi, jm, 并在列表ΛReveal中插入条目(Πi, jm, IDinim, IDrespm, Einim, Erespm, SKi, jm)。

(7) H2(IDi, IDj, Ei, Ej, Ki, j1, Ki, j2):C$\mathcal{H}$维护的列表ΛH2的条目形如(IDi, IDj, Ei, Ej, Ki, j1, Ki, j2, hK)。

如果列表ΛH2中存在匹配条目(IDi, IDj, Ei, Ej, Ki, j1, Ki, j2), C$\mathcal{H}$返回hK; 否则, 以(*, IDi, IDj, Ei, Ej, *)为索引在ΛReveal中查找。如果匹配条目存在, 验证DDH(Pi+2Ei, Pj+2Ej, Ki, j1)=1和DDH(Pi+Ei, Pj+Ej, Ki, j2)=1是否成立, 其中, Pi=Ri+hiPsys, Pj=Rj+hjPsys, hi=H1(IDi, Ri)。如果2个等式均成立, 从ΛReveal中获取相应的SKi, jm并令其为hK; 否则(没有匹配条目, 或起码有一个等式不成立), 均匀选取随机串hK∈{0, 1}k。最终C$\mathcal{H}$返回hK, 并更新列表ΛH2

3) 游戏第二阶段:$\mathcal{A}$仅能查询一次下列询问。

Test(Πi, jm):若Πi, jm非目标会话Πa, bn, C$\mathcal{H}$退出游戏; 否则, C$\mathcal{H}$从{0, 1}k中均匀选取随机串ξ, 并返回ξ$\mathcal{A}$

分析:如果$\mathcal{A}$选定策略S1、目标会话Πa, bn及其匹配会话Πb, al, 则C$\mathcal{H}$不会退出游戏。如果$\mathcal{A}$通过伪造攻击赢得游戏, 则其必定查询了H2(IDa, IDb, Ea, V, Ka, b1, Ka, b2)或H2(IDb, IDa, V, Ea, Ka, b1, Ka, b2), 其中EaV分别是C$\mathcal{H}$选取的IDaIDb的临时公钥, Ka, b1=(DLOG(U)+2ra, bn)(Pb+2V), Ka, b2=(DLOG(U)+ra, bn)(Pb+V)。为解决GDH问题, C$\mathcal{H}$ΛH2中获取条目, 然后利用自己知道的ra, bn, 输出GDH(U, V)=Ka, b1Ka, b2ra, bn(Pb+3V)。

C$\mathcal{H}$解决GDH问题的优势为:

$ \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$\mathcal{A}$(k)是不容忽视的, 则C$\mathcal{H}$的优势是不容忽视的, 这与GDH假设矛盾。

4.2 策略S2分析

对策略S2的分析如下:

1) 建立阶段:C$\mathcal{H}$建立KGC的公私钥和所有参与方的长期私钥。C$\mathcal{H}$维护初始空列表ΛSetup, 条目形如(IDi, (di, Ri), Pi)。

(1) C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素s作为KCG的主私钥。因此, 此事件可以模拟主私钥前向安全性。

(2) 对于任意参与方IDi(i∈[1, np(k)]), C$\mathcal{H}$$\mathbb{Z}$q*中选取2个随机元素hidi, 计算Ri=diPhiPsys, 同时令H1(IDi, Ri)=hi, 并设置diIDi的长期私钥。因此, Pi=Ri+hiPsys=diP

(3) 对于任意参与方IDi(i∈[1, np(k)]), C$\mathcal{H}$给敌手$\mathcal{A}$传输(IDi, Ri), 并分别在列表ΛSetupΛH1中插入条目(IDi, (di, Ri), Pi)和(IDi, Ri, hi)。

2) 游戏第一阶段:C$\mathcal{H}$维护4个初始空列表ΛH1ΛH2ΛSendΛReveal, 分别用于处理随机预言机H1H2、Send和SessionKeyReveal询问。对于如下询问, $\mathcal{A}$可以无次序的询问多项式界次数。C$\mathcal{H}$回答$\mathcal{A}$的询问如下:

(1) H1(IDi, Ri)、H2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2)和SessionKeyReveal(Πi, jm):这3个询问的回答同S1。

(2) StaticKeyReveal(IDi):C$\mathcal{H}$返回IDi的长期私钥di$\mathcal{A}$

(3) KGCStaticKeyReveal:C$\mathcal{H}$返回s$\mathcal{A}$

(4) EphemeralKeyReveal(Πi, jm):若Πi, jm=Πa, bnΠi, jm=Πb, al, C$\mathcal{H}$退出游戏; 否则, C$\mathcal{H}$返回临时私钥ri, jm给敌手$\mathcal{A}$

(5) Send(Πi, jm, M):C$\mathcal{H}$维护的列表ΛSend中的条目形如(Πi, jm, trani, jm, ri, jm), 其中trani, jm是目前Πi, jm传输和得到的一切消息集, ri, jmIDi所拥有的会话Πi, jm的临时私钥。

如果Mtrani, jm中第2个消息, C$\mathcal{H}$设置该会话为已接受; 否则, 若Πi, jm=Πa, bn, C$\mathcal{H}$ri, jm=⊥, 在列表ΛSetup中获取Ra, 给$\mathcal{A}$回应{Ra, Ea=U}, 并修改ΛSendΠi, jm的条目; 否则, 若Πi, jm=Πb, al, C$\mathcal{H}$ri, jm=⊥, 在列表ΛSetup中获取Rb, 给$\mathcal{A}$回应{Rb, Eb=V=vP}, 并修改ΛSendΠi, jm的条目; 否则, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ri, jm, 在列表ΛSetup中获取Ri, 给$\mathcal{A}$回应{Ri, ri, jmP}, 并修改ΛSendΠi, jm的条目。

3) 游戏第二阶段:$\mathcal{A}$仅能查询一次Test(Πi, jm)。此询问的回答同S1。

分析:如果$\mathcal{A}$选定策略S2、目标会话Πa, bn及其匹配会话Πb, al, 则C$\mathcal{H}$不会退出游戏。如果$\mathcal{A}$通过伪造攻击赢得游戏, 则其必定查询了H2(IDa, IDb, U, V, Ka, b1, Ka, b2)或H2(IDb, IDa, V, U, Ka, b1, Ka, b2), 其中UV分别是C$\mathcal{H}$选取的IDaIDb的临时公钥, Ka, b1=(da+2DLOG(U))(Pb+2V), Ka, b2=(da+DLOG(U))(Pb+V)。为解决GDH问题, C$\mathcal{H}$从列表ΛH2中获取条目, 然后利用自己知道的da, 输出$ GDH\left(U, V \right)=\frac{1}{2}K_{a, b}^{1}-K_{a, b}^{2}+{{d}_{a}}{{P}_{b}} $

C$\mathcal{H}$解决GDH问题的优势为:

$ 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$\mathcal{A}$(k)是不容忽视的, 则C$\mathcal{H}$的优势是不容忽视的, 这与GDH假设矛盾。

4.3 策略S3分析

在策略S3下, 敌手可能是主动敌手, 因此, IDb的消息以及临时私钥可能是敌手产生的。

1) 建立阶段:C$\mathcal{H}$建立KGC的公钥和所有参与方的长期私钥, C$\mathcal{H}$维护列表ΛSetup, 条目形如(IDi, (di, Ri), Pi)。

(1) C$\mathcal{H}$选取一随机值PsysG作为KGC的公钥。

(2) 对于参与方IDb来说, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素hb, 计算Rb=VhbPsys, 同时令H1(IDb, Rb)=hb, db=⊥, 设置dbIDb的长期私钥。因此, 参与方IDb的长期公钥可以计算为Pb=Rb+H1(IDb, Rb)Psys=Rb+hbPsys=V

(3) 对于其他参与方IDi(ib), C$\mathcal{H}$$\mathbb{Z}$q*中选取2个随机元素hidi, 计算Ri=diPhiPsys, 同时令H1(IDi, Ri)=hi, 并设置diIDi的长期私钥。因此, Pi=Ri+hiPsys=diP

(4) 对于任意参与方IDi(i∈[1, np(k)]), C$\mathcal{H}$给敌手$\mathcal{A}$传输(IDi, Ri), 并分别在列表ΛSetupΛH1中插入条目(IDi, (di, Ri), Pi)和(IDi, Ri, hi)。

2) 游戏第一阶段:C$\mathcal{H}$维护4个列表ΛH1ΛH2ΛSendΛReveal, 分别用于处理随机预言机H1H2、Send和SessionKeyReveal询问。对于如下询问, A可以无次序的询问多项式界次数。C$\mathcal{H}$回答$\mathcal{A}$的询问如下:

(1) H1(IDi, Ri)、KGCStaticKeyRevealH2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2):这3个询问的回答如同S1。

(2) StaticKeyReveal(IDi):如果IDiIDb, C$\mathcal{H}$中止; 否则, C$\mathcal{H}$返回IDi的长期私钥di$\mathcal{A}$

(3) EphemeralKeyReveal(Πi, jm):如果Πi, jm是测试会话Πa, bn, C$\mathcal{H}$退出游戏; 否则, C$\mathcal{H}$返回临时私钥ri, jm作为应答。

(4) Send(Πi, jm, M):C$\mathcal{H}$维护的列表ΛSend中的条目形如(Πi, jm, trani, jm, ri, jm), 其中, trani, jmΠi, jm传输和得到的一切消息集, ri, jmIDi所拥有的会话Πi, jm的临时私钥。

如果Mtrani, jm中第2个消息, C$\mathcal{H}$设置该会话为已接受; 否则, 如果Πi, jm=Πa, bn, C$\mathcal{H}$ri, jm=⊥, 在列表ΛSetup中获取Ra, 给$\mathcal{A}$回应{Ra, Ea=U}, 并修改ΛSendΠi, jm的条目; 否则, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ri, jm, 在列表ΛSetup中获取Ri, 给$\mathcal{A}$回应{Ri, ri, jmP}, 并修改ΛSendΠi, jm的条目。

(5) SessionKeyReveal(Πi, jm):此询问和S1的基本一致, 不同之处在于S1中匹配会话是必定存在, S3中匹配会话是有可能存在。

3) 游戏第二阶段:A仅能查询一次Test(Πi, jm)。此询问的回答同S1。

分析:如果$\mathcal{A}$选定策略S3、目标会话Πa, bn及其匹配会话Πb, al(如有), 则C$\mathcal{H}$不会退出游戏。如果$\mathcal{A}$通过伪造攻击赢得游戏, 则其必定查询了H2(IDa, IDb, U, Eb, Ka, b1, Ka, b2)或H2(IDb, IDa, Eb, U, Ka, b1, Ka, b2), 其中, UC$\mathcal{H}$返回的临时公钥, EbC$\mathcal{H}$选定的(有匹配会话)或者敌手选取的(无匹配会话), Ka, b1=(da+2DLOG(U))(V+2Eb), Ka, b2=(da+DLOG(U))(V+Eb)。为解决GDH问题, C$\mathcal{H}$从列表ΛH2中获取条目, 然后利用自己知道的da, 输出$GDH(U, V)=2K_{a, b}^{2}-\frac{\text{1}}{\text{2}}K_{a, b}^{1}-\frac{{{d}_{a}}}{2}(3V+2{{E}_{b}})$

C$\mathcal{H}$解决GDH问题的优势为:

$ 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$\mathcal{A}$(k)是不容忽视的, 则C$\mathcal{H}$的优势是不容忽视的, 这与GDH假设矛盾。

4.4 策略S4分析

对策略S4的分析如下:

1) 建立阶段:C$\mathcal{H}$建立KGC的公钥和所有参与方的长期私钥。C$\mathcal{H}$维护列表ΛSetup, 条目形如(IDi, (di, Ri), Pi)。

(1) C$\mathcal{H}$选取一随机值PsysG作为KGC的公钥。

(2) 对于参与方IDa而言, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ha, 计算Ra=UhaPsys, 同时令H1(IDa, Ra)=ha, da=⊥, 设置daIDa的长期私钥。因此, 参与方IDa的长期公钥可以计算为Pa=Ra+H1(IDa, Ra)Psys=Ra+haPsys=U

(3) 对于参与方IDb而言, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素hb, 计算Rb=VhbPsys, 同时令H1(IDb, Rb)=hb, db=⊥, 设置dbIDb的长期私钥。因此, 参与方IDb的长期公钥可以计算为Pb=Rb+H1(IDb, Rb)Psys=Rb+hbPsys=V

(4) 对于其他参与方IDi(ia, ib), C$\mathcal{H}$$\mathbb{Z}$q*中选取2个随机元素hidi, 计算Ri=diPhiPsys, 同时令H1(IDi, Ri)=hi, 并设置diIDi的长期私钥。因此, Pi=Ri+hiPsys=diP

(5) 对于任意参与方IDi(i∈[1, np(k)]), C$\mathcal{H}$给敌手$\mathcal{A}$传输(IDi, Ri), 并分别在列表ΛSetupΛH1中插入条目(IDi, (di, Ri), Pi)和(IDi, Ri, hi)。

2) 游戏第一阶段:C$\mathcal{H}$维护4个列表ΛH1ΛH2ΛSendΛReveal, 分别用于处理随机预言机H1H2、Send和SessionKeyReveal询问。对于如下询问, $\mathcal{A}$可以无次序地询问多项式界次数。C$\mathcal{H}$回答$\mathcal{A}$的询问如下:

(1) SessionKeyReveal(Πi, jm)、KGCStaticKeyRevealH1(IDi, Ri)、H2(IDi, IDj, Ri, Rj, Ei, Ej, Ki, j1, Ki, j2):这4个询问的回答同S3。

(2) StaticKeyReveal(IDi):如果IDi=IDaIDi=IDb, C$\mathcal{H}$结束游戏; 否则, C$\mathcal{H}$返回IDi的长期私钥di$\mathcal{A}$

(3) EphemeralKeyReveal(Πi, jm):C$\mathcal{H}$返回临时私钥ri, jm给敌手$\mathcal{A}$

(4) Send(Πi, jm, M):C$\mathcal{H}$维护的列表ΛSend中的条目形如(Πi, jm, trani, jm, ri, jm), 其中, trani, jmΠi, jm传输和得到的所有消息集, ri, jmIDi所拥有的会话Πi, jm的临时私钥。

如果Mtrani, jm中第2个消息, C$\mathcal{H}$设置该会话为已接受; 否则, C$\mathcal{H}$$\mathbb{Z}$q*中选取一个随机元素ri, jm, 在列表ΛSetup中获取Ri, 给$\mathcal{A}$回应{Ri, ri, jmP}, 并修改ΛSendΠi, jm的条目。

3) 游戏第二阶段:$\mathcal{A}$仅能查询一次Test(Πi, jm)。此询问的回答同S1。

分析:如果$\mathcal{A}$选择定策略S4、目标会话Πa, bn及其匹配会话Πb, al(有的话), 则C$\mathcal{H}$不会退出游戏。如果$\mathcal{A}$通过伪造攻击赢得游戏, 则其必定查询了H2(IDa, IDb, Ea, Eb, Ka, b1, Ka, b2)或H2(IDb, IDa, Eb, Ea, Ka, b1, Ka, b2), 其中Ea=ra, bnPC$\mathcal{H}$返回的临时公钥, EbC$\mathcal{H}$选定的(有匹配会话)或者敌手选取的(无匹配会话), Ka, b1=(DLOG(U)+2ra, bn)(V+2Eb), Ka, b2=(DLOG(U)+ra, bn)(V+Eb)。为解决GDH问题, C$\mathcal{H}$ΛH2中获取条目, 然后利用自己知道的ra, bn, 输出GDH(U, V)=2Ka, b2Ka, b1+2ra, bnEb

C$\mathcal{H}$解决GDH问题的优势为:

$ 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$\mathcal{A}$(k)是不容忽视的, 则C$\mathcal{H}$的优势是不容忽视的, 这与GDH假设矛盾。

5 协议比较

对本文改进协议和其他无双线性对的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. (0)
[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 (0)
[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. (0)
[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. (0)
[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. (0)
[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. (0)
[7]
BELLARE M, ROGAWAY P.Entity authentication and key distribution[C]//Proceedings of Cryptology-Crypto'93.Berlin, Germany: Springer, 1993: 232-249. (0)
[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. (0)
[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. (0)
[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 (0)
[11]
曹雪菲, 寇卫东, 樊凯, 等. 无双线性对的基于身份的认证密钥协商协议[J]. 电子与信息学报, 2009, 31(5): 1241-1244. (0)
[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 (0)
[13]
李坤.基于身份的认证密钥协商协议研究[D].西安: 西安电子科技大学, 2013. http://cdmd.cnki.com.cn/Article/CDMD-10701-1013307658.htm (0)
[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. (0)
[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. (0)
[16]
孙海燕.认证密钥协商协议及其应用[D].北京: 北京邮电大学, 2014. http://cdmd.cnki.com.cn/article/cdmd-10013-1015527367.htm (0)
[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 (0)
[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. (0)
[19]
王真, 马兆丰, 罗守山. 基于身份的移动互联网高效认证密钥协商协议[J]. 通信学报, 2017, 38(8): 19-27. (0)
[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. (0)