一种基于智能卡的双因素远程身份认证方法

文档序号:9352847阅读:1036来源:国知局
一种基于智能卡的双因素远程身份认证方法
【技术领域】
[0001] 本发明涉及信息安全和网络技术领域,特别涉及一种基于智能卡的双因素远程身 份认证方法
【背景技术】
[0002] 网络通信技术发展迅速,使得越来越多的人习惯使用网络提供的服务,比如电子 商务、电子政务、电子化物流等。用户要从服务器获得信息或者享受服务器提供的服务,首 先要登录到服务器。因此,需要有一个应用于网络的远程身份认证方案,以验证用户的合法 性。但是,互联网是一个公共的环境,任何人都可以拦截用户和服务器之间的消息,所以如 何保护用户信息、防止非法通信非常重要。
[0003] 双因素身份认证方法是通过"用户所知"和"用户所有"两个因素判断用户的身份, "用户所有"的因素通过给用户发放智能卡实现,"用户所知"因素一般为用户选择的口令, 如密码。基于智能卡和密码的双因素身份认证方法弥补了单因素身份认证方法易受验证表 泄露攻击等缺陷,被研究者们进行了大量研究。
[0004] 多服务器环境下身份认证方法可以实现用户只注册一次,即可在多个服务器上实 现相互认证。多服务器环境下的身份认证方法应用广泛,涉及到校园卡、金融卡、智能银行 卡等系统。如用户注册校园卡后,不仅可在餐厅刷卡就餐、在超市刷卡购物,还能通过寝室 门禁系统。如果校园卡、金融卡丢失并被攻击者从中窃取了关键信息,会导致个人信息泄 露,甚至财产损失。虽然现有技术提供了一些解决方案,比如常用的信用卡验证方法,但是 这些方法中没有本地验证的步骤,若攻击者以某种方式获得一张智能卡,则可以通过持续 不断地向服务器发送登录请求,使系统无法正常工作,导致拒绝服务攻击;不仅如此,在这 些方法的登录阶段,用户通过公共信道向服务器明文传输其身份标识,攻击者可以通过截 获用户与服务器间的通信监控,从而掌握用户的登录时间和规律,实现匿名性攻击;还有, 这些方法中智能卡内存储用户身份标识,使得其方法可遭受智能卡被盗攻击;此外,这些方 法不能更改密码,不适合于实际应用。

【发明内容】

[0005] 针对以上缺陷,本发明的目的在于提供一种更加安全的多服务器环境下基于智能 卡的双因素远程身份认证方法,本方法能够抵抗拒绝服务攻击、智能卡被盗攻击。
[0006] 为达到上述目的,本发明采用如下技术方案:
[0007] -种基于智能卡的双因素远程身份认证方法,包括如下步骤:将服务器在注 册中心注册为多服务器系统中的合法服务器;用户向注册中心提交注册申请,注册成 功后,通过安全信道向用户发放存有特定信息的智能卡,所述特定信息为{PdDdUdE, 1'1一1^1,8 1,11〇},其中,?1、01、1114_1'14 1^1和81均为加密信息』1为所述注册中心根据 用户提供的密码PWi所得到的两次哈希值Pi=h(h(PWJ),DiS根据用户标识UID^导到的加 密值D,_ ,Ui为用户的加密信息 % , Vi=h(x+l,UIDJ 服务器S,对用户Ui的有效服务时间,Au是用户和每个服务器的私有密钥V1]=h(vi,SID,) 的加密值4其中符号£;3( ?)表不使用密钥s进行加密,SIDj为服务器的身 份标识,1和Bi为所述注册中心生成的加密信息4 ? &和K=M?J),b为所述智 能卡生成的一个随机数,h()为哈希函数;用户使用所述智能卡登录所述服务器;所述智能 卡根据用户提供的口令进行本地合法性验证,若通过验证,则生成携带密钥信息的第一验 证数据,并将第一验证数据发给服务器,否则结束用户登录发起的会话;所述服务器根据收 到的第一验证数据验证所述智能卡的身份,若通过验证,则生成用于验证服务器身份的第 二验证数据,并将第二验证数据发给所述智能卡,否则结束所述智能卡与服务器之间的会 话;所述智能卡根据收到的第二验证数据验证所述服务器身份的合法性,若通过验证,则生 成智能卡端会话密钥和用于二次验证的包含所述智能卡端会话密钥信息的第三验证数据, 并将第三验证数据发送给所述服务器,否则结束所述智能卡与服务器之间的会话;所述服 务器根据接收到的第三验证数据对所述智能卡身份进行二次验证,若验证通过,则生成服 务器端会话密钥,同时验证与所述智能卡端会话密钥的一致性,若一致则通过验证,继续所 述智能卡与所述服务器的会话,否则结束两者之间的会话。
[0008] 进一步地,一种基于智能卡的双因素远程身份认证方法,用户使用所述智能卡登 录所述服务器的步骤进一步包括:所述用户将智能卡插入读卡器,输入密码和所登录 服务器的身份标识SID,,智能卡生成<=/?(/#〇),并验证P# 是否相等,若相 等,则证明用户输入正确密码,否则提示用户重新输入密码。
[0009] 进一步地,一种基于智能卡的双因素远程身份认证方法,智能卡生成并发送第一 验证数据的步骤进一步包括:所述智能卡生成加密身份标识和生成会话密钥所需的随机数 13_和ruk,并计算还原用户身份标识6VD, =D; ?MPf),进而利用随机数来加密身份标 识,生成i十upa=I,. ?L所述智能卡通过计算还原v,.=",.十办,并生 成与服务器的对称密钥Vl] =h(vdSID,),然后智能卡用对称密钥Vl]加密{ruk,h(UIDi)}得 到第一验证数据€.少',WZA)),并将其与辅助验证数据{E+T^,A、,,QdByb_}发送给服 务器。
[0010] 进一步地,一种基于智能卡的双因素远程身份认证方法,所述服务器根据收到的 第一验证数据验证所述智能卡的身份的步骤进一步包括:所述服务器获取当前的时间戳 T;所述服务器计算和与用户的共同密钥% ,并利用Vl]解 密))以获得rUk和h(UIDi),然后,服务器验证解密获得的h(UIDi)和计算得到 的hOJIDi)是否相等,若相等,则智能卡通过了身份验证。
[0011] 进一步地,一种基于智能卡的双因素远程身份认证方法,还包括所述智能卡更新 其存储内容的步骤,所述智能卡利用对称密钥Vl]解密第二验证数据,得到加密值Y_,替换 况,BJ为{Y_,BJ,并存入智能卡。
[0012] 进一步地,一种基于智能卡的双因素远程身份认证方法,服务器注册的步骤进一 步包括:所述服务器将其身份标识310 ]通过安全信道提交给注册中心,注册中心使用密钥 X加密服务器身份标识SIDj,得哈希值Wj=h(x,SID_j),并将加密值Wj和用于计算用户身份 标识的密钥y存入服务器。
[0013] 进一步地,一种基于智能卡的双因素远程身份认证方法,服务器验证智能卡 身份合法性前的步骤进一步包括:所述服务器对用户身份标识的格式和服务时间进行 核对;所述服务器计算,还原得到式m 进而计算用户身份标识 L/D,=見,然后服务器验证用户身份UIDi的格式是否符合规范,并核对当前时间是 否在服务有效时间£_1'1]范围内;若通过了两项验证,则进行智能卡身份合法性验证;否则 终止此次会话,并返回终止会话的原因。
[0014] 进一步地,一种基于智能卡的双因素远程身份认证方法,智能卡根据第二验证数 据验证服务器身份合法性的步骤进一步包括:所述智能卡利用对称密钥Vl]解密第二验证 数据,验证解密获得的^^是否为此次登录智能卡生成的随机数,若是,则服务器身份的合 法性通过验证,其中,第二验证数据为%(%,,^^):,其由服务器生成并发送到智能卡, 其中,rsk为服务器生成的随机数。
[0015] 进一步地,一种基于智能卡的双因素远程身份认证方法,服务器对用户身份进行 二次验证的步骤包括:所述服务器生成服务器端会话密钥skk=h(rsk,ruk,Vl
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1