CN1889432B - 基于智能卡的口令远程认证方法、智能卡、服务器和系统 - Google Patents
基于智能卡的口令远程认证方法、智能卡、服务器和系统 Download PDFInfo
- Publication number
- CN1889432B CN1889432B CN2006100988505A CN200610098850A CN1889432B CN 1889432 B CN1889432 B CN 1889432B CN 2006100988505 A CN2006100988505 A CN 2006100988505A CN 200610098850 A CN200610098850 A CN 200610098850A CN 1889432 B CN1889432 B CN 1889432B
- Authority
- CN
- China
- Prior art keywords
- hash function
- function value
- smart card
- password
- server
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/22—Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
- G07C9/23—Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder by means of a password
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于智能卡的口令远程认证方法,采用该方法的智能卡、服务器和系统,以及口令改变方法和系统。所述口令远程认证方法包括:服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值产生加密用户信息,并且将该加密用户信息存入智能卡;当远程登陆服务器时,智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的登陆请求消息发送给服务器;服务器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
Description
技术领域
本发明涉及远程认证,具体地说涉及基于智能卡的口令远程认证方法和系统,以及口令改变方法和系统。
背景技术
随着计算机网络的迅速发展,用户可以很方便地利用网络访问远程系统中的资源,比如家中办公需要访问公司文件,或者注册用户访问网上资源等等。在用户享有方便快捷的同时,远程访问的安全及高效性成为整个系统设计关键。
认证是为了防止假冒和未授权的网络访问,从而保护远程系统中的信息不被非法获得。在计算机网络系统中,口令认证是用来解决系统的保密性和安全性问题最流行的证实方法之一。但是传统的单依靠用户名和口令进行认证的方式已经暴露出很多安全缺陷,并不能用于对安全性要求高的场合。智能卡由于其携带方便,具有一定的计算能力而被广泛应用于认证系统中。因此,利用智能卡和口令的双因素远程用户认证方案已被接受为一种更加合理且安全的远程认证的解决方案。这类方案的每一个合法用户均持有一个内含用户身份相关信息的智能卡。当用户需要远程认证时,用户将该智能卡插入连接到计算机终端的读卡器中(或者是将卡与读卡器一体的USB设备插入终端),然后输入口令。智能卡根据输入的口令,生成访问请求。远程系统根据该用户请求,确定用户的合法性。
1981年,Lamport首先提出了基于口令的远程认证方案。该方案利用在远程服务器端存放的用户口令表来实现对用户身份的认证。但是在服务器端维护及保障不断增长的口令表的安全性需要很高的代价,并且该口令表容易遭到黑客的攻击。
为了克服口令表的缺陷,Hwang和Li在2000年提出了一个新的远程认证方案(H-L方案)。在该方案中,远程服务器只需保护唯一一个密钥xs,该密钥用于为用户生成密码。关于H-L方案的安全性讨论以及增强的方案都只要求在服务器端维护唯一密钥,而不需要有用户密码表。但是,这类方案并不允许用户自由选择口令,用户的口令是由远程服务器根据密钥xs以及用户身份生成的强口令(更确切的说是1024位的密钥)。这就限制了该方案的实用性。
1999年,Yang和Shieh提出了基于时间戳的远程口令认证方案(Y-S方案),该方案在服务器端不需维护用户密码表的同时,允许用户自己选择口令。类似的方案还有Chieu,Jan,和Tseng在2002年提出的C-J-T方案,Chieu和Wu在2003年提出的C-W方案。该类方案的共同特点是:用户可以自己选择口令,并且服务器端不需维护口令表,认证是非交互方式下完成的(在用户注册后,每次登陆都只需一次信息传输便可以完成服务器对用户身份的认证)。但是,由于用户往往会选择短小易记的口令(通常6-10个可打印字符),而不是随机密钥(1024比特的随机数字串),因此这类远程口令认证方案都容易受到字典攻击。对于C-W方案的字典攻击已经在文献中被指出。而Y-S方案和C-J-T方案以及它们的改进方案都不能抵御这种强力的攻击。
一般而言,字典攻击可以分为在线和离线攻击。在在线字典攻击中,攻击者穷尽所有可能口令尝试登陆远程服务器。对于这种攻击,往往可以采用如下抵抗手段:1)延迟响应:服务器对请求做出较为迟缓的响应,这样使得攻击者无法在有限时间内穷尽所有口令。2)帐户锁定:当针对一个帐户有若干次口令登陆失败后,服务器锁定该帐户,使得该帐户暂时无法使用。该方法同样使得攻击者无法在有限时间内穷尽所以口令。离线字典攻击是更强的一种攻击手段,攻击者可能首先截获用户的正确登陆请求信息,然后非法分析获取智能卡中的信息,通过测试所有可能口令,计算并比较获取的信息来猜测用户的口令。由于不需要与远程服务器交互,这种攻击十分有效。
由于多种因素的关系,基于智能卡的口令认证方案往往容易受到离线字典攻击。首先,用户往往选择有助于记忆的弱口令,而不是可以抵抗字典攻击的强口令。其次,智能卡有着方便及可携带性,但随之而来的是易丢失的问题。虽然目前很多文献都假设智能卡是不可拆卸的(tamperproof),但是在实际应用中,智能卡面临多种探测攻击。卡中的信息也是可以被非法获取的。特别是在一些应用中,用户信息只是简单地保存在智能卡中,这就更加使得攻击者容易通过字典攻击获得用户口令,进而冒充用户获取资源。
在Y-S方案中,系统维护的参数有(n,e,d,g)。其中,n,e,d,g是公开的参数,d是服务器的私钥,满足n=pq(p,q均是大素数),ed≡1modφ(n)。g是GF(q)和GF(p)上的本原元。
注册阶段:
当一新用户U向服务器注册时,U提交其身份ID和口令PW。在收到注册请求后,服务器首先核实该身份ID。若核实通过,服务器为该用户生成一个智能卡编号CID,并计算:
S=IDdmod n
h=gPW·dmod n
然后将(n,e,g,CID,S,h)写入智能卡,并发给用户U。
登陆阶段:
当用户U想登陆远程服务器时,将智能卡插入终端,输入其身份标识ID和口令PW。智能卡将计算如下参数:
X=gr·PWmod n
Y=S·hr·f(CID,T)mod n
其中,r是随机数,T是智能卡获取的终端的时间戳,f(x,y)是一个单向函数。智能卡发出的登陆请求消息M=(ID,CID,X,Y,n,e,g,T)。
认证阶段:
收到登陆请求消息M=(ID,CID,X,Y,n,e,g,T)后,远程服务器首先检查ID和T的有效性。若ID和T均有效,服务器检查等式Ye=ID·Xn(CID,T)mod n是否成立,若成立,通过认证;否则拒绝请求。
Y-S方案及其后续的改进方案均不能抵抗离线字典攻击。若攻击者获得某用户的智能卡,并得到卡内的信息h=gPW·dmod n,那么该攻击者可以穷举所有口令,找到一个口令PW*,满足 那么该PW*就是用户的口令。
在C-J-T方案中,远程服务器只需维护一个系统密钥x,和一个公开的安全哈希函数。
注册阶段:
当一新用户U向服务器注册时,U提交其身份ID和口令PW。在收到注册请求后,服务器首先核实该身份ID。若核实通过,服务器计算:
然后将(R,h(·))写入智能卡,将智能卡发给用户。
登陆阶段:
当用户U想登陆远程服务器时,将智能卡插入终端,输入其身份标识ID和口令PW。智能卡将计算如下参数:
其中,T是从终端获得的时间戳。智能卡发出的登陆请求消息M=(ID,T,C)。
认证阶段:
C-J-T方案及其后续的改进方案均不能抵抗离线字典攻击。攻击者将:1)截获一个来自用户U的有效登陆请求M=(ID,T,C)。2)设法获取U的智能卡,并读取其中信息R。3)穷举所有口令,找到一个口令PW*,满足C=h(RPW* T),那么该PW*就是用户的口令。
这就需要设计一种能够允许用户随意选取口令(包括弱口令)的基于智能卡的口令远程认证方案,其安全性等同于长密钥提供的安全性,并且其安全性并不依赖于智能卡的物理安全。这样,即使智能卡中的信息被攻击者获取,攻击者也无法通过离线字典攻击的方法获得用户口令。
发明内容
本发明的目的是提出能够允许用户随意选取口令(包括弱口令)的基于智能卡的口令远程认证方法、采用该方法的智能卡、服务器和认证系统。
本发明的另一目的是提出能够允许改变口令的口令修改方法和采用该方法的智能卡。
根据第一方面,本发明提供一种基于智能卡的口令远程认证方法,包括:服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值产生加密用户信息,并且将该加密用户信息存入智能卡;当远程登陆服务器时,智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的登陆请求消息发送给服务器;服务器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第二方面,提供一种智能卡的口令改变方法,包括:智能卡接收当前口令和新口令,其中智能卡存储有加密用户信息,该加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以当前口令为输入的第二哈希函数逆函数值产生;智能卡在远程登陆服务器时,智能卡利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;服务器采用以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值;当第三哈希函数值得到证实时,服务器以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算第三哈希函数值,并且将该第三哈希函数值发送给智能卡;智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数值更新加密用户信息。
根据第三方面,提供一种在口令远程认证系统中的服务器,所述口令远程认证系统包括可通过网络和服务器相连的智能卡,其中服务器包括处理器;处理器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生加密用户信息,并且存入智能卡中;当智能卡远程登陆服务器时,接收来自智能卡的第三哈希函数值的装置,其中所述第三哈希函数值由智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值而得到;处理器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第四方面,提供一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器;所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;当远程登陆服务器时,处理器利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值,智能卡将包括第三哈希函数值的登陆请求消息发送给服务器,以便服务器验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第五方面,提供一种口令远程认证系统,包括如第三方面所述的服务器和如第四方面所述的智能卡。
根据第六方面,提供一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器,所述智能卡包括:所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;智能卡接收当前口令和新口令;利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;接收来自服务器的另一第三哈希函数值,其中所述另一第三哈希函数值是服务器验证所接收的第三哈希函数值通过时,以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算得到;智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数逆函数值更新加密用户信息。
本发明能够允许用户随意选取口令(包括弱口令),其安全性等同于长密钥提供的安全性,并且其安全性并不依赖于智能卡的物理安全。这样,即使智能卡中的信息被攻击者获取,攻击者也无法通过离线字典攻击的方法获得用户口令。而且,在服务器端不需要保存用户密码表。服务器对用户的认证只需一步完成,同时服务器也可以向用户发回响应实现双向认证。
具体实施方式
本发明的认证方案主要分四个阶段:注册阶段,登陆阶段,认证阶段和双向认证阶段。其中,双向认证阶段是可选的。在注册阶段,新用户向服务器提交其身份ID和口令PW。在收到注册请求后,服务器首先核实该身份ID。若身份核实通过,用户将收到内含用户信息的智能卡。在登陆阶段,用户将智能卡插入终端,输入其身份标识ID和口令PW。由智能卡完成登陆请求的计算,该登陆请求发送到远程服务器。在认证阶段,收到登陆请求后,远程服务器将完成认证操作。在一个优选实施方案中,为了实施双向认证,服务器继续产生响应并发回给用户。在最后的双向认证阶段,智能卡收到服务器的响应,完成对服务器的认证操作。
下文对本发明的具体实施方案进行说明。
在本发明的方案中,主要参与者为远程服务器和持有智能卡的用户。存在如下系统参数:
p:大素数(>=1024比特),满足p=2q+1,其中q也是大素数。
g:GF(p)上的本原元。
x:远程服务器维护的系统密钥(>=1024比特)。
h1(·),h2(·),H(·):三个公开的安全哈希函数。这三个哈希函数可以用MD5或SHA-1实现。其中,h2(·)和H(·)被智能卡密码协处理器支持。
注册阶段:
当一新用户U向服务器注册时,U提交其身份ID和用户口令PW。在收到注册请求后,服务器首先核实该身份ID。若核实通过,服务器利用以系统密钥x为输入的h1(·)哈希函数值和以用户口令PW为输入的h2(·)哈希函数逆函数值计算加密用户信息,例如如下:
其中,‖表示连接符号。
这里,身份ID和系统密钥x也可以采用非连接的其它方式。身份ID作为h1(·)的输入增强了系统密钥x的安全性。
然后将(gID|PW,g,p)写入智能卡,将智能卡发给用户。该智能卡支持h2(·),H(·)的运算操作。
登陆阶段:
当用户U想登陆远程服务器时,将智能卡插入终端,输入其身份标识ID和口令PW。智能卡将利用口令PW为输入的h2(·)函数值以与h2(·)逆函数值相同的方式作用于加密用户信息gID|PW,得到第二加密用户信息k,进而计算以该第二加密用户信息k为输入的哈希函数H(·)值C2并且将包括哈希函数H(·)值的登陆请求消息发送给服务器。
具体操作例如如下:
1)随机选取r∈[1…p-1],计算ε=r·h2(PW)mod(p-1)
2)计算C1=grmod p,
3)获取终端的当前时间戳T,计算C2=H(ID,T,k)mod p
4)发送登陆请求消息M=(C1,C2,T,ID)至远程服务器。
需要说明,登陆请求消息优选包含用户身份标识ID和/或时间戳T。此外,C2也可仅以T和k作为输入而计算。
另外,C2的计算过程中采用了一个随机数r,有助于增强C2的安全性。
认证阶段:
若服务器在时刻T′(服务器的时间戳)收到登陆请求M,那么服务器以系统密钥x为输入的哈希函数h1(·)值和哈希函数H(·),验证所接收的哈希函数H(·)值,从而实现口令认证的目的。
具体而言,服务器将执行例如以下操作对用户进行身份验证:
1)检查ID是否有效并符合正常的编码格式,若无效,拒绝该登陆。
2)检查消息M发出时间T和收到时间T′之间的间隔是否在合理的时间间隔ΔT内。即检查T′-T≤ΔT是否成立,若不成立,拒绝该登陆。
3)检查等式 是否成立。若等式成立,登陆成功。
若系统实施只需要服务器对用户的认证,认证过程结束。当需要完成双向认证过程时,继续执行步骤4)。
4)获取服务器时间Tserver,计算以服务器时间Tserver和h1(·)函数值为输入的H(·)函数值,即 发给用户认证响应消息M′=(θ,ID,Tserver)。
这里,身份ID和系统密钥x也可以采用非连接的其它方式。身份ID作为h1(·)的输入增强了系统密钥x的安全性。
接收到服务器发回的认证响应消息M′后,智能卡首先检查ID和Tserver的有效性。若ID和Tserver均有效,智能卡检查等式θ=H(Tserver,ID,k)是否成立,其中k是在登陆阶段计算的值。若成立,智能卡完成对服务器的认证,否则断开连接或发起新一轮请求。
在另一个实施方案中,采用用户改变口令的协议。在该方案中,可以允许用户随意改变口令而不用重新注册。该协议如下:
1)用户输入身份ID,当前口令PW和新口令PW*。
2)和生成登陆请求一样,智能卡生成口令更新请求M=(C1,C2,T,ID,REQ),其中C1=gr, r是随机数,REQ是表明该请求类型的标志。智能卡将M发送到服务器。
3)服务器接受到含有REQ标志的请求后,将同前所述验证M的正确性,若M正确,服务器将类似产生双向认证的响应一样,计算 并发送M′=(θ,Tserver,ID,REP)作为响应。若M不正确,发送M′=(NULL,Tserver,ID,REP)作为响应。其中REP表明该响应类型的标志。
4)收到M′后,智能卡首先检查ID和Tserver的有效性,若ID和Tserver均有效,则继续检查等式 是否成立,若成立,说明用户输入的口令正确,智能卡执行如下的口令更新操作:
计算
将卡内的gID\PW重写为gID\PW *
首先,本发明具有非常高的安全性和实用性。从用户端来看安全性,即使智能卡丢失,其中的信息被攻击者获取,攻击者还是无法通过离线字典攻击的方法获取用户口令或冒充用户登陆。从服务器端分析安全性,本发明不需要服务器维护用户的口令表,而只需保护唯一的一个1024比特的密钥,维护量小而且安全。此外,本发明可以实现双向认证,不仅防止服务器被非授权用户访问,而且可以让用户对欲访问服务器的真实性进行验证。本方案允许用户自行选择口令,界面方便友好。
其次,降低了生产成本和提高了使用效率。在本发明中,智能卡内的消息即使被泄漏,也不会产生安全问题。这就不需要物理安全要求高的智能卡。一个普通具有计算和存贮功能的智能卡就能达到应用要求。给用户发卡的过程,也就仅需往卡中存储一些注册信息,而且该卡回收后可重复利用。
再次,用途广泛。由于用户私有信息不需借助于存储媒体的物理安全性,这就使得本发明更加适用于一些非存储安全的用户端设备上,比如移动手持终端。在移动终端上,用户的信息不再存储在智能卡上,而是在移动终端的普通不受保护的存贮器中。当移动终端被攻击者获得,其中的信息可轻而易举的被攻击者截取的情况下,本方案的安全性优点就更显突出。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。
Claims (16)
1.一种基于智能卡的口令远程认证方法,包括:
服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值产生加密用户信息,并且将该加密用户信息存入智能卡;
当远程登陆服务器时,智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的登陆请求消息发送给服务器;
服务器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
2.如权利要求1所述的基于智能卡的口令远程认证方法,其特征在于所述登陆请求消息包括用户身份标识。
3.如权利要求2所述的基于智能卡的口令远程认证方法,其特征在于所述第一哈希函数还以系统密钥和用户身份标识的组合为输入。
4.如权利要求3所述的基于智能卡的口令远程认证方法,其特征在于所述用户身份标识和系统密钥的组合是指用户身份标识和系统密钥相连接。
5.如权利要求2所述的基于智能卡的口令远程认证方法,其特征在于第三哈希函数还以用户身份标识为输入。
6.如权利要求1所述的基于智能卡的口令远程认证方法,其特征在于所述登陆请求消息包括当前时间戳;所述方法包括服务器核查登陆请求消息中的当前时间戳与登陆请求消息收到时间之间的间隔是否在合理时间间隔内的步骤。
7.如权利要求6所述的基于智能卡的口令远程认证方法,其特征在于第三哈希函数还以当前时间戳为输入。
8.如权利要求1所述的基于智能卡的口令远程认证方法,其特征在于所述得到第二加密用户信息的步骤包括采用一个随机数以标量乘的方式作用在第二哈希函数值上。
9.如权利要求1所述的基于智能卡的口令远程认证方法,其特征在于包括服务器获取服务器时间,计算以服务器时间和第一哈希函数值为输入的第三哈希函数的值,将该第三哈希函数值通过登陆响应消息发送给智能卡,以便智能卡核实;其中所述第一哈希函数值以系统密钥为输入而得到。
10.如权利要求9所述的基于智能卡的口令远程认证方法,其特征在于所述登陆响应消息包括用户身份标识。
11.如权利要求10所述的基于智能卡的口令远程认证方法,其特征在于所述第一哈希函数值由系统密钥和用户身份标识的组合为输入的第一哈希函数得到。
12.一种智能卡的口令改变方法,包括:
智能卡接收当前口令和新口令,其中智能卡存储有加密用户信息,该加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以当前口令为输入的第二哈希函数逆函数值产生;
智能卡在远程登陆服务器时,智能卡利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;
服务器采用以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值;当第三哈希函数值得到证实时,服务器以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算第三哈希函数值,并且将该第三哈希函数值发送给智能卡;
智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数值更新加密用户信息。
13.一种在口令远程认证系统中的服务器,所述口令远程认证系统包括可通过网络和服务器相连的智能卡,其中服务器包括处理器;
处理器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生加密用户信息,并且存入智能卡中;
当智能卡远程登陆服务器时,接收来自智能卡的第三哈希函数值的装置,其中所述第三哈希函数值由智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值而得到;
处理器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
14.一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器;
所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;
当远程登陆服务器时,处理器利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值,智能卡将包括第三哈希函数值的登陆请求消息发送给服务器,以便服务器验证所接收的第三哈希函数值,从而实现口令认证的目的。
15.一种口令远程认证系统,包括如权利要求13所述的服务器和如权利要求14所述的智能卡。
16.一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器,所述智能卡包括:
所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;
智能卡接收当前口令和新口令;利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;
接收来自服务器的另一第三哈希函数值,其中所述另一第三哈希函数值是服务器验证所接收的第三哈希函数值通过时,以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算得到;
智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数逆函数值更新加密用户信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100988505A CN1889432B (zh) | 2006-07-13 | 2006-07-13 | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 |
US11/649,488 US7769999B2 (en) | 2006-07-13 | 2007-01-04 | Method and system for remote password based authentication using smart cards for accessing a communications network |
PCT/CN2007/000093 WO2008009183A1 (fr) | 2006-07-13 | 2007-01-10 | Procédé d'authentification à distance par mot de passe reposant sur la carte intelligente, et carte intelligente, serveur, et système correspondants |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100988505A CN1889432B (zh) | 2006-07-13 | 2006-07-13 | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889432A CN1889432A (zh) | 2007-01-03 |
CN1889432B true CN1889432B (zh) | 2010-09-22 |
Family
ID=37578693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100988505A Expired - Fee Related CN1889432B (zh) | 2006-07-13 | 2006-07-13 | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7769999B2 (zh) |
CN (1) | CN1889432B (zh) |
WO (1) | WO2008009183A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559637B2 (en) * | 2008-09-10 | 2013-10-15 | Verizon Patent And Licensing Inc. | Securing information exchanged via a network |
DE102009021011A1 (de) * | 2009-05-13 | 2010-11-18 | Siemens Aktiengesellschaft | Elektronischer Schlüssel zur Authentifizierung |
CN101699820B (zh) * | 2009-10-30 | 2013-02-13 | 飞天诚信科技股份有限公司 | 动态口令的认证方法和装置 |
US20130091556A1 (en) * | 2010-06-21 | 2013-04-11 | Nokia Siemens Networks Oy | Method for establishing a secure and authorized connection between a smart card and a device in a network |
WO2012031218A2 (en) * | 2010-09-03 | 2012-03-08 | Accenture Global Services Limited | Point of service non-reversible secure identification and encryption |
US20120153028A1 (en) * | 2010-12-15 | 2012-06-21 | Poznansky Amir | Transaction Card with dynamic CVV |
US8839357B2 (en) * | 2010-12-22 | 2014-09-16 | Canon U.S.A., Inc. | Method, system, and computer-readable storage medium for authenticating a computing device |
US8789154B2 (en) * | 2011-06-30 | 2014-07-22 | Qualcomm Incorporated | Anti-shoulder surfing authentication method |
CN102377573A (zh) * | 2011-12-08 | 2012-03-14 | 华东师范大学 | 一种口令可安全更新的双因子身份认证方法 |
JP2014048414A (ja) * | 2012-08-30 | 2014-03-17 | Sony Corp | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
CN103023921A (zh) * | 2012-12-27 | 2013-04-03 | 中国建设银行股份有限公司 | 一种认证接入方法和认证系统 |
CN103346887A (zh) * | 2013-07-02 | 2013-10-09 | 山东科技大学 | 一种基于智能卡多服务器环境下的低复杂度身份认证方法 |
CN103338202B (zh) * | 2013-07-02 | 2016-10-26 | 山东科技大学 | 一种基于智能卡的远程用户密码双重验证方法 |
US20150227733A1 (en) * | 2014-02-10 | 2015-08-13 | Hyundai Motor Company | Automatic login system and automatic login method |
CN103905437B (zh) * | 2014-03-22 | 2017-02-22 | 哈尔滨工程大学 | 一种基于口令的远程认证协议方法 |
US9774591B2 (en) * | 2014-10-15 | 2017-09-26 | Airbnb, Inc. | Password manipulation for secure account creation and verification through third-party servers |
FR3030850B1 (fr) * | 2014-12-23 | 2020-01-24 | Valeo Comfort And Driving Assistance | Procede de controle de l'acces a au moins une fonctionnalite d'un vehicule automobile |
EP3076584B1 (en) * | 2015-03-31 | 2017-10-18 | Université De Reims Champagne-Ardenne | Hashed data retrieval method |
CN104821941B (zh) * | 2015-04-21 | 2017-12-05 | 南京邮电大学 | 智能卡口令认证及修改密码方法 |
US9876783B2 (en) * | 2015-12-22 | 2018-01-23 | International Business Machines Corporation | Distributed password verification |
DE102018206737A1 (de) * | 2018-05-02 | 2019-11-07 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Kalibrierung eines Systems zur Erkennung von Eindringversuchen in einem Rechnernetzwerk |
CN110188850B (zh) * | 2019-05-31 | 2022-05-20 | 恒宝股份有限公司 | 智能卡临时号码控制方法、装置及系统 |
CN111510442A (zh) * | 2020-04-08 | 2020-08-07 | 五八有限公司 | 一种用户验证方法、装置、电子设备及存储介质 |
US11463431B2 (en) * | 2020-05-29 | 2022-10-04 | Disney Enterprises, Inc. | System and method for public API authentication |
CN115174665B (zh) * | 2022-07-01 | 2024-07-02 | 北京达佳互联信息技术有限公司 | 登录状态确定方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1215489A (zh) * | 1996-03-29 | 1999-04-28 | 皇家·Kpn公司 | 将命令安全装入一张智能卡中的办法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226383B1 (en) * | 1996-04-17 | 2001-05-01 | Integrity Sciences, Inc. | Cryptographic methods for remote authentication |
US7634655B2 (en) * | 2004-02-13 | 2009-12-15 | Microsoft Corporation | Efficient hash table protection for data transport protocols |
CN1599314A (zh) * | 2004-08-25 | 2005-03-23 | 湖南大学 | 一种基于s/key系统双向认证的一次性口令验证方法 |
CN100544249C (zh) * | 2004-10-29 | 2009-09-23 | 大唐移动通信设备有限公司 | 移动通信用户认证与密钥协商方法 |
US20060136738A1 (en) * | 2004-12-16 | 2006-06-22 | International Business Machines Corporation | System and method for password validation |
-
2006
- 2006-07-13 CN CN2006100988505A patent/CN1889432B/zh not_active Expired - Fee Related
-
2007
- 2007-01-04 US US11/649,488 patent/US7769999B2/en not_active Expired - Fee Related
- 2007-01-10 WO PCT/CN2007/000093 patent/WO2008009183A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1215489A (zh) * | 1996-03-29 | 1999-04-28 | 皇家·Kpn公司 | 将命令安全装入一张智能卡中的办法 |
Non-Patent Citations (2)
Title |
---|
邱慧敏等.一种新的基于智能卡的双向身份认证方案设计.《计算机应用研究》 12.2005,(12),第1-3页. |
邱慧敏等.一种新的基于智能卡的双向身份认证方案设计.《计算机应用研究》 12.2005,(12),第1-3页. * |
Also Published As
Publication number | Publication date |
---|---|
CN1889432A (zh) | 2007-01-03 |
US20080016333A1 (en) | 2008-01-17 |
WO2008009183A1 (fr) | 2008-01-24 |
US7769999B2 (en) | 2010-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1889432B (zh) | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 | |
RU2747947C2 (ru) | Системы и способы персональной идентификации и верификации | |
TWI587672B (zh) | Login authentication method, client, server and system | |
CN100550738C (zh) | 一种分布式网络的认证方法和系统 | |
US20130268444A1 (en) | Three-factor user authentication method for generating otp using iris information and secure mutual authentication system using otp authentication module of wireless communication terminal | |
CN110147666B (zh) | 物联网场景下的轻量级nfc身份认证方法、物联网通信平台 | |
CN101005361A (zh) | 一种服务器端软件保护方法及系统 | |
US20130097427A1 (en) | Soft-Token Authentication System | |
CN101166094A (zh) | 一种客户端以智能加密方式自动登录服务器的方法 | |
CN105207776A (zh) | 一种指纹认证方法及系统 | |
JP5355685B2 (ja) | 無線波読取装置による無線タグの認証方法 | |
CN111431707A (zh) | 业务数据信息处理方法、装置、设备以及可读存储介质 | |
KR20080087917A (ko) | 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템 | |
CN110298152A (zh) | 一种保护用户隐私和系统安全的线上身份管理方法 | |
CN111510442A (zh) | 一种用户验证方法、装置、电子设备及存储介质 | |
KR101202245B1 (ko) | 이체정보로 생성되는 otp를 활용한 계좌이체시스템 및 방법 | |
Chung et al. | Weaknesses and improvement of Wang et al.'s remote user password authentication scheme for resource-limited environments | |
CN113872932A (zh) | 微服务间的接口鉴权方法、系统、终端及存储介质 | |
Liou et al. | A sophisticated RFID application on multi-factor authentication | |
CN100476844C (zh) | 电子钥匙与计算机之间实现绑定功能的方法 | |
Ahmed et al. | A self-sovereign identity architecture based on blockchain and the utilization of customer’s banking cards: The case of bank scam calls prevention | |
CN107733936A (zh) | 一种移动数据的加密方法 | |
CN108667801A (zh) | 一种物联网接入身份安全认证方法及系统 | |
Rossudowski et al. | A security privacy aware architecture and protocol for a single smart card used for multiple services | |
CN109644137A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100922 Termination date: 20170713 |
|
CF01 | Termination of patent right due to non-payment of annual fee |