石亚娟,黄辉辉,陈建华
(武汉大学 数学与统计学院,湖北 武汉430072)
基于智能卡的动态身份认证协议
石亚娟,黄辉辉,陈建华
(武汉大学 数学与统计学院,湖北 武汉430072)
认证协议是确保服务器和用户通过公开网络进行安全通信的一个重要手段。针对2013年皮兰等提出的一种改进的基于智能卡的远程异步认证协议,指出皮兰等方案缺乏匿名性且对拒绝服务(DoS)攻击是脆弱的,并给出一种新的认证方案。新方案采用动态登录身份保护用户的匿名性和三次握手技术抵抗DoS攻击,通过安全性证明和性能分析说明了新协议的高效性。
认证协议;匿名性;DoS攻击;动态身份;椭圆曲线密码体制
1981年Lamport等[1]首次提出基于口令的认证方案,这种方案实用性虽强,但这类方案存在致命的缺陷——离线口令猜测攻击。1993年 Chang等[2]提出结合口令和智能卡来提高认证协议的安全性和有效性,从此产生了一系列的认证方案[3-7]。2012年唐宏斌等[8]提出一种利用椭圆曲线加密机制和时间戳的认证协议,2013年皮兰等[9]指出在不安全信道中引入时间戳是存在严重的时钟同步问题,并提出一种的异步认证协议。本文指出皮兰等方案因不能保护用户的匿名性而缺乏实用性,因引入停止协议执行阈值很容易造成一个严重的安全问题——DoS攻击,并提出一种采用动态身份和三次握手技术的远程用户认证方案。新协议不仅能够保护用户的匿名性,而且有效的抵抗 DoS攻击,充分保证了协议性能的高效性。
文中的符号定义如下:U为用户;S为服务器;SC为智能卡;PW为用户的口令;k为服务器的高熵秘钥;h(·)为单项哈希函数;||为字符串连接操作;⊕为异或运算;⇒为安全信道;→为普通信道。
1.1 皮兰等方案
皮兰等方案由五个阶段组成,本文把登录和认证放在一起,省略口令修改阶段。
1.1.1 系统设置阶段
服务器选取有限域 GF(q)上的椭圆曲线 E,由 E上点形成一个点加法群Ea,b(GFq),设P是阶为n的生成元。服务器选取私钥k和计算对应的公钥Q=kP。服务器保密k,公布其系统参数{q,a,b,n,P,Q}。
1.1.2 注册阶段
(1)用户选取身份 ID、口令 PW 和新鲜数 N,通过安全信道把消息{ID,y=h(PW||N)}发给服务器。
U⇒S:{ID,y}
(2)收到{ID,y},服务器计算 s=h(ID||k),v=s⊕y,通过安全信道把存有 v,h(·)和系统参数的智能卡发给用户。
S⇒U:SC
(3)用户收到智能卡后,把 N输入智能卡,最后智能卡中含有v,h(·)和系统参数。
1.1.3 登录和认证阶段
(1)用户插入智能卡并输入ID和PW。智能卡向服务器发送登录请求{ID}。
SC→S:登录请求{ID}
(2)服务器收到ID后,验证 ID格式有效性,若无效,停止本次协议;否则任选随机数{r1}发给智能卡。
S→SC:{r1}
(3)收到 r1后,智能卡计算 y=h(PW||N)和 s=v⊕y= h(ID||k),然后任选随机数 r2,再计算 R1=r2P,R2=r2Q以及C1=h(ID,S,s,R2,r1)。最后智能卡发送登录消息{R1,C1}给服务器。
SC→S:{R1,C1}
(4)服务器收到{R1,C1}后,计算
kR1以及,比较是否等于C1;若二者不等,停止本次协议;否则服务器认证用户成功,计算C2=h(S,ID,s′,)发送给智能卡。
S→U:{C2}
(5)收到 C2后,智能卡计算=h(S,ID,s,r1,R2),并比较是否等于C2,若二者不等,服务器停止本次协议;否则用户认证服务器成功。用户在登录和认证阶段中的停止执行协议次数超过某个阈值h将被锁定帐号,必须亲自到认证中心解开。
1.2 皮兰等方案存在的问题
(1)缺乏匿名性
在皮兰等方案中,用户登录使用真实的身份ID在不安全信道中传输容易被攻击者截获而泄露用户的个人信息,便于攻击者对特定用户做出一系列攻击,如常见于协议中的拒绝服务(DoS)攻击,冒充攻击等。另外,面对网络信息安全的严峻形势,用户也意识到个人信息的重要性,特别是在一些特殊的应用中,例如网上匿名投票,保密电子商务等,用户的信息是不便泄露的。因此,皮兰等方案缺乏很大的实用性。
(2)对DoS攻击是脆弱的
为阻止在线口令猜测,皮兰等方案设计用户在登录和认证中停止执行协议次数超过某个阈值h,将锁定该帐号,用户必须亲自到认证中心解开帐号,这种方案极容易造成DoS攻击。因为登录和认证阶段是通过不安全信道通信,一方面容易受到各种不确定因素(如环境,其他设备等)的干扰;另一方面,皮兰等方案缺乏匿名性,用户每次登录与服务器通信频繁(四次),攻击者易锁定特定用户后任意伪造、篡改、中断通信消息{ID},{r1},{R1,C1}或{C2},都能造成停止执行协议造成 DoS攻击。如果此情况常发生,可能造成整个系统崩溃,皮兰等方案具有严重的不合理性。
新方案包括系统初始化、注册、登录认证和口令修改等四个阶段,具体如下。
2.1 系统初始化阶段
该阶段与皮兰等方案的系统设置类似,但注意:(1)服务器选择自己的密钥k,以及用户在登录时选择的随机数r1,满足k,r1∈[1,n-1],这是保证kP,r1P∈Ea,b[GFq]。(2)椭圆曲线上的离散对数问题(ECDLP):给定 P,Q∈Ea,b[GFq],求一个 k满足Q=kP是相对困难的[10]。
2.2 注册阶段
(1)用户选取自己的身份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,若找不到停止本次会话;否则,计算,并检验=?C1。若不相等,停止本次会话;否则服务器为用户分配下一次动态登录身份 TID1,并计算C2=h(TID1,s′,)后发送消息{TID1,C2}给用户。
S→SC:{TID1,C2}
(3)收到{TID1,C2}后,用户计算=h(TID1,s,R2)并检验=?C2。若不相等,停止本次会话;否则用户认证服务器成功,把动态身份 TID1保存到智能卡,直到下一次成功登录并收到动态身份 TID2,再用 TID2更新 TID0。最后计算 C3=h(TID0,TID1,s,R2),智能卡发送{C3}给服务器。
SC→S:{C3}
(4)收到{C3}后,服务器计算=h(TID0,TID1,s′,)并检验=?C3。若相等,服务器认证用户成功,并更新TID0为TID1;否则,拒绝用户的本次登录请求。
2.4 口令修改阶段
当用户想修改口令时,可以如下更新口令:用户插入智能卡,输入旧的口令PW后提示两次输入新的口令PWnew,确保新口令的正确。智能卡计算 y=h(PW||N),ynew=h(PWnew||N)和 vnew=v⊕y⊕ynew=s⊕ynew后用 vnew替换原有的v,这样口令修改阶段完成。
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难题,是很难实现的;攻击者可能自己选一个随机数计算出,进而计算,但要计算C1,C3,攻击者还必须计算s。而s的计算与用户的口令PW和服务器的秘钥k有关,是很难获得的,所以此种攻击是无法成功的。
②重放TIDi,R1,C1,构造C3。假设攻击者在用户登录时截获第三轮消息{C3},试着构造 C3。但是由上面分析,C3中含有 s和 R2是很难得到的,而且在新协议中用户只有通过与服务器的第三轮握手后才能被认证成功,所以此种攻击仍无法实现。
攻击者冒充服务器,重放消息{TIDi+1,C2}。
重放TIDi+1,构造 C2。假设攻击者在服务器向用户发送消息时截获并{TIDi+1,C2},重放TIDi+1,构造 C2。攻击者构造正确的 C2=h(TIDi+1,s′,),必须获得 s′,,但是这些值都与服务器的秘钥k有关,攻击者是很难得到的,所以此种攻击也是不可能的。
(2)先DoS攻击后重放攻击。此种情况由于用户重新输入身份和口令,只是发送同样的动态身份,根据上面的分析,与直接进行重放攻击类似,所以此攻击仍是无法实现。此外,通过上面分析,只有合法用户才能计算正确的信息让服务器认证,只有真正的服务器才能计算正确的消息通过用户的认证,所以新协议提供双向认证性。
命题3 新协议能抵抗口令猜测攻击
证明:下面分别从用户端和服务器端来证明。
(1)假设攻击者盗取用户的智能卡,并获得其中的 v和N后进行口令猜测攻击。攻击者猜测一个口令PW*,由s*=v⊕y*=v⊕h(PW*||N)计算出s,再通过计算C1=h (TIDi,ID,s*,R2)或者 C3=h(TIDi,TIDi+1,s*,R2)来验证猜测的正确性。但由前面分析,C1,C3中含有随机数 r1,是无法确定猜测口令的正确性。所以,攻击者从用户端进行口令猜测攻击是不行的,同时也证明新协议能抵抗智能卡丢失攻击。
(2)假设此处的攻击者是特权内部攻击者,即来自系统管理人员,并且从用户开始注册就锁定目标用户,记录用户递交信息 ID,y=h(PW||N)接下来进行口令猜测攻击。但是由于y中含有高熵随机数N,攻击者仍无法实行口令猜测攻击。另外,新协议在服务器端保存用户的动态登身份 TIDi和真实身份 ID,而TIDi只是用户身份的一个代表,由系统随机分配;用户的真实身份ID,主要是为了服务器辨别不同的用户,这两个值在协议中都不是敏感的数据,所以新协议也能抵抗被盗校验子攻击。
表1 各种方案计算代价比较
3.2 性能分析
各种方案计算代价和安全性比较分别如表1和表2所示。从表1看,与Chen等方案比较,新方案需要椭圆曲线上点乘运算并不占优;但从表2看,Chen等方案的安全性明显低,而且新方案建立在椭圆曲线密码机制上,与传统的公钥密码体制(如 RSA)比较具有很多优势,例如256位的ECC与1024位的RSA具有相同的安全性[10],所以在同安全条件下,新方案在总的性能上占优。从表1看,与唐-皮等方案(唐宏斌等方案和皮兰等方案)比较,新方案在登录认证阶段多2个哈希运算。但是唐宏斌等方案在用户登录前需要一个预计算阶段,皮兰等方案在登录认证阶段需要与服务器进行四次握手通信,而本方案不需要预计算阶段,登录认证只需三次握手通信;而且唐-皮等方案进行口令修改时,还要与服务器进行四次通信,而新协议用户自己就能完成,计算代价明显减小。从表2看,新协议不仅不需要协调时钟,降低成本代价,而且具有匿名性以及抵抗强安全性问题——DoS攻击,充分确保了认证协议的有效性。所以新协议总的性能仍占优。
表2 各种方案的安全性比较
本文提出一种基于智能卡和动态身份的远程用户认证协议,采用动态登录身份来保护用户的匿名性,避免重放攻击,通过延长用户存储动态身份和三次握手技术抗击DoS攻击,同时保证协议性能的高效性,扩大了协议的使用范围,例如移动设备云环境下的用户登录认证。
[1]LAMPORT L.Password authentication with insecure communication[J].Communication of the ACM,1981,24(11):770-772.
[2]CHANG C C,WU T C.Remote password authentication with smartcards[J].IEE Proceedings-E Computers and Digital Techniques,1993,138(3):165-168.
[3]CHIEN H Y,JAN J K,TSENG Y M.An efficient and practical solution to remote authentication:smart card[J]. Computers and Security,2002,21(4):372-375.
[4]KU W C,CHEN S M.Weaknesses and improvements of an efficient password based remote user authentication scheme using smart cards[J].IEEE Transactions on Consumer Electronics,2004,50(1):204-207.
[5]HSU C L.Security of Chien et al.′s remote user authentication scheme using smart cards[J].Computer Standards and Interfaces,2004,26(3):167-169.
[6]HSIANG H C,SHIH W K.Weakness and improvements of the Yoon-Ryu-Yoo remote user authentication scheme using smartcards[J].Computer Communications,2009,32(4):649-652.
[7]CHEN C L,LIN Y F,WANG N C.An improvement on Hsiang and Shih′s remote user authentication scheme using smartcards[C].Proceedings of the 12th ACIS International Conference on Software Engineering,Artificial Intelligence,Networking and Parallel/Distribute Computing.2011:53-57.
[8]唐宏斌,刘心松.增强的基于智能卡的远程用户认证协议[J].计算机工程与应用,2012,48(19):61-65.
[9]皮兰,武传坤.改进的基于智能卡的远程异步认证协议[J].计算机工程与应用,2014(8):61-65.
[10]MILLER V S.Use of elliptic curves in cryptography[J]. Advances in cryptology,proceedings of CRYPTO.1986,85 (218):417-426.
A smart card and dynamic identity based user authentication scheme
Shi Yajuan,Huang Huihui,Chen Jianhua
(School of Mathematics and Statistics,Wuhan University,Wuhan 430072,China)
Authentication protocol is a crucial technique to ensure the secure communication between remote server and users in the open network.In 2013 Pi et al.proposed an improved remote asynchronous authentication scheme with smart card.However, we investigate the scheme is inability to user′s anonymity and vulnerable to denial of service(DoS)attack.In order to overcome the pitfalls in Pi et al.’s scheme,a smart card and dynamic identity based authentication scheme is proposed.The proposed scheme can resist all kinds of mentioned attacks as well as maintain efficient performance.
authentication scheme;anonymity;DoS attack;dynamic identity;elliptic curve cryptography(ECC)
TP302
:A
:0258-7998(2015)03-0097-04
10.16157/j.issn.0258-7998.2015.03.025
2014-08-12)
石亚娟(1990-),女,硕士研究生,主要研究方向:应用密码学及密码协议。
黄辉辉(1988-),男,硕士研究生,主要研究方向:信息安全,密码协议。
陈建华(1963-),男,教授,博士生导师,主要研究方向:数论与密码学,椭圆曲线密码等。