对两个基于智能卡的多服务器身份认证方案的密码学分析与改进

时间:2022-07-14 12:46:42

对两个基于智能卡的多服务器身份认证方案的密码学分析与改进

摘要:身份认证是用户访问网络资源时的一个重要安全问题。近来,Xu等

(XU C, JIA Z, WEN F, et al. Cryptanalysis and improvement of a dynamic ID based remote user authentication scheme using smart cards [J]. Journal of Computational Information Systems, 2013, 9(14): 5513-5520)

提出了一个基于智能卡的动态身份用户认证方案。分析指出其方案不能抵抗中间人攻击和会话密钥泄露攻击,且无法实现会话密钥前向安全性。此外,指出Choi等

(CHOI Y, NAM J, LEE D, et al. Security enhanced anonymous multiserver authenticated key agreement scheme using smart cards and biometrics [J]. The Scientific World Journal, 2014, 2014: 281305)

提出的基于智能卡和生物特征的匿名多服务器身份认证方案(简称CNL方案)易遭受智能卡丢失攻击、服务器模仿攻击,且不能提保护用户的匿名性。最后,基于生物特征和扩展混沌映射,提出了一个安全的多服务器认证方案,安全分析结果表明,新方案消除了Xu方案和CNL方案的安全漏洞。

关键词:多服务器;认证;中间人攻击;前向安全;匿名

中图分类号: TP393.08

文献标志码:A

Cryptanalysis and improvement of two multiserver remote user authentication schemes using smart cards

QU Juan1*, LI Yanping2,WU Xili1

1.College of Mathematics and Statistics, Chongqing Three Gorges University, Chongqing 404000, China

2.College of Mathematics and Information Science, Shaanxi Normal University, Xian Shaanxi 710062, China

Abstract: User authentication is an important security issue when user access resources from network. Recently, Xu et al.

(XU C, JIA Z, WEN F, et al. Cryptanalysis and improvement of a dynamic ID based remote user authentication scheme using smart cards [J]. Journal of Computational Information Systems, 2013, 9(14): 5513-5520)

proposed a dynamic ID based remote user authentication scheme using smart cards. Though the rigorous security analysis, it was found that Xu scheme could not resist man inthemiddle attack and session key disclosure attack, and could not provide perfect forward secrecy for session key. Additionally, it was also demonstrated that the scheme proposed by Choi et al.

(CHOI Y, NAM J, LEE D, et al. Security enhanced anonymous multiserver authenticated key agreement scheme using smart cards and biometrics [J]. The Scientific World Journal, 2014, 2014: 281305)

was vulnerable to smart card loss attack, server spoofing attack, and could not provide user anonymity. Therefore, these two schemes could not be suitable for practical applications. At last, an improved scheme was proposed based on biometrics and extended chaotic maps to overcome the lack of Xu scheme and CNL scheme.

Key words: multiserver; authentication; maninthemiddle attack; forward secrecy; anonymity

0引言

基于智能卡的远程用户口令认证方案是确保在不安全的网络环境中,只有合法用户能够访问系统资源的一种方法。许多研究者提出了一些方案来实现用户认证[1-4]。随着现代网络技术和计算机的普及和迅速发展,人们往往需要同时访问多个服务器的资源,比如:腾讯提供了在线购物、在线视频、在线学习等多项服务。利用单服务器环境下的认证方案,用户不仅需要反复地向不同的服务器注册而且需要记住大量的用户名和口令,这给用户带来很多不便和一些安全隐患。

为了解决这个问题,多服务器的认证方案被提出[5-8]。2009年,Liao等[9]基于哈希函数提出了一个动态身份的多服务器认证方案;但随后Hsiang等[10]指出该方案不能抵抗内部攻击、假冒攻击、冒充服务器攻击等,而且给出了一个改进方案来消除这些安全缺陷;不久,Lee等在文献[11]中指出Hsiang方案[10]仍遭受冒充攻击、服务器模仿攻击,并基于Hsiang方案给出了一个改进方案;2012年,Lee等[12]发现文献[11]中的改进方案不能抵抗智能卡丢失攻击、中间人攻击和无法实现用户匿名性,并基于哈希函数和异或运算提出了一个新的方案;但是,2013年,Xu等[13]指出Lee的改进方案[12]易遭受离线口令猜测攻击、无效的错误密码字检测和无法实现本地口令更新,为此,Xu等提出了一个新的动态身份的多服务器认证方案(以下简称Xu方案);2014年,Choi等[14]发现Chuang等[15]提出的改进方案不能抵抗用户冒充攻击、智能卡丢失攻击、拒绝服务(Denial of Service, DoS)攻击, 而且无法实现前向安全性,因此提出了基于智能卡和生物特征的匿名多服务器身份认证方案(简称CNL方案)。以上的这些多服务器的身份认证方案都存在着各种不同的安全缺陷。近年来,混沌系统由于具有混淆和扩散作用被广泛用于设计密钥认证协商协议[16-18],这些协议不仅高效,而且安全性能较好。

本文分别对Xu方案[13]和CNL方案[14]进行详细的密码学分析,指出这两个方案中存在的安全性问题,并基于生物特征和混沌映射给出了改进方案及改进方案的安全分析,从安全分析可看出改进方案满足了认证方案的所有安全需求。

1基础知识

以下先介绍切比雪夫多项式[19-20]和两个困难问题。

定义1n是整数,切比雪夫多项式为Tn(x):[-1,1][-1,1],其表达式为:Tn(x)=cos(n・arccos(x)),其中x是区间[-1,1]内的实数。

通过三角变换可得出切比雪夫多项式的迭代关系如下:Tn(x)=2xTn-1(x)-Tn-2(x),其中:n≥2,T0(x)=1,T1(x)=x。

定义2切比雪夫多项式半群特性。切比雪夫多项式半群特性为:Tr(Ts(x))=Tr・s(x)=Ts(Tr(x))。

2008年,Zhang[20]将x的定义域由[-1,1]扩展为(-∞,+∞),即扩展的切比雪夫多项式,扩展的切比雪夫多项式依然具有半群特性。

Tn(x)2xTn-1(x)-Tn-2(x) mod p,其中:n≥2, x∈(-∞,+∞)且p是一大素数。

定义3离散对数问题。给定两个元素x和y,找到一个整数u,使得Tu(x)=y。

定义4计算DiffieHellman问题。给定x,Tu(x)和Tv(x),计算Tuv(x)。

2Xu方案

Xu方案包含三个参与方:用户Ui、服务器Sj 和注册中心RC。注册中心RC选取x作为秘密密钥,然后计算h(x),并将它们通过安全信道共享给服务器Sj。协议包括四个阶段:注册阶段、用户登录和认证阶段、会话密钥更新阶段以及口令变更阶段,下面的描述中省略会话密钥更新阶段,具体可参考文献[13]。方案中所使用的符号及其含义如表1所示。

2.1注册阶段

1)用户Ui自由选取身份标识IDi和口令PWi,并产生一个随机数b;然后计算CID=h(IDib),并通过安全信道将CID发送给RC。

2.3口令变更阶段

当用户需要将口令PWi修改成PWnew时,执行以下操作:

1)Ui将智能卡插入到读卡器中,并输入ID*i和PW*i,并请求修改口令;

2)智能卡计算R*i=h(PW*iID*i),检查R*i=Ri是否成立,若成立,Ui选择新的口令PWnew;

3)智能卡计算Rnew=h(PWnewIDi),BPWnew=BPWh(PWiIDi)h(PWnewIDi),用Rnew和BPWnew替换智能卡中的Ri和BPW。

3对Xu方案的安全性分析

3.1中间人攻击

中间人攻击是指攻击者从信道中截获通信双方交换的信息,用自己的消息替换这些消息,从而伪装成通信中的一方或多方来欺骗其他通信方。假设Sk是系统中的一个恶意的合法服务器,在Xu方案中,每个合法的服务器拥有相同的秘密信息h(x),这给了Sk伪装成其他服务器以及伪装成合法用户的机会。攻击者Sk对Xu方案发起的中间人攻击(如图1所示)详细描述如下:

3.2会话密钥泄露攻击

根据2.1节介绍,Sk是系统中的一个恶意的合法服务器,那么Sk利用h(x)能够计算出用户Ui和服务器Sj每次会话协商的会话密钥SK=h(NiNjBi)。详细步骤如下:

1)Sk从公开信道中窃听Ui发送给服务器Sj的登录请求信息(CID,Vi,Qi,Ni)以及消息(Vj,Qj,Nj);

2)计算Bi=h(CIDh(x));

3)计算SK=h(NiNjBi)。

根据以上分析,Xu方案不能抵抗中间人攻击和会话密钥泄露攻击。造成以上攻击的原因在于所有合法的服务器拥有相同的秘密信息h(x),这就使得任意一个恶意的合法服务器都可发动中间人攻击,同时也能计算出用户Ui和其他服务器协商的会话密钥。

3.3无法实现前向安全性

前向安全性是指当系统主密钥x不小心泄露时,攻击者无法恢复出以前建立的会话密钥。在Xu方案登录和认证阶段的第3)和4)步,用户Ui和服务器Sj完成相互认证后,共同协商会话密钥SK=h(NiNjBi)。若系统主密钥x泄露,另攻击者从公开信道中截获登录请求消息(CID,Vi,Qi,Ni)和(Vj,Qj,Nj),那么,攻击者能够计算出用户Ui和服务器Sj协商的会话密钥SK=h(NiNjh(CIDh(x)))。从以上分析可知,Xu方案无法实现会话密钥的前向安全性。

4CNL方案

CNL方案包含4个阶段:服务器注册阶段、用户注册阶段、登录和认证阶段以及口令变更阶段。方案中用到的符号和定义如表2。

4.1服务器注册阶段

当应用层服务器希望成为授权的服务器时,它发送加入信息到RC,RC通过安全信道发送PSK到服务器;然后,服务器计算h(PSK)。

4.2用户注册阶段

用户Ui将UIDi和h(PWiBIOi)通过安全信道发送给注册中心RC。接收到消息后,RC计算Ai=h(UIDix),Bi=h2(UIDix)=h(Ai),Ci=h(PWiBIOi)Bi,Di=PSKAih(PSK),Ei=h(PSK)h(PWiBIOi)。最后,RC将参数(UIDi,h(・),Bi,Ci,Di,Ei)写入用户Ui的智能卡中,并将智能卡通过安全信道发送给用户Ui。

4.3登录和认证阶段

1)Ui将智能卡插入到读卡器中,输入UIDi,PWi和自己的biometric信息BIOi。

2)智能卡检测UIDi的有效性,并验证h(PWiBIOi)Ci是否和智能卡中存储的Bi相等。若相等,智能卡产生一个随机数N1且获得当前的时间戳Ti,计算h(PSK)=Eih(PWiBIOi),M1=h(Bi)N1h(PSK),AUIDi=h(N1)UIDi,M2=h(N1AUIDiDiSIDjTi)。用户Ui发送登录请求信息(AUIDi,M1,M2,Di,Ti)给服务器Sj。

3)服务器Sj接收到登录请求信息(AUIDi,M1,M2,Di,Ti)后,首先检测Ti的有效性,若无效,Sj拒绝Ui的登录请求。然后,Sj计算Ai=DiPSKh(PSK),N1=h2(Ai)M1h(PSK),验证h(N1AUIDiDiSIDjTi)=?M2。如果不相等,Sj终止会话。否则,Sj计算UIDi=AUIDih(N1),并检测UIDi的有效性。如果UIDi有效,Sj产生一个随机数N2,计算SKij=h(N1N2),M3=N2h2(N1)h(PSK),M4=h(SIDjN2AUIDi),并返回认证消息(SIDj,M3,M4)到用户Ui。

4)用户Ui验证SIDj的有效性,然后计算N2=M3h2(N1)h(PSK)并验证h(SIDjN2AUIDi)=M4是否成立。如果成立,智能卡计算会话密钥SKij=h(N1N2)。最后,智能卡计算并发送消息SKijh(N2)到Sj。

5)当Sj接收到消息后,Sj计算h(N2)=SKij(SKijh(N2))并验证h(N2)是否正确。若正确,Sj认证用户Ui的身份。

4.4口令变更阶段

当用户Ui需要更换自己的口令PWi时,进行以下操作:

1)用户Ui将智能卡插入到读卡器中,然后输入UIDi,BIOi,以及旧口令PWi和新口令PW*i。

2)智能卡检测UIDi的有效性,若有效,计算h(PSK)=Eih(PWiBIOi),并检测h(PWiBIOi)Ci是否和智能卡中的Bi是否相等,若相等,智能卡计算C*i=Ci h(PWiBIOi)h(PW*iBIOi),然后用C*i替换Ci。

5CNL方案安全性分析

5.1智能卡丢失攻击

一个安全有效的多服务器用户认证方案应确保即使用户的智能卡丢失,攻击者也不能利用丢失的智能卡登录服务器或计算出用户和服务器之间协商的会话密钥。在CNL方案中,假设用户Ui的智能卡被攻击者A获得,攻击者A从用户Ui的智能卡中抽取信息(UIDi,h(・),Bi,Ci,Di,Ei),其中Bi=h2(UIDix)=h(Ai),Ci=h(PWiBIOi)Bi,Di=PSKAih(PSK),Ei=h(PSK)h(PWiBIOi)。此外,攻击者A截获公开信道中传送的用户Ui登录请求信息(AUIDi,M1,M2,Di,Ti)和服务器Sj发送给用户Ui的认证消息(SIDj,M3,M4)。那么,攻击者A能够计算h(PWiBIOi)=BiCi,h(PSK)=Eih(PWiBIOi),N1=h(Bi)M1h(PSK)和N2=M3h2(N1)h(PSK)。最后,攻击者A计算用户Ui和服务器Sj之间共享的会话密钥SKij=h(N1N2)。从以上分析看出,攻击者A利用丢失的智能卡能够计算出用户Ui和服务器Sj之间所有以前建立的会话密钥SKij,利用会话密钥SKij,攻击者A能够获得用户Ui和服务器Sj之间所有的通信内容。因此,CNL方案不能抵抗智能卡丢失攻击。

5.2不能保护用户的匿名性

在CNL方案中,攻击者可从用户不同的登录消息中区分出某一个特定用户。这是由于在CNL方案中,用户Ui的登录请求消息(AUIDi,M1,M2,Di,Ti),其中Di=PSKAih(PSK)。对于用户Ui来讲,值Di总是保持不变的。因此,攻击者只需在登录消息中找出相同的值Di,就可确定出登录消息是某一个特定用户发送的。因此,CNL方案不能实现用户的匿名。

5.3服务器模仿攻击

从3.1节中可知应用层的所有服务器持有相同的密钥PSK,这样就给了恶意服务器Sk冒充其他服务器的机会,具体分析如下:

1)恶意的合法服务器Sk从公开信道中拦截用户Ui发送给服务器Sj的登录请求信息(AUIDi,M1,M2,Di,Ti),然后Sk利用PSK和h(PSK)计算Ai=DiPSKh(PSK),N1=h2(Ai)M1h(PSK)。接下来,Sk产生一个随机数N2′,并计算SKij′=h(N1N2′),M3′=N2′h2(N1)h(PSK),M4=h(SIDjN2′AUIDi),并将消息(SIDj,M3′,M4′)传到用户Ui。

2)用户Ui验证SIDj的有效性,然后计算N2′=M3′h2(N1)h(PSK),并验证等式h(SIDjN2′AUIDi)=M4是否成立。显然等式成立,智能卡计算会话密钥SKij′=h(N1N2′),并将消息SKij′h(N2′)发送到Sj(实际上是Sk),Sk计算会话密钥SKij′=h(N1N2′)。

从以上分析可知,恶意的合法服务器Sk冒充服务器Sj 欺骗用户Ui。因此,CNL方案不能抵抗服务器模仿攻击。

6改进的方案及安全性分析

本文提出的多服务器认证方案中RC保密私钥k,选取x∈(-∞,+∞),公开x、Tk(x),选取大素数p。RC和服务器Sj通过安全信道共享密钥h(SIDjk)。

6.1改进的方案

6.1.1注册阶段

当用户Ui想要成为合法用户,Ui选择自己的身份UIDi、PWi,获取自己的biometric信息BIOi,并将UIDi和h(PWiBIOi)通过安全信道发送给注册中心RC。RC接收到消息后,计算Ai=h(UIDik),Ci=h(PWiBIOi)Ai,Di=h(UIDih(PWiBIOi))。最后,RC将参数(Ci,Di,x,Tk(x),p)存储到用户Ui的智能卡中,并将智能卡通过安全信道发送给用户Ui。

6.1.2登录和认证阶段

如果用户Ui需要登录访问服务器Si,用户Ui执行以下步骤:

6.1.3口令更新阶段

当用户Ui需要更新自己的口令时,执行以下操作:

6.2安全性分析

6.2.1智能卡丢失攻击

假设攻击者获得用户Ui的智能卡,并得到智能卡中的信息(Ci,Di,x,Tk(x),p),攻击者在不知道密钥k和用户的biometric信息BIOi的情况下,无法同时猜测出用户的身份信息UIDi和口令PWi。所以,改进的方案可抵抗智能卡丢失攻击。

6.2.2离线口令猜测攻击

在新方案中,假设攻击者获取到了智能卡中的信息(Ci,Di),其中:Ci=h(PWiBIOi)Ai,Di=h(UIDih(PWiBIOi)),他也不能利用这些数据猜测到用户Ui的口令PWi。因为攻击者不能得到用户的biometric信息BIOi和注册中心RC的私钥k。另一方面,假设攻击者从公开信道中截获消息{T1,T2,H3,H4},其中H4=h(UIDiSIDjM1′h(UIDi k)Ta(x)Tb(x)h(PWi BIOi)),攻击者不知道参数BIOi,k和M1′,无法通过离线猜测攻击的方法猜测出用户Ui正确的口令PWi。因此,新方案可抵抗离线口令猜测攻击。

6.2.3用户的匿名性

新方案中,用户Ui的身份信息UIDi隐藏在M2,T1,H3,H4和H5这些消息里。首先,攻击者在不知道密钥M1的情况下,无法通过解密M2得到用户Ui的身份信息UIDi;其次,攻击者不知道服务器Sj的密钥h(SIDjk)和M3,无法通过 UIDi=T1h(h(SIDjk)M3)计算出用户Ui的身份信息UIDi;最后,由于受哈希函数的保护,攻击者不能通过信息H3,H4和H5获取到用户Ui的身份信息UIDi;再者,所有在公开信道中的通信消息都基于随机数a和b,随着a和b的变化而变化,攻击者无法分辨出两个会话是由某一个用户发起。因此,改进方案保护了用户的匿名性。

6.2.4服务器模仿攻击

攻击者要成功模仿合法的服务器Sj,他必须要伪造出合法的信息{Ta(x),M2,SIDj,Tb(x),M4}和{H4,H5,T2,Tb(x)}。但攻击者不知道服务器Sj的秘密参数h(SIDjk),无法伪造有效的消息{Ta(x),M2,SIDj,Tb(x),M4}和{H4,H5,T2,Tb(x)}。因此,新方案可抵抗服务器模仿攻击。

6.2.5前向安全性

新方案中,即使系统主密钥k泄露,另攻击者从公开信道中拦截通信消息Ta(x),Tb(x),攻击者仍不能计算出会话密钥sk=Ta(Tb(x)),因为他将面临计算DiffieHellman困难问题。

7结语

本文首先对Xu等[13]提出的基于智能卡的多服务器远程用户认证方案进行研究,发现Xu方案中每个合法的服务器拥有相同的秘密信息h(x),这将导致Xu方案易遭受中间人攻击和会话密钥泄露攻击;此外,Xu方案还无法实现前向安全性。其次,指出Choi等[14]的基于智能卡的匿名多服务器认证方案CNL中由于所有服务器持有相同的密钥PSK,导致方案不能够抵抗服务器模仿攻击;另外,CNL方案不能抵抗智能卡丢失攻击和不能保护用户的匿名性。因此,从本文的分析可得出多服务器认证方案中,每个服务器应持有不同的密钥认证用户。

参考文献:

[1]

LEE CC, LI LH, HWANG MS. A remote user authentication scheme using Hash functions [J]. ACM Sigops Operating Systems Review, 2002, 36(4): 23-29.

[2]

RAMASAMY R, MUNIYANDI A. New remote mutual authentication scheme using smart cards [J]. Transaction on Data Privacy, 2009, 2(2): 141-152.

[3]

YANG J, WANG Y, ZHOU Y. New remote user authentication scheme using smart cards [J]. Transactions of Nanjing University of Aeronautics & Astronautics, 2012, 29(2): 187-192.

杨君佐,王永建,周渊. 基于智能卡的远程用户认证机制[J].南京航空航天大学学报:英文版,2012, 29(2):187-192.

[4]

XUE F, WANG D, WANG L, et al. Cryptanalysis of two smartcardbased remote user password authentication protocols [J]. Journal of Computer Applications, 2012,32(7):221-224. (薛锋,汪定,王立萍,等.对两个基于智能卡的远程用户口令认证协议的安全性分析[J].计算机应用,2012,32(7):221-224.)

[5]

LIN IC, HWANG MS, LI LH. A new remote user authentication scheme for multiserver architecture [J]. Future Generation Computer Systems, 2003, 19(1): 13-22.

[6]

TSAI JL. Efficient multiserver authentication scheme based on oneway Hash function without verification table [J]. Computers & Security, 2008, 27(3/4): 115-121.

[7]

WAN T, LIAO W, MA J. Analysis and improvement of an authentication protocol for multiserver architecture [J]. Journal of Xidian University: Natural Science, 2013, 40(6): 174-179. (万涛,廖维川,马建峰.面向多服务器架构的认证协议分析与改进[J].西安电子科技大学学报:自然科学版,2013,40(6):174-179.)

[8]

HU L, NIU X, YANG Y. An efficient multiserver password authenticated key agreement scheme using smart cards [C]// MUE07: Proceedings of the 2007 International Conference on Multimedia and Ubiquitous Engineering. Piscataway: IEEE, 2007: 903-907.

[9]

LIAO YP, WANG SS. A secure dynamic ID based remote user authentication scheme for multiserver environment [J]. Computer Standards & Interfaces, 2009, 31(1): 24-29.

[10]

HSIANG HC, SHIH WK. Improvement of the secure dynamic ID based remote user authentication scheme for multiserver environment [J]. Computer Standards & Interfaces, 2009, 31(6): 1118-1123.

[11]

LEE CC, LIN TH, CHANG RX. A secure dynamic ID based remote user authentication scheme for multiserver environment using smart cards [J]. Expert Systems with Applications, 2011, 38(11): 13863-13870.

[12]

LEE CC, LAI YM, LI CT. An improved secure dynamic ID based remote user authentication scheme for multiserver environment [J]. International Journal of Security and Its Applications, 2012, 6(2): 203-209.

[13]

XU C, JIA Z, WEN F, et al. Cryptanalysis and improvement of a dynamic ID based remote user authentication scheme using smart cards [J]. Journal of Computational Information Systems, 2013, 9(14): 5513-5520.

http:///publishedpapers/2013_9_14_5513_5520.pdf

[14]

CHOI Y, NAM J, LEE D, et al. Security enhanced anonymous multiserver authenticated key agreement scheme using smart cards and biometrics [J]. The Scientific World Journal, 2014, 2014: 281305.

http://www.ncbi.nlm.nih.gov/pubmed/25276847

[15]

CHUANG MC, CHEN M C. An anonymous multiserver authenticated key agreement scheme based on trust computing using smart cards and biometrics [J]. Expert Systems with Applications, 2014, 41(4): 1411-1418.

[16]

CHEN TH, WANG BJ, TU TY, et al. A securityenhanced key agreement protocol based on chaotic maps [J]. Security and Communication Networks, 2013, 6(1): 108-114.

[17]

JABBARI A, BAGHERZADEH J. A revised key agreement protocol based on chaotic maps [J]. Nonlinear Dynamics, 2014, 78(1): 669-680.

[18]

ZHU H. Flexible and passwordauthenticated key agreement scheme based on chaotic maps for multiple servers to server architecture [J]. Wireless Personal Communications, 2015, 82(3): 1697-1718.

[19]

SHU J. An authenticated key agreement protocol based on extended chaotic maps [J]. Acta Physica Sinica, 2014, 63(5): 1-4. (舒剑.基于扩展混沌映射的认证密钥协商协议[J].物理学报,2014,63(5):1-4.)

[20]

ZHANG L. Cryptanalysis of the public key encryption based on multiple chaotic systems [J]. Chaos, Solitons & Fractals, 2008, 37(3): 669-674.

上一篇:国有控股银行综合系统性风险的实证分析 下一篇:心诚所致 金石为开