基于USB-Key的强口令认证方案设计与分析

时间:2022-07-18 08:05:38

基于USB-Key的强口令认证方案设计与分析

摘 要:

针对OSPA强口令认证方案无法抵抗重放攻击、拒绝服务攻击的不足,提出了一种基于USBKey的口令认证方案。该方案使用USBKey进行用户口令的验证并存储认证的安全参数,能够有效地保护安全参数不被窃取。认证方案在认证过程中对用户的身份信息进行了保护,使用Hash运算计算认证参数,通过用户端和服务器端之间的认证参数的传递实现双向认证。方案的安全性分析表明,它能够防止口令猜测攻击、重放攻击、假冒攻击、拒绝服务攻击,方案系统开销小,适用于运算能力有限的终端用户。

ス丶词:

口令认证;USBKey;Hash函数;双向认证

ブ型挤掷嗪牛 TP309.2

文献标志码:A

英文标题

Design and analysis of USBKey based strong password authentication scheme

び⑽淖髡呙

YU Jiang, SU Jinhai, ZHANG Yongfu

び⑽牡刂(

Institute of Electronic Technology, Information Engineering University, Zhengzhou Henan 450004, China

英文摘要

)

Abstract:

Concerning that the OSPA protocol is vulnerable to the replay attack and the denialofservice attack, in this paper, a USBKey based strong password authentication scheme was proposed, which used USBKey to verify the users password and store the security parameter. In this scheme, users identity can be protected by using the temporary identity and the authentication parameters computation by Hash function. This scheme can achieve mutual authentication between user and server by transferring the authentication parameters. The security analysis of the scheme proves that the scheme is resistant to replay attack, impersonation attack and Denial of Service (DoS) attack, and it has high security, and it can be used by users with limited computation ability.

英文关键词

Key words:

password authentication; USBKey; Hash function; mutual authentication

0 引言

随着计算机网络和分布式系统的快速发展及应用,用户在远程访问时身份的有效识别和认证,是远程安全访问的基本前提。为了实现用户的身份识别,提出了多种身份认证方案,最常见最简单的身份认证方法是通过对口令的匹配来确认用户的合法性。传统的口令用户身份认证方式存在很多问题,无法避免窃听、口令猜测、重放、假冒、字典扫描等攻击方式,不适用于安全性要求较高的网络应用系统。一次性口令(One Time Password,OTP)机制在登录过程中加入不确定因素,使用户每次登录系统时传送的口令都不同,以提高系统的安全性。但是,现有的一次性口令机制也越来越多地暴露出易猜测、易被篡改和被分析等缺点。

多数的口令认证方案如Lamport方案[1]、S/Key系统[2]、CINON[3]、SAS[4]、PERM[5]等,在认证过程中用户需要将认证请求和用户身份标识传输给认证服务器,这使得攻击者可以监视用户的认证行为和认证过程,更容易对用户的认证过程进行攻击。因此,认证过程中对用户身份标识的保护是十分重要的。

本文提出了一种基于USBKey的安全高效的强口令身份认证方案。该方案在OSPA方案[6]的基础上增加了用户和服务器之间的双向认证,而且用户的认证信息保存在USBKey中,在认证过程中对用户身份标识进行了保护,方案使用散列函数和异或等轻量的运算操作,有效地防止重放攻击、假冒攻击和拒绝服务攻击等手段,可以在分布式网络环境下实现对用户身份的认证。

1 OSPA强口令认证方案分析

优化强口令身份认证协议(Optimal Strong Passward Authentication, OSPA)方案是一种典型的强口令认证方案,使用Hash函数实现用户的认证,方案包括用户注册和认证两个阶段。OSPA协议由LinSunHwang提出,Chen和Ku发现协议无法抵抗stolenverifier攻击[7],Tsuji和Shimizu指出OSPA协议无法抵抗中间人攻击[8]。基于这些问题,Lin等人[9]对OSPA方案进行改进,但仍然无法抵抗重放攻击和拒绝服务攻击。

1.1 OSPA方案

文献[9]的改进方案也包括用户注册和认证两个阶段,并且使用智能卡存储安全参数。方案中IDAП硎拘枰进行认证的用户AУ谋晔叮SП硎救现し务器,PП硎居没У目诹睿N表示产生的随机数,h(・)П硎景踩的无碰撞的Hash函数,ЖП硎景次灰旎蛟怂悖АП硎咀址串连接操作。

注册阶段,用户AР生随机数NВ计算h2(PN)В并将用户标识IDA和h2(PN)б黄鸶服务器SА7务器SП4妾h2(PN)Р⒓扑悛K=h2(PN)h(xIDA)В将k给用户AВ用户将k和NП4嬖谥悄芸ㄖ小F渲歇x是服务器随机选择的保护密钥,由服务器保存。

认证阶段中的第nТ稳现す程按以下步骤进行。

1)用户A使用智能卡并输入口令P,计算C1=Kh2(PN)=h(xIDA)ВC2=C1h(PN)ВC3=h(C1)h2(PN′)А*N′是用户A新生成的随机数,AЫIDA、C2、C3发送给服务器S。オ

2)S收到IDA,C2、C3Ш笙燃扑悛h(xIDA)В然后计算ИY1=h(xIDA)C2=h(PN)В如果h(Y1)Ш头务器存储的h2(PN)相等,那么接受用户认证,计算Y2=h2(xIDA)C3=h2(PN′)В服务器用Y2Ц新认证检验参数,为用户下次认证使用。

1.2 OSPA方案的不足

1)对OSPA的拒绝服务攻击。

攻击者在用户的某次认证过程中,使用相同大小的随机数R替换用户计算的参数C3,不改变IDA和C2。服务器收到参数后先计算Y1=h(xIDA)C2=h(PN),验证h(Y1)和服务器存储的h2(PN)是否相等,且接受用户认证;然后计算Y2=h2(xIDA)C3=h2(PN′),由于C3被攻击者替换为R,下次的认证检验参数Y2改变为h2(xIDA)R,服务器更新认证参数为h2(xIDA)R。虽然本次认证能正常通过,但由于Y2的改变将导致合法用户在以后的认证过程中无法被正确认证。オ

2)对OSPA的重放攻击。

Ъ偕璧庇没A第n次认证前,攻击者监听到A的前两次认证消息(IDA,Cn-22,Cn-23)和(IDA,Cn-12,Cn-13)。当A进行第n次认证时,攻击者将第n次的认证消息(IDA,Cn2,Cn3)中的Cn3替换为Cn-23形成(IDA,Cn2,Cn-23)发送给S,Cn-23=h(C1)h2(PNn-1),显然Nn-1 = N(n-2)。S收到消息后计算Yn1= h(xIDA )Cn2 = h(PNn),由于Cn2没有被替换,所以h(Yn1)与服务器中存储的检验参数h2(PNn)相等,服务器将通过用户的认证继续计算Y2=h2(xIDA)Cn-23=h2(xIDA)h2(xIDA)h2(PNn-1)=h2(PNn-1),用h2(PNn-1)更新库中的检验参数。在用户A的第n+1次认证前,攻击者便可以使用第n-1的认证消息(IDA,Cn-12,Cn-13)假冒用户A进行认证,因为h(h(xIDA))Cn-12=h2(PNn-1),服务器将库中检验参数h2(PNn-1)替换为h2(PNn),攻击者还可使用(IDA,Cn2,Cn-23)进行再次认证,这样交替使用(IDA,Cn-12,Cn-13)和(IDA,Cn2,Cn-23)可以不断通过认证。在用户A的第n+1次认证前攻击者使用(IDA,Cn2,Cn3)认证后,用户A将可正常被认证,无法发现攻击行为。オ

┑2期

于江等:基于USBKey的强口令认证方案设计与分析

┆扑慊应用 ┑31卷

2 基于USBKey的强口令认证方案

针对OSPA方案的不足,设计的方案从用户ID的保护、抗重放攻击、抗假冒攻击等方面入手设计认证协议,使用保护措施较好的USBKey存储用户认证信息,实现用户和服务器的双向认证。认证方案也由用户注册过程和用户认证过程两个过程构成。

2.1 用户注册过程

1)в没A生成随机数N,并计算h(IDANP)和h2(PN),将用户身份标识IDA,h(IDANP)和h2(PN)发送给服务器S。

2)服务器S选择服务器端的安全密钥k,与接收的用户注册参数计算SV=h2(PN)h(kIDA),将SV发送给用户A,并存储IDA,h(IDANP)和h2(PN),h(IDANP)将作为用户每次认证的可变的身份标识。

3)A将收到的SV和N存储在USBKey中,用于以后的认证。И

2.2 用户认证过程

У庇没A第n次登录进行身份认证时,插入USBKey并输入口令P,USBKey验证用户口令正确后进行身份认证的过程如下。

图片

图1 用户的第nТ稳现す程

1)A的USBKey生成新随机数N′,取出SV和N后计算h(IDANP)和h(kIDA)=SVh2(PN),然后计算

V1=h2(kIDA)h(PN)

V2=h2(kIDA)h(IDAN′P)

V3=h2(kIDA)h2(PN′)

V4=h(h(IDAN′P)h2(PN′)h(PN))

用户A将h(IDANP)、V1、V2、V3、V4发送给服务器。

2)服务器收到认证请求后,用h(IDANP)在口令验证库中检索到用户A的身份标识IDA和h2(PN),计算h(kIDA)和Y1=h2(kIDA)V1=h(PN),验证如果h(Y1)和服务器存储的h2(PN)相等,则用户为合法用户;然后计算Y2=h2(kIDA)V2=h(IDAN′P)和Y3=h2(kIDA)V3=h2(PN′),检验h(Y1Y2Y3)与V4是否相等,如果相等说明V1,V2,V3未被修改,则用Y2、Y3替换验证库中的认证参数h(IDANP)和h2(PN)。

3)服务器完成用户验证后,计算V5=h(h(IDAN′P)h2(PN′)),将V5发送给用户A。

4)用户A接收到V5后,USBKey计算V5是否正确,如果正确说明服务器没有被假冒,使用SV′=h2(PN′)h(kIDA)替换USBKey中原有的SV,认证过程结束。И

3 方案的分析

3.1 安全性分析

1)口令猜测攻击。

由于方案设计中使用了安全措施的USBKey,采用安全芯片来存储和保护用户认证参数,只有口令验证通过才能从安全芯片中取出用户认证参数,但口令只由用户掌握,攻击者只拿到USBKey是无法获得用户认证参数的。同时USBKey对用户口令的登录验证具有记录功能,口令错误累计次数到达设定的上限值后USBKey将锁死,且口令为强口令,从而防止攻击者的口令猜测攻击。

2)StolenVerifier攻击。

假设攻击者窃取了服务器端的验证参数h2(PN)В并假冒服务器获得用户的登录认证请求,但由于攻击者没有保护密钥k,无法计算h(PN)Аh2(PN′)В也无法计算h(h(IDAN′P)h2(PN′))Х⑺透用户,所以攻击都无法假冒服务器完成对用户进行认证。

3)重放攻击。

由于OSPA方案的每次认证过程中用户的身份标识ID都直接传递,所以攻击者容易根据用户的ID通过以前的认证消息构造用于重放攻击的消息。本方案设计中用户发起认证请求时使用的是经过Hash运算的用户身份标识h(IDANP)В且每次的运算值有不同的随机数NР斡耄攻击者无法获得每次受保护的身份标识,所以攻击者想重放以前的认证消息时无法直接构造当前用户的认证身份信息。同时,认证过程中都有服务器生成新的随机数参与认证值的运算,随机数Nе倒淮笫北Vっ看蔚娜现げ问计算值都不同,攻击者重放已经截获的信息无法通过服务器的认证,且认证参数V1、V2、V3和V4г谛议运算过程中是相互关联的,V4ПVじ鞑问的完整性,修改任何一个参数都会导致认证的失败。

4)拒绝服务攻击。

攻击者使用对OSPA的拒绝服务攻击的方式时,会试图通过改变V2、V3Ю唇行拒绝服务攻击,因为V2、V3е邪含以后认证参数h(IDAN′P)Ш酮h2(PN′)В而且由于服务器要通过V4Ю囱橹おV1、V2、V3У耐暾性,V2、V3Ц谋浜蠼无法通过完整性验证,此次认证将会失败,服务器也不会修改口令库中的参数。并且每次完整性验证中还包括随机数NВ攻击也无法使用以前的认证消息来构造新的有效的认证消息。

3.2 效能分析

1)方案设计的认证结构以USBKey的硬件平台为基础,在认证过程中只需要在用户端和服务器端进行认证参数计算及验证,双向的认证过程不需要第三方的参与,认证结构简单。

2)方案中用户端的口令验证,随机数的生成和认证参数V1、V2、V3和V4У募扑阍USBKey中进行,在保证安全的前提下能够快速的计算。一次完整的双向认证过程用户端只需要两次参数的计算并向服务器传递1组认证参数,服务器端也只需要两次参数的计算和验证,并向用户端传递1组认证参数。

3)认证过程中的认证参数的计算只用到了Hash运算和异或运算,用户端在第1次参数计算时需要执行5次Hash运算,服务器端在进行参数验证时需要执行4次Hash运算,计算给用户认证服务器的参数时需要执行1次Hash运算,最终用户认证服务器时需要1次Hash运算。从整体来看方案中的运算量较小,且没有复杂的模运算,所以认证过程的执行效率较高。

4 结语

针对OSPA口令认证方案存在的不足,本文提出了一种USBKey的双向强口令认证方案。该方案使用USBKey来保护用户的口令登录和认证参数,设计了双向的认证过程,能够满足用户和服务器的双向认证要求;认证过程对用户的身份标识使用变化随机数参与的运算进行保护,并使用随机数参与口令认证参数的生成,使认证协议能够防止重放攻击、假冒攻击、拒绝服务等攻击。方案的运算开销小,具有较高的安全性,适合轻量级用户使用,与应用系统集成来实现用户身份认证是十分有效的。

げ慰嘉南:

[1]

LAMPORT L. Password authentication with insecure communication[J]. Communications of the ACM, 198l, 24(11): 770-772.

[2]

HALLER N M. The S/KEY onetime password system[C]// Proceedings of the Internet Society Symposium on Network and Distributed Systems. U S: RFC, 1995.

[3]

SHIMIZU A. A dynamic password authentication method by oneway function[J]. Systems and Computers in Japan, 1991, 22(7): 32-40.

[4]

TSUJI T, KAMIOKA T, SHIMIZU A. Simple and secure password authentication protocol (SAS)[J]. IEIC Technical Report, 2002, 102(314): 7-11.

[5]

SHIMIZU A, HORIOKA T, INAGAKI H. A password authentication methods for contents communication on the Internet[J]. IEICE Transactions on Communications, 1998, ESI-B(8): 1666-1673.

[6]

LIN L, SUN H M, HWANG T. Attacks and solutions on strongpassword authentication[J]. IEICE Transactions on Communications, 2001, E84B(9): 2622-2627.

[7]

CHEN M, KU W. Stolenverifier attack on two new strongpassword authentication protocols[J]. IEICE Transactions on Communications, 2002, E85B(11): 2519-2521.

[8]

TSUJI T, SHIMIZU A. An impersonation attack on onetime password authentication protocol OSPA [J]. IEICE Transactions on Communications, 2003, E86B(7): 2182-2185.

[9]

LIN C W,SHEN J J, HWANG M S. Security enhancement for optimal strongpassword authentication protocol[J]. ACM Operating Systems Review, 2003, 37(2): 7-12.

上一篇:基于co-occurrence相似度的聚类集成方法 下一篇:MIS中基于部门和角色的细粒度访问控制模型