CN1937498A - 一种动态密码认证方法、***及装置 - Google Patents

一种动态密码认证方法、***及装置 Download PDF

Info

Publication number
CN1937498A
CN1937498A CN 200610113609 CN200610113609A CN1937498A CN 1937498 A CN1937498 A CN 1937498A CN 200610113609 CN200610113609 CN 200610113609 CN 200610113609 A CN200610113609 A CN 200610113609A CN 1937498 A CN1937498 A CN 1937498A
Authority
CN
China
Prior art keywords
dynamic password
user
time
authentication
challenge code
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
CN 200610113609
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.)
Netease Information Technology Beijing Co Ltd
Original Assignee
Netease Information Technology Beijing Co Ltd
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 Netease Information Technology Beijing Co Ltd filed Critical Netease Information Technology Beijing Co Ltd
Priority to CN 200610113609 priority Critical patent/CN1937498A/zh
Publication of CN1937498A publication Critical patent/CN1937498A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种动态密码认证方法,包括:存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器中的预置算法;用户终端向认证服务器发出认证请求;所述认证服务器返回生成的挑战码;所述动态密码生成器根据所述挑战码,采用预置算法生成第一动态密码;所述用户终端发送认证信息至认证服务器,所述认证信息包括用户帐号和第一动态密码;所述认证服务器根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;比对第一动态密码和第二动态密码,如果一致,则认证通过。本发明可以有效防止网络侦听、窥探、社交工程等类型的攻击造成密码泄露。

Description

一种动态密码认证方法、***及装置
技术领域
本发明涉及身份认证领域,特别是涉及一种动态密码认证方法、***及装置。
背景技术
在现实生活中,我们个人的身份主要通过各种证件来确认,比如:身份证、户口本等,计算机的各种***资源(如:文件、数据库和应用***等)也需要认证机制的保护,从而确保这些资源被合法的用户使用。
目前各类计算资源主要通过密码认证方式进行保护,一般使用静态密码认证和动态密码认证两种方式。
静态密码认证方式采用的是“用户名+口令”的认证方式。用户登录时,应用服务器通过静态密码进行身份认证,确认是否为合法的授权用户。这种认证的缺点在于:由于用户的帐号是固定的明文,密码是静态的,用户在很长时间内不会更改密码,造成这种密码很容易被窃取;对这种认证方式常用的攻击方式有网络数据流窃听、认证信息截取/重放、字典攻击、穷举尝试、窥探、社交工程等方式;由于这种认证方式存在较多的安全漏洞,对客户的身份进行确认的安全强度已经不能满足现代各类应用***的要求。
针对静态密码认证的缺点,动态密码认证可以提高认证的安全强度。动态密码也称一次密码OTP(One-time Password),其动态来源于产生密码的运算因子随时间变化。如中国专利第200410084210.X号专利申请文件就公开了一种动态密码认证的***和方法,它的认证***主要有动态密码生成器、认证服务器和客户端等构成,客户登录时输入用户名、静态口令和动态密码生成器产生的随机动态密码,经应用服务器验证后,决定是否允许用户登录,这种方法解决了静态密码容易被攻击的问题。但动态密码认证方法也存在一定的问题:在不安全的环境中,用户在输入OTP的时候,OTP就可能被窃取,如果窃取者还阻止了OTP被服务器认证,那么窃取者就可以获得一个有效的OTP,从而能够在短时间内进入用户的帐号。例如:攻击者可以设置一个假冒的登录服务器,引导用户进行登录,骗取用户的用户名、静态密码和此时的动态密码,如果攻击者能够阻止OTP被服务器认证,则在动态密码有效的时间内,攻击者就可以登录真正服务器的用户账户。
总之,现有的密码认证方法都存在一些缺陷,难以有效防止中间人攻击。
发明内容
本发明所要解决的技术问题是提供一种更安全的动态密码认证的方法,以解决现有技术不能有效阻止假冒攻击的问题。
为了解决上述问题,本发明公开了一种动态密码认证方法,包括下列步骤:存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器中的预置算法;用户终端向认证服务器发出认证请求;所述认证服务器返回生成的挑战码;所述动态密码生成器根据所述挑战码,采用预置算法生成第一动态密码;所述用户终端发送认证信息至认证服务器,所述认证信息包括用户帐号和第一动态密码;所述认证服务器根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;比对第一动态密码和第二动态密码,如果一致,则认证通过。
优选的,所述预置算法中还包括时间参数,所述时间参数由动态密码生成器硬件产生或者认证服务器时钟获得。
优选的,所述认证服务器对动态密码的验证采用时间窗口认证策略,允许该时间窗口内的动态密码通过认证,所述时间窗口根据用户登录的时间间隔和动态密码生成器的时钟累计误差进行动态调整。
优选的,所述认证信息还包括静态密码,所述认证服务器对所述静态密码进行验证,如果验证通过,则继续进行动态密码的验证,否则,验证失败。
优选的,所述的方法还包括:在建立所述动态密码生成器的标识信息与用户帐号的对应关系时,设定确认期,所述确认期用于提示用户是否确认已建立的对应关系。优选的,所述对应关系为一对一、多对一或者一对多。
本发明还提供了一种动态密码认证***,包括,
用户终端,用于向认证服务器发送认证请求,接收返回的挑战码;以及向认证服务器发送包括用户帐号和第一动态密码的认证信息;
动态密码生成器,用于根据所述挑战码,采用预置算法生成第一动态密码;
认证服务器,包括以下部件:接口单元,用于接收用户终端发送的认证请求、认证信息,以及返回相应信息;挑战码生成单元,用于生成挑战码;第一数据库,用于存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器的预置算法;动态密码验证服务器,与第一数据库相连,用于根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;以及比对第一动态密码和第二动态密码,如果一致,则认证通过。
优选的,所述预置算法中还包括时间参数,所述时间参数由动态密码生成器硬件产生或者认证服务器时钟获得。
优选的,所述动态密码验证服务器对动态密码的验证采用时间窗口认证策略,允许该时间窗口内的动态密码通过认证,所述时间窗口根据用户登录的时间间隔和动态密码生成器的时钟累计误差进行动态调整。
优选的,当所述用户终端发送的认证信息还包括静态密码时,所述认证服务器还包括:第二数据库,用于存储用户帐号以及相应的静态密码;静态密码验证服务器,与第二数据库和动态密码验证服务器相连,用于验证用户输入的静态密码。
优选的,所述认证服务器还包括:绑定确认单元,用于在建立所述动态密码生成器的标识信息与用户帐号的对应关系时,设定确认期,所述确认期用于提示用户是否确认已建立的对应关系。
本发明还要求保护一种动态密码生成装置,包括:输入单元,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而生成的;运算处理单元,用于根据所述挑战码和当前时钟数据,采用预置算法计算动态密码;时钟单元,用于提供当前时钟数据;输出单元,用于输出所述动态密码。
本发明还要求保护另一种动态密码生成装置,包括:输入单元,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而生成的;运算处理单元,用于根据所述挑战码采用预置算法计算动态密码;输出单元,用于输出所述动态密码。
与现有技术相比,本发明能有效防止中间人攻击。在本发明方法中,用户每次登录时由应用服务器随机生成并发出一个新的挑战码,密码生成器根据此挑战码生成本次登录的动态密码,挑战码和动态密码只在本次登录中有效,当攻击者窃取了动态密码而进行登录时,服务器会生成另一个挑战码,使攻击者不能使用窃取的动态密码登录,从而有效的防止了网络侦听、窥探、社交工程等类型的攻击造成密码泄露。
附图说明
图1是本发明的方法的流程图;
图2是本发明的方法实施例运行环境框图;
图3是本发明的方法实施例的动态密码生成器绑定过程框图;
图4是本发明的方法实施例的认证过程框图;
图5是本发明的方法实施例的动态密码生成器解绑过程框图;
图6是本发明的***框图;
图7是本发明的动态密码生成装置实施例1框图;
图8是本发明的动态密码生成装置实施例2框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,是本发明的方法的流程图。该方法涉及的设备有:与认证服务器通过网络相连接的用户终端,离线可移动的动态密码生成器等。
具体步骤包括:
步骤101,在服务器端存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器中的预置算法。
对于每一个动态密码生成器,其内部包含唯一的标识信息,用以区分不同的动态密码生成器,这个唯一的标识信息一般采用由硬件固化的不可改写的出厂序列号,也采用可改写的方式存放标识信息,例如,可以由动态密码生成器的发行者写入号码作为标识信息。当要使用动态密码生成器进行身份认证时,须先把用户账号和动态密码生成器进行绑定,绑定可以由用户进行,进行绑定时,用户首先得到动态密码生成器,用户通过用户终端连接到服务端,输入个人信息和动态密码生成器的标识信息,申请进行绑定,绑定完成后,服务器端把动态密码生成器的标识信息和用户账号的对应关系记录在数据库中。
服务器端也预先保存有每一个动态密码生成器的算法,以备计算出动态密码,并和用户输入的动态密码进行比对之用。
优选的,可以只把一个动态密码生成器绑定到一个用户账号上,也可以把多个动态密码生成器绑定到一个用户账号上,也可以把一个动态密码生成器绑定到多个用户账号上。
当多个动态密码生成器绑定到一个用户帐号上时,可以由多人使用各自的动态密码生成器和同一个用户帐号进行身份认证,但他们不能同时使用,这种方式方便了多人使用同一个用户帐号时的安全性和方便性问题。
当一个动态密码绑定到多个用户帐号上时,多个用户帐号不能是同一应用***中的,即用户可以使用同一动态密码生成器绑定到同一服务提供商提供的不同的应用***的帐号上,例如,可以使用同一动态密码生成器绑定同一服务商提供的网站、邮箱、游戏或者论坛等应用***的用户帐号上。
优选的,动态密码生成器和用户账号绑定时可以设定一个确认期,如可以设定为6天,用于提示用户是否确认已建立的对应关系。只有用户在确认期内确认绑定后,本次绑定才能生效。当用户的静态密码泄漏的情况下,其他的恶意用户可能会使用动态密码生成器进行用户账号的绑定,如果绑定成功,恶意用户就可以通过身份认证,而设定了确认期后,正常的用户登录时就会提示有动态密码生成器正在绑定、需要用户确认的信息提示,如果不是自己进行的绑定,可以采取更改静态密码、取消绑定等方式避免恶意用户的绑定。还可以对于新注册的用户申请绑定的,不需要设定确认期,绑定立即生效。
优选的,动态密码生成器内部预置的动态密码算法可以采用哈希等离散函数算法,所述动态密码算法的参数中还可以包括时间参数,所述时间参数可以由动态密码生成器的硬件产生。例如,时间参数可以由内置的时钟单元产生,时钟单元和标准时间保持同步。当输入不同的挑战码时,生成的动态密码也是不同的,同一挑战码在不同的时间输入以及在不同的动态密码生成器上输入时,都会生成不同的动态密码。当然这里也可以采用其他的算法产生动态密码。
步骤102,用户终端向认证服务器发出认证请求。
当用户需要认证自己的身份时,用户可以操作用户终端直接连接或间接连接认证服务器,并发出身认证请求。申请可以包含用户终端的信息,还可以包含用户账号信息。
步骤103,所述认证服务器返回随机生成的挑战码。
认证服务器接收到用户发出的认证请求后,生成随机的挑战码,并在认证服务器保存生成的挑战码。挑战码可以采用伪随机数或真随机数的方式生成,从而保证生成的挑战码不会重复。当然,也可以采用本领域技术人员熟知的其他算法获得在一定范围内不会重复的挑战码,本发明并不仅仅限制于随机生成。
认证服务器将生成的挑战码发送给用户终端作为对认证请求的回复信息;用户终端接收到挑战码后,显示出来。
步骤105,所述动态密码生成器接收用户输入的挑战码,采用预置算法生成第一动态密码。
用户开启动态密码生成器,把所述用户终端上显示出来的挑战码输入动态秘码生成器,动态密码生成器根据输入的挑战码,按照预置算法生成第一动态密码,呈现在显示器上。
步骤106,用户通过所述用户终端发送认证信息至认证服务器,所述认证信息包括用户帐号和动态密码生成器生成的第一动态密码;所述认证服务器根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码。
优选的,在认证服务器计算动态密码时,所述的时间参数从认证服务器时钟获得,服务器时钟和标准时钟保持同步。
步骤107,比对第一动态密码和第二动态密码,如果两者一致,则认证通过。
优选的,为避免由于动态密码生成器和认证服务器的时间误差造成的认证不通过,在动态密码验证时,由认证服务器,计算当前时间前后一定时间窗内的动态密码,例如,设定允许登录时的前1分钟和后2分钟的动态密码可以登录,当用户输入的动态密码在时间窗内时,认为用户认证通过,并且,认证服务器记录动态密码生成器和认证服务器的时间误差,作为下次认证时调整参与密码计算的时间的参数;为避免用户长时间未登录的情况下,累计的时间误差较大,超出了时间窗口的调节的范围,引起用户不能通过认证的问题,当用户未登录时间越长,则设定时间窗口的范围越宽,例如,当用户一周未登录时,可以在时间窗口上前后加1分钟,两周未登录时可以在时间窗口上前后加2分钟。
优选的,上述步骤还包括,用户通过用户终端向认证服务器发送的认证信息中还包括预先设定的静态密码,用户终端把静态密码和用户信息发送给认证服务器,经过和保存的用户设定的静态密码比对后,确定用户静态密码是否验证通过,如果验证通过,则继续进行动态密码的验证,如果验证未通过。也可以采用动态密码和静态密码同时验证的方式,当两者验证都通过时认为用户账号认证通过,有项未通过时,验证失败。
优选的,当用户账号绑定多个动态密码生成器时,认证服务器根据挑战码、用户绑定的多个动态密码生成器的序列号计算出多个第二动态密码,然后和用户输入的第一动态密码进行比对,如果有符合的,则认为验证通过,在这种情况下,不需要用户输入本次登录使用的动态密码生成器的序列号,方便了用户使用,并可以满足多人使用同一用户帐户的需求。
图1中所述的动态密码生成器为离线装置,因此挑战码需要用户手工输入,这样可以避免连线时病毒、密码或者算法窃取行为的发生,进一步保证动态密码生成器的安全。当然,将动态密码生成器设计为能够与用户终端或者服务器传输数据,也是本领域技术人员完全可以实现的,本发明对此并不需要加以限制。
下面以用户登录游戏服务器的认证过程为例进一步介绍本发明的方法。图2-图5完整的示出了该具体实施例的详细信息。
参照图2,是本发明的方法实施例运行环境框图,包括,通过网络相连接的游戏服务器201、游戏认证服务器202(即静态密码认证服务器)、游戏数据库服务器203、令牌认证服务器204(即动态密码认证服务器)、令牌数据库服务器205和用户终端206,以及可移动的离线动态密码生成器207。
在本实施例中,一个用户帐号可以绑定多个动态密码生成器,方便不同的用户用各自动态密码生成器使用同一用户帐号登录游戏。
参照图3,是本发明的实施例的动态密码生成器绑定过程框图,具体包括下列步骤:
步骤301,用户在用户终端206通过网络向游戏服务器201发送动态密码生成器绑定申请。
步骤302,游戏服务器201接收到绑定申请,生成随机的挑战码,向用户终端206发送挑战码。
步骤303,用户终端206接收挑战码,并显示出来,用户把挑战码输入到动态密码生成器207,动态密码生成器207通过一定的算法得到动态密码,用户在用户终端206上输入账号、静态密码、动态密码和动态密码生成器的序列号,提交给游戏服务器201。
步骤204,游戏服务器201对用户账号和静态密码进行认证,如果静态密码认证为通过执行步骤305,如果认证通过,执行步骤306。静态密码认证过程由游戏认证服务器202完成,游戏认证服务器202根据游戏数据库服务器203中保存的用户的静态密码对用户输入的静态密码进行比对,确认用户静态密码认证是否通过。
步骤305,游戏服务器201发送信息提示给用户终端,提示用户账号静态密码错误,绑定动态密码生成器失败。
步骤306,判断动态密码生成器是否绑定了用户帐号,即检查动态密码生成器的标识信息是否有和用户账号的对应关系,申请绑定的动态密码生成器不能是已经被绑定到所请求绑定的用户帐号的,如果动态密码生成器已经被绑定,执行步骤307,如果未被绑定,执行步骤308。
步骤307,游戏服务器201发送信息提示给用户终端206,提示用户动态密码生成器已经被绑定,本次绑定失败。
步骤308,游戏服务器201将动态密码生成器的序列号、挑战码和动态密码发送给令牌认证服务器204。
步骤309,令牌认证服务器204在令牌数据库服务器205中进行查询,根据动态密码生成器序列号和挑战码,按照在令牌数据库服务器中存储的该序列号对应的预置算法得到动态密码,并和用户输入的动态密码相比较,如果相同则认为认证成功,执行步骤311,如果认证失败,执行步骤310。
步骤310,通知用户终端206,动态密码认证失败,不能绑定动态密码生成器。
步骤311,游戏服务器201记录绑定信息,并通知用户终端,绑定成功。
绑定后游戏服务器会设置一个验证期,一般为6天左右,在这期间,用户不进行解绑即认为用户确认绑定。在申请绑定期间帐号仍可以使用,在登录时***会提示正在申请绑定帐号。还可以在验证期后设置一个确认期,由用户进行最后的确认,只有经过用户确认后,绑定才生效。实际使用中可以根据情况设定二者的时间,如可以将验证期设为0天,确认期设为6天,这样用户申请绑定后,可以马上确认绑定,从而使用户帐号马上得到动态密码的保护。
参照图4,是本发明的方法实施例的认证过程框图,具体包括下列步骤:
步骤401,用户在用户终端206向游戏服务器201发出认证申请。
步骤402,游戏服务器201接收到认证申请,采用随机算法生成挑战码,并向用户终端发送挑战码。
步骤403,用户终端接206收挑战码,并显示出来,用户把挑战码输入到动态密码生成器207,动态密码生成器207通过预置的算法得到动态密码,用户在用户终端上输入用户账号、静态密码、动态密码,提交给游戏服务器。
步骤404,游戏服务器201通过游戏认证服务器202对用户账号和静态密码进行验证,如果静态密码验证未通过,执行步骤405,如果认证通过,执行步骤406。
步骤405,通知用户终端,静态密码错误,拒绝用户登录。
步骤406,判断用户账户是否绑定了动态密码生成器,如果未绑定,执行步骤407,如果已经绑定,执行步骤410。
步骤407,判断用户是否输入了动态密码,如果未输入,执行步骤408,如果输入了动态密码,执行步骤409。
步骤408,认证通过,使用户登录游戏服务器。
步骤409,提示用户未绑定。
步骤410,游戏服务器201将用户账号、用户绑定的动态密码生成器的序列号、挑战码和用户输入的动态密码发送给令牌认证服务器204。
步骤411,令牌认证服务器204判断动态密码生成器是否已经停用,如停用,执行步骤412,如未停用,执行步骤413。
步骤412,通知用户终端206,动态密码生成器已停用,更改数据库中的绑定数据,置用户账号为未绑定状态,并使用户登录游戏服务器,给出提示用户账户未绑定的提示信息。
步骤413,判断动态密码生成器是否已挂失,如已挂失,执行步骤414,如未挂失,执行步骤416。
步骤414,判断动态密码生成器挂失后是否允许用户登录,如果允许,执行步骤408,如果不允许登录,执行步骤415。
步骤415,通知用户动态密码生成器已挂失,禁止用户登录。
步骤416,令牌认证服务器204根据动态密码生成器的序列号和挑战码以及该序列号对应的预置算法计算出认证密码(即第二动态密码),与用户输入的动态密码相比较,并返回认证结果,如果认证通过,执行步骤408,如果认证未通过,执行步骤417。
步骤417,通知用户终端动态密码错误,禁止用户登录。
参照图5,是本发明的方法实施例的动态密码生成器解绑过程框图,具体包括下列步骤。
步骤501,用户在用户终端206发出解除动态密码生成器的绑定申请。
步骤502,游戏服务器201接收到解绑申请,生成随机的挑战码,并向用户终端206发送挑战码。
步骤503,用户终端206接收挑战码,并显示出来,用户把挑战码输入到动态密码生成器207,动态密码生成器207通过预置的算法得到动态密码,用户在用户终端上输入账号、静态密码、动态密码,提交给游戏服务器201。
步骤504,游戏服务器201对用户账号和静态密码进行验证,如果静态密码验证未通过,执行步骤505,如果认证通过,执行步骤506。
步骤505,通知用户终端206,静态密码错误,解绑失败。
步骤506,判断用户账号是否绑定了动态密码生成器,如果未绑定,执行步骤507,如果已经绑定,执行步骤508。
步骤507,通知用户终端206,本用户账号没有绑定动态密码生成器,解绑失败
步骤508,将动态密码生成器的序列号、随机数和动态密码提交给令牌认证服务器204。
步骤509,令牌认证服务器204根据动态密码生成器的序列号和挑战码以及该序列号对应的预置算法计算出认证密码(即第二动态密码),与用户输入的动态密码相比较,并返回认证结果,如果认证通过,执行步骤511,如果认证未通过,执行步骤510。
步骤510,通知用户终端206,动态密码错误,解绑失败。
步骤511,解除用户账号和动态密码生成器间的绑定关系,记录在数据库中,并发给解绑成功的提示信息。
上述实施例中认证服务器采用了分布式,分别由静态密码认证服务器完成静态密码的认证和动态密码认证服务器完成动态密码的认证,并将结果返回给应用***服务器。动态密码认证服务器对一定时间窗口内的动态密码进行验证,由于服务器的时间和动态密码生成器的时间会出现差异,所以在服务器端采用窗口认证的策略,而且这个窗口可以根据登录时间的间隔和时钟累计误差进行动态调整。
如果用遗失动态密码生成器可以向***申请挂失,申请挂失时,用户帐号可选择进入两种状态的一种,如果选择挂失后禁止登录游戏,则在解除挂失前都无法进入游戏;如果选择挂失后动态密码生成器失效,则帐号失去动态密码生成器保护,无须动态密码即可登录游戏。
如果用户申请挂失后找到动态密码生成器,可以向***申请解除挂失,解除挂失后自动恢复为绑定状态。
用户还可以申请动态密码生成器停用,停用后,帐号失去动态密码保护,动态密码生成器也无法再次使用。
若用户想用新的动态密码生成器代替旧的,可以申请更换动态密码生成器。更换新的动态密码生成器必须使用另一未启用的动态密码生成器,更换以后对原有密码生成器的认证全部转移到新的上面。
优选的,为了防止动态密码和帐户的混乱,在同一时间同一帐户只能由一个用户登录使用。
参照图6,是本发明的***框图,具体包括,
用户终端601,用于向认证服务器发送认证请求,接收返回的挑战码;以及向认证服务器发送包括用户帐号和第一动态密码的认证信息;
动态密码生成器602,用于接收用户输入的挑战码,采用预置算法生成第一动态密码;
认证服务器603,包括以下部件:
接口单元6031,用于接收用户终端601发送的认证请求、认证信息,以及返回相应信息;
挑战码生成单元6031,用于生成随机的挑战码;
第一数据库6032,用于存储动态密码生成器602的标识信息与用户帐号的对应关系,以及动态密码生成器602的预置算法;
动态密码验证服务器6033,与第一数据库6032和接口单元6013相连,用于根据用户帐号确定相应的动态密码生成器602的标识信息,从而得到该动态密码生成器602的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;以及比对第一动态密码和第二动态密码,如果一致,则认证通过。
用户终端601通过网络和认证服务器603相连接,动态密码生成器602离线运行。当然,如前所述,采用动态密码生成器602连线方式也是可行的。所以在图6中采用了虚线进行标识。
用户终端601向认证服务器603发出认证请求,认证服务器603的接口单元6031接收到认证请求,挑战码生成单元6031生成随机的挑战码,并通过接口单元6031发送给所述用户终端601,用户将所述挑战码输入到动态密码生成器602上,根据预置的算法生成第一动态密码,用户将用户认证信息和第一动态密码通过用户终端601发送给认证服务器603,认证服务器603的接口单元6031把认证信息和第一动态密码发送给动态密码验证服务器6033,动态密码验证服务器6033根据用户认证信息中的用户帐号确定相应的动态密码生成器602的标识信息,得到该动态密码生成器602的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;以及比对第一动态密码和第二动态密码,如果一致,则认证通过。
优选的,所述预置算法中还包括时间参数,所述时间参数由动态密码生成器502硬件产生或者认证服务器503时钟获得。
优选的,为避免由于动态密码生成器602和认证服务器603的时间误差造成的认证不通过,在动态密码验证时,由动态密码生成器602计算当前时间前后一定时间窗内的第二动态密码,例如,设定允许登录的前1分钟和后2分钟的动态密码可以登录,当用户输入的动态密码在时间窗内时,认为用户认证通过,并且,认证服务器603记录动态密码生成器602的时间误差,作为下次认证时调整参与密码计算的时间的参数;为避免用户长时间未登录的情况下,累计的时间误差较大,超出了时间窗口的调节的范围,引起用户不能通过认证的问题,当用户未登录时间越长,则设定时间窗口的范围越宽,例如,当用户一周未登录时,可以在时间窗口上前后加1分钟,两周未登录时可以在时间窗口上前后加2分钟。
优选的,所述认证服务器还包括:
第二数据库6034,用于存储用户帐号以及相应的静态密码;
静态密码验证服务器6035,与第二数据库和动态密码验证服务器相连,用于验证用户输入的静态密码。
优选的,还包括绑定确认单元6037,用于在建立所述动态密码生成器602的标识信息与用户帐号的对应关系时,设定确认期,所述确认期用于提示用户是否确认已建立的对应关系。
参照图7,是本发明的动态密码生成装置实施例1框图,具体包括:
输入单元701,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而随机生成的,所述挑战码可以为用户输入的;
运算处理单元702,用于根据所述挑战码和当前时钟数据采用预置算法计算动态密码;
时钟单元703,用于提供当前时钟数据;
输出单元704,用于输出所述动态密码,所述输出可以为直接显示。
用户开启动态密码生成装置后,把服务器端返回的挑战码通过输入单元701输入动态秘码生成器,运算处理单元702根据输入的挑战码和时钟单元703提供的当前的时间参数按照预置算法计算动态密码,呈现在输出单元704上。
优选的,输入单元701可以是键盘,输出单元704可以是数码显示器。
参照图8,是本发明的动态密码生成装置实施例2框图,具体包括:
输入单元801,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而随机生成的,所述挑战码可以为用户输入的;
运算处理单元802,用于根据所述挑战码,采用预置算法计算动态密码;
输出单元803,用于输出所述动态密码,所述输出可以为直接显示。
本实施例和图7的区别在于,计算动态密码时不采用当前时间作为计算参数,这样生成的动态密码和当前的时间无关。可以防止当用户在认证过程中长时间未操作时,用户验证失败的问题,便于用户使用。
本发明的基于挑战码的动态密码认证***和方法可用于游戏、金融、证券、商业、政府、学术、企业计算机***登录以及企业虚拟专用网。
以上对本发明所提供的一种动态密码认证方法、***及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (13)

1、一种动态密码认证方法,其特征在于,包括下列步骤:
存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器中的预置算法;
用户终端向认证服务器发出认证请求;
所述认证服务器返回生成的挑战码;
所述动态密码生成器根据所述挑战码,采用预置算法生成第一动态密码;
所述用户终端发送认证信息至认证服务器,所述认证信息包括用户帐号和第一动态密码;所述认证服务器根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;
比对第一动态密码和第二动态密码,如果一致,则认证通过。
2、根据权利要求1所述的方法,其特征在于,所述预置算法中还包括时间参数,所述时间参数由动态密码生成器硬件产生或者认证服务器时钟获得。
3、根据权利要求2所述的方法,其特征在于,所述认证服务器对动态密码的验证采用时间窗口认证策略,允许该时间窗口内的动态密码通过认证,所述时间窗口根据用户登录的时间间隔和动态密码生成器的时钟累计误差进行动态调整。
4、根据权利要求1所述的方法,其特征在于,所述认证信息还包括静态密码,所述认证服务器对所述静态密码进行验证,如果验证通过,则继续进行动态密码的验证,否则,验证失败。
5、根据权利要求1所述的方法,其特征在于,还包括:
在建立所述动态密码生成器的标识信息与用户帐号的对应关系时,设定确认期,所述确认期用于提示用户是否确认已建立的对应关系。
6、根据权利要求1所述的方法,其特征在于,所述对应关系为一对一、多对一或者一对多。
7、一种动态密码认证***,其特征在于,包括:
用户终端,用于向认证服务器发送认证请求,接收返回的挑战码;以及向认证服务器发送包括用户帐号和第一动态密码的认证信息;
动态密码生成器,用于根据所述挑战码,采用预置算法生成第一动态密码;
认证服务器,包括以下部件:
接口单元,用于接收用户终端发送的认证请求、认证信息,以及返回相应信息;
挑战码生成单元,用于生成挑战码;
第一数据库,用于存储动态密码生成器的标识信息与用户帐号的对应关系,以及该动态密码生成器的预置算法;
动态密码验证服务器,与第一数据库相连,用于根据用户帐号确定相应的动态密码生成器的标识信息,得到该动态密码生成器的预置算法,根据所述挑战码以及预置算法计算得到第二动态密码;以及比对第一动态密码和第二动态密码,如果一致,则认证通过。
8、根据权利要求7所述的***,其特征在于,所述预置算法中还包括时间参数,所述时间参数由动态密码生成器硬件产生或者认证服务器时钟获得。
9、根据权利要求7所述的***,其特征在于,所述动态密码验证服务器对动态密码的验证采用时间窗口认证策略,允许该时间窗口内的动态密码通过认证,所述时间窗口根据用户登录的时间间隔和动态密码生成器的时钟累计误差进行动态调整。
10、根据权利要求7所述的***,其特征在于,当所述用户终端发送的认证信息还包括静态密码时,所述认证服务器还包括:
第二数据库,用于存储用户帐号以及相应的静态密码;
静态密码验证服务器,与第二数据库和动态密码验证服务器相连,用于验证用户输入的静态密码。
11、根据权利要求7所述的***,其特征在于,所述认证服务器还包括:
绑定确认单元,用于在建立所述动态密码生成器的标识信息与用户帐号的对应关系时,设定确认期,所述确认期用于提示用户是否确认已建立的对应关系。
12、一种动态密码生成装置,其特征在于,包括:
输入单元,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而生成的;
运算处理单元,用于根据所述挑战码和当前时钟数据,采用预置算法计算动态密码;
时钟单元,用于提供当前时钟数据;
输出单元,用于输出所述动态密码。
13、一种动态密码生成装置,其特征在于,包括:
输入单元,用于接收挑战码,所述挑战码是由认证服务器根据用户认证请求而生成的;
运算处理单元,用于根据所述挑战码采用预置算法计算动态密码;
输出单元,用于输出所述动态密码。
CN 200610113609 2006-10-09 2006-10-09 一种动态密码认证方法、***及装置 Pending CN1937498A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610113609 CN1937498A (zh) 2006-10-09 2006-10-09 一种动态密码认证方法、***及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610113609 CN1937498A (zh) 2006-10-09 2006-10-09 一种动态密码认证方法、***及装置

Publications (1)

Publication Number Publication Date
CN1937498A true CN1937498A (zh) 2007-03-28

Family

ID=37954787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610113609 Pending CN1937498A (zh) 2006-10-09 2006-10-09 一种动态密码认证方法、***及装置

Country Status (1)

Country Link
CN (1) CN1937498A (zh)

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651675A (zh) * 2009-08-27 2010-02-17 北京飞天诚信科技有限公司 提高网络交易安全性的方法和***
CN102055728A (zh) * 2009-11-02 2011-05-11 中华电信股份有限公司 避免账号被冒用的***登入方法
CN101051908B (zh) * 2007-05-21 2011-05-18 北京飞天诚信科技有限公司 动态密码认证***及方法
CN102075547A (zh) * 2011-02-18 2011-05-25 北京天地融科技有限公司 动态口令生成方法及装置、认证方法及***
CN102307181A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种防止针对动态密码的钓鱼攻击的方法
CN102468958A (zh) * 2010-11-03 2012-05-23 虎昂科技股份有限公司 硬件锁装置认证方法及其相关硬件锁装置
CN102480474A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种验证用户登录状态的方法、装置及企业***
CN102594561A (zh) * 2012-02-10 2012-07-18 济南二机床集团有限公司 数控***访问权的变化密码式加密方法
CN102609646A (zh) * 2012-01-20 2012-07-25 华为终端有限公司 信息保护方法和装置、终端设备
CN102622539A (zh) * 2011-01-31 2012-08-01 F2威尔股份有限公司 用在电子商务的验证方法
CN101162996B (zh) * 2007-11-16 2012-11-14 李巩令 多动态密码器授权认证***及其认证方法
CN103152732A (zh) * 2013-03-15 2013-06-12 汪德嘉 一种云密码***及其运行方法
CN103368918A (zh) * 2012-04-01 2013-10-23 西门子公司 一种动态口令认证方法、装置及***
WO2013182151A1 (zh) * 2012-11-14 2013-12-12 中兴通讯股份有限公司 基于网络服务应用的鉴权方法及***
CN103475658A (zh) * 2011-04-06 2013-12-25 天地融科技股份有限公司 动态口令生成方法及装置、认证方法及***
CN103580856A (zh) * 2013-11-19 2014-02-12 上海众人网络安全技术有限公司 根据认证窗口大小同步令牌装置的方法
CN103685164A (zh) * 2012-09-05 2014-03-26 国际商业机器公司 动态提供演算式密码/盘问鉴定的方法与计算机装置
CN103731272A (zh) * 2014-01-06 2014-04-16 飞天诚信科技股份有限公司 一种身份认证方法、***及设备
CN104022873A (zh) * 2013-02-28 2014-09-03 北京网河时代科技有限公司 一种离线动态验证码生成方法
WO2014201830A1 (en) * 2013-06-20 2014-12-24 Tencent Technology (Shenzhen) Company Limited Method and device for detecting software-tampering
US8935762B2 (en) 2007-06-26 2015-01-13 G3-Vision Limited Authentication system and method
CN104348791A (zh) * 2013-07-30 2015-02-11 北京神州泰岳软件股份有限公司 一种单点登录方法及***
CN104753679A (zh) * 2015-03-05 2015-07-01 北京畅游天下网络技术有限公司 用户认证方法和***、以及智能穿戴设备
CN105376221A (zh) * 2015-10-30 2016-03-02 福建天晴数码有限公司 基于动态密码的游戏消息加密机制及游戏***
CN103795724B (zh) * 2014-02-07 2017-01-25 陈珂 一种基于异步动态口令技术的保护账户安全的方法
WO2017016415A1 (zh) * 2015-07-30 2017-02-02 华为技术有限公司 一种无线局域网络的接入认证方法、服务器和认证***
CN106506143A (zh) * 2016-09-27 2017-03-15 天地融科技股份有限公司 一种动态密码生成方法及装置
CN106789850A (zh) * 2015-11-24 2017-05-31 ***通信集团公司 信息处理方法、登录服务器的方法、装置、服务器及终端
CN107040524A (zh) * 2017-03-21 2017-08-11 北京信安世纪科技有限公司 一种程序文件验证方法及程序文件验证装置
CN107222460A (zh) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 一种服务器数据存储空间共享的方法及装置
CN107895436A (zh) * 2017-11-08 2018-04-10 东莞市康茂电子有限公司 一种共享同屏器管理***及其控制方法
CN108198278A (zh) * 2017-12-01 2018-06-22 王群 一种箱子锁管理***的控制方式
CN109617791A (zh) * 2019-01-14 2019-04-12 山东超越数控电子股份有限公司 一种电子邮箱身份认证方法及***
CN109997141A (zh) * 2016-10-24 2019-07-09 乐威指南公司 用于使用双因素认证来控制对媒体资产访问的***和方法
CN110572388A (zh) * 2019-09-05 2019-12-13 北京宝兰德软件股份有限公司 对接统一认证服务器的方法及统一认证适配器
CN110611598A (zh) * 2019-10-15 2019-12-24 浙江齐治科技股份有限公司 一种挑战码的实现方法、装置及***
CN110704823A (zh) * 2019-09-10 2020-01-17 平安科技(深圳)有限公司 数据请求方法、装置、存储介质及电子设备
CN111711628A (zh) * 2020-06-16 2020-09-25 北京字节跳动网络技术有限公司 网络通信身份认证方法、装置、***、设备及存储介质
CN113268780A (zh) * 2021-06-08 2021-08-17 天津赢达信科技有限公司 身份认证方法、装置、计算机设备和存储介质

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051908B (zh) * 2007-05-21 2011-05-18 北京飞天诚信科技有限公司 动态密码认证***及方法
US8935762B2 (en) 2007-06-26 2015-01-13 G3-Vision Limited Authentication system and method
CN101162996B (zh) * 2007-11-16 2012-11-14 李巩令 多动态密码器授权认证***及其认证方法
CN101651675A (zh) * 2009-08-27 2010-02-17 北京飞天诚信科技有限公司 提高网络交易安全性的方法和***
CN101651675B (zh) * 2009-08-27 2015-09-23 飞天诚信科技股份有限公司 通过认证码对客户端进行验证的方法和***
CN102055728A (zh) * 2009-11-02 2011-05-11 中华电信股份有限公司 避免账号被冒用的***登入方法
CN102055728B (zh) * 2009-11-02 2013-11-06 中华电信股份有限公司 避免账号被冒用的***登入方法
CN102468958A (zh) * 2010-11-03 2012-05-23 虎昂科技股份有限公司 硬件锁装置认证方法及其相关硬件锁装置
CN102480474A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种验证用户登录状态的方法、装置及企业***
CN102622539A (zh) * 2011-01-31 2012-08-01 F2威尔股份有限公司 用在电子商务的验证方法
CN102075547A (zh) * 2011-02-18 2011-05-25 北京天地融科技有限公司 动态口令生成方法及装置、认证方法及***
CN103475658A (zh) * 2011-04-06 2013-12-25 天地融科技股份有限公司 动态口令生成方法及装置、认证方法及***
CN103475658B (zh) * 2011-04-06 2017-01-11 天地融科技股份有限公司 动态口令生成方法及装置、认证方法及***
CN102307181A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种防止针对动态密码的钓鱼攻击的方法
CN102609646A (zh) * 2012-01-20 2012-07-25 华为终端有限公司 信息保护方法和装置、终端设备
CN102594561A (zh) * 2012-02-10 2012-07-18 济南二机床集团有限公司 数控***访问权的变化密码式加密方法
CN103368918A (zh) * 2012-04-01 2013-10-23 西门子公司 一种动态口令认证方法、装置及***
CN103685164A (zh) * 2012-09-05 2014-03-26 国际商业机器公司 动态提供演算式密码/盘问鉴定的方法与计算机装置
WO2013182151A1 (zh) * 2012-11-14 2013-12-12 中兴通讯股份有限公司 基于网络服务应用的鉴权方法及***
CN104022873A (zh) * 2013-02-28 2014-09-03 北京网河时代科技有限公司 一种离线动态验证码生成方法
CN104022873B (zh) * 2013-02-28 2017-09-29 北京网河时代科技有限公司 一种离线动态验证码生成方法
CN103152732A (zh) * 2013-03-15 2013-06-12 汪德嘉 一种云密码***及其运行方法
WO2014201830A1 (en) * 2013-06-20 2014-12-24 Tencent Technology (Shenzhen) Company Limited Method and device for detecting software-tampering
US9607147B2 (en) 2013-06-20 2017-03-28 Tencent Technology (Shenzhen) Company Limited Method and device for detecting software-tampering
CN104348791A (zh) * 2013-07-30 2015-02-11 北京神州泰岳软件股份有限公司 一种单点登录方法及***
CN104348791B (zh) * 2013-07-30 2017-12-01 北京神州泰岳软件股份有限公司 一种单点登录方法及***
CN103580856A (zh) * 2013-11-19 2014-02-12 上海众人网络安全技术有限公司 根据认证窗口大小同步令牌装置的方法
CN103731272A (zh) * 2014-01-06 2014-04-16 飞天诚信科技股份有限公司 一种身份认证方法、***及设备
CN103795724B (zh) * 2014-02-07 2017-01-25 陈珂 一种基于异步动态口令技术的保护账户安全的方法
CN104753679A (zh) * 2015-03-05 2015-07-01 北京畅游天下网络技术有限公司 用户认证方法和***、以及智能穿戴设备
CN104753679B (zh) * 2015-03-05 2019-01-29 北京畅游天下网络技术有限公司 用户认证方法和***、以及智能穿戴设备
WO2017016415A1 (zh) * 2015-07-30 2017-02-02 华为技术有限公司 一种无线局域网络的接入认证方法、服务器和认证***
CN106713222A (zh) * 2015-07-30 2017-05-24 华为技术有限公司 一种无线局域网络的接入认证方法、服务器和认证***
CN106713222B (zh) * 2015-07-30 2020-10-09 华为技术有限公司 一种无线局域网络的接入认证方法、服务器和认证***
CN105376221B (zh) * 2015-10-30 2019-05-21 福建天晴数码有限公司 基于动态密码的游戏消息加密机制及游戏***
CN105376221A (zh) * 2015-10-30 2016-03-02 福建天晴数码有限公司 基于动态密码的游戏消息加密机制及游戏***
CN106789850A (zh) * 2015-11-24 2017-05-31 ***通信集团公司 信息处理方法、登录服务器的方法、装置、服务器及终端
CN106506143A (zh) * 2016-09-27 2017-03-15 天地融科技股份有限公司 一种动态密码生成方法及装置
CN106506143B (zh) * 2016-09-27 2019-10-22 天地融科技股份有限公司 一种动态密码生成方法及装置
CN109997141B (zh) * 2016-10-24 2023-10-17 乐威指南公司 用于使用双因素认证来控制对媒体资产访问的***和方法
CN109997141A (zh) * 2016-10-24 2019-07-09 乐威指南公司 用于使用双因素认证来控制对媒体资产访问的***和方法
CN107040524A (zh) * 2017-03-21 2017-08-11 北京信安世纪科技有限公司 一种程序文件验证方法及程序文件验证装置
CN107222460A (zh) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 一种服务器数据存储空间共享的方法及装置
CN107222460B (zh) * 2017-05-03 2019-10-08 飞天诚信科技股份有限公司 一种服务器数据存储空间共享的方法及装置
CN107895436A (zh) * 2017-11-08 2018-04-10 东莞市康茂电子有限公司 一种共享同屏器管理***及其控制方法
CN108198278A (zh) * 2017-12-01 2018-06-22 王群 一种箱子锁管理***的控制方式
CN109617791A (zh) * 2019-01-14 2019-04-12 山东超越数控电子股份有限公司 一种电子邮箱身份认证方法及***
CN110572388A (zh) * 2019-09-05 2019-12-13 北京宝兰德软件股份有限公司 对接统一认证服务器的方法及统一认证适配器
CN110704823A (zh) * 2019-09-10 2020-01-17 平安科技(深圳)有限公司 数据请求方法、装置、存储介质及电子设备
CN110611598A (zh) * 2019-10-15 2019-12-24 浙江齐治科技股份有限公司 一种挑战码的实现方法、装置及***
CN110611598B (zh) * 2019-10-15 2022-03-18 浙江齐治科技股份有限公司 一种挑战码的实现方法、装置及***
CN111711628A (zh) * 2020-06-16 2020-09-25 北京字节跳动网络技术有限公司 网络通信身份认证方法、装置、***、设备及存储介质
CN113268780A (zh) * 2021-06-08 2021-08-17 天津赢达信科技有限公司 身份认证方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN1937498A (zh) 一种动态密码认证方法、***及装置
CN109309565B (zh) 一种安全认证的方法及装置
US8627424B1 (en) Device bound OTP generation
CN101166091B (zh) 一种动态密码认证的方法及服务端***
US8209744B2 (en) Mobile device assisted secure computer network communication
CN108834144B (zh) 运营商码号与账号的关联管理方法与***
CN104767731B (zh) 一种Restful移动交易***身份认证防护方法
CN105024819B (zh) 一种基于移动终端的多因子认证方法及***
CA2591968C (en) Authentication device and/or method
AU2005318933B2 (en) Authentication device and/or method
TWI436627B (zh) 使用瀏覽器認證線上交易的方法
US20150349960A1 (en) Two factor authentication using a protected pin-like passcode
US20070192829A1 (en) Authenticated communication using a shared unpredictable secret
CN106453361B (zh) 一种网络信息的安全保护方法及***
CN102215221A (zh) 从移动设备对计算机的安全远程唤醒、引导及登录的方法和***
CN107920052B (zh) 一种加密方法及智能装置
KR100951094B1 (ko) 프라이버시 보존 방법 및 시스템, 컴퓨터 판독가능 저장 매체
CN101420302A (zh) 安全认证方法和设备
US20090220075A1 (en) Multifactor authentication system and methodology
US20090119505A1 (en) Transaction method and verification method
CN111275419A (zh) 一种区块链钱包签名确权方法、装置及***
CN111355591A (zh) 一种基于实名认证技术的区块链账号安全的管理方法
Alqubaisi et al. Should we rush to implement password-less single factor FIDO2 based authentication?
CN108769029A (zh) 一种对应用***鉴权认证装置、方法及***
Gouda et al. SPP: An anti-phishing single password protocol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20070328