微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于智能卡的动态身份认证协议

基于智能卡的动态身份认证协议

时间:09-12 来源:互联网 点击:

份ID、口令PW和高熵随机数N,通过安全信道发送消息{ID,y=h(PW||N)}给服务器。

U?圯S:{ID,y}

(2)收到{ID,y},服务器为用户分配初次动态登录身份TID0,计算s=h(ID||k),v=s?堠y,把{TID0,ID}保存到校验表中,把{TID0,v,h(·)}以及系统参数存入智能卡中,最后服务器通过安全信道把智能卡分发给用户。

S?圯U:SC

(3)用户收到智能卡后把N输入智能卡,最后智能卡中含有TID0,v,h(·)和系统参数{q,a,b,n,P,Q}。

2.3 登录认证阶段

用户先将智能卡插入读卡器,并输入身份ID和口令PW,然后执行以下操作:

(1)智能卡计算y=h(PW||N)和s=v?堠y,并选择一个随机数r1∈[1,n-1],计算R1=r1P,R2=r1Q,C1=h(TID0,ID,s,R2)后向服务器发送请求消息。

SC→S:登录请求{TID0,R1,C1}

(2)收到消息后,服务器用TID0从校验表找对应的ID,若找不到停止本次会话;否则,计算s′ =h(ID||k),R’2=kR1,C’2=h(TID0,ID,s′,R’2),并检验C’2=?C1。若不相等,停止本次会话;否则服务器为用户分配下一次动态登录身份TID1,并计算C2=h(TID1,s′,R’2)后发送消息{TID1,C2}给用户。

S→SC:{TID1,C2}

(3)收到{TID1,C2}后,用户计算C’2=h(TID1,s,R2)并检验C’2=?C2。若不相等,停止本次会话;否则用户认证服务器成功,把动态身份TID1保存到智能卡,直到下一次成功登录并收到动态身份TID2,再用TID2更新TID0。最后计算 C3=h(TID0,TID1,s,R2),智能卡发送{C3}给服务器。

SC→S:{C3}

(4)收到{C3}后,服务器计算C’2=h(TID0,TID1,s′,R’2)并检验C’2=?C3。若相等,服务器认证用户成功,并更新TID0为TID1;否则,拒绝用户的本次登录请求。

2.4 口令修改阶段

当用户想修改口令时,可以如下更新口令:用户插入智能卡,输入旧的口令PW后提示两次输入新的口令PWnew,确保新口令的正确。智能卡计算 y=h(PW||N),ynew=h(PWnew||N)和vnew=v?堠y?堠ynew=synew后用vnew替换原有的v,这样口令修改阶段完成。

3 新认证方案的安全性证明和性能分析

3.1 安全性证明

新协议给每个用户分配动态登录身份保护用户的匿名性,攻击者想进行攻击必须锁定目标用户,否则由于每次登录身份不同,攻击者的攻击都是无效的。故假设攻击者已锁定目标用户,并能成功截获目标用户与服务器通信信息。

命题1 新协议能抵抗DoS攻击

证明:一般地,用户用动态身份TIDi登录,并收到下一次动态身份TIDi+1。但在用户登录过程中遭到DoS攻击,用户可以再次利用动态身份 TIDi登录,因为新协议采用三次握手技术,为确保用户的动态登录身份和服务器储存的同步,每次只有当用户登录成功时,用户和服务器才更新动态登录身份。这样只要DoS攻击不是持续的,用户一定能登录到服务器,而不必每次都要到认证中心解开账号,这种设计不会产生其他的安全问题,主要是重放攻击和冒充攻击。

命题2 新协议能抵抗重放攻击和冒充攻击

证明:这里有两种重放攻击:攻击者当用户正常登录时进行重放攻击;攻击者根据锁定的用户,先进行DoS攻击迫使用户重新登录后进行重放攻击。新协议采用动态登录身份,、攻击者直接重放以前的登录信息很容易被识破,假设攻击者试着构造正确的通信消息进行重放攻击,冒充合法用户欺骗服务器,或者冒充服务器欺骗用户,也即身份冒充攻击。

(1)攻击者在用户正常登录时进行重放攻击。首先假设攻击者冒充用户,试着构造{TIDi,R1,C1}和{C3}。

①重放TIDi,R1,构造C1,C3。假设攻击者根据锁定的用户,在用户登录服务器时截获登录消息{TIDi,R1,C1},直接从中获取TIDi 和R1用于随后重放攻击,试着构造C1,C3。但构造C1=h(TIDi,ID,s,R2),C3=h(TIDi,TIDi+1,s,R2),攻击者必须计算R2=r1Q。攻击者可能从R1=r1P中计算随机数r1,但这相当于解决ECDLP难题,是很难实现的;攻击者可能自己选一个随机数r计算出R,进而计算

但要计算C1,C3,攻击者还必须计算s。而s的计算与用户的口令PW和服务器的秘钥k有关,是很难获得的,所以此种攻击是无法成功的。

②重放TIDi,R1,C1,构造C3。假设攻击者在用户登录时截获第三轮消息{C3},试着构造C3。但是由上面分析,C3中含有s和R2是很难得到的,而且在新协议中用户只有通过与服务器的第三轮握手后才能被认证成功,所以此种攻击仍无法实现。

攻击者冒充服务器,重放消息{TIDi+1,C2}。

重放TIDi+1,构造C2。假设攻击者在服务器向用户发送消息时截获并{TIDi+1,C2},重

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top