APP下载

一种改进的远程用户身份认证方案*

2021-11-22曹守启刘婉荣

计算机工程与科学 2021年11期
关键词:智能卡攻击者密码

曹守启,何 鑫,刘婉荣

(上海海洋大学工程学院,上海 201306)

1 引言

物联网是互联网的延伸和扩展,自从物联网的概念首次提出至今,它已经成为新一代信息与通信技术发展的典型代表。网络的快速发展给人们的工作生活带来极大便利的同时,也催生出了各种各样的网络安全隐患,2013年美国前中情局职员Edward Snowden爆出棱镜门事件,触发了全世界人民对网络安全的思考,网络安全也成为人们在使用互联网时最先考虑的问题之一。斯坦福大学的Diffie与Hellman于1976年提出公钥密码体制,使用不同的加密密钥和解密密钥,满足了数字签名的需求,推动着网络安全技术的发展[1]。目前,远程用户身份认证按因素的数量可分为单因素、双因素和三因素身份认证方案。最初,用户进行身份认证仅仅依靠密码,即单因素认证,随着网络的不断发展,医疗、银行等机构出现大量用户隐私泄漏的问题,研究人员发现仅仅依靠密码无法保障用户的隐私安全,双因素身份认证协议开始成为安全协议设计领域的一个热点问题[2 - 5],开始慢慢取代单因素认证协议。

1990年,Hwang 等人[6]提出了第一个基于智能卡的双因素认证协议,它是基于Shamir[7]的方案来解决密码存储问题的,安其全性与Shamir的协议不相上下。2013年,Xu 等人[8]提出了一种基于椭圆曲线密码体制的双因素认证协议,该协议的优点在于用户的ID只在安全通道上传输,从而保证了在线、离线密码猜测攻击以及智能卡被盗攻击与内部攻击。2014年,Islam 等人[9]对Xu等人的协议进行了分析,他们指出,在登录阶段,该方案不能提供强相互认证,在密码更改阶段,不能对旧密码进行验证,不能抵御重放攻击等。之后,Islam等人提出了改进协议,改进协议中用户ID是动态的,保证了用户的匿名性;同时,该协议使用了随机数与远程信息系统的密钥连同用户ID与密码一起来抵御离线密码猜测攻击。Chaudhry等人[10]与Zhang 等人[11]分别指出了Islam等人协议的缺陷,指出该协议无法抵御用户及服务器内部攻击,攻击者可以通过动力分析从智能卡中获取密钥信息。2014年,为了克服Jiang等人[12]提出的双因素协议的缺陷,Das等人[13]提出了一种三因素身份认证协议。研究人员利用每个用户特有的生理特征来进行三因素身份认证协议的设计,例如,用户的指纹、虹膜等。但是,用户的生理信息,例如指纹,会存在由于用户手指放置不当引起错误识别等问题。

本文对Nikooghadam 等人[14]的协议进行了分析,发现该协议容易遭受重放攻击、特权内部攻击等多种安全威胁。基于Nikooghadam等人协议的良好框架,本文提出了一种改进的远程用户身份认证协议,该协议主要使用时间戳机制和计算性Diffie-Hellman难题来提高协议的安全性[15,16]。时间戳机制的使用可以保证消息传递的及时性,而计算性Diffie-Hellman是一种历经长时间仍未解答/完全解答的数学问题,解决该难题的概率是可忽略不计的,故常被用于构造密码算法,以提高安全性。本文使用BAN逻辑验证了本文改进协议的安全性,它是一种基于信念的模态逻辑,在推理过程中,参与协议的主体的信念随消息交换的发展而不断变化和发展,即在假设的基础上根据公理和推理规则来推导出参与协议的主体的信念。另外,性能比较和计算效率分析也表明,本文协议在增加微小计算量的情况下提高了安全性。

2 Nikooghadam等人方案回顾

Nikooghadam等人的协议包括3个阶段:注册阶段、登录认证阶段和密码更改阶段。本文中使用的符号定义见表1。

Table 1 Symbol definitions表1 符号定义

2.1 注册阶段

用户Ui输入IDi和PWi,选择一个随机数r,智能卡计算MPWi=h(IDi‖r‖PWi),通过一个信道向Server发送信息{IDi,MPWi}进行注册;一旦Server接收到该信息,开始计算Ai=h(IDi‖x),Bi=Ai⊕MPWi,选择一个随机数N,计算MIDi=Ex(IDi‖N);然后发送包含信息{Bi,MIDi,Ex(·)/Dx(·),h(·)}的智能卡到Ui;最后,Ui将选择的r存储在智能卡。

2.2 登录认证阶段

在登录认证阶段,用户Ui输入IDi和PWi,智能卡计算Ai=Bi⊕h(IDi‖r‖PWi)=h(IDi‖x),选择一个随机数RNi,计算M1=EAi(IDi‖RNi‖Ti‖MIDi),其中Ti为用户Ui的时间,然后将信息{MIDi,M1,Ti}发送给Server,Server验证用户发送信息的真实性。具体登录认证步骤如下所示:

步骤1Server验证智能卡记录的用户Ui的时间Ti与系统接收到登录请求信息{MIDi,M1,Ti}的时间Ts是否满足条件|Ts-Ti|≤ΔT,其中ΔT是合法的信息传输延迟时间,如果不满足,Server拒绝登录请求并终止会话;否则,Server继续执行下面的操作。

2.3 密码更改阶段

当用户决定更改密码时,首先,用户需要将智能卡插入读卡器,输入其用户名和密码,接着智能卡执行以下步骤:

步骤1Server验证智能卡记录的用户Ui的时间Ti与系统接收到登录请求信息{MIDi,M1,Ti}的时间Ts是否满足条件|Ts-Ti|≤ΔT,其中ΔT是合法的信息传输延迟时间,如果不满足,Server拒绝登录请求并终止会话;否则,Server继续执行下面的操作。

3 Nikooghadam等人方案的安全性分析

3.1 重放攻击

在认证阶段,用户没有使用时间戳改变M2,服务器也没有对M3进行验证,这将会造成信息(M2,M3)的验证周期是无止境的,如果攻击者窃取了信息M2,他/她能够使该信息中断发送或者延迟发送。因此,如果用户请求信息,攻击者可以利用这种请求延迟获得未经授权的服务,因为服务器无法识别请求是由合法用户发送的还是非法用户发送的,攻击者可以请求服务器计算会话密钥,故该协议无法抵御重放攻击。

3.2 特权内部攻击和离线密码猜测攻击

Nikooghadam等人的协议无法抵御特权内部攻击和离线密码猜测攻击,具体步骤如下所示:

步骤1内部攻击者能够从注册阶段信息{IDi,MPWi}中获取用户的标识IDi,MPWi=h(IDi‖r‖PWi),该攻击者可以获取存储在智能卡中的信息{Bi,MIDi,r,Ekey(·)/Dkey(·),h(·)}。

步骤2攻击者猜测用户的密码PW′i。

步骤3攻击者计算A′i=h(IDi‖r‖PW′i)。

步骤4Ai=Bi⊕MPWi,如果A′i=Ai成立,则攻击者猜测出了用户的密码;反之,如果等式不成立,攻击者将重复步骤2~步骤4,直到猜测出正确的用户密码为止。

3.3 服务器欺骗攻击

攻击者利用授权用户的信息记录来伪造服务器,成功模拟为合法的服务器并伪造有效的响应消息。首先,攻击者从智能卡中获取信息{Bi,MIDi,r,Ekey(·)/Dkey(·),h(·)},通过伪装成服务器内部人员,攻击者可以获得信息IDi,MPWi和r;接着,攻击者计算Ai=Bi⊕MPWi,DAi(M1)=(IDi‖RNi‖Ti‖MIDi),并拦截用户登录消息{MIDi,M1,Ti},时间戳不能改变M2,服务器也没有对M3进行验证,所以攻击者可以选择一个随机数RN′s并计算M′2=EAi(MIDi‖RN′s‖IDi‖RNi);最终,攻击者将信息{M′2}发送给用户。故该协议不能抵御服务器欺骗攻击。

4 改进的远程用户身份认证方案

本节将提出一种基于Nikooghadam等人协议的改进协议,该协议克服了Nikooghadam等人协议的缺点,包含3个阶段:注册阶段、登录认证阶段和密码更改阶段。

4.1 注册阶段

在注册阶段,用户Ui输入IDi和PWi,选择2个随机数r和m1,智能卡计算MPWi=h(IDi‖r‖PWi),PIDi=h(IDi‖m1),通过一个信道向S发送信息{PIDi,MPWi}进行注册;一旦S接收到该信息,开始计算Ai=h(MPWimodnk),选择1个随机数m2,计算MIDi=Ex(PIDi‖MPWi‖m2),然后发送包含信息{MIDi,Ex(·)/Dx(·),h(·)}的智能卡到Ui;最后,Ui将选择的r和m1存储在智能卡。

Figure 1 Login and authentication phases of improved protocol图1 改进协议的登录认证阶段

4.2 登录认证阶段

步骤1S验证智能卡记录的用户Ui的时间Ti与系统接收到登录请求信息{MIDi,M1,Ti,R1}的时间Ts是否满足条件|Ts-Ti|≤ΔT,其中ΔT是合法的信息传输延迟时间,如果不满足,S拒绝登录请求并终止会话;否则,S继续执行下面的操作。

步骤3一旦Ui接收到信息先检查Ta是否满足条件|Ta-T2|≤ΔT,如果不满足,S拒绝登录请求并终止会话;否则,S继续执行下面的操作。

步骤5S检查Tb是否满足条件|Tb-T4|≤ΔT,|Tb-T3|≤ΔT,如果不满足,S拒绝登录请求并终止会话;否则,S继续执行下面的操作。

4.3 密码更改阶段

当用户决定更改密码时,首先,用户需要将智能卡插入读卡器,输入其用户名和密码,接着智能卡执行以下步骤:

步骤2S验证智能卡记录的用户Ui的时间Ti与系统接收到登录请求信息{MIDi,M1,Ti,R1}的时间Ts是否满足条件|Ts-Ti|≤ΔT,其中ΔT是合法的信息传输延迟时间,如果不满足,S拒绝登录请求并终止会话;否则,S继续执行下面的操作。

步骤4一旦Ui接收到信息先检查Ta是否满足条件|Ta-T2|≤ΔT,如果不满足,S拒绝登录请求并终止会话;否则,S继续执行下面的操作。

5 BAN逻辑分析

本节使用BAN逻辑,即一种分析认证协议的形式化方法,来证明本文提出协议的正确性,证明步骤如下所示:

步骤1根据BAN逻辑的表达方式,本文希望达到以下预期目标:

步骤2将本文所提出的协议转换为理想化的形式,如下:

步骤3建立初始假设集合:

假设3:Ui|≡#(RNi);

假设4:S|≡#(RNs);

步骤4基于BAN逻辑规则和假设,本文对所提协议的理想化形式进行如下分析:

根据消息1,可得:S◁({PIDi,m2,MPWi}x,{IDi,RNi,Ti,{PID,m2}x}Ai);

(目标1)

(目标2)

6 性能比较与计算效率分析

性能比较和计算效率分析如表2和表3所示。表3中,Th(·)是执行单向哈希函数的时间,约为0.002 3 ms,TE/D是执行加密/解密运算的时间,约为0.004 6 ms,另外,T‖是执行级联运算的时间,T⊕是执行异或运算的时间,两者过小可忽略不计[20,21]。

根据表2和表3的数据显示,本文方案在增加微小计算量的情况下提高了协议的安全性。

Table 2 Performance comparison表2 性能比较

Table 3 Calculation efficiency analysis表3 计算效率分析

cal information systems [J].Journal of Medical Systems,2015 39(6):1-11.

7 结束语

本文对Nikooghadam等人的协议进行了分析,发现该协议容易遭受重放攻击、特权内部攻击等多种安全威胁,但Nikooghadam等人的协议具有良好的框架,所以本文基于Nikooghadam等人的协议提出了一种改进的远程用户身份认证协议。

该协议主要采用时间戳机制、计算性Diffie-Hellman难题来提高协议的安全性。使用BAN逻辑验证了本文改进协议的安全性,性能比较与计算效率分析也表明,本文改进协议在增加微小计算量的情况下提高了安全性。

猜你喜欢

智能卡攻击者密码
密码里的爱
机动能力受限的目标-攻击-防御定性微分对策
东方磁卡李晓东:进击的智能卡研发巨子
密码抗倭立奇功
正面迎接批判
基于STC89 单片机的非接触智能卡读写机设计
密码藏在何处
临沂机顶盒智能卡升级方案介绍
有限次重复博弈下的网络攻击行为研究
夺命密码