文档库 最新最全的文档下载
当前位置:文档库 › 增强的基于智能卡的远程用户认证协议

增强的基于智能卡的远程用户认证协议

2012,48(19)

1引言

当用户希望登陆到远程服务器并且使用该服务器提供的服务时,用户首先必须通过服务器对客户的认证;同时为了防止用户被恶意服务器欺骗,用户也要对远程服务器进行认证以确认该服务器的身份。自1981年Lamport[1]提出第一个基于口令的认证协议以来,此类认证协议由于方案的易布置和口令的易记性而得到广泛应用。近年来,为了增强认证协议的安全性,众学者提出了结合使用口令和智能卡的认证协议[2-9]。

2002年,Chien等[3]提出一种高效的基于口令的远程用户认证协议,该协议只需哈希运算并提供相互认证性,同时用户可以自由选择口令且服务器无需保存各种用于验证用户身份的信息。2004年,Ku 等[5]指出Chien方案存在着反射攻击和内部攻击,并提出一种改进的方案。但是Hsu等[6]指出Ku等的改进方案存在着平行会话攻击,同时在口令修改阶段也存在安全问题。为了解决Ku等方案存在的安全问

增强的基于智能卡的远程用户认证协议

唐宏斌,刘心松

TANG Hongbin,LIU Xinsong

电子科技大学计算机科学与工程学院,成都610054

School of Computer Science and Engineering,University of Electronic Science and Technology of China,Chengdu 610054,China

TANG Hongbin,LIU Xinsong.Enhanced smart card based remote user authentication https://www.wendangku.net/doc/448935024.html,puter Engineering and Applications,2012,48(19):61-65.

Abstract:A smart card based remote user authentication scheme is more secure than a password-based authentica-tion scheme.In2011,Chen et al.proposed an improvement on Hsiang et al.’s remote user authentication scheme, and claimed their scheme was more secure than Hsiang et al.’s scheme.However,their scheme is still vulnerable to insider attack,lost smart card attack,replay attack,and impersonation attack.To overcome the dictionary attack against lost smart card,a user authentication scheme based on smart card and elliptic curve discrete logarithm prob-lem is proposed.This scheme is proved to be secure agaisnt various attacks and needs only one elliptic curve scale multiplication in the login and authentication phases.

Key words:cryptography;authentication;protocol;Elliptic Curve Discrete Logarithm Problem(ECDLP);smart card;password

摘要:基于智能卡的远程用户认证协议比基于口令的安全协议能提供更好的安全性。2011年Chen等提出一种对Hsiang-Shih方案改进的基于智能卡的远程认证协议,并称解决了相关方案中存在的各种攻击问题。指出Chen等方案仍然存在着内部攻击、丢失智能卡攻击、重放攻击和身份冒充攻击,并针对基于口令和智能卡的远程认证协议类存在的离线口令猜测攻击提出一种基于智能卡和椭圆曲线离散对数问题的认证协议。该协议能抵抗提到的所有攻击,在登陆和认证阶段只需要一个点乘运算。

关键词:密码学;认证;协议;椭圆曲线离散对数问题;智能卡;口令

文章编号:1002-8331(2012)19-0061-05文献标识码:A中图分类号:TP309

作者简介:唐宏斌(1973—),男,博士生,主要研究领域为分布式系统,密码学认证协议;刘心松(1940—),男,博士,教授,主要研究领域为数字有机体操作系统,数字有机体数据库系统,数字有机体流媒体系统和数字有机体流量调度系统。

E-mail:tanghongbin2011@https://www.wendangku.net/doc/448935024.html,

收稿日期:2011-12-13修回日期:2012-02-20

DOI:10.3778/j.issn.1002-8331.2012.19.016

Computer Engineering and Applications计算机工程与应用61

Computer Engineering and Applications计算机工程与应用2012,48(19)

题,2004年Yoon等[7]提出一种改进协议,然而该改进协议依然存在问题。Hsiang等[8]指出该协议存在着身份冒充攻击,口令猜测攻击和平行会话攻击,并提出一种改进的远程认证方案。2011年,Chen等[9]指出Hsiang等方案存在口令猜测攻击,并提出自己的安全认证协议,声称他们的方案高效且安全。本文指出Chen等方案存在内部攻击、丢失智能卡攻击、重放攻击和身份冒充攻击。针对相关的基于智能卡的远程认证协议存在的丢失智能卡后进行的口令猜测攻击,本文提出一种基于椭圆曲线离散对数难题的远程用户认证协议。本文协议能抵抗所述各种攻击,在登陆和认证过程中需要进行一次点乘运算,保持了认证协议的高效性。

2Chen等协议回顾

本章对Chen等协议进行回顾,并探讨Chen等协议存在的弱点。文中所使用的符号定义如下:U为用户;S为远程服务器;D为候选口令字典集;PW为口令;x为服务器S选择的高熵密钥;h(·)为单向哈希函数;||:字符串连接操作;⊕为异或操作。

2.1Chen等协议

Chen等协议由注册、登陆、认证和口令修改等四个阶段组成。

2.1.1注册阶段

R1用户通过安全信道把ID和h(PW)发给服务器S。

R2服务器S收到上条消息后计算P=h(x)⊕(ID||N s),R=h(x||N s)⊕h(PW)和V=h(ID||h(x||N s)),并把P,R,V,h(·)保存在智能卡内,随后通过安全信道把智能卡发给用户。

2.1.2登陆阶段

当用户希望登录到远程服务器的时候,首先插智能卡到系统的读卡器中,然后输入身份ID和口令PW,智能卡执行如下协议:

L1U→S:P,C1,C2

智能卡首先计算(h(x||N s))'=R⊕h(PW)和V'= h(ID||(h(x||N s))'),然后验证V'是否等于V,如果不相等则智能卡拒绝登陆请求并终止执行协议;否则选择一个随机数N u,并计算C1=R⊕h(PW)⊕N u,C2=h(h(ID)||N u),然后给服务器发去消息P、C1和C2。

2.1.3认证阶段

A1S→U:C3

服务器接到L1中的消息后,计算(ID'||N's)=P⊕h(x),N'u=C1⊕h(x||N's)。然后判断C2是否等于h(h(ID')||N'u),如果不等则服务器拒绝登陆请求;否则服务器认证用户U的身份,并发送C3=h(ID'||N'u)给用户U。

A2用户接到A1中的消息后验证C3是否等于h(ID||N u),如果等式成立则用户认证了服务器的身份;否则用户终止协议执行。

2.1.4口令修改阶段

当用户需要修改口令则执行本阶段协议。

P1用户插智能卡到读卡器中并输入身份ID和旧口令PW。

P2智能卡按登陆协议中验证V'的方法验证V'的正确性,如果不正确则智能卡拒绝口令修改请求;否则智能卡请求用户输入新的口令并计算R'=R⊕h(PW)⊕h(PW new)=h(x||N s)⊕h(PW new)。随后用R'替换智能卡中的R值。

2.2存在的攻击

攻击1内部攻击(insider attack)

当用户在注册阶段给服务器发去ID和h(PW)消息的时候,系统管理员可监听到该消息,那么管理员可以做如下的离线口令猜测攻击。

(1)从字典集D中按顺序选取一候选口令PW*。

(2)计算h(PW*)并和h(PW)值比较,如果相等则表示攻击者找到了用户U的口令;否则转(1)重新计算直到找到口令。

攻击2丢失智能卡攻击(lost token attack)

当用户的智能卡丢失后,攻击者可以通过Kocher 等[10]和Messerges等[11]提出的方法从智能卡里面获得R和V值,然后进行离线口令猜测攻击,攻击过程如下:(1)从字典集D中按顺序选取一候选口令PW*。

(2)计算h(x||N s)'=R⊕h(PW)和V'=h(ID||h(x||N s)'),如果V'=V则表示攻击者找到了用户U的口令;否则转(1)重新执行直到找到用户的口令。

攻击3重放攻击(replay attack)和身份冒充攻击(impersonation attack)

Chen等协议存在着重放攻击和身份冒充攻击,攻击过程如下:

(1)攻击者Eve记录了过去某一轮用户U的登录消息P、C1和C2。

(2)攻击者Eve简单重新发送消息P、C1和C2给服务器。

(3)服务器接到该消息后计算(ID'||N's)=P⊕h(x),N'u=C1⊕h(x||N's)。然后判断C2是否等于h(h(ID')||N'u)。因为重放的消息是合法用户U构造出来的消息,该消

62

2012,48(19)

息顺利通过服务器的验证,从而服务器“认证”了用户Eve的身份。随后服务器计算和发送C3=h(ID'||N'u)给用户Eve。

(4)Eve接到消息C3后忽略该消息,至此Eve冒充用户U和服务器认证成功。

从该过程可以看出,Chen等协议存在重放攻击和身份冒充攻击。由此可见,Chen等协议并未成功地提供双向认证。

3新的认证方案

基于椭圆曲线离散对数问题提出新的远程用户认证方案,以解决上述文献中存在的不安全缺陷。协议分为六个阶段:系统设置阶段、注册阶段、预计算阶段、登陆阶段、认证阶段、口令修改阶段。

3.1系统设置阶段

所有用户和服务器协商好如下系统参数:用户和系统共同选择有限域GF(q)上的一条椭圆曲线E,E a,b(GFq)为有限域GF(q)上椭圆曲线E的一个点加法群,并设P为其生成元,其阶为n[12-14]。

服务器选择自己的密钥x,其对应公钥为Q=x·P,服务器保密x,公布其系统参数q,a,b,n,P,Q。

3.2注册阶段

步骤1U→S:(ID,h(PW||N))

用户自由地选择自己的身份ID、口令PW、新鲜数N,通过安全信道把ID和h(PW||N)发给服务器S。

步骤2S→U:smart card

服务器S收到上条消息后计算s=h(ID||x)和v= s⊕h(PW||N),并把v,h(·)和公共参数保存在一个智能卡内,通过安全信道把该智能卡发给用户。

步骤3用户接到智能卡后把N输入其内保存,最终智能卡内含有v,h(·),N和公共参数。

3.3预计算阶段

当用户插智能卡到读卡器的时候,智能卡选择一随机数r1,计算R1=r1×P和R2=r1×Q,并保存R1和R2在智能卡内用于后续阶段;当完成执行协议的时候智能卡安全地删除随机数R1和R2。

3.4登陆阶段

当用户希望使用远程服务器上的服务时,首先要通过普通信道登录服务器并和服务器进行双向认证。用户首先插入智能卡到读卡器中,并输入身份ID和口令PW,然后智能卡进行如下操作:

步骤1U→S:ID,R1,T u,C1

智能卡首先计算s=v⊕h(PW||N)=h(ID||x),然后计算C1=h(ID,S,s,R2,T u),其中T u为系统当前时钟值。随后给服务器发去请求登陆消息ID,R1,T u,C1。

3.5认证阶段

步骤1S→U:C2,T s

服务器接到用户发来的登陆请求消息后,首先验证ID格式的正确性,如果格式不正确则停止执行协议。否则校验0

u

£D T是否成立,其中T'为服务器接收到请求消息时候的时钟值。如果不等式不成立则服务器停止协议执行,当错误次数超过某个阈值的时候锁定该用户账号,用户必须亲自到认证中心解开账号;如果成立则继续往下执行协议。

服务器首先计算s'=h(ID||x)和R'2=x×R1,然后计算C'1=h(ID,S,s',R'2,T u)并检查C'1是否等于C1。如果不相等则服务器拒绝登陆请求,否则服务器认证了用户的U的身份。随后获取服务器当前时钟值T s 并计算C2=h(S,ID,s',R'2,T s),最后发送C2消息给用户U。

步骤2用户U接到上述应答消息后校验0<

T'″-T

s

£D T是否成立,其中T''为用户接收到应答消息时候的时钟值。如果不等式不成立则用户停止协议执行,否则用户接着计算C'2=h(S,ID,s,R2,T s)并检查C'2是否等于C2;如果不等,则用户停止执行协议,否则用户通过该消息认证了服务器的身份。

3.6口令修改阶段

当用户由于各种原因要修改口令的时候,用户可以通过本阶段协议修改口令值。其修改过程如下:步骤1用户插入智能卡并输入身份ID、口令PW。

步骤2智能卡首先执行登陆和认证阶段的协议,如果通不过认证协议,则智能卡拒绝修改请求并反馈拒绝修改信息给用户;否则继续执行如下协议。

步骤3智能卡提醒用户输入两遍新口令值PW*,两遍输入是为了保证新口令值的正确性,然后选择一个新随机数N*,再计算v*=v⊕h(PW||N)⊕h(PW*||N*)= h(ID||x)⊕h(PW*||N*)。智能卡存储v*值和N*值取代旧的v值和N值,最后智能卡反馈口令修改成功消息给用户。

虽然本文协议在第二步首先要求进行登陆确认旧口令的正确性,但是由于口令修改阶段协议被执行的频率远小于登陆认证协议被执行的频率,故而本文方案在性能上并未受损。

唐宏斌,刘心松:增强的基于智能卡的远程用户认证协议63

Computer Engineering and Applications计算机工程与应用2012,48(19)

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

4.1安全性证明

命题1协议能抵抗重放攻击(replay attack)。

证明时戳T u的存在让攻击者Eve无法重放第一条消息。Eve如果要冒充用户登陆,就必须正确计算出C1值;而欲计算C1值就必须能从R1计算出R2值,Eve要计算它就必须解决椭圆曲线离散对数问题(ECDLP)。

Eve无法重放第二条消息,因为该消息内含有s= h(ID||x)和R2等验证消息。Eve在没有系统密钥x或者h(ID||x)以及R2的情况下无法正确构造出该消息。

命题2协议能抵抗身份冒充攻击(impersonation attack)。

证明攻击者Eve无法冒充用户进行攻击,在不知道x和r1的情况下,Eve无法正确构造出第一条消息,因为要从R1提取r1值她要面临ECDLP难题;若欲进行重放攻击,则由于时戳的存在而导致重放失败。同样,Eve无法冒充服务器进行攻击,在不知道服务器密钥x或者h(ID||x)值的情况下,Eve无法对挑战信息作出正确的回应。

命题3协议能抵抗口令猜测攻击(dictionary attacks)。

证明在线口令猜测攻击可以通过制定一个登陆阈值即可遏制攻击,从而主要考虑离线口令猜测攻击。

情形1内部攻击者在监听到ID,h(PW||N)消息的情形下无法进行口令猜测攻击,因为哈希值中还包含一个攻击者无法猜测的高熵随机值N,从而本协议抵抗内部攻击(insider attack)。

情形2在攻击者Eve盗窃了用户U的智能卡的情况下,Eve也无法进行离线口令猜测攻击。Eve可以从智能卡中获得v和N值,并猜测一个口令计算出s值。然而要计算C1和C2还需要获得R2,而R2值只能由R1计算,要从R1获得r1值Eve必须面临着解决ECDLP,从而Eve无法进行口令猜测攻击。本协议抵抗丢失智能卡攻击(lost smart card attack)。

情形3服务器上并未保存任何关于用户的信息,故而攻击者无法进行攻破服务器后进行离线口令猜测攻击,本协议抵抗被盗校验子攻击(stolen-verifier attack)。

命题4协议提供了双向认证性(mutual authenti-cation)。

证明从协议的设计过程可以看出协议能提供双向认证性:第一条信息只有合法的用户才能适时成功构造出来;而第二条消息只有服务器才能进行正确的应答。本文协议通过两条消息提供了双向认证性。

4.2性能分析

性能分析主要考虑登陆和认证阶段的计算代价,而其中计算代价最大的是椭圆曲线上的点乘运算,异或运算所需时间相对而言可以忽略不计。本文协议和相关文献的计算代价比较,如表1所示。

PM代表椭圆曲线上标量乘法即点乘运算,H代表哈希运算,XOR代表异或运算。

从表1看,本文方案运用了椭圆曲线点乘运算从而在性能上并未占优,然而如果只运用哈希运算和异或运算,方案均存在丢失智能卡攻击。但是本文方案和基于传统公钥方案比较,比如基于RSA或者离散对数方案,那么本文方案在登陆和认证阶段只需要进行一次点乘运算,性能上占优。

表2是不同方案遭受的各种攻击比较。从表2可以看到无论是Yoon等方案,还是Hsiang等、Chen 等方案,均存在不同的攻击;特别是先前的相关的基于智能卡的认证方案均存在丢失智能卡攻击,而本文方案则能抵抗这些攻击。

5结束语

Chen等提出一种改进的基于智能卡的远程用户认证协议,并称该方案是安全的。然而Chen等协议仍然存在着内部攻击、丢失智能卡攻击、身份冒充攻击和重放攻击,并未能成功地提供双向认证性。本文提出一种改进的基于智能卡的远程认证协议,该

阶段

预计算阶段

注册阶段

登陆和认证阶段口令修改阶段Yoon等方案

2H+3XOR

6H+7XOR

6H+6XOR

Hsiang等方案

4H+4XOR

8H+7XOR

6H+6XOR

Chen等方案

4H+2XOR

10H+4XOR

3H+2XOR

本文方案

2PM

2H+1XOR

6H+1PM+1XOR

8H+1PM+3XOR 表1各种方案计算代价的比较

64

2012,48(19)

协议基于椭圆曲线离散对数问题,通过椭圆曲线离散对数难题和时戳因素使非法用户无法正确构造出或重放登录消息;而服务器在回复消息中必须嵌入所拥有的私密信息。本文协议能抵抗所提到的各种攻击,从而更加安全。该改进协议和基于哈希的认证方案相比在性能上并未占优,但是能解决基于哈希认证方案所遭受的攻击问题,特别是丢失智能卡攻击;并且该认证协议使用了一次椭圆曲线点乘运算,保持了协议运行的高效性。本文协议由于可以抵抗丢失智能卡攻击,因而也适用于移动设备上的认证方案。

参考文献:

[1]Lamport L.Password authentication with insecure com-

munication[J].Communication of the ACM,1981,24(11):770-772.

[2]Hwang M S,Li L H.A new remote user authentication

scheme using smart cards[J].IEEE Transactions on Con-sumer Electronics Letters,2000,46(1):28-30.

[3]Chien H Y,Jan J K,Tseng Y M.An efficient and practi-

cal solution to remote authentication:smart card[J].Com-puters and Security,2002,21(4):372-375.

[4]Shen J J,Lin C W,Hwang M S.A modified remote user

authentication scheme using smart cards[J].IEEE Trans-actions on Consumer Electronics,2003,49(2):414-416. [5]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 Con-sumer Electronics,2004,50(1):204-207.[6]Hsu C L.Security of Chien et al.’s remote user authen-

tication scheme using smart cards[J].Computer Stan-dards and Interfaces,2004,26(3):167-169.

[7]Yoon E J,Ryu E K,Yoo K Y.Further improvement of

an efficient password based remote user authentication scheme using smart cards[J].IEEE Transactions on Con-sumer Electronics,2004,50(2):612-614.

[8]Hsiang H C,Shih W K.Weaknesses and improvements

of the Yoon-Ryu-Yoo remote user authentication scheme using smart cards[J].Computer Communications,2009,32(4):649-652.

[9]Chen C L,Lin Y F,Wang N C,et al.An improvement

on Hsiang and Shih’s remote user authentication scheme using smart cards[C]//Proceedings of the12th ACIS International Conference on Software Engineering,Artificial Intelligence,Networking and Parallel/Distributed Computing(SNPD),2011:53-57.

[10]Kocher P,Jaffe J,Jun B.Differential power analysis[C]//

Proceedings of Advances in Cryptology,Santa Barbara,CA,USA,1999.

[11]Messerges T S,Dabbish E A,Sloan R H.Examining

smart-card security under the threat of power analysis

attacks[J].IEEE Transactions on Computers,2002,51(5):541-552.

[12]Koblitz N.Elliptic curve cryptosystems[J].Mathematics

of Computation,1987,48:203-209.

[13]Certicom Research.SEC1:EC Cryptography Ver 1.0

Standard for efficient cryptography[S].2000.

[14]Menezes A J,Oorschot P C,Vanstone S A.Handbook

of applied cryptograph[M].New York,USA:CRC Press,1997.

攻击类型

抵抗内部攻击

抵抗被盗校验子攻击

抵抗重放攻击

抵抗身份冒充攻击抵抗离线口令猜测攻击抵抗丢失智能卡攻击

提供双向认证

是否需要协调时钟Yoon等方案

Hsiang等方案

Chen等方案

本文方案

表2各方案遭受的攻击比较

唐宏斌,刘心松:增强的基于智能卡的远程用户认证协议65

相关文档