Advanced Search
Volume 44 Issue 12
Dec.  2022
Turn off MathJax
Article Contents
Huang Dexing. A DESIGN OF DOUBLE INJECTION TYPE MAGNETO-DIODE[J]. Journal of Electronics & Information Technology, 1986, 8(2): 104-109.
Citation: CHENG Qingfeng, MA Yuqian. Cryptoanalysis on the Forward Security of Two Authenticated Key Protocols[J]. Journal of Electronics & Information Technology, 2022, 44(12): 4294-4303. doi: 10.11999/JEIT211137

Cryptoanalysis on the Forward Security of Two Authenticated Key Protocols

doi: 10.11999/JEIT211137
Funds:  The National Natural Science Foundation of China (61872449)
  • Received Date: 2021-10-15
  • Accepted Date: 2022-05-05
  • Rev Recd Date: 2022-04-20
  • Available Online: 2022-05-10
  • Publish Date: 2022-12-16
  • At present, network security and privacy have attracted extensive attention. Forward security is a security attribute of Authenticated Key Agreement protocol (AKA) proposed by Günther in 1989. Since then, this property has become one of the hot topics. This paper analyzes the security properties of two AKA protocols, MZK20 and VSR20. First, based on heuristic analysis and BAN logic, MZK20 protocol is proved that it does not satisfy weak forward security. Second, using heuristic analysis and Scyther, it is proved that VSR20 protocol does not fulfill forward security. Finally, the enhanced VSR20 protocol is designed and proved more secure than VSR20. The security of the modified VSR20 is verified both by the use of security reduction under eCK model and Scyther.
  • 1989年,Günther[1]首次提出了前向安全性的概念,同时提出了一个基于身份的AKA协议,并在文中证明了该协议满足前向安全性。随后,前向安全性受到越来越多的学者关注,具有前向安全特性的AKA协议也相继被提出,例如Matsumoto等人[2]提出了能够满足弱前向安全性质的密钥协商协议,Jeong等人[3]提出了能够满足强前向安全性质的一轮密钥协商协议。2005年,Krawczyk[4]指出,一轮AKA协议最多只能达到弱前向安全性。事实上,2010年,Boyd等人[5]指出该结论是不正确的,并给出了用于改进协议的通用模板,该模板能够在敌手不能够进行临时密钥泄露问询的情况下,使得一轮AKA协议达成强前向安全性。在现实生活应用中,前向安全性也正在逐步成为各方的研究热点。2014年,曹晨磊等人[6]为保证分属于不同层级的云实体能够进行安全的通信,提出了一个基于层级化身份的AKA协议,并在eCK模型下证明该协议能够满足前向安全性、已知密钥安全性等多种安全属性。2015年,杨孝鹏等人[7]利用格上判定带误差学习问题困难假设构造了一个AKA协议,同时证明了该协议在CK模型下是可证明安全的,能够达成弱前向安全性。2017年,熊婧和王建明[8]针对RFID技术在信息传递过程中的弱点提出了一个基于哈希函数的双向认证协议,并声明该协议具有一定程度上的防窃听、前向安全性、防位置追踪等属性。2020年,Li等人[9]面向无线医疗传感器网络系统提出了一个三方用户认证协议,并声称该协议能够满足前向安全性。然而一年后,Saleem等人[10]分析得出Li等人的协议不能够抵抗传感器节点的伪装攻击,并且不能够提供匿名性。连接至物联网中的设备计算能力、存储能力参差不齐,而它们需要满足的安全性质并没有减弱,许多学者面向物联网的不同应用环境提出了满足前向安全性的多个协议[11-16]。再以目前网络中广泛应用的传输层协议TLS为例,现在最新版本的TLS 1.3版本[17]仅允许使用满足前向安全的密钥交换方案。2021年,Boyd等人[18]将协议下的前向安全性扩展到其他密码原语中,并总结给出了为在不同密码原语中达到前向安全性的方法。更进一步的,Boyd等人通过将前向安全性进行分类、提出了能力更强的敌手,并声称该能力在之前的安全模型中并未包含。

    另外,在前向安全性提出之后,研究者还将该性质添加至了安全模型中,从而使得AKA协议的前向安全性分析更加有说服力。2007年,结合前向安全性这个概念,LaMacchia等人[19]在原有CK模型[20]中添加了包含前向安全性在内的其他性质,提出了eCK模型,进一步完善了AKA协议的安全模型。目前,前向安全性经过30多年的蓬勃发展,可以根据敌手能力的不同分为以下几类:

    (1) 前向安全性(Forward Security)。称一个协议具有前向安全性是指,当协议参与方中一方或多方的长期密钥泄露,协议之前达成的会话密钥仍是安全的。

    (2) 部分前向安全性(Partial Forward Security)。称一个协议具有部分前向安全性是指,当协议参与方中指定一方或多方的长期私钥泄露,协议之前达成的会话密钥仍是安全的。

    (3) 弱前向安全性(Weak Forward Security)。称一个协议具有弱前向安全性是指,在敌手为被动敌手的情况下,当协议参与方中一方或多方的长期私钥泄露,协议之前达成的会话密钥仍是安全的。

    (4) 强前向安全性(Strong Forward Security) 称一个协议具有强前向安全性是指,在敌手为主动敌手的情况下,当协议参与方中一方或多方的长期私钥泄露,协议之前达成的会话密钥仍是安全的。

    在上述研究的基础上,本文首先分析了MZK20和VSR20两个AKA协议,首先利用BAN逻辑分析了MZK20协议不具有弱前向安全性;其次利用启发式分析和Scyther形式化证明工具证明了VSR20协议不具备前向安全性。进一步,本文在分析VSR20协议设计缺陷的基础上提出了改进方案,并在eCK模型下证明了改进后协议的安全性;并且,结合Scyther软件证明了改进VSR20协议与VSR20协议相比明显提高了安全性。

    本节介绍分析和改进协议时用到的数学困难问题[21]

    定义1 椭圆曲线上的离散对数问题(Discrete Logarithm Problem over Elliptic Curve, ECDLP)。设E是定义在有限域Zq上的椭圆曲线,P,QE上的任意两点,则求解满足等式kP=Q成立的唯一整数k是困难的。

    定义2 椭圆曲线上的计算性Diffie-Hellman问题(Computational Diffie-Hellman Problem over Elliptic Curve, ECCDH)。设E是定义在有限域Zq上的椭圆曲线,G是与E对应的有限循环群,给定P,aP,bPG,则求解abPG是困难的。

    本文主要用到了BAN逻辑和Scyther软件两种形式化工具方法,下面分别简要介绍这两种工具。

    (1) BAN逻辑。BAN逻辑是Burrows等人于1990年提出的[22],BAN逻辑因其简洁直观的证明过程、方便易学的规则而引起了研究者的普遍关注。BAN逻辑的提出为解决安全协议分析问题做出了很大的贡献,它成功地对Needham-Schroeder, Kerberos等几个著名的协议进行了分析,找到了其中已知和未知的漏洞。

    (2) Scyther形式化分析工具。Scyther软件[23]是由牛津和苏黎世联邦理工学院的研究学者联合研发的一个形式化分析工具,该软件首次发行于2008年左右。目前,Scyther软件已经被广泛地应用于协议分析领域,例如,该软件已经用于分析被大家所熟知的HMQV协议、KEA+协议、NAXOS协议等。

    本节介绍分析改进协议时所基于的eCK安全模型。eCK模型是LaMacchia等人[19]在2007年提出的,该模型赋予了敌手更加贴近现实环境的攻击能力。

    P={P1,P2,,Pm}表示eCK模型中用户的集合,其中每一个用户Pi都抽象为一个多项式时间内的图灵机。用户运行的实例sidi,j称为一个会话,其中sid=(Pi,Pj,X)表示会话标识,Pi表示会话的发起者,Pj表示会话的响应者,X表示会话中的消息集合。敌手A同样抽象为一个多项式时间内的图灵机,其可以对网络中的消息进行窃听、删除、修改、重放等攻击,可以完全控制网络通信。敌手A的攻击能力可以通过如下的问询得以体现:

    (1) 长期私钥暴露问询StaticKeyReveal(Pi):通过该问询,A可以获得用户Pi的长期密钥;

    (2) 临时私钥暴露问询EphemeralKeyReveal(Pi):通过该问询,A可以获得用户Pi的临时密钥;

    (3) 会话密钥暴露问询SessionKeyReveal(Pi):通过该问询,A可以获得会话sid的会话密钥;

    (4) 发送消息问询Send(sid,m):通过该问询,A可以向会话sid发送消息m并根据协议规范获得相应的回复消息;

    (5) 测试问询Test(sid)A选定新鲜会话sid进行该问询,模拟算法S随机投掷硬币,根据结果b{0,1}来回答该问询。如果b=1,预言机返回该会话的正确会话密钥;如果b=0,则返回一个与正确密钥同分布的随机值。

    在eCK模型中,模拟算法S通过测试游戏来模拟敌手A的攻击。在测试游戏中某一个时刻,敌手A选定一个已经结束的会话sid作为测试会话,进行问询,具体步骤如下:

    (1) A任意进行StaticKeyReveal(Pi)问询、EphemeralKeyReveal(Pi)问询、SessionKeyReveal(Pi)问询和Send(sid,m)问询;

    (2) 在某个时刻,A选定一个标识为sid的新鲜会话进行1次Test(sid)问询;

    (3) A根据需要继续进行StaticKeyReveal(Pi)问询、EphemeralKeyReveal(Pi)问询、SessionKeyReveal(Pi)问询和Send(sid,m)问询;

    (4) A输出猜测结果。

    定义3 eCK安全性 设τ为安全参数,P[A]表示A赢得测试会话的概率,Adv2P - AKAA,(τ)=|2P[A]1|表示A对两方AKA协议的优势。则称在eCK模型下是安全的,如果该协议满足如下的条件:

    (1) 匹配会话能够得到相同的会话密钥;

    (2) 不存在敌手能够以不可忽略的优势赢得测试游戏。

    2020年,Akram等人[24]提出了一个用于多方服务器情况的AKA协议(以下简称MZK20协议),并声称该协议具有匿名性,能够抵抗重放攻击、伪装攻击、口令猜测攻击等。本小节将指出该协议不具备弱前向安全性和匿名性。

    3.1.1   MZK20协议描述

    MZK20协议共由服务器注册阶段、用户注册阶段、登录和认证阶段、口令更换阶段、重新注册阶段5个部分组成,其中完成1次通信只需服务器注册、用户注册、登录和认证3个阶段,下面主要介绍完成通信的这3个阶段。

    (1) 服务器注册阶段

    服务器通过如下的步骤在RC处注册成为合法服务器Sj

    步骤1 服务器通过安全信道向RC发送自己的身份标识IDj

    步骤2 在收到IDj之后,RC计算s=h(IDj||x)pkSj=sPpkRC=xP,其中xRC的私钥;

    步骤3 最后,RCs,pkSj,pkRC发送给服务器,服务器Sj完成注册。

    (2) 用户注册阶段

    用户通过如下的步骤在RC处注册成为网络中的合法用户Uu

    步骤1 用户选择自己的身份标识IDu、口令PWu和生物特征Bu,并产生一个随机数a。之后,用户计算M=H(IDu||Bu)TW=h(aH(Bu||PWu))。最后,用户将IDu,M,TW发送给RC

    步骤2 RC在收到用户消息后,计算Xu=h(IDu||pkRC)Yu=Xuh(M||TW)Fu=h(h(IDu||TW))。之后,RCh(),Yu,Fu存储在智能卡SCu中发送给用户;

    步骤3 用户在智能卡信息中增添随机数a,最后,用户Uu的智能卡信息为{h(),Yu,Fu,a}

    (3) 登录和认证阶段

    步骤1 Uu输入IDu, PWuBu。智能卡计算TW=h(aH(Bu||PWu))并检验Fu=h(h(IDu||TW))的正确性。如果正确,则智能卡计算M=H(IDu||Bu)Uu选择一个随机数Cu并计算Op=CupkSj=CusP,之后依次计算PIDu=CuPIDu, Xu=Yuh(M||TW)DIDu=h(IDu||Xu||CuP)。最后,Uu发送消息M1=<PIDu,DIDu,Op>Sj

    步骤2 在收到M1后,Sj用私钥s计算s1Op=CuPIDu=CuPPIDuXu=h(IDu||pkRC)。利用这3个结果验证等式DIDu=h(IDu||Xu||CuP)是否成立。如果成立,Sj首先选择随机数Dj,然后依次计算Tu=h(IDu||Xu), Vj=DjXuQuj=h(IDu||Tu||CuP||Dj||Xu||IDj)。最后,SjM2=<Quj,Vj>发送给Uu

    步骤3 在收到M2后,Uu计算Dj=VjXu,并验证等式h(IDu||h(IDu||Xu)||CuP||Dj||Xu||IDj)=Quj的正确性;

    步骤4 如果等式正确则Uu进一步计算会话密钥SKuj=h(IDu||CuP||Dj||Xu||IDj)以及Zuj=h(SKuj||IDu||Dj||Xu||IDj)。最后,UuM3=Zuj发送给Sj

    步骤5 在收到M3后,Sj首先按照SKuj=h(IDu||CuP||Dj||Xu||IDj)计算会话密钥,其次验证等式h(SKuj||IDu||CuP||Xu||IDj)=Zuj的正确性。

    3.1.2   MZK20协议分析

    (1) 启发式分析方法。当服务器的长期私钥s泄露时,指出该协议不具备弱前向安全性和匿名性。具体攻击步骤如下(假设敌手为A):

    步骤1 敌手A通过长期私钥泄露问询获知服务器Sj的长期私钥s

    步骤2 A截获用户发送给服务器的消息M1=<PIDu,DIDu,Op>,从而获知如下信息:

    (a)根据Op=CusP=sCuP可得CuP

    (b)根据PIDu=CuPIDu可得IDu

    (c)根据Xu=h(IDu||pkRC)可得Xu

    步骤3 A截获服务器发送给用户的消息M2=<Quj,Vj>,从而可以根据Vj=DjXu可得Dj

    步骤4 A根据获知的信息CuP, IDuDj,可得会话密钥SKuj=h(IDu||CuP||Dj||Xu||IDj)

    通过上述步骤,敌手A在通信中只进行了窃听,通过计算就可获得用户的身份标识和计算得到最终的会话密钥。

    (2) 利用BAN逻辑分析MZK20协议。下面用BAN逻辑对MZK20协议进行分析。首先给出BAN逻辑中的规定[20],其中A,B表示用户,X,Y表示某一陈述,K表示密钥:

    (a) AbelivesX:用户A相信陈述X

    (b) AseesX:用户A收到了陈述X

    (c) AsaidX:用户A曾给某一协议参与方发送了陈述X

    (d) AcontrolsX:用户A能够管理陈述X

    (e) fresh(X):陈述X在协议之前的消息中都未曾被使用过,保证陈述的新鲜性;

    (f) AKB:用户A,B之间共享密钥K

    (g) KA:密钥K是用户A的公钥;

    (h) AXB:用户A,B之间共享秘密X

    (i) {X}K:由密钥K加密的陈述X

    (j) <X>Y:秘密陈述Y与陈述X进行捆绑。

    由于消息M1,M2,M3中,DIDu,Quj,M3都是用于验证双方身份的,所以将SjUu之间的通信消息进行简化表述。最终用BAN逻辑分析MZK20协议的过程如表1所示。

    表  1  BAN逻辑分析MZK20协议
     MZK20协议期望达成的目标如下(参与双方用SjUu表示,Kuj表示双方达成的会话密钥):
     G1. SjbelievesKuj;
     G2. Sjbelieves(UubelievesKuj);
     G3. UubelievesKuj;
     G4. Uubelieves(SjbelievesKuj).
     消息:
     Message1UuSj:<{IDu}Ku,{Cu}KS>;
     Message2SjUu:<Dj><IDu>KRC;
     假设:
     A1.Uubelievesfresh(Cu)Sjbelievesfresh(Dj);
     A2.UubelievesCuSjbelievesDj;
     A3.Uubelieves(UuKuSj)Uubelieves(UuKuSj);
     A4.Uubelieves(SjcontrolsKuj)Sjbelieves(UucontrolsKuj);
     A5.SjbelievesKRCUubelievesKRC.
     推理过程:
     F1. Sjsees<{IDu}Ku,{Cu}KS>;
     F2. Sjsees{IDu}KuSjsees{Cu}Ks;
     F3. Sjbelieves(UusaidIDu)Sjbelieves(UusaidCu)(IDu=CuPPIDu, Xu=h(IDu||pkRC)PIDu={IDu}Ku);
     F4. Sjbelieves(UubelievesCu)Sjbelieves(UubelievesXu);
     F5. Sjbelieves(UubelievesKuj)(Kuj=SKuj=h(IDu||CuP||Dj||Xu||IDj));
     F6. SjbelievesKuj;
     F7. Uusees<Dj><IDu>KRC;
     F8. Uubelieves(SjsaidDj)(Kuj=SKuj=h(IDu||CuP||Dj||Xu||IDj)).
    下载: 导出CSV 
    | 显示表格

    由此,Uu并不能保证相信该会话密钥,即并不能满足协议目标G4,因此利用BAN逻辑分析得出该协议存在安全性质上的不足。

    2020年,Sureshkumar等人[25]面向智能电网环境,提出了一个双向AKA协议(以下简称该协议为VSR20协议),并声称该协议具有匿名性、前向安全性、不可追踪性等多种安全属性。本小节将指出VSR20协议不具备弱前向安全性,且不能够抵抗临时私钥泄露攻击。

    3.2.1   VSR20协议描述

    VSR20协议共由系统建立阶段、注册阶段、登录和认证阶段、密钥建立阶段4个部分组成,下面具体介绍每个阶段的步骤。

    (1) 系统建立阶段。服务器(以下简称SP)通过如下的步骤生成系统参数:

    步骤1 SP在域Zq上建立一个椭圆曲线E(a,b):y2=x3+ax+b,其中q是大素数。G是椭圆曲线上的加法阿贝尔群,Q是群G的生成元。

    步骤2 SP选择一个哈希函数h:{0,1}{0,1}160

    (2) 注册阶。SP执行如下的步骤完成第k个用户(以下简称SMk)的注册:

    步骤1 SP在域Zq上选择两个随机数sxk,用s作为自己的私钥,用xk作为SMk的秘密参数。并计算自己的公钥S=sQ

    步骤2 SPSMk选择一个160 bit的身份标识IDk,并将IDkxk存储在数据库中。

    步骤3 SP通过安全信道将<IDi,xi,S,Q,h()>发送给SMi,i=1,2,,k,,n

    (3) 登录和认证阶段。SP通过如下的步骤发起与SMk的通信,如图1所示。

    图  1  VSR20协议的登录和认证阶段

    步骤1 SP选择一个随机数dZq,并计算D1=dQ。之后将消息M1=<D1,TS1>进行广播,其中TS1SP此刻的时间戳。

    步骤2 在收到M1后,SMk选择一个随机数rZq,并计算R=rQ, D2=rS=rsQ, D3=h(D1||D2||R||TS2), D4=IDkD3D5=h(IDk||R||xk)SMk将登录消息M2=<D2,D4,D5,TS2>发送给SP,其中 TS2是此刻的时间戳。

    步骤3 在收到M2后,SP验证时间戳TS2的有效性。如果验证通过,则SP计算R=s1D2, D3=h(D1||D2||R||TS2), IDk=D4D3。之后,SP在数据库查找ID'k,若该身份标识存在,则通过数据库获知与ID'k相对应的xk,并计算D5=h(IDkk||R||xk)SP验证等式D5=D5是否成立,如果成立,则认证完成,SP执行步骤4。

    步骤4 SP计算D6=h(ID'k||R||TS3)将消息M3=<D6,TS3>发送给 SMk

    步骤5 在收到M3后,SMk验证时间戳TS3的有效性。如果验证通过,则SMk计算D6=h(IDk||R||TS3)SMk验证等式D6=D6是否成立,如果成立,则认证完成。

    (4) 密钥建立阶段。SPSMk之间的相互认证完成后,双方就可以分别计算会话密钥SK=h(R||D3||TS1)

    3.2.2   VSR20协议安全分析

    本小节分别通过启发式分析的方法和Scyther形式化工具方法[23],指出了VSR20协议在安全性上的不足,具体分析如下。首先通过启发式的分析指出该协议不具备弱前向安全性,并且不能抵抗临时私钥泄露攻击。其次用Scyther软件证明了启发式分析方法的正确性。

    (1) 启发式分析方法。

    (a)弱前向安全性。当SP的长期私钥s泄露时,指出该协议不具备匿名性和弱前向安全性。具体攻击步骤如下(假设敌手为A):

    步骤1 敌手A通过长期私钥泄露问询获知服务器SP的长期私钥s

    步骤2 A截获服务器发送给用户的消息M1=<D1,TS1>

    步骤3 A截获用户发送给服务器的消息M2=<D2,D4,D5,TS2>,从而获知如下信息:

    ① 根据D2可得R

    ② 根据R, D1, D2TS2,可计算得D3=h(D1||D2||R||TS2)

    步骤4 A根据获知的信息R, D3, D4TS1,从而获知如下信息:

    ① 可计算得会话密钥SK=h(R||D3||TS1)

    ② 可计算得用户的身份标识IDk=D4D3

    通过上述步骤,敌手A仅通过窃听就能够同步获得用户与服务器之间的会话密钥,因此该协议不具有弱前向安全性。并且敌手A可以恢复出用户的身份标识IDk,因此该协议同时不能具有匿名性。

    (b) 临时私钥泄露攻击。当SMk的临时私钥泄露时,指出该协议不能够抵抗临时私钥泄露攻击。具体攻击步骤如下(假设敌手为A):

    步骤1 A通过临时私钥泄露问询获知用户SMk的临时私钥r

    步骤2 A截获服务器发送给用户的消息M1=<D1,TS1>

    步骤3 A截获用户发送给服务器的消息M2=<D2,D4,D5,TS2>

    步骤4 A根据获知的信息rD1D2TS1TS2,从而获知如下信息:

    ①可计算得D3=h(D1||D2||R||TS2)=h(D1||D2||rQ||TS2)

    ②可计算得会话密钥SK=h(R||D3||TS1)=h(rQ||D3||TS1)

    通过上述步骤,敌手A在获知用户临时私钥r的情况下能够同步恢复出会话密钥SK,因此该协议不能够抵抗临时私钥泄露攻击。

    (2) 利用Scyther软件进行分析。利用形式化分析工具Scyther分析VSR20协议,Scyther分析结果如图2所示,给出的具体攻击路径如图2(b)所示。根据图2可得,该协议不具备完全的安全性质,存在至少一种攻击方法,即如图2(b)所示,该协议不能够抵抗用户临时私钥泄露攻击。

    图  2  Scyther软件分析VSR20协议

    总结并分析上述两个协议的安全性不足,在MZK20协议中,用户采用服务器的长期公钥与自己的临时密钥进行捆绑,但忽略了服务器长期私钥泄露的情况;同样地,在VSR20协议中,当敌手获取服务器的长期私钥时,敌手即可从消息中恢复用户的临时密钥。当敌手恢复出用户的临时密钥时,敌手就可以利用临时密钥对之后的消息进行解密。并且协议最后计算会话密钥时,两个协议没有将双方的临时密钥进行捆绑,只采用了一方的临时密钥,在这种情况下,当该方的临时密钥泄露时就很容易计算出最终的会话密钥。因此,在安全的AKA协议中计算会话密钥时应该既考虑长期私钥又考虑临时私钥。

    (1) 改进VSR20协议描述。根据3.2.2节的分析,针对VSR20协议登录和认证阶段的不足,给出了如下的改进方案,在最后的计算会话密钥阶段将用户的临时密钥和服务器的临时密钥进行捆绑,用户的长期密钥和服务器的长期密钥进行捆绑(如图3所示),提高协议的抗攻击能力。对于SP,会话密钥为SKSP=h(sR||dxQ||D3||TS1);对于SMk,会话密钥为SKk=h(rS||xD1||D3||TS1)

    图  3  改进VSR20协议

    (2) 改进VSR20协议的安全性分析。首先证明匹配会话在协议结束后会得到相同的会话密钥。因为

    SKSP=h(sR||dxQ||D3||TS1)=h(srQ||dxQ||D3||TS1)=h(rS||xD1||D3||TS1)=SKk

    所以SPSMk计算的会话密钥相同,即SKSP=SKk

    其次证明不存在多项式时间敌手能够以不可忽略的优势赢得测试游戏。

    定理1 若h是随机预言且ECCDH假设在群G中成立,那么改进后的VSR20协议在eCK模型中是安全的。

    证明 设敌手A在系统安全参数为τ的情况下,最多能够激活n个诚实用户和s个会话。如果A能够获得生成会话密钥的非平凡信息,则有可能以不可忽略的优势成功赢得测试游戏。由于h是随机预言,因此A在进行完测试游戏后只能够以下列的方式区分正确的会话密钥和与正确会话密钥同分布的随机值:

    事件1 猜测攻击:A通过猜测的方式获得正确的会话密钥;

    事件2 会话密钥复制攻击:A通过某种方式建立一个与测试会话不匹配的会话sid',但是能够与测试会话生成相同的会话密钥,此时,A通过查询sid'就可以获得测试会话的会话密钥,赢得测试游戏;

    事件3 伪造攻击:A在某个时刻对随机预言h进行了与测试会话的会话密钥相同的查询。

    对于事件1,由于h是一个随机预言,A对会话密钥猜测正确的概率为O(1/2τ),这个概率是可以忽略的,因此事件1的情况可以不予考虑。

    对于事件2,这种情况下相当于对h进行碰撞攻击,而h是一个随机预言,对其实施碰撞攻击成功的概率为O(s2/2τ),这个概率也是可以忽略的,因此事件2的情况也可以不予考虑。

    对于事件3,可以将会话分为以下两种情形:

    情形1 测试会话存在匹配会话,而且匹配会话的拥有者是诚实用户;

    情形2 测试会话不存在匹配会话,或者匹配会话的拥有者不是诚实用户。

    下面针对这两种情形,分别进行分析。证明的思路是如果存在敌手能够以不可忽略的优势赢得测试游戏,那么可以以该敌手为子算法构造能够以不可忽略优势解决ECCDH问题的算法。

    情形1 A主要通过如下4种方式对测试会话发起攻击:

    情形1.1 A对测试会话及其匹配会话同时进行临时密钥暴露问询。给定ECCDH实例aQ,bQG,下面构造模拟算法S能够以不可忽略的优势解决ECCDH问题。S可以以至少1/n2概率猜测A选择用户SP作为测试会话的拥有者,选择用户SMk作为测试会话的匹配会话的拥有者。将aQ设为SMk的临时公钥,bQ设为SP的长期公钥,剩余用户正常的分配公私钥对。然后,S模拟一个协议的运行环境,保证A不能以不可忽略的概率区分模拟环境和现实环境。当A对除了SP,SMk以外的用户进行问询时,S按照协议规范如实回答A;当A问询的对象与SP,SMk有关时,S按照如下的方式回复A的问询:

    (a) StaticKeyReveal(C)问询:如果用户CSMk或者SP,则S放弃本次模拟运行;否则,S提供用户C的长期私钥作为应答,其中长期私钥是S在模拟初始阶段生成的;

    (b) EphemeralKeyReveal(C,sid)问询:S提供用户C在会话sid中的临时私钥作为应答;

    (c) SessionKeyReveal(sid)问询:S以如下方式提供会话密钥作为本次问询的应答:设会话标识为sid=(A,C,D1,D2,D3,D4,D5,D6,TS1,TS2,TS3),则相应的会话密钥是SK=h(σ),其中随机预言的输入为

    σ=(ECCDH(pkSP,epkk)||ECCDH(xQ,epkSP)||D3||TS1)

    S查询随机预言h输入是否已经被问询过,如果未被问询过,则输出一个与会话密钥同分布的随机值;如果已经被问询过,则输出正确的会话密钥。

    如此,S就模拟了A运行协议的环境。如果A赢得伪造攻击,则A必须要对h查询包含ECCDH(bQ,aQ)的内容,这表示S已经解决了ECCDH问题。除此之外,唯一需要考虑的是A在时间t内解决ECDLP,令这个优势为AdvECDLPG(τ,t)

    综上可知,在情形1.1中成功解决ECCDH问题的优势为

    AdvECCDHG(τ,t,S)1/n2P1(τ,t)AdvECDLPG(τ,t)
    (1)

    其中,P1(τ,t)表示情形1.1发生且A成功的概率。

    情形1.2 A对测试会话及其匹配会话同时进行长期私钥暴露问询。给定ECCDH实例aQ,bQG,下面构造模拟算法S能够以不可忽略的优势解决ECCDH问题。S可以以至少1/s2概率猜测A选择会话sid作为测试会话,且测试会话的拥有者为用户SP,测试会话的匹配会话的拥有者为用户SMk。将aQ设为SP的长期公钥,bQ设为SMk的临时公钥,剩余用户正常的分配公私钥对。然后,S模拟一个协议的运行环境,保证A不能以不可忽略的概率区分模拟环境和现实环境。当A对除了SP,SMk以外的用户进行问询时,S按照协议规范如实回答A;当A问询的对象与SP,SMk有关时,S按照如下的方式回复A的问询:

    (a) StaticKeyReveal(C)问询:如果用户CSP或者SMk,则S放弃本次模拟运行;否则,S提供用户C的长期私钥作为应答,其中长期私钥是S在模拟初始阶段生成的;

    (b) EphemeralKeyReveal(C,sid)问询:S提供用户在会话sid中的临时私钥作为应答;

    (c) SessionKeyReveal(sid)问询:S以如下方式提供会话密钥作为本次问询的应答:设会话标识为sid=(A,C,D1,D2,D3,D4,D5,D6,TS1,TS2,TS3),则相应的会话密钥是SK=h(σ),其中随机预言的输入为σ=(ECCDH(pkSP,epkk)||ECCDH(xQ,epkSP)||D3||TS1)

    S查询随机预言h输入是否已经被问询过,如果未被问询过,则输出一个与会话密钥同分布的随机值;如果已经被问询过,则输出正确的会话密钥。

    如此,S就模拟了A运行协议的环境。如果A赢得伪造攻击,则A必须要对h查询包含ECCDH(aQ,bQ)的内容,这表示S已经解决了ECCDH问题。除此之外,唯一需要考虑的是A在时间t内解决ECDLP,令这个优势为AdvECDLPG(τ,t)

    综上可知,在情形1.2中成功解决ECCDH问题的优势为

    AdvECCDHG(τ,t,S)1/s2P2(τ,t)AdvECDLPG(τ,t)
    (2)

    其中,P2(τ,t)表示情形1.2发生且A成功的概率。

    情形1.3 A对测试会话进行长期密钥暴露查询,对测试会话的匹配会话进行临时密钥暴露查询。给定ECCDH实例aQ,bQG,下面构造模拟算法S能够以不可忽略的优势解决ECCDH问题。S可以以至少1/sn概率猜测A选择会话sid'作为测试会话,且测试会话的拥有者为SP,测试会话的匹配会话的拥有者为用户SMk。将SP的临时公钥设置为aQ,SM_k的长期公钥设置为bQ,剩余用户正常分配公私钥对。然后,模拟一个协议运行环境,保证不能以不可忽略概率区分这个模拟环境与现实环境。情形1.3中各种查询的模拟与情形1.1相似,则情形1.3中成功解决ECCDH问题的优势估计为

    AdvECCDHG(τ,t,S)1/nsP3(τ,t)AdvECDLPG(τ,t)
    (3)

    其中,P3(τ,t)表示情形1.3发生且A成功的概率。

    情形1.4 A对测试会话进行临时密钥暴露查询,对测试会话的匹配会话也进行长期密钥暴露查询。这种情形与情形1.3相似,所以情形1.4中成功解决ECCDH问题的优势估计为

    AdvECCDHG(τ,t,S)1/nsP4(τ,t)AdvECDLPG(τ,t)
    (4)

    其中,P4(τ,t)表示情形1.4发生且A成功的概率。

    情形2 在这种情况下,测试会话不存在匹配会话。A主要通过以下两种方式对测试会话进行攻击:

    情形2.1 A对测试会话进行临时密钥暴露问询,由于测试会话不存在匹配会话,因此当A获得测试会话拥有者的临时密钥时,A相当于也获得了测试会话预通信方的临时密钥。这种情形下,与情形1.1类似。根据情形1.1的分析,如果A成功赢得测试游戏,则S能够以不可忽略的优势解决ECCDH问题。

    情形2.2 A对测试会话进行长期密钥暴露问询,由于测试会话不存在匹配会话,因此当A获得测试会话拥有者的长期密钥时,A相当于也获得了测试会话预通信方的临时密钥。这种情形下,与情形1.4类似。根据情形1.4的分析,如果A成功赢得测试游戏,则S能够以不可忽略的优势解决ECCDH问题。

    综合上述分析,情形1和情形2情况下都有,如果A能够成功赢得测试游戏,那么S都能够以不可忽略的优势解决ECCDH问题,这与ECCDH在群G中时困难的相矛盾。证毕

    利用Scyther软件形式化分析改进后的VSR20协议,具体结果如图4所示。通过Scyther软件分析可以直观地看到改进后的VSR20协议弥补了VSR20协议的不足,抗攻击能力提高,改进后VSR20协议能够保证双方长期密钥和临时密钥的安全性,同时会话密钥的安全性也有所加强。

    图  4  Scyther软件分析改进后VSR20协议

    前向安全性能够为使用者提供重要的安全保障,使得协议在用户的长期私钥泄露的情况下仍然能够保证会话密钥的安全性。目前,分析AKA协议是否具有前向安全性、怎样使得AKA协议能够满足前向安全性已经成为协议研究的重要方面。本文通过给出协议的有效攻击方法,分析了MZK20和VSR20两个AKA协议。文中采用了不同的分析方法分别研究这两个协议,首先利用BAN逻辑分析了MZK20协议不具有弱前向安全性;其次利用启发式分析和Scyther工具证明了VSR20协议不具备前向安全性,并且该协议不能够抵抗临时密钥泄露攻击。文中简要分析了产生这类安全缺陷的原因,并给出了针对VSR20协议不足的改进方案,改进后的VSR20协议不但是可证明安全的,并且能够利用Scyther软件证明其安全性。

  • [1]
    GÜNTHER C G. An identity-based key-exchange protocol[C]. Workshop on the Theory and Application of of Cryptographic Techniques, Houthalen, Belgium, 1989: 29–37.
    [2]
    MATSUMOTO T, TAKASHIMA Y, and IMAI H. On seeking smart public-key-distribution systems[J]. Transactions of the Institute of Electronics and Communication Engineers of Japan Section E, 1986, 69(2): 99–106.
    [3]
    JEONG I R, KATZ J, and LEE D H. One-round protocols for two-party authenticated key exchange[C]. The 2nd International Conference on Applied Cryptography and Network Security, Yellow Mountain, China, 2004: 220–232.
    [4]
    KRAWCZYK H. HMQV: A high-performance secure Diffie-Hellman protocol[C]. The 25th Annual International Cryptology Conference, Santa Barbara, USA, 2005: 546–566.
    [5]
    BOYD C and NIETO J G. On forward secrecy in one-round key exchange[C]. The 13th IMA International Conference on Cryptography and Coding, Oxford, UK, 2011: 451–468.
    [6]
    曹晨磊, 刘明奇, 张茹, 等. 基于层级化身份的可证明安全的认证密钥协商协议[J]. 电子与信息学报, 2014, 36(12): 2848–2854. doi: 10.3724/SP.J.1146.2014.00684

    CAO Chenlei, LIU Mingqi, ZHANG Ru, et al. Provably secure authenticated key agreement protocol based on hierarchical identity[J]. Journal of Electronics &Information Technology, 2014, 36(12): 2848–2854. doi: 10.3724/SP.J.1146.2014.00684
    [7]
    杨孝鹏, 马文平, 张成丽. 一种新型基于环上带误差学习问题的认证密钥交换方案[J]. 电子与信息学报, 2015, 37(8): 1984–1988. doi: 10.11999/JEIT141506

    YANG Xiaopeng, MA Wenping, and ZHANG Chengli. New authenticated key exchange scheme based on ring learning with errors problem[J]. Journal of Electronics &Information Technology, 2015, 37(8): 1984–1988. doi: 10.11999/JEIT141506
    [8]
    熊婧, 王建明. 基于HASH函数的RFID安全双向认证协议研究[J]. 中国测试, 2017, 43(3): 87–90,96. doi: 10.11857/j.issn.1674-5124.2017.03.018

    XIONG Jing and WANG Jianming. Based on HASH function of RFID security authentication protocol and analysis[J]. China Measurement &Test, 2017, 43(3): 87–90,96. doi: 10.11857/j.issn.1674-5124.2017.03.018
    [9]
    LI Xiong, PENG Jieyao, OBAIDAT M S, et al. A secure three-factor user authentication protocol with forward secrecy for wireless medical sensor network systems[J]. IEEE Systems Journal, 2021, 14(1): 39–50. doi: 10.1109/JSYST.2019.2899580
    [10]
    SALEEM M A, SHAMSHAD S, AHMED S, et al. Security analysis on “A secure three-factor user authentication protocol with forward secrecy for wireless medical sensor network systems”[J]. IEEE Systems Journal, 2021, 15(4): 5557–5559. doi: 10.1109/JSYST.2021.3073537
    [11]
    YANG Zheng, HE Jun, TIAN Yangguang, et al. Faster authenticated key agreement with perfect forward secrecy for industrial internet-of-things[J]. IEEE Transactions on Industrial Informatics, 2020, 16(10): 6584–6596. doi: 10.1109/TII.2019.2963328
    [12]
    CHANG C C and LE H D. A provably secure, efficient, and flexible authentication scheme for ad hoc wireless sensor networks[J]. IEEE Transactions on Wireless Communications, 2016, 15(1): 357–366. doi: 10.1109/TWC.2015.2473165
    [13]
    GOPE P and HWANG T. A realistic lightweight anonymous authentication protocol for securing real-time application data access in wireless sensor networks[J]. IEEE Transactions on Industrial Electronics, 2016, 63(11): 7124–7132. doi: 10.1109/TIE.2016.2585081
    [14]
    王晨宇, 汪定, 王菲菲, 等. 面向多网关的无线传感器网络多因素认证协议[J]. 计算机学报, 2020, 43(4): 683–700. doi: 10.11897/SP.J.1016.2020.00683

    WANG Chenyu, WANG Ding, WANG Feifei, et al. Multi-factor user authentication scheme for multi-gateway wireless sensor networks[J]. Chinese Journal of Computers, 2020, 43(4): 683–700. doi: 10.11897/SP.J.1016.2020.00683
    [15]
    QIU Shuming, WANG Ding, XU Guoai, et al. Practical and provably secure three-factor authentication protocol based on extended chaotic-maps for mobile lightweight devices[J]. IEEE Transactions on Dependable and Secure Computing, 2022, 19(2): 1338–1351. doi: 10.1109/TDSC.2020.3022797
    [16]
    SHAMSHAD S, SALEEM M A, OBAIDAT M S, et al. On the security of a lightweight privacy-preserving authentication protocol for VANETs[C]. 2021 International Conference on Artificial Intelligence and Smart Systems (ICAIS), Coimbatore, India, 2021: 1766–1770.
    [17]
    RESCORLA E.Internet Engineering Task Force. RFC 8446-The Transport Layer Security (TLS) protocol version 1.3[S]. 2018.
    [18]
    BOYD C and GELLERT K. A modern view on forward security[J]. The Computer Journal, 2021, 64(4): 639–652. doi: 10.1093/comjnl/bxaa104
    [19]
    LAMACCHIA B, LAUTER K, and MITYAGIN A. Stronger security of authenticated key exchange[C]. The 1st International Conference on Provable Security, Wollongong, Australia, 2007: 1–16.
    [20]
    CANETTI R and KRAWCZYK H. Analysis of key-exchange protocols and their use for building secure channels[C]. International Conference on the Theory and Applications of Cryptographic Techniques, Innsbruck, Austria, 2001: 453–474.
    [21]
    MOHAMED M I, WANG Xiaofen, and ZHANG Xiaosong. Adaptively-secure authenticated key exchange protocol in standard model[J]. International Journal of Network Security, 2018, 20(2): 345–358. doi: 10.6633/IJNS.201803.20(2).16
    [22]
    BURROWS M, ABADI M, and NEEDHAM R M. A logic of authentication[J]. Proceedings of the Royal Society A:Mathematical, Physical and Engineering Sciences, 1989, 426(1871): 233–271. doi: 10.1098/rspa.1989.0125
    [23]
    CREMERS C J F. The scyther tool: Verification, falsification, and analysis of security protocols[C]. International Conference on Computer Aided Verification, Princeton, USA, 2008: 414–418.
    [24]
    AKRAM M A, GHAFFAR Z, MAHMOOD K, et al. An anonymous authenticated key-agreement scheme for multi-server infrastructure[J]. Human-centric Computing and Information Sciences, 2020, 10(1): 22. doi: 10.1186/s13673-020-00227-9
    [25]
    SURESHKUMAR V, ANANDHI S, AMIN R, et al. Design of robust mutual authentication and key establishment security protocol for cloud-enabled smart grid communication[J]. IEEE Systems Journal, 2021, 15(3): 3565–3572. doi: 10.1109/JSYST.2020.3039402
  • 加载中

Catalog

    通讯作者: 陈斌, bchen63@163.com
    • 1. 

      沈阳化工大学材料科学与工程学院 沈阳 110142

    1. 本站搜索
    2. 百度学术搜索
    3. 万方数据库搜索
    4. CNKI搜索

    Figures(4)  / Tables(1)

    Article Metrics

    Article views (720) PDF downloads(89) Cited by()
    Proportional views
    Related

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return