基于智能卡的口令远程认证方法、智能卡、服务器和系统的制作方法

文档序号:7852295阅读:175来源:国知局
专利名称:基于智能卡的口令远程认证方法、智能卡、服务器和系统的制作方法
技术领域
本发明涉及远程认证,具体地说涉及基于智能卡的口令远程认证方法和系统,以及口令改变方法和系统。
背景技术
随着计算机网络的迅速发展,用户可以很方便地利用网络访问远程系统中的资源,比如家中办公需要访问公司文件,或者注册用户访问网上资源等等。在用户享有方便快捷的同时,远程访问的安全及高效性成为整个系统设计关键。
认证是为了防止假冒和未授权的网络访问,从而保护远程系统中的信息不被非法获得。在计算机网络系统中,口令认证是用来解决系统的保密性和安全性问题最流行的证实方法之一。但是传统的单依靠用户名和口令进行认证的方式已经暴露出很多安全缺陷,并不能用于对安全性要求高的场合。智能卡由于其携带方便,具有一定的计算能力而被广泛应用于认证系统中。因此,利用智能卡和口令的双因素远程用户认证方案已被接受为一种更加合理且安全的远程认证的解决方案。这类方案的每一个合法用户均持有一个内含用户身份相关信息的智能卡。当用户需要远程认证时,用户将该智能卡插入连接到计算机终端的读卡器中(或者是将卡与读卡器一体的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 nh=gPW·dmod n然后将(n,e,g,CID,S,h)写入智能卡,并发给用户U。
登陆阶段当用户U想登陆远程服务器时,将智能卡插入终端,输入其身份标识ID和口令PW。智能卡将计算如下参数X=gr·PWmod nY=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*,满足gPW*≡hemodn,]]>那么该PW*就是用户的口令。
在C-J-T方案中,远程服务器只需维护一个系统密钥x,和一个公开的安全哈希函数。
注册阶段当一新用户U向服务器注册时,U提交其身份ID和口令PW。在收到注册请求后,服务器首先核实该身份ID。若核实通过,服务器计算R=h(IDx)PW然后将(R,h(·))写入智能卡,将智能卡发给用户。
登陆阶段
当用户U想登陆远程服务器时,将智能卡插入终端,输入其身份标识ID和口令PW。智能卡将计算如下参数K=RPWC=h(cT)其中,T是从终端获得的时间戳。智能卡发出的登陆请求消息M=(ID,T,C)。
认证阶段收到登陆请求消息M=(ID,T,C)后,远程服务器首先检查ID和T的有效性。若ID和T均有效,服务器检查等式C=h(h(IDx)T)是否成立,若成立,通过认证;否则拒绝请求。
C-J-T方案及其后续的改进方案均不能抵抗离线字典攻击。攻击者将1)截获一个来自用户U的有效登陆请求M=(ID,T,C)。2)设法获取U的智能卡,并读取其中信息R。3)穷举所有口令,找到一个口令PW*,满足C=h(RPW*T),那么该PW*就是用户的口令。
这就需要设计一种能够允许用户随意选取口令(包括弱口令)的基于智能卡的口令远程认证方案,其安全性等同于长密钥提供的安全性,并且其安全性并不依赖于智能卡的物理安全。这样,即使智能卡中的信息被攻击者获取,攻击者也无法通过离线字典攻击的方法获得用户口令。

发明内容
本发明的目的是提出能够允许用户随意选取口令(包括弱口令)的基于智能卡的口令远程认证方法、采用该方法的智能卡、服务器和认证系统。
本发明的另一目的是提出能够允许改变口令的口令修改方法和采用该方法的智能卡。
根据第一方面,本发明提供一种基于智能卡的口令远程认证方法,包括服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值产生加密用户信息,并且将该加密用户信息存入智能卡;当远程登陆服务器时,智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的登陆请求消息发送给服务器;服务器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第二方面,提供一种智能卡的口令改变方法,包括智能卡接收当前口令和新口令,其中智能卡存储有加密用户信息,该加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以当前口令为输入的第二哈希函数逆函数值产生;智能卡在远程登陆服务器时,智能卡利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;服务器采用以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值;当第三哈希函数值得到证实时,服务器以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算第三哈希函数值,并且将该第三哈希函数值发送给智能卡;智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数值更新加密用户信息。
根据第三方面,提供一种在口令远程认证系统中的服务器,所述口令远程认证系统包括可通过网络和服务器相连的智能卡,其中服务器包括处理器;处理器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生加密用户信息,并且存入智能卡中;当智能卡远程登陆服务器时,接收来自智能卡的第三哈希函数值的装置,其中所述第三哈希函数值由智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值而得到;处理器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第四方面,提供一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器;所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;当远程登陆服务器时,处理器利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,和计算以该第二加密用户信息为输入的第三哈希函数值,智能卡将包括第三哈希函数值的登陆请求消息发送给服务器,以便服务器验证所接收的第三哈希函数值,从而实现口令认证的目的。
根据第五方面,提供一种口令远程认证系统,包括如第三方面所述的服务器和如第四方面所述的智能卡。
根据第六方面,提供一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器,所述智能卡包括所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;智能卡接收当前口令和新口令;利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;接收来自服务器的另一第三哈希函数值,其中所述另一第三哈希函数值是服务器验证所接收的第三哈希函数值通过时,以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算得到;智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数逆函数值更新加密用户信息。
本发明能够允许用户随意选取口令(包括弱口令),其安全性等同于长密钥提供的安全性,并且其安全性并不依赖于智能卡的物理安全。这样,即使智能卡中的信息被攻击者获取,攻击者也无法通过离线字典攻击的方法获得用户口令。而且,在服务器端不需要保存用户密码表。服务器对用户的认证只需一步完成,同时服务器也可以向用户发回响应实现双向认证。
具体实施例方式
本发明的认证方案主要分四个阶段注册阶段,登陆阶段,认证阶段段。其中,双向认证阶段是可选的。在注册阶段,新用户向服务器提交其身份ID和口令PW。在收到注册请求后,服务器首先核实该身份ID。若身份核实通过,用户将收到内含用户信息的智能卡。在登陆阶段,用户将智能卡插入终端,输入其身份标识ID和口令PW。由智能卡完成登陆请求的计算,该登陆请求发送到远程服务器。在认证阶段,收到登陆请求后,远程服务器将完成认证操作。在一个优选实施方案中,为了实施双向认证,服务器继续产生响应并发回给用户。在最后的双向认证阶段,智能卡收到服务器的响应,完成对服务器的认证操作。
下文对本发明的具体实施方案进行说明。
在本发明的方案中,主要参与者为远程服务器和持有智能卡的用户。存在如下系统参数p大素数(>=1024比特),满足p=2q+1,其中q也是大素数。
gGF(p)上的本原元。
x远程服务器维护的系统密钥(>=1024比特)。
h1(·),h2(·),H(·)三个公开的安全哈希函数。这三个哈希函数可以用MD5或SHA-1实现。其中,h2(·)和H(·)被智能卡密码协处理器支持。
注册阶段当一新用户U向服务器注册时,U提交其身份ID和用户口令PW。在收到注册请求后,服务器首先核实该身份ID。若核实通过,服务器利用以系统密钥x为输入的h1(·)哈希函数值和以用户口令PW为输入的h2(·)哈希函数逆函数值计算加密用户信息,例如如下gID|PW=gh1(ID||x)·h2-1(PW)modp]]>其中,‖表示连接符号。
这里,身份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,k=gID|PWϵ=gID|PWr·h2(PW)modp]]>3)获取终端的当前时间戳T,计算C2=H(ID,T,k)mod p4)发送登陆请求消息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)检查等式H(ID,T,C1h1(ID||x))=C2modp]]>是否成立。若等式成立,登陆成功。
若系统实施只需要服务器对用户的认证,认证过程结束。当需要完成双向认证过程时,继续执行步骤4)。
4)获取服务器时间Tserver,计算以服务器时间Tserver和h1(·)函数值为输入的H(·)函数值,即θ=H(Tserver,ID,C1h1(ID||x)),]]>发给用户认证响应消息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,C2=H(ID,T,REQ,gID|PWr·h2(PW)),]]>r是随机数,REQ是表明该请求类型的标志。智能卡将M发送到服务器。
3)服务器接受到含有REQ标志的请求后,将同前所述验证M的正确性,若M正确,服务器将类似产生双向认证的响应一样,计算θ=H(Tserver,ID,REP,C1h1(ID||x))]]>并发送M′=(θ,Tserver,ID,REP)作为响应。若M不正确,发送M′=(NULL,Tserver,ID,REP)作为响应。其中REP表明该响应类型的标志。
4)收到M′后,智能卡首先检查ID和Tserver的有效性,若ID和Tserver均有效,则继续检查等式θ=H(Tserver,ID,REP,gID|PWr·h2(PW))]]>是否成立,若成立,说明用户输入的口令正确,智能卡执行如下的口令更新操作计算gID|PW*=gID|PWh2(PW)·h2(PW*)-1modp]]>将卡内的gID\PW重写为gID\PW*首先,本发明具有非常高的安全性和实用性。从用户端来看安全性,即使智能卡丢失,其中的信息被攻击者获取,攻击者还是无法通过离线字典攻击的方法获取用户口令或冒充用户登陆。从服务器端分析安全性,本发明不需要服务器维护用户的口令表,而只需保护唯一的一个1024比特的密钥,维护量小而且安全。此外,本发明可以实现双向认证,不仅防止服务器被非授权用户访问,而且可以让用户对欲访问服务器的真实性进行验证。本方案允许用户自行选择口令,界面方便友好。
其次,降低了生产成本和提高了使用效率。在本发明中,智能卡内的消息即使被泄漏,也不会产生安全问题。这就不需要物理安全要求高的智能卡。一个普通具有计算和存贮功能的智能卡就能达到应用要求。给用户发卡的过程,也就仅需往卡中存储一些注册信息,而且该卡回收后可重复利用。
再次,用途广泛。由于用户私有信息不需借助于存储媒体的物理安全性,这就使得本发明更加适用于一些非存储安全的用户端设备上,比如移动手持终端。在移动终端上,用户的信息不再存储在智能卡上,而是在移动终端的普通不受保护的存贮器中。当移动终端被攻击者获得,其中的信息可轻而易举的被攻击者截取的情况下,本方案的安全性优点就更显突出。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。
权利要求
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.一种在口令远程认证系统中的智能卡,所述口令远程认证系统包括可通过网络和智能卡相连的服务器,其中智能卡包括存储器和处理器,所述智能卡包括所述存储器存储有加密用户信息,其中所述加密用户信息由服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值而产生;智能卡接收当前口令和新口令;利用当前口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的口令更新请求消息发送给服务器;接收来自服务器的另一第三哈希函数值,其中所述另一第三哈希函数值是服务器验证所接收的第三哈希函数值通过时,以系统密钥为输入计算第一哈希函数值,进而以该计算的第一哈希函数值为输入计算得到;智能卡利用当前口令的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,从而验证所接收的第一哈希函数值;并且在验证为正确的情况下,利用当前口令为输入的第二哈希函数值和新口令为输入的第二哈希函数逆函数值更新加密用户信息。
全文摘要
本发明提供一种基于智能卡的口令远程认证方法,采用该方法的智能卡、服务器和系统,以及口令改变方法和系统。所述口令远程认证方法包括服务器利用以系统密钥为输入的第一哈希函数值和以用户口令为输入的第二哈希函数逆函数值产生加密用户信息,并且将该加密用户信息存入智能卡;当远程登陆服务器时,智能卡利用用户口令为输入的第二哈希函数值以与第二哈希函数逆函数值相同的方式作用于加密用户信息,得到第二加密用户信息,计算以该第二加密用户信息为输入的第三哈希函数值并且将包括第三哈希函数值的登陆请求消息发送给服务器;服务器以系统密钥为输入的第一哈希函数值和第三哈希函数,验证所接收的第三哈希函数值,从而实现口令认证的目的。
文档编号H04L9/10GK1889432SQ200610098850
公开日2007年1月3日 申请日期2006年7月13日 优先权日2006年7月13日
发明者曹珍富, 董晓蕾, 柴震川, 郑志彬, 位继伟 申请人:上海交通大学, 华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1