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

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

Info

Publication number
CN105072110A
CN105072110A CN201510478157.XA CN201510478157A CN105072110A CN 105072110 A CN105072110 A CN 105072110A CN 201510478157 A CN201510478157 A CN 201510478157A CN 105072110 A CN105072110 A CN 105072110A
Authority
CN
China
Prior art keywords
server
smart card
user
identity
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510478157.XA
Other languages
English (en)
Inventor
孙承爱
崔建明
张小军
刘奕辉
杜巧林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN201510478157.XA priority Critical patent/CN105072110A/zh
Publication of CN105072110A publication Critical patent/CN105072110A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Abstract

本发明公开了一种基于智能卡的双因素远程身份认证方法,包括:用户和服务器注册;用户登录;智能卡本地验证,若验证通过,则生成第一验证数据并将其发送给服务器;服务器验证智能卡身份,若验证通过,则生成第二验证数据并将其发送给智能卡;智能卡对服务器身份合法性进行验证,若验证通过,则生成智能卡端会话密钥,且生成第三验证数据并将其发送给服务器;服务器根据接收到的第三验证数据对智能卡身份进行二次验证,若通过验证,则生成服务器端会话密钥。本发明具有用户匿名性,且具备抵抗DoS攻击、抵抗智能卡被盗攻击等有益效果。

Description

一种基于智能卡的双因素远程身份认证方法
技术领域
本发明涉及信息安全和网络技术领域,特别涉及一种基于智能卡的双因素远程身份认证方法
背景技术
网络通信技术发展迅速,使得越来越多的人习惯使用网络提供的服务,比如电子商务、电子政务、电子化物流等。用户要从服务器获得信息或者享受服务器提供的服务,首先要登录到服务器。因此,需要有一个应用于网络的远程身份认证方案,以验证用户的合法性。但是,互联网是一个公共的环境,任何人都可以拦截用户和服务器之间的消息,所以如何保护用户信息、防止非法通信非常重要。
双因素身份认证方法是通过“用户所知”和“用户所有”两个因素判断用户的身份,“用户所有”的因素通过给用户发放智能卡实现,“用户所知”因素一般为用户选择的口令,如密码。基于智能卡和密码的双因素身份认证方法弥补了单因素身份认证方法易受验证表泄露攻击等缺陷,被研究者们进行了大量研究。
多服务器环境下身份认证方法可以实现用户只注册一次,即可在多个服务器上实现相互认证。多服务器环境下的身份认证方法应用广泛,涉及到校园卡、金融卡、智能银行卡等系统。如用户注册校园卡后,不仅可在餐厅刷卡就餐、在超市刷卡购物,还能通过寝室门禁系统。如果校园卡、金融卡丢失并被攻击者从中窃取了关键信息,会导致个人信息泄露,甚至财产损失。虽然现有技术提供了一些解决方案,比如常用的信用卡验证方法,但是这些方法中没有本地验证的步骤,若攻击者以某种方式获得一张智能卡,则可以通过持续不断地向服务器发送登录请求,使系统无法正常工作,导致拒绝服务攻击;不仅如此,在这些方法的登录阶段,用户通过公共信道向服务器明文传输其身份标识,攻击者可以通过截获用户与服务器间的通信监控,从而掌握用户的登录时间和规律,实现匿名性攻击;还有,这些方法中智能卡内存储用户身份标识,使得其方法可遭受智能卡被盗攻击;此外,这些方法不能更改密码,不适合于实际应用。
发明内容
针对以上缺陷,本发明的目的在于提供一种更加安全的多服务器环境下基于智能卡的双因素远程身份认证方法,本方法能够抵抗拒绝服务攻击、智能卡被盗攻击。
为达到上述目的,本发明采用如下技术方案:
一种基于智能卡的双因素远程身份认证方法,包括如下步骤:将服务器在注册中心注册为多服务器系统中的合法服务器;用户向注册中心提交注册申请,注册成功后,通过安全信道向用户发放存有特定信息的智能卡,所述特定信息为{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()},其中,Pi、Di、ui、E_Tij、Aij、Yi和Bi均为加密信息,Pi为所述注册中心根据用户提供的密码PWi所得到的两次哈希值Pi=h(h(PWi)),Di为根据用户标识UIDi得到的加密值ui为用户的加密信息vi=h(x+1,UIDi),E_Tij为服务器Sj对用户Ui的有效服务时间,Aij是用户和每个服务器的私有密钥vij=h(vi,SIDj)的加密值其中符号Es(·)表示使用密钥s进行加密,SIDj为服务器的身份标识,Yi和Bi为所述注册中心生成的加密信息b为所述智能卡生成的一个随机数,h()为哈希函数;用户使用所述智能卡登录所述服务器;所述智能卡根据用户提供的口令进行本地合法性验证,若通过验证,则生成携带密钥信息的第一验证数据,并将第一验证数据发给服务器,否则结束用户登录发起的会话;所述服务器根据收到的第一验证数据验证所述智能卡的身份,若通过验证,则生成用于验证服务器身份的第二验证数据,并将第二验证数据发给所述智能卡,否则结束所述智能卡与服务器之间的会话;所述智能卡根据收到的第二验证数据验证所述服务器身份的合法性,若通过验证,则生成智能卡端会话密钥和用于二次验证的包含所述智能卡端会话密钥信息的第三验证数据,并将第三验证数据发送给所述服务器,否则结束所述智能卡与服务器之间的会话;所述服务器根据接收到的第三验证数据对所述智能卡身份进行二次验证,若验证通过,则生成服务器端会话密钥,同时验证与所述智能卡端会话密钥的一致性,若一致则通过验证,继续所述智能卡与所述服务器的会话,否则结束两者之间的会话。
进一步地,一种基于智能卡的双因素远程身份认证方法,用户使用所述智能卡登录所述服务器的步骤进一步包括:所述用户将智能卡插入读卡器,输入密码和所登录服务器的身份标识SIDj,智能卡生成 并验证Pi是否相等,若相等,则证明用户输入正确密码,否则提示用户重新输入密码。
进一步地,一种基于智能卡的双因素远程身份认证方法,智能卡生成并发送第一验证数据的步骤进一步包括:所述智能卡生成加密身份标识和生成会话密钥所需的随机数bnew和ruk,并计算还原用户身份标识进而利用随机数来加密身份标识,生成所述智能卡通过计算还原并生成与服务器的对称密钥vij=h(vi,SIDj),然后智能卡用对称密钥vij加密{ruk,h(UIDi)}得到第一验证数据并将其与辅助验证数据{E_Tij,Aij,Qi,Bi,bnew}发送给服务器。
进一步地,一种基于智能卡的双因素远程身份认证方法,所述服务器根据收到的第一验证数据验证所述智能卡的身份的步骤进一步包括:所述服务器获取当前的时间戳T;所述服务器计算和与用户的共同密钥并利用vij解密以获得ruk和h(UIDi),然后,服务器验证解密获得的h(UIDi)和计算得到的h(UIDi)是否相等,若相等,则智能卡通过了身份验证。
进一步地,一种基于智能卡的双因素远程身份认证方法,还包括所述智能卡更新其存储内容的步骤,所述智能卡利用对称密钥vij解密第二验证数据,得到加密值Ynew,替换{Yi,Bi}为{Ynew,Bnew},并存入智能卡。
进一步地,一种基于智能卡的双因素远程身份认证方法,服务器注册的步骤进一步包括:所述服务器将其身份标识SIDj通过安全信道提交给注册中心,注册中心使用密钥x加密服务器身份标识SIDj,得哈希值wj=h(x,SIDj),并将加密值wj和用于计算用户身份标识的密钥y存入服务器。
进一步地,一种基于智能卡的双因素远程身份认证方法,服务器验证智能卡身份合法性前的步骤进一步包括:所述服务器对用户身份标识的格式和服务时间进行核对;所述服务器计算还原得到进而计算用户身份标识然后服务器验证用户身份UIDi的格式是否符合规范,并核对当前时间是否在服务有效时间E_Tij范围内;若通过了两项验证,则进行智能卡身份合法性验证;否则终止此次会话,并返回终止会话的原因。
进一步地,一种基于智能卡的双因素远程身份认证方法,智能卡根据第二验证数据验证服务器身份合法性的步骤进一步包括:所述智能卡利用对称密钥vij解密第二验证数据,验证解密获得的ruk是否为此次登录智能卡生成的随机数,若是,则服务器身份的合法性通过验证,其中,第二验证数据为其由服务器生成并发送到智能卡,其中,rsk为服务器生成的随机数。
进一步地,一种基于智能卡的双因素远程身份认证方法,服务器对用户身份进行二次验证的步骤包括:所述服务器生成服务器端会话密钥skk=h(rsk,ruk,vij),并用skk解密第三验证数据进而验证智能卡端会话密钥和服务器端会话密钥的一致性,若两者一致,则通过验证,保持通信,否则结束会话;其中,第三验证数据是由智能卡生成并发送给服务器的,skk=h(rsk,ruk,vij)为智能卡生成的会话密钥。
进一步地,一种基于智能卡的双因素远程身份认证方法,服务器二次验证步骤前还包括:所述服务器检验时间差tnow-T是否大于正常情况下验证消息从服务器到智能卡再到服务器的延时ΔT,其中tnow为当前时间,若是,则第三验证数据无效,否则根据第三验证数据验证智能卡的合法性。
在本发明的技术方案中增加了本地验证步骤,如果用户在输入密码时出现错误,方法将本地终止此次回话,不会向服务器提交请求,因此可有效抵御攻击者恶意无效请求导致的拒绝服务攻击;除此之外,本发明通过使用随机数加密和智能卡更新存储的方法在信息传送过程中实现了良好的匿名性,可抵御匿名性攻击;另外,在本发明的技术方案中智能卡中存储{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()},除了哈希函数外,其他信息都为加密值,即便被攻击者盗取,也不会泄露敏感信息,从而能够抵抗智能卡被盗攻击。
附图说明
图1为本发明的一个具体实施例中服务器注册步骤的示意图;
图2为本发明的一个具体实施例中用户注册步骤的示意图;
图3为本发明的一个具体实施例中登录和验证步骤的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明所公布的技术方案中包括三个参与者,用户Ui、注册中心RC和服务器Sj;包括三个阶段,注册阶段、登录阶段和验证阶段。
一种基于智能卡的双因素远程身份认证方法,所述方法包括:用户和服务器分别在注册中心注册,服务器注册后获得加密值,如图1所示;用户注册后获得一张存有特定信息的智能卡,智能卡中存储的值均被加密,包括用于本地验证的密码以及两次哈希值等,如图2所示;用户可通过智能卡登录服务器,如图3所示;智能卡根据用户的口令进行本地合法性验证,若智能卡认为用户合法,则生成携带密钥信息的第一验证数据,并将第一验证数据发给服务器;服务器根据收到的第一验证数据验证智能卡身份,若所选服务器验证智能卡身份合法,则生成用于验证服务器身份的第二验证数据,并将第二验证数据发给智能卡;智能卡根据收到的第二验证数据验证服务器身份合法性,如果智能卡验证服务器身份合法,则生成智能卡端会话密钥和用于二次验证的第三验证数据,并将第三验证数据发送给服务器;服务器根据接收到的第三验证数据对智能卡身份进行二次验证,验证通过后生成服务器端会话密钥。
一种基于智能卡的双因素远程身份认证方法,包括如下步骤:将服务器在注册中心注册为多服务器系统中的合法服务器;用户向注册中心提交注册申请,注册成功后,通过安全信道向用户发放存有特定信息的智能卡,所述特定信息为{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()},其中,Pi、Di、ui、E_Tij、Aij、Yi和Bi均为加密信息,Pi为所述注册中心根据用户提供的密码PWi所得到的经两次哈希计算后的值Pi=h(h(PWi)),Di为根据用户标识UIDi得到的加密值ui为用户的加密信息vi=h(x+1,UIDi),E_Tij为服务器Sj对用户Ui的有效服务时间,Aij是用户和每个服务器的私有密钥vij=h(vi,SIDj)的加密值其中符号Es(·)表示使用密钥s进行加密,SIDj为服务器的身份标识,Yi和Bi为所述注册中心生成的加密信息b为所述智能卡生成的一个随机数,h()为哈希函数;用户使用所述智能卡登录所述服务器;所述智能卡根据用户提供的口令进行本地合法性验证,若通过验证,则生成携带密钥信息的第一验证数据,并将第一验证数据发给服务器,否则结束用户登录发起的会话;所述服务器根据收到的第一验证数据验证所述智能卡的身份,若通过验证,则生成用于验证服务器身份的第二验证数据,并将第二验证数据发给所述智能卡,否则结束所述智能卡与服务器之间的会话;所述智能卡根据收到的第二验证数据验证所述服务器身份的合法性,若通过验证,则生成智能卡端会话密钥和用于二次验证的包含所述智能卡端会话密钥信息的第三验证数据,并将第三验证数据发送给所述服务器,否则结束所述智能卡与服务器之间的会话;所述服务器根据接收到的第三验证数据对所述智能卡身份进行二次验证,若验证通过,则生成服务器端会话密钥,同时验证与所述智能卡端会话密钥的一致性,若一致则通过验证,继续所述智能卡与所述服务器的会话,否则结束两者之间的会话。
在本发明的技术方案中,不仅包括服务器验证用户身份的步骤,还包括用户身份验证通过后,校对会话秘钥的一致性的步骤,通过双重验证可以起到抗模拟用户攻击的有益效果;增加了本地验证步骤,如果用户在输入密码时出现错误,则在本地终止此次会话,不会向服务器提交请求,能够有效抵御因攻击者的恶意无效请求而导致的拒绝服务攻击;且本发明允许用户便捷地修改自己地密码,弥补了现有技术方法中不能修改密码的缺陷;本发明还通过使用随机数加密和智能卡更新存储的方法在信息传送过程中实现了良好的匿名性,可抵抗匿名性攻击;另外,在本发明的技术方案中智能卡中存储{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()},Pi为密码的两次哈希值,Di为用户身份加密值,ui为用户的加密信息且vi=h(x+1,UIDi),E_Tij为服务器Sj对用户Ui的有效服务时间,Aij是用户和每个服务器的私有密钥vij=h(vi,SIDj)的加密值其中符号Es(·)表示使用密钥s进行加密,SIDj为服务器的身份标识,Yi和Bi为所述注册中心生成的加密信息b为所述智能卡生成的一个随机数,h()为哈希函数。除了哈希函数外,其他信息都为加密值,即便被攻击者盗取,也不会泄露敏感信息,从而能够抵抗智能卡被盗攻击。
第一和二验证数据是用户和服务器建立信任关系的纽带,通过这些验证数据完成了用户和服务器的双向验证。此外,所述方法使用多种验证手段进行远程身份认证,包括本地验证、通信双方的双向验证和二次验证,充分保障了通信的安全性。
进一步地,服务器注册的步骤进一步包括:所述服务器将其身份标识SIDj通过安全信道提交给注册中心,注册中心使用密钥x加密服务器身份标识SIDj得哈希值wj=h(x,SIDj),并将加密值wj和用于计算用户身份标识的密钥y存入服务器。
进一步地,用户在注册中心进行注册的步骤进一步包括:用户注册时,首先需向注册中心提交身份标识和密码{UIDi,PWi};所述注册中心计算用户密码的两次哈希值Pi=h(h(PWi))、用户标识加密值用户的加密信息vi=h(x+1,UIDi)和用户和每个服务器的私有密钥vij=h(vi,SIDj)以及加密值所述智能卡生成一个随机数b;所述注册中心使用随机数计算加密信息然后将独有的加密信息{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()}存储到智能卡中,并将智能卡发给用户。
进一步地,登录步骤进一步包括:所述用户将智能卡插入读卡器,输入密码和所登录服务器的身份标识SIDj,智能卡计算并验证Pi是否相等。若二者相等,则证明用户输入正确密码。
进一步地,智能卡生成并发送第一验证数据的步骤进一步包括:所述智能卡生成加密身份标识和计算会话密钥所需的随机数bnew和ruk,并计算还原用户身份标识进而用随机数加密身份标识得到所述智能卡通过计算还原并计算与服务器的对称密钥vij=h(vi,SIDj)。然后智能卡用对称密钥vij加密{ruk,h(UIDi)}得到第一验证数据并将其与辅助验证数据{E_Tij,Aij,Qi,Bi,bnew}发送给服务器。
进一步地,服务器验证智能卡身份合法性前的步骤进一步包括:所述服务器对用户身份标识的格式和服务时间进行核对;所述服务器计算还原得到进而计算用户身份标识然后服务器验证用户身份UIDi的格式是否符合规范,并核对当前时间是否在服务有效时间E_Tij范围内。如果通过两项验证,则继续智能卡身份合法性验证,否则终止此次会话,并返回终止原因。该步骤中的时间验证,可以起到抗重放攻击的技术效果。
进一步地,服务器验证智能卡身份合法性的步骤进一步包括:所述服务器对智能卡发送的验证数据进行验证;所述服务器计算和与用户的共同密钥并利用vij解密以获得ruk和h(UIDi)。然后,服务器验证解密获得的h(UIDi)和计算得到的h(UIDi)是否相等,若相等,则智能卡通过了身份验证。
进一步地,服务器生成并发送第二验证数据的步骤进一步包括:所述服务器获取当前的时间戳T,计算第二验证数据并将其发送回智能卡,其中,rsk是服务器生成的随机数。
进一步地,智能卡验证服务器身份合法性的步骤进一步包括:所述智能卡接收到服务器发送的第二验证数据后,对其进行验证;所述智能卡利用对称密钥vij解密第二验证数据,验证解密获得的ruk是否为此次登录智能卡生成的随机数,如果是,则证明服务器能够使用其独有的加密信息正确地对ruk进行加解密,从而证明了服务器身份的合法性。
进一步地,智能卡验证服务器身份合法后还包括:所述智能卡更新其存储内容;所述智能卡利用对称密钥vij解密第二验证数据,得到加密值Ynew,并替换{Yi,Bi}为{Ynew,Bnew}后存入智能卡。随机数加密可以使用户的每一次登录信息都不同,无法被跟踪,为了能够实现下一次通过随机数加密传输信息,需要智能卡端进行加密信息的更新。无法被跟踪,意味着能够抵抗匿名性攻击,良好地保护了用户隐私。第一验证数据采用的随机数加密和智能卡更新存储的方法实现了用户匿名登录的安全目标。
进一步地,该方法除了相互验证步骤还包括二次验证步骤:所述智能卡计算智能卡端会话密钥skk=h(rsk,ruk,vij),进而计算第三验证数据并将其发给服务器;所述服务器计算服务器端会话密钥skk=h(rsk,ruk,vij),并用skk解密第三验证数据进而验证智能卡端会话密钥和服务器端会话密钥的一致性。
进一步地,服务器二次验证步骤前还包括:所述服务器检验第三验证数据的时效性;所述服务器检验时间差tnow-T是否大于正常情况下验证消息从服务器到智能卡再到服务器的延时ΔT,其中tnow为当前时间。若不等式成立,则第三验证数据无效,否则进行二次验证。
进一步地,智能卡和服务器在身份验证过程中还包括:智能卡根据公式skk=h(rsk,ruk,vij)计算智能卡端会话密钥;服务器根据公式skk=h(rsk,ruk,vij)计算服务器端会话密钥。
作为本发明的另外一个更加接近实际应用的具体实施例,注册阶段完成服务器和用户在注册中心的注册工作,通信在安全信道中进行。具体步骤如下所述:
合法服务器将其身份标识SIDj通过安全信道提交给注册中心,注册中心计算wj=h(x,SIDj),并将{wj,y}存入服务器。
合法用户向注册中心提交身份标识和密码{UIDi,PWi},注册中心收到用户的申请信息后,将进行以下步骤:
Step1.注册中心计算用户密码的两次哈希值Pi=h(h(PWi))、用户标识加密值用户的加密信息vi=h(x+1,UIDi)和用户和服务器的私有密钥vij=h(vi,SIDj)以及加密值
Step2.智能卡生成一个随机数b。
Step3.注册中心计算使用随机数的加密信息 Y i = h ( B i ⊕ y ) .
Step4.注册中心将{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()}存储到智能卡中,并将智能卡发给用户。
登录和验证阶段将完成本地验证、用户与服务器的双向验证和二次验证。具体步骤如下:
Step1.用户希望登录服务器时,需要将智能卡插入读卡器,并输入密码和需要登录服务器的身份标识SIDj
Step2.智能卡计算并验证Pi是否相等,如果相等,则证明用户输入正确密码;智能卡生成随机数bnew和ruk,以备计算使用;智能卡通过计算还原并计算与服务器的对称密钥vij=h(vi,SIDj);智能卡计算用户身份标识进而计算智能卡计算第一验证数据并将登录信息发送给服务器。
Step3.服务器收到用户的登录请求消息后,计算还原得到进而计算用户身份标识服务器验证用户身份UIDi的格式是否符合规范,并核对当前时间是否在服务有效时间E_Tij范围内。如果通过两项验证,则继续下面的步骤;否则终止此次会话,并返回终止原因。
Step4.服务器计算和与用户的对称密钥并利用vij解密第一验证数据以获得ruk和h(UIDi);服务器验证解密获得的h(UIDi)和计算得到的h(UIDi)是否相等,若不相等,则用户为非法用户,并终止会话。否则,继续以下步骤。
Step5.服务器完成对用户身份的认证后,计算此次会话密钥skk=h(rsk,ruk,vij),并获取当前的时间戳T,然后计算第二验证数据并将其发送回智能卡。
Step6.智能卡利用之前计算的vij解密第二验证数据,验证解密获得的ruk是否为此次登录智能卡生成的随机数。如果不是,则证明服务器无法对ruk进行正确加解密,服务器的身份不合法,智能卡终止此次会话;否则进行以下步骤。
Step7.智能卡替换{Yi,Bi}为{Ynew,Bnew},并存入智能卡中,以备下一次登录使用。计算此次登录的会话密钥skk=h(rsk,ruk,vij),然后计算第三验证数据,并将其返回给服务器进行二次验证。
Step8.服务器收到智能卡发送的第三验证数据后,检验时间差tnow-T是否大于正常情况下验证消息从服务器到智能卡再到服务器的延时ΔT,如果成立,则信息返回超时,中断服务。如果返回信息在可接受的时间内,服务器使用skk解密并检查会话密钥的正确性,验证会话秘钥一致后,即可使用会话秘钥进行加密通信。至此,完成登录和验证过程。
综上所述,本发明通过增加本地验证、加密智能卡本地存储数据、随机数加密和更新智能卡存储等方法,解决了现有技术中存在的易遭受拒绝服务攻击、匿名性攻击和智能卡被盗攻击等问题。本方法还具有密码可修改、无验证表、前向后向安全、抗重放攻击等有益效果。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换,均应涵盖在本发明权利要求的保护范围当中。

Claims (10)

1.一种基于智能卡的双因素远程身份认证方法,其特征在于,包括如下步骤:
将服务器在注册中心注册为多服务器系统中的合法服务器;
用户向注册中心提交注册申请,注册成功后,通过安全信道向用户发放存有特定信息的智能卡,所述特定信息为{Pi,Di,ui,E_Tij,Aij,Yi,Bi,h()},其中,Pi、Di、ui、ETij、Aij、Yi和Bi均为加密信息,Pi为所述注册中心根据用户所提供的密码PWi所得到的两次哈希值Pi=h(h(PWi)),Di为根据用户标识UIDi得到的加密值ui为用户的加密信息vi=h(x+1,UIDi),E_Tij为服务器Sj对用户Ui的有效服务时间,Aij是用户和每个服务器的私有密钥vij=h(vi,SIDj)的加密值其中符号Es(·)表示使用密钥s进行加密,SIDj为服务器的身份标识,Yi和Bi为所述注册中心生成的加密信息b为所述智能卡生成的一个随机数,h()为哈希函数;
用户使用所述智能卡登录所述服务器;
所述智能卡根据用户提供的口令进行本地合法性验证,若通过验证,则生成携带密钥信息的第一验证数据,并将第一验证数据发给服务器,否则结束用户登录发起的会话;
所述服务器根据收到的第一验证数据验证所述智能卡的身份,若通过验证,则生成用于验证服务器身份的第二验证数据,并将第二验证数据发给所述智能卡,否则结束所述智能卡与服务器之间的会话;
所述智能卡根据收到的第二验证数据验证所述服务器身份的合法性,若通过验证,则生成智能卡端会话密钥和用于二次验证的包含所述智能卡端会话密钥信息的第三验证数据,并将第三验证数据发送给所述服务器,否则结束所述智能卡与服务器之间的会话;
所述服务器根据接收到的第三验证数据对所述智能卡身份进行二次验证,若验证通过,则生成服务器端会话密钥,同时验证与所述智能卡端会话密钥的一致性,若一致则通过验证,继续所述智能卡与所述服务器的会话,否则结束两者之间的会话。
2.根据权利要求1所述的方法,其特征在于,用户使用所述智能卡登录所述服务器的步骤进一步包括:所述用户将智能卡插入读卡器,输入密码PWi *和所登录服务器的身份标识SIDj,智能卡生成Pi *,Pi *=h(h(PWi *)),并验证Pi与Pi *是否相等,若相等,则证明用户输入正确密码,否则提示用户重新输入密码。
3.根据权利要求2所述的方法,其特征在于,智能卡生成并发送第一验证数据的步骤进一步包括:所述智能卡生成加密身份标识和生成会话密钥所需的随机数bnew和ruk,并计算还原用户身份标识进而用随机数加密身份标识生成所述智能卡通过计算还原并生成与服务器的对称密钥vij=h(vi,SIDj),然后智能卡用对称密钥vij加密{ruk,h(UIDi)}得到第一验证数据并将其与辅助验证数据{E_Tij,Aij,Qi,Bi,bnew}发送给服务器。
4.根据权利要求3所述的方法,其特征在于,所述服务器根据收到的第一验证数据验证所述智能卡的身份的步骤进一步包括:所述服务器获取当前的时间戳T;所述服务器计算和与用户的共同密钥并利用vij解密以获得ruk和h(UIDi),然后,服务器验证解密获得的h(UIDi)和计算得到的h(UIDi)是否相等,若相等,则智能卡通过了身份验证。
5.根据权利要求4所述的方法,其特征在于,还包括所述智能卡更新其存储内容的步骤,
所述智能卡利用对称密钥vij解密第二验证数据,得到加密值Ynew,替换{Yi,Bi}为{Ynew,Bnew},并存入智能卡。
6.根据权利要求1所述的方法,其特征在于,服务器注册的步骤进一步包括:
所述服务器将其身份标识SIDj通过安全信道提交给注册中心,注册中心使用密钥x加密服务器身份标识SIDj,得哈希值wj=h(x,SIDj),并将加密值wj和用于计算用户身份标识的密钥y存入服务器。
7.根据权利要求3所述的方法,其特征在于,服务器验证智能卡身份合法性前的步骤进一步包括:
所述服务器对用户身份标识的格式和服务时间进行核对;
所述服务器计算还原得到进而计算用户身份标识然后服务器验证用户身份UIDi的格式是否符合规范,并核对当前时间是否在服务有效时间E_Tij范围内;若通过了两项验证,则进行智能卡身份合法性验证;否则终止此次会话,并返回终止会话的原因。
8.根据权利要求4所述的方法,其特征在于,智能卡根据第二验证数据验证服务器身份合法性的步骤进一步包括:
所述智能卡利用对称密钥vij解密第二验证数据,验证解密获得的ruk是否为此次登录智能卡生成的随机数,若是,则服务器身份的合法性通过验证,其中,第二验证数据为其由服务器生成并发送到智能卡,其中,rsk为服务器生成的随机数。
9.根据权利要求7所述的方法,其特征在于,服务器对用户身份进行二次验证的步骤包括:
所述服务器生成服务器端会话密钥skk=h(rsk,ruk,vij),并用skk解密第三验证数据进而验证智能卡端会话密钥和服务器端会话密钥的一致性,若两者一致,则通过验证,保持通信,否则结束会话;其中,第三验证数据是由智能卡生成并发送给服务器的,skk=h(rsk,ruk,vij)为智能卡生成的会话密钥。
10.根据权利要求9所述的方法,其特征在于,服务器二次验证步骤前还包括:
所述服务器检验时间差tnow-T是否大于正常情况下验证消息从服务器到智能卡再到服务器的延时ΔT,其中tnow为当前时间,若是,则第三验证数据无效,否则根据第三验证数据验证智能卡的合法性。
CN201510478157.XA 2015-08-06 2015-08-06 一种基于智能卡的双因素远程身份认证方法 Pending CN105072110A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510478157.XA CN105072110A (zh) 2015-08-06 2015-08-06 一种基于智能卡的双因素远程身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510478157.XA CN105072110A (zh) 2015-08-06 2015-08-06 一种基于智能卡的双因素远程身份认证方法

Publications (1)

Publication Number Publication Date
CN105072110A true CN105072110A (zh) 2015-11-18

Family

ID=54501390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510478157.XA Pending CN105072110A (zh) 2015-08-06 2015-08-06 一种基于智能卡的双因素远程身份认证方法

Country Status (1)

Country Link
CN (1) CN105072110A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921640A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 身份认证方法、认证装置及认证系统
CN109087412A (zh) * 2018-06-06 2018-12-25 咕咚网络(北京)有限公司 一种无线联网门锁系统中门锁终端与网关的连接方法
CN109347887A (zh) * 2018-12-17 2019-02-15 郑州云海信息技术有限公司 一种身份认证的方法及装置
CN110020524A (zh) * 2019-03-31 2019-07-16 西安邮电大学 一种基于智能卡的双向认证方法
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
CN110708337A (zh) * 2019-10-30 2020-01-17 山东浪潮商用系统有限公司 一种基于身份认证的大数据安全框架系统
CN110867189A (zh) * 2018-08-28 2020-03-06 北京京东尚科信息技术有限公司 一种登陆方法和装置
CN111190631A (zh) * 2019-12-13 2020-05-22 东信和平科技股份有限公司 智能卡及其cos后更新安全的方法
CN111432408A (zh) * 2020-02-23 2020-07-17 中国科学院信息工程研究所 一种基于Wi-Fi流量分析的双因子认证方法及电子装置
CN114338071A (zh) * 2021-10-28 2022-04-12 中能电力科技开发有限公司 一种基于风电场通信的网络安全身份认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338201A (zh) * 2013-07-02 2013-10-02 山东科技大学 一种多服务器环境下注册中心参与的远程身份认证方法
CN103346887A (zh) * 2013-07-02 2013-10-09 山东科技大学 一种基于智能卡多服务器环境下的低复杂度身份认证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338201A (zh) * 2013-07-02 2013-10-02 山东科技大学 一种多服务器环境下注册中心参与的远程身份认证方法
CN103346887A (zh) * 2013-07-02 2013-10-09 山东科技大学 一种基于智能卡多服务器环境下的低复杂度身份认证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WOEI-JIUNN TSAUR 等: "An efficient and secure multi-server authentication scheme with key agreement", 《THE JOURNAL OF SYSTEMS AND SOFTWARE》 *
徐承波: "多种应用环境下身份认证与密钥协商协议的研究", 《中国博士学位论文全文数据库信息科技辑》 *
曾英: "基于动态口令的远程双向认证方案", 《软件导刊》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921640A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 身份认证方法、认证装置及认证系统
CN109087412A (zh) * 2018-06-06 2018-12-25 咕咚网络(北京)有限公司 一种无线联网门锁系统中门锁终端与网关的连接方法
CN110867189A (zh) * 2018-08-28 2020-03-06 北京京东尚科信息技术有限公司 一种登陆方法和装置
CN109347887A (zh) * 2018-12-17 2019-02-15 郑州云海信息技术有限公司 一种身份认证的方法及装置
CN110020524A (zh) * 2019-03-31 2019-07-16 西安邮电大学 一种基于智能卡的双向认证方法
CN110020524B (zh) * 2019-03-31 2021-05-18 西安邮电大学 一种基于智能卡的双向认证方法
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
CN110572800B (zh) * 2019-08-14 2022-04-05 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
CN110708337A (zh) * 2019-10-30 2020-01-17 山东浪潮商用系统有限公司 一种基于身份认证的大数据安全框架系统
CN110708337B (zh) * 2019-10-30 2022-06-28 浪潮软件科技有限公司 一种基于身份认证的大数据安全框架系统
CN111190631A (zh) * 2019-12-13 2020-05-22 东信和平科技股份有限公司 智能卡及其cos后更新安全的方法
CN111190631B (zh) * 2019-12-13 2023-08-22 东信和平科技股份有限公司 智能卡及其cos后更新安全的方法
CN111432408A (zh) * 2020-02-23 2020-07-17 中国科学院信息工程研究所 一种基于Wi-Fi流量分析的双因子认证方法及电子装置
CN111432408B (zh) * 2020-02-23 2021-07-06 中国科学院信息工程研究所 一种基于Wi-Fi流量分析的双因子认证方法及电子装置
CN114338071A (zh) * 2021-10-28 2022-04-12 中能电力科技开发有限公司 一种基于风电场通信的网络安全身份认证方法

Similar Documents

Publication Publication Date Title
CN108270571B (zh) 基于区块链的物联网身份认证系统及其方法
CN105072110A (zh) 一种基于智能卡的双因素远程身份认证方法
Son et al. Design of blockchain-based lightweight V2I handover authentication protocol for VANET
Tsai Efficient multi-server authentication scheme based on one-way hash function without verification table
CN109327313A (zh) 一种具有隐私保护特性的双向身份认证方法、服务器
CN105141425B (zh) 一种基于混沌映射的可保护身份的双向认证方法
CN107360571B (zh) 在移动网络中的匿名相互认证和密钥协商协议的方法
US9118661B1 (en) Methods and apparatus for authenticating a user using multi-server one-time passcode verification
US11063941B2 (en) Authentication system, authentication method, and program
Kumar A New Secure Remote User Authentication Scheme with Smart Cards.
CN108418691A (zh) 基于sgx的动态网络身份认证方法
JP2014528195A (ja) 事物知能通信でpufに基づいた装置間セキュリティ認証装置及び方法
CN103338201B (zh) 一种多服务器环境下注册中心参与的远程身份认证方法
CN103281194B (zh) 一种基于双线性对的安全和轻量级rfid所有权转移方法
CN105871553A (zh) 一种无需用户身份的三因素的远程用户认证方法
CN109687965A (zh) 一种保护网络中用户身份信息的实名认证方法
CN103853950A (zh) 一种基于移动终端的认证方法及移动终端
CN109688119A (zh) 一种云计算中的可匿名追踪性身份认证方法
CN109347626B (zh) 一种具有反跟踪特性的安全身份认证方法
CN103347018A (zh) 一种基于智能卡的多服务环境下远程身份认证方法
CN108282779A (zh) 天地一体化空间信息网络低时延匿名接入认证方法
CN110020524A (zh) 一种基于智能卡的双向认证方法
US10291614B2 (en) Method, device, and system for identity authentication
Chen et al. A practical authentication protocol with anonymity for wireless access networks
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151118

WD01 Invention patent application deemed withdrawn after publication