CN101699820B - 动态口令的认证方法和装置 - Google Patents

动态口令的认证方法和装置 Download PDF

Info

Publication number
CN101699820B
CN101699820B CN 200910235952 CN200910235952A CN101699820B CN 101699820 B CN101699820 B CN 101699820B CN 200910235952 CN200910235952 CN 200910235952 CN 200910235952 A CN200910235952 A CN 200910235952A CN 101699820 B CN101699820 B CN 101699820B
Authority
CN
China
Prior art keywords
dynamic password
dynamic
password
factor
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.)
Expired - Fee Related
Application number
CN 200910235952
Other languages
English (en)
Other versions
CN101699820A (zh
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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN 200910235952 priority Critical patent/CN101699820B/zh
Publication of CN101699820A publication Critical patent/CN101699820A/zh
Priority to US13/502,772 priority patent/US8789166B2/en
Priority to PCT/CN2010/078238 priority patent/WO2011050745A1/zh
Application granted granted Critical
Publication of CN101699820B publication Critical patent/CN101699820B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种动态口令的认证方法和装置,其中,该动态口令的认证方法包括:对来自用户端的第一动态口令进行验证;若验证上述第一动态口令正确,则生成第二验证动态口令,并将上述第二验证动态口令发送给上述用户端;若在预定的时间段内接收到来自上述用户端的第三动态口令,则对上述第三动态口令进行验证,若验证上述第三动态口令正确,则用户登录成功。根据本发明,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户可以避免如由于误登录钓鱼网站而遭受损失。

Description

动态口令的认证方法和装置
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种动态口令的认证方法和装置。
背景技术
随着网络技术在人们日常生活中的应用越来越广泛,人们已经越来越依赖于网络进行更多的日常活动,例如利用网络进行购物、办公、娱乐等。也正是由于网络应用的加强,各种提供便捷服务的网站也应运而生,使得网站的数量不断增加,同时对网络的安全性要求也越来越高,尤其是网络银行、政府办公相关的网站,要求合法用户登录的绝对安全。由于黑客技术的发展,很明显的传统的用户名加静态密码的验证方式已经不能满足现有的安全性要求。
近年来,在认证领域广泛的发展起来动态口令的认证方式,在对静态密码进行验证的基础上增加了动态密码的验证,使得用户口令多了一层保护,大大增加了安全性。在现有技术中,动态口令的验证通常是这样进行的,服务方向用户发放动态口令令牌,这种令牌是一种自带有处理器的电子设备,其大小如同U盘,在装有电池或接电的情况下可以独立运行。通常在动态口令令牌内部安全的存储有与其对应的种子,也称为静态因子,所述种子为一个长字符串或数据,动态口令令牌可以根据内置的动态口令算法利用种子和动态因子生成动态口令,动态因子可以为时间或事件因素,因此可以达到一次一密的效果,安全性相当高。
钓鱼网站是一种假冒网站,其完全模仿真网站的界面,只是在URL上与真网站有细微差别,普通用户在不仔细查看的情况下很容易混淆钓鱼网站与真网站,钓鱼网站冒充真网站,如果用户打开了钓鱼网站并进行登录,钓鱼网站会记录用户所输入的登录信息,并使用这些信息冒充用户在真网站上进行登录,造成用户信息和财产的损失。
在现有技术中,动态口令虽然安全性较高,不易破解,但是动态口令的认证方法却无法防止例如钓鱼网站的攻击。
针对相关技术中动态口令认证方法安全性较低的问题,目前尚未提出有效的解决方案。
发明内容
针对动态口令认证方法安全性较低的问题而提出本发明,为此,本发明的主要目的在于提供一种动态口令的认证方法和装置,以解决上述问题至少之一。
为了实现上述目的,根据本发明的一个方面,提供了一种动态口令的认证方法。
根据本发明的动态口令的认证方法包括:对来自用户端的第一动态口令进行验证;若验证上述第一动态口令正确,则生成第二验证动态口令,并将上述第二验证动态口令发送给上述用户端;若在预定的时间段内接收到来自上述用户端的第三动态口令,则对上述第三动态口令进行验证,若验证上述第三动态口令正确,则用户登录成功。
为了实现上述目的,根据本发明的另一方面,提供了一种动态口令的认证装置。
根据本发明的动态口令的认证装置包括:第一验证模块,用于对来自用户端的第一动态口令进行验证;处理模块,用于在验证上述第一动态口令正确的情况下生成第二验证动态口令,并将上述第二验证动态口令发送给上述用户端;第二验证模块,用于在预定的时间段内接收到来自上述用户端的第三动态口令的情况下对上述第三动态口令进行验证。
根据本发明,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户可以避免如由于误登录钓鱼网站而遭受损失。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的动态口令的认证方法的流程图;
图2是本发明实施例1中的动态口令的认证方法的流程图;
图3是本发明实施例2中的动态口令的认证方法的流程图;
图4是本发明实施例的动态口令的认证装置的结构框图;
图5是本发明实施例3中的动态口令的认证装置的优选结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
功能概述
针对相关技术中动态口令认证方法安全性较低的问题,本发明提供了一种动态口令认证方法和装置。根据本发明的方案,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户避免如由于误登录钓鱼网站而遭受损失。
根据本发明的实施例,提供了一种动态口令的认证方法。
如图1所示,该方法包括如下的步骤S102至步骤S106:
S102,对来自用户端的第一动态口令进行验证;
S104,若验证第一动态口令正确,则生成第二验证动态口令,并将该第二验证动态口令发送给用户端;
S106,若在预定的时间段内接收到来自用户端的第三动态口令,则对第三动态口令进行验证。
S108,若验证上述第三动态口令正确,则该用户登录成功。否则,判断出该用户登录失败。
相应的,对来自用户端的第一动态口令进行验证之前,可以接收用户名信息。这里,可以根据用户名信息来查找该用户端生成第一动态口令所使用的动态口令令牌编号,并根据该编号查找到对应的种子和动态因子,以便根据该种子和动态因子生成相应的验证动态口令对第一动态口令进行验证。
相应的,在将上述第二验证动态口令发送给上述用户端之后,用户对接收到的上述第二验证动态口令进行验证。在用户验证第二验证动态口令正确后,上述用户端发送该第三动态口令给生成第二验证动态口令的实体,例如,认证服务器。
相应的,上述生成第二验证动态口令包括:更新动态因子;使用更新后的动态因子生成上述第二验证动态口令。
上述生成第二验证动态口令可以包括:使用基于时间或事件的方式生成第二验证动态口令。
当使用基于事件的方式生成第二验证动态口令时,上述更新动态因子包括:将上述动态因子设置为上述用户端生成上述第一动态口令时所使用的第一动态因子,其中,上述第一动态因子是上述用户端生成上述第一动态口令时的计数值;将上述动态因子增加一个预定的步长,以作为上述更新后的动态因子。
当使用基于时间的方式生成第二验证动态口令时,上述更新动态因子包括:将上述动态因子设置为上述用户端生成上述第一动态口令时所使用的第一动态因子,其中,上述第一动态因子是上述用户端生成第一动态口令时的计时时间与预设的上述用户端的初始时间之间的差值;根据上述动态因子更新计时偏移,其中,上述计时偏移是生成第二验证动态口令的实体的当前计时时间与上述用户端的当前计时时间之间的差值;根据上述计时偏移、实体的生成第二验证动态口令的计时时间和预设的上述实体的初始时间来生成上述更新后的动态因子。
优选的,更新后的动态因子=上述实体的生成第二验证动态口令的计时时间-上述实体的初始时间-上述计时偏移。
上述当使用基于时间的方式生成第二验证动态口令时,上述生成第二验证动态口令并将上述第二验证动态口令发送给上述用户端包括:每隔固定的时间生成一个动态口令,并将生成的上述动态口令作为上述第二验证动态口令发送给上述用户端,以使用户对当前发送的第二验证动态口令进行验证。
上述对上述第一动态口令进行验证可以包括:生成第一验证动态口令;判断上述第一动态口令是否与上述第一验证动态口令相同,若相同,则上述第一动态口令正确;
或者,对上述第一动态口令进行验证可以包括:生成第一组验证动态口令;判断上述第一组验证动态口令中是否存在一个验证动态口令与上述第一动态口令相同,若存在,则上述第一动态口令正确。
上述生成上述第一验证动态口令的算法与生成上述第一动态口令的算法相同,生成上述第一组验证动态口令中任一个验证动态口令的算法与生成第一动态口令的算法相同。
上述在预定的时间段内接收来自上述用户端的第三动态口令时,上述方法还包括:在上述时间段内还接收到来自上述用户端的静态密码,以便在验证上述第三动态口令和上述静态密码正确的情况下判断上述用户登录成功。
上述对上述第三动态口令进行验证可以包括:生成第三验证动态口令;判断上述第三验证动态口令是否与上述第三验证动态口令相同,若相同,则上述第三动态口令正确;
或者,对上述第三动态口令进行验证也可以包括:生成第三组验证动态口令;判断上述第三组验证动态口令中是否存在一个验证动态口令与上述第三动态口令相同,若存在,则上述第三动态口令正确。
上述生成上述第三验证动态口令的算法与生成上述第三动态口令的算法相同,生成上述第三组验证动态口令中任一个验证动态口令的算法与生成上述第三动态口令的算法相同。
当使用基于时间的方式生成第二验证动态口令时,上述第二验证动态口令与第一验证动态口令不相同。这里可以通过如下方式来实现:将所述更新后的动态因子增加预设的步长;根据增加后的动态因子生成所述第二验证动态口令。
同样,当使用基于时间的方式生成第二验证动态口令时,上述第三验证动态口令与第二验证动态口令不相同。这里可以通过如下方式来实现:在生成第三验证动态口令时,首先更新动态因子,方法可以采用上述在生成第一验证动态口令之后更新动态因子所采用的方法;然后,将更新后的动态因子增加预设的步长;然后,使用增加后的动态因子生成第三验证动态口令。
下面将结合实例对本发明实施例的实现过程进行详细描述。
实施例1
图2是本发明实施例1中的动态口令的认证方法的流程图。如图2所示,提供了一种动态口令的认证方法,本实施例以用户通过动态口令的认证方式登录网上银行为例进行说明,具体描述在用户登录的过程中动态口令认证服务器的认证流程,其中,在本实施例中,采用计次的方法(即,基于事件的方法)来生成动态口令,根据本发明实施例的动态口令的认证方法具体包括如下步骤:
步骤S201,认证服务器接收用户端发送的用户名信息、第一动态口令。
在本实施例中,在登录认证流程开始前,用户所持动态口令令牌已经与该用户的用户名信息进行了绑定,上述动态口令令牌具有唯一的编号,并且在内部存储有唯一的与编号对应的种子,可以根据内置的动态口令算法生成动态口令,上述动态口令算法与服务端生成动态口令算法相同,其中,用户名信息可以包括以下至少之一:用户姓名、账号、身份证号、邮箱,上述用户端可以包括以下至少之一:用户端主机和用户端动态口令令牌。
在本实施例中,所使用的动态口令令牌可以带有按键,用户第一次按下按键生成的动态口令为第一动态口令,第二次按下按键可以生成第二动态口令,第三次按下按键可以生成第三动态口令;
或者,上述动态口令令牌也可以带有三个动态口令生成按键,当按下第一个按键,生成的动态口令为第一动态口令,按下第二个按键可以生成第二动态口令,按下第三个按键可以生成第三动态口令。
用户通过用户端主机输入用户名信息、第一动态口令,并由用户端主机发送给认证服务器。
在生成动态口令时对动态因子的选择可以采用基于时间或事件的方式,在本实施例1中,以采用基于事件的方式(即,采用计次的方式)生成动态口令进行说明,优选地,在本实施例中还可以采用基于时间的方式(即,采用计时的方式)来生成动态口令,该方式将在随后的实施例2中进行描述。
步骤S202,认证服务器根据接收的用户名信息查找对应的动态口令令牌的编号和种子,以及动态因子,并生成第一验证动态口令OTP1。
其中,上述认证服务器生成OTP1与动态口令令牌生成第一动态口令算法相同,并均采用计次的方式生成动态口令,其中,上述算法可以包括:HMAC-SHA1、MD5、SHA-1、SHA-256等。
步骤S203,认证服务器验证第一动态口令是否正确,如果正确,执行步骤S204,如果不正确,执行步骤S209。
其中,在步骤S202中,认证服务器生成OTP1时,可以生成一个或一组动态口令作为OTP1,即OTP1也可以为一组动态口令。
认证服务器可以采用以下方法来验证第一动态口令是否正确:
1)当OTP1为一个动态口令时,认证服务器将第一动态口令与OTP1进行比对,如果相同,则认为第一动态口令正确,如果不相同,则认为第一动态口令不正确;
2)当认证服务器使用连续递增的动态因子计算第一验证动态口令时,第一验证动态口令OTP1为一组动态口令,认证服务器将一组动态口令OTP1分别与第一动态口令进行比对,当OTP1中有一个动态口令与第一动态口令比对相同时,则认为比对成功,第一动态口令正确,如果OTP1中任一个动态口令都与第一动态口令不相同,则认为验证失败,第一动态口令不正确。
这里,认证服务器可以根据动态因子来生成动态口令,例如,第一验证动态口令、第二验证动态口令或随后描述的第三验证动态口令。下面举例进行说明,以本实施例采用计次的方式生成动态口令为例进行说明:
使用计次的方法生成动态口令,即在生成动态口令时将设备(动态口令令牌或认证服务器)生成动态口令的次数作为动态因子,第一次生成动态口令时动态因子为计数值1、第二次生成动态口令时动态因子为计数值2,以此类推,每生成一次动态口令计数值增加1,或者增加一个预设的步长。由于动态口令令牌和认证服务器单独计次,很容易产生计次的不一致现象的发生,因此需要对认证服务器所存储的计次值进行修正。
假设在动态口令令牌生成第一动态口令时使用的动态因子为计数值100,而在认证服务器中保存的动态因子为计数值95,此时在认证服务器计算OTP1时设定计数值浮动范围为95-105,即,动态因子的取值范围可以设为[95,105]。可以从动态因子(即计数值)为95开始,根据每个动态因子计算出一个第一验证动态口令,然后,将计算出的第一验证动态口令与第一动态口令进行比对,如两者不相同,则增加计数值继续进行第一验证动态口令的计算。
由上可知,认证服务器生成OTP 1时可以分别以计数值95、96......104、105作为动态因子生成一组最多11个验证动态口令,认证服务器将接收到的第一动态口令与上述验证动态口令进行比较。例如,当认证服务器根据计数值100作为动态因子生成验证动态口令时,该生成的验证动态口令与第一动态口令相同,则验证第一动态口令正确,并停止第一验证动态口令的计算。
这时,还可以对认证服务器存储的动态因子进行修正,即,将100作为正确的计数值,使得动态口令令牌与认证服务器的计数值保持同步。然后,认证服务器将计数值100增加1(或预定的步长)并保存,作为下次计算动态口令的动态因子。如果上述一组共11个验证动态口令中没有一个验证动态口令与第一动态口令相同,则验证第一动态口令不正确。
需要说明的是,上述对认证服务器存储的动态因子进行修正的操作可以在步骤S203或者随后的步骤S204中执行。
步骤S204,认证服务器生成第二验证动态口令OTP2,并返回给用户端。
在本实施例中,由于步骤S203中对动态因子进行了修正,从而认证服务器可以根据修正后的动态因子生成第二验证动态口令OTP2,优选的,此处的OTP2为一个动态口令。
用户端接收到OTP2后,用户利用动态口令令牌生成第二动态口令,并将第二动态口令与OTP2进行比对,如果相同,则认为比对成功,并再次使用动态口令令牌生成第三动态口令并发送给认证服务器。如果上述第二动态口令与OTP2不相同,则认为比对失败,用户可以认为认证服务器不合法,停止登录操作。
步骤S205,认证服务器是否在约定的时间内接收到第三动态口令,如果接到第三动态口令,执行步骤S206,如果没有接到,执行步骤S209。
在本实施例中,约定的时间为认证服务器接收第三动态口令的有效时间,认证服务器对在有效时间内接收的第三动态口令进行验证,对没有在约定的时间内发送的第三动态口令丢弃,不进行第三动态口令的验证,其中,认证服务器可以根据实际需要来设置上述约定的时间。这里,对时间进行限制可以很大程度的防止黑客的攻击。
步骤S206,认证服务器生成第三验证动态口令OTP3。
认证服务器可以根据接收的用户名信息查找对应的动态口令令牌的编号和种子,以及动态因子,并生成第三验证动态口令OTP3。
其中,上述认证服务器生成OTP3与动态口令令牌生成第三动态口令算法相同,并均采用计次的方式生成动态口令,其中,上述算法可以包括:HMAC-SHA1、MD5、SHA-1、SHA-256等。
步骤S207,认证服务器使用OTP3对第三动态口令进行验证,如果正确,执行步骤S208,如果不正确,执行步骤S209。
在本实施例中,认证服务器对第三动态口令验证的方法为,认证服务器使用OTP3对第三动态口令进行比对,如果相同,则认为比对成功,执行步骤S208,如果不相同,则比对失败,执行步骤S209。
其中,如果在步骤S206中,认证服务器生成OTP3时生成的是一组验证动态口令,则按如下的方式对第三动态口令进行验证:认证服务器使用第三动态口令与步骤S206中生成的一组验证动态口令逐一进行比对,如果上述一组验证动态口令中有一个验证动态口令与第三动态口令相同,则认为比对成功,执行步骤S208;如果上述一组验证动态口令中任意一个动态口令均与第三动态口令不相同,则认为比对失败,验证不正确,执行步骤S209。
在本实施例中,用户端在发送第三动态口令的同时,还可以向认证服务器发送静态密码。相应的,认证服务器在对第三动态口令进行验证的同时,还可以对静态密码进行验证,从而防止动态口令令牌丢失或被盗导致的非合法用户登入,使得登录过程更加安全,其中,具体的步骤为:认证服务器在预先约定的时间内接收到用户端发送的第三动态口令和静态密码,认证服务器对静态密码和第三动态口令进行验证,如果全部正确,则执行步骤S208,否则,执行步骤S209。
步骤S208,登录成功,可以开始进行网上交易;
步骤S209,返回错误。
在本实施例中,上述返回错误包括如下情况:
在步骤S203中认证服务器判断第一动态口令不正确时,返回第一动态口令不正确的错误。
在步骤S205中未在预先约定的时间内接收到第三动态口令时,返回接收第三动态口令超时的错误。
在步骤S207中认证服务器判断第三动态口令不正确时,返回登录失败的错误。
在本实施例,生成动态口令均可以采用算法包括HMAC-SHA1、MD5、SHA-1、SHA-256等,其中,认证服务器生成OTP1与口令令牌生成第一动态口令、认证服务器生成OTP2与口令令牌生成第二动态口令、认证服务器生成OTP3与口令令牌生成第三动态口令的算法相同。
根据本发明,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户可以避免如由于误登录钓鱼网站而遭受损失。
实施例2
图3是本发明实施例2中的动态口令的认证方法的流程图。如图3所示,提供了一种动态口令的认证方法,本实施例以用户通过动态口令的认证方式登录网上银行为例进行说明,具体描述在用户登录的过程中动态口令认证服务器的认证流程,其中,在本实施例中,采用计时的方法(即,基于时间的方法)来生成动态口令,根据本发明实施例的动态口令的认证方法具体包括如下步骤:
步骤S301,认证服务器接收用户端发送的用户名信息、第一动态口令。
在本实施例中,在登录认证流程开始前,用户所持动态口令令牌已经与该用户的用户名信息进行了绑定,上述动态口令令牌具有唯一的编号,并且在内部存储有唯一的与编号对应的种子,可以根据内置的动态口令算法生成动态口令,上述动态口令算法与服务端生成动态口令算法相同,其中,用户名信息可以包括以下至少之一:用户姓名、账号、身份证号、邮箱。
在本实施例中,所使用的动态口令令牌可以带有按键,用户第一次按下按键生成的动态口令为第一动态口令,第二次按下按键可以生成第二动态口令,第三次按下按键可以生成第三动态口令;
或者,上述动态口令令牌也可以带有三个动态口令生成按键,当按下第一个按键,生成的动态口令为第一动态口令,按下第二个按键可以生成第二动态口令,按下第三个按键可以生成第三动态口令。
用户通过用户端主机输入用户名信息、第一动态口令,并由客户端发送给认证服务器。
在生成动态口令时对动态因子的选择可以采用基于时间或事件的方式,在本实施例2中,以采用基于时间的方式(即,采用计时的方式)生成动态口令进行说明,优选地,在本实施例中还可以采用基于事件的方式(即,采用计次的方式)来生成动态口令,如实施例1所述。
步骤S302,认证服务器根据接收的用户名信息查找对应的动态口令令牌的编号和种子,以及动态因子,并生成第一验证动态口令OTP1。
其中,上述认证服务器生成OTP1与动态口令令牌生成第一动态口令算法相同,并均采用计时的方式生成动态口令,其中,上述算法可以包括:HMAC-SHA1、MD5、SHA-1、SHA-256等。
步骤S303,认证服务器验证第一动态口令是否正确,如果正确,执行步骤S304,如果不正确,执行步骤S309。
其中,在步骤S302中,认证服务器生成OTP1时,可以生成一个或一组动态口令作为OTP1,即OTP1也可以为一组动态口令。
认证服务器可以采用以下方法来验证第一动态口令是否正确:
1)当OTP1为一个动态口令时,认证服务器将第一动态口令与OTP1进行比对,如果相同,则认为第一动态口令正确,如果不相同,则认为第一动态口令不正确;
2)当使用的动态因子(即计时时间)包括时间窗时(后面将描述具体实现办法),OTP1为一组验证动态口令,认证服务器将一组动态口令OTP1逐一与第一动态口令进行比对,当一组OTP1中有一个动态口令与第一动态口令比对相同时,则认为比对成功,第一动态口令正确,如果OTP1中任一个动态口令都与第一动态口令不相同,则认为验证失败,第一动态口令不正确。
优选的,在认证服务器验证第一动态口令是否正确前,认证服务器还可以判断第一动态口令是否使用过,如果没有使用过,则验证第一动态口令是否正确;如果使用过,则向用户端返回错误。这里,判断第一动态口令是否使用过可以起到以下作用:防止黑客在监测到用户输入的动态口令之后,立刻向认证服务器采用相同的动态口令进行登录,从而避免了给用户造成损失。优选的,可以设置一定的时间段,例如,10分钟,如果在之前的10分钟之内没有使用过第一动态口令,则认证服务器对该第一动态口令进行验证。
这里,认证服务器可以根据动态因子来生成动态口令,例如,第一验证动态口令、第二验证动态口令或随后描述的第三验证动态口令。下面举例进行说明,以本实施例采用计时的方式生成动态口令为例进行说明:
使用计时的方法生成动态口令,即在生成动态口令时将设备(动态口令令牌或认证服务器)生成动态口令的时间与预设的初始时间的差值作为动态因子,本实施例中以一分钟为计时单位为例进行说明,一般情况下,动态口令令牌在初始化时设定一个初始时间,例如为2000年1月1日00时00分,当在2000年1月1日01时00分生成动态口令时,动态口令令牌或认证服务器使用2000年1月1日01时00分与初始时间2000年1月1日00时00分相减得到60分,使用60作为动态因子生成动态口令,但是由于动态口令令牌和认证服务器单独计时,计时经常会发生计时不同步的情况,因此需要对时间因子进行修正,上述修正方法可以如下所述:
假设动态口令令牌与认证服务器设定的初始时间为2000年1月1日00时00分,在动态口令令牌计时时间为2000年1月1日01时00分生成动态口令,此时动态口令令牌使用的动态因子为60,而认证服务器生成OTP1时,由于计时和数据传输的误差,此时认证服务器基准时间为2000年1月1日01时02分,即动态因子应为62。在认证服务器生成动态口令时,对动态因子设定一个时间的浮动范围,例如±2分,这个浮动范围在本实施例中可以被称为时间窗,也就是,动态因子的取值范围可以设为[59,65]。然后,使用62±3生成一组最多7个第一验证动态口令,即认证服务器使用的动态因子分别为59、60、61、62、63、64、65,使用这些动态因子逐一地生成第一验证动态口令,并与第一动态口令进行比对,例如,当根据第一个动态因子59生成的第一验证动态口令,且该第一验证动态口令与第一动态口令不同时,则使用下一个动态因子60继续生成第一验证动态口令,并与第一动态口令进行比对,依此类推,直到第一验证动态口令与第一动态口令比对成功。
显然,当动态因子为60时,第一动态口令验证正确,这时得到正确的动态因子,将动态因子更新为60,并可以计算出认证服务器与动态口令令牌之间的计时偏移为2分钟,在下次对动态口令计算时,可以通过如下方法对认证服务器存储的动态因子进行修正:
更新后的动态因子=上述认证服务器生成第二验证动态口令时的当前计时时间-上述实体的初始时间-上述计时偏移。
例如,认证服务器在2000年1月1日01时03分生成第二验证动态口令。则更新后的动态因子=(2000年1月1日01时03分)-(2000年1月1日00时00分)-2=61。
需要说明的是,本发明实施例可以根据实际情况来设置上述用于计算动态因子的计时单位,例如根据安全性及计算精度进行确定。例如,在利用计时的方式生成动态口令时,可以以每一分钟、或30秒或1秒为计时单位,来计算动态因子,并根据该动态因子生成动态口令。
上述对认证服务器存储的动态因子进行修正的操作可以在步骤S303或者随后的步骤S304中执行。
步骤S304,认证服务器生成第二验证动态口令OTP2,并返回给用户端。
这里,认证服务器可以首先计算生成第二验证动态口令的计时时间(例如,2000年1月1日01时03分)与初始时间(2000年1月1日00时00分)之间的差值(等于63),然后将该差值减去上述计时偏移(等于2)得到更新后的动态因子(等于61),并根据更新后的动态因子生成OTP2。
在本实施例中,由于步骤S303中对动态因子进行了修正,从而认证服务器可以根据修正后的动态因子生成第二验证动态口令OTP2,优选的,此处的OTP2为一个动态口令。
需要说明的是,当使用计时的方法生成动态口令时(使用时间因子作为动态因子),用户端接收到认证服务器发送的OTP2时,用户需在规定的时间内利用动态口令令牌生成第二动态口令,原因如下:
动态口令令牌和认证服务器都是采用单独计时的方式,在认证的过程中,认证服务器生成OTP2先于动态口令令牌生成第二动态口令,因此认证服务器生成OTP2和动态口令令牌生成第二动态口令的时间因子不一样,致使动态口令不一样,因此可以使用改进办法:在第一动态口令比对成功后,对时间进行修正以达到动态口令令牌和认证服务器时间同步,将此时间作为基准时间,并设定一个时间段,例如一分钟,将基准时间延长一分钟的时间作为时间因子生成OTP2(OTP2为一个动态口令),即在这一分钟内生成的动态口令是相同的。认证服务器生成OTP2后即返回给用户端,用户此时应该在规定的时间内利用动态口令令牌生成第二动态口令,上述规定的时间小于一分钟,则动态口令令牌生成的第二动态口令与OTP2应相同。
另外,本步骤还可以采取如下的方式:认证服务器每隔固定的时间生成一个OTP2返回给用户端,优选地,上述固定的时间可以为大于0的时间,并应该在安全范围内。
下面,本实施例以固定的时间为一分钟为例进行说明:
在认证服务器接收到第一动态口令并认证为正确时,设定时间为第0分钟,此时在第1分钟,按上述方法根据当前的计时时间、预设的初始时间以及计时偏移生成第一次OTP2,并发送给用户端;然后,在第2分钟,生成第二次OTP2,并发送给用户端;在第3分钟,生成第三次OTP2,并发送给用户端,依此类推,以便避免在用户接收或用户验证OTP2时由于延迟所带来的问题。优选的,在向用户端发送OTP2时,需要对认证服务器向用户端返回OTP2的次数进行限制一个最大次数,例如当返回10次,用户端未进行操作时,通知用户端超时未响应,验证失败。
用户端接收到OTP2后,利用动态口令令牌生成第二动态口令,并将第二动态口令与OTP2进行比对,如果相同,则认为比对成功,再次使用动态口令令牌生成第三动态口令并发送给认证服务器。如果上述第二动态口令与OTP2不相同,则认为比对失败,用户可以认为认证服务器不合法,停止登录操作。
优选地,为了避免认证服务器生成的第一个OTP2由于与用户使用动态口令令牌生成第一动态口令(正确的第一动态口令)时间过于接近而相同,例如,同在第0分钟上(以1分钟为计时单位),认证服务器在生成第一个OTP2时,可以根据当前计时时间的下一分钟来生成动态因子,并根据该动态因子生成第一次OTP2。此外,还可以通过其他方式来防止生成OTP2的时间与生成第一动态口令的时间相同,例如,可以在验证第一动态口令正确之后,等待2个计时单位,然后,在第3个计时单位上生成OTP2,这样,即可以使得生成OTP2的时间与生成第一动态口令的时间不同。
在认证服务器生成第二验证动态口令时,如果与生成第一验证动态口令的时间间隔过短,第一验证动态口令可能会与第二验证动态口令相同。为了使第二验证动态口令与第一验证动态口令不相同,则在生成第二验证动态口令时,可以将更新后的动态因子增加一个预设的步长,然后,根据增加后的动态因子生成第二验证动态口令,从而避免由第二验证动态口令与第一验证动态口令相同而造成的安全漏洞。
步骤S305,认证服务器是否在约定的时间内接收到第三动态口令,如果接到第三动态口令,执行步骤S306,如果没有接到,执行步骤S309。
在本实施例中,约定的时间为认证服务器接收第三动态口令的有效时间,认证服务器对在有效时间内接收的第三动态口令进行验证,对没有在约定的时间内发送的第三动态口令丢弃,不进行第三动态口令的验证,对时间进行限制可以很大程度的防止黑客的攻击。
步骤S306,认证服务器生成第三验证动态口令OTP3。
优选地,认证服务器生成第三验证动态口令OTP3前还可以包括,验证第三动态口令是否使用过。
需要说明的是,优选地,在利用计时的方式生成动态口令时,如上所述,对动态因子的处理存在一个时间窗,利用如下的办法可以解决由于时间窗问题造成的动态口令计算重复问题,举例说明如下:
例如,当认证服务器生成OTP2时,时间为00时10分,生成OTP3时时间为00时13分,时间窗为三分钟,由于OTP3可以为一组动态口令,则时间因子为00时13分±3分,其中包括了将00时10分作为动态因子进行计算,这属于是重复的并且没有意义的计算,并可以造成安全漏洞,所以应该在计算OTP3时,为时间因子设置一个闸,本发明中闸表示的概念为:强制设定某时刻之前的时间,不再作为动态因子进行计算,即使是在时间窗的范围内,显然的,本例子中,00时10分及之前的时间为闸,不可以作为动态因子。
在认证服务器生成第三验证动态口令时,如果与生成第二验证动态口令的时间间隔过短,第三验证动态口令可能会与第二验证动态口令相同。为了使第三验证动态口令与第二验证动态口令不同,则在生成第三验证动态口令时,首先更新动态因子,方法可以采用上述在生成第一验证动态口令之后更新动态因子所用的方法;然后,将更新后的动态因子增加预设的步长;然后,使用增加后的动态因子生成第三验证动态口令,从而避免由第三验证动态口令与第二验证动态口令相同而造成的安全漏洞。
步骤S307,认证服务器对第三动态口令进行验证,如果正确,执行步骤S308,如果不正确,执行步骤S309。
在本实施例中,认证服务器对第三动态口令验证的方法为,认证服务器使用OTP3对第三动态口令进行比对,如果相同,则认为比对成功,执行步骤S308,如果不相同,则比对失败,执行步骤S309。
其中,如果在步骤S306中,认证服务器生成OTP3时生成一组验证动态口令,则按如下的方式对第三动态口令进行比对:认证服务器使用第三动态口令与步骤S306中生成的一组验证动态口令逐一进行比对,如果上述一组验证动态口令中有一个验证动态口令与第三动态口令相同,则认为比对成功,执行步骤S308;如果上述一组验证动态口令中任意一个动态口令均与第三动态口令不相同,则认为比对失败,验证不正确,执行步骤S309。
在本实施例中,还可以加入对静态密码的验证过程,防止动态口令令牌丢失或被盗导致的非合法用户登入,使得登录过程更加安全,其中,具体的步骤为:认证服务器在预先约定的时间内接收到用户端发送的第三动态口令和静态密码,认证服务器对静态密码和第三动态口令进行验证,如果全部正确,则执行步骤S308,否则,执行步骤S309。
步骤S308,登录成功,可以开始进行网上交易。
步骤S309,返回错误。
在本实施例中,上述返回错误包括如下情况:
在步骤S303中认证服务器判断第一动态口令不正确时,返回第一动态口令不正确的错误。
在步骤S305中未在预先约定的时间内接收到第三动态口令时,返回接收第三动态口令超时的错误。
在步骤S307中认证服务器判断第三动态口令不正确时,返回登录失败的错误。
在本发明的实施例中,生成动态口令均可以采用算法包括HMAC-SHA1、MD5、SHA-1、SHA-256等,其中,认证服务器生成OTP1与口令令牌生成第一动态口令的算法相同、认证服务器生成OTP2与口令令牌生成第二动态口令的算法相同、认证服务器生成OTP3与口令令牌生成第三动态口令的算法相同。
需要说明的是,上述生成OTP1、第一动态口令、OTP2、第二动态口令、OTP3和第三动态口令均可以采用基于事件(如实施例1中所示)或时间(如实施例2中所示)的方式来实现。
根据本发明,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户可以避免如由于误登录钓鱼网站而遭受损失。
根据本发明的实施例,提供了一种动态口令的认证装置。
图4是本发明实施例的动态口令的认证装置的结构框图。如图4所示,该装置包括:第一验证模块402,用于对来自用户端的第一动态口令进行验证;处理模块404,用于在验证上述第一动态口令正确的情况下生成第二验证动态口令,并将上述第二验证动态口令发送给上述用户端;第二验证模块406,用于在预定的时间段内接收到来自上述用户端的第三动态口令的情况下对上述第三动态口令进行验证。
在上述第二验证模块406验证第三动态口令正确的情况下,判断用户登录成功。
下面将结合实例对本发明实施例的实现过程进行详细描述。
实施例3
图5是本发明实施例3中的动态口令的认证装置的优选结构框图。如图5所示,本实施例提供了一种动态口令的认证装置,应用于认证服务器,该认证装置包括:通信模块31、查找模块32、第一生成模块33、第一认证模块34、第二生成模块35、第三生成模块36、第三认证模块37、存储模块38,其中上述模块均可以通过程序在相应的硬件中实现。其中,图4中的第一验证模块402可以包括:查找模块32、第一生成模块33、第一认证模块34;处理模块404可以包括:第二生成模块35;第二验证模块406可以包括:第三生成模块36、第三认证模块37。
通信模块31用于与用户端进行通信,接收用户端发送的用户名信息、第一动态口令,向用户端发送OTP2、接收用户端发送的第三动态口令,向用户端返回登录结果。
查找模块32用于在认证服务器接收到用户端发送的用户名信息和第一动态口令后,查找该用户名信息对应的动态口令令牌编号以及种子和动态因子。
第一生成模块33用于根据查找模块32查找到的种子和动态因子生成OTP1。
第一认证模块34用于对用户端发送的第一动态口令进行验证,这里,第一认证模块34还可以在对第一动态口令验证正确之后修正动态因子,以便第二生成模块35根据修正后的动态因子生成OTP2。
第二生成模块35用于当第一认证模块34对第一动态口令验证成功后,生成OTP2,并将OTP2通过通信模块31发送给用户端。
第三生成模块36用于在认证服务器在预先约定的时间内接收到用户端发送的第三动态口令后,生成OTP3。
第三认证模块37用于对用户端发送的第三动态口令进行验证,如果验证正确,则登录成功,如果验证不正确,则登录失败。
存储模块38,用于存储用户名信息、动态口令令牌编号、种子和动态因子。
其中,
第一生成模块32生成OTP1时,可以生成一个或一组动态口令;
相应地,当第一生成模块32生成一个动态口令时,第一认证模块34对用户端发送的第一动态口令进行验证具体的为:第一认证模块34将第一动态口令与上述第一生成模块32生成的一个动态口令进行比对,如果相同,则验证成功,如果不相同,则验证第一动态口令不正确;
当第一生成模块32生成一组动态口令时,第一认证模块34对用户端发送的第一动态口令进行验证具体的为:第一认证模块34将第一动态口令与上述第一生成模块32生成的一组动态口令逐个进行比对,如果其中有一个动态口令与第一动态口令相同,则认为比对成功,验证第一动态口令正确,否则,第一动态口令不正确;
第一认证模块33生成第一动态口令前,还可以包括,第一认证模块33判断第一动态口令是否使用过,如果没有使用过,验证第一动态口令是否正确,如果使用过,通过通信模块31向用户端返回错误;
第一认证模块33验证第一动态口令正确后,还可以包括,对动态因子进行修正;
通信模块31,还可以用于接收用户端发送的静态密码;
相应地,第三认证模块37在验证用户端发送的第三动态口令时还包括,对用户端发送的静态密码进行验证,如果第三动态口令和静态密码验证全部通过,则认为验证成功,否则,验证失败;
第一生成模块32生成OTP1的算法包括:HMAC-SHA1、MD5、SHA-1、SHA-256;
相应地,第二生成模块35生成OTP2的算法包括:HMAC-SHA1、MD5、SHA-1、SHA-256;
第三生成模块36生成OTP3的算法包括:HMAC-SHA1、MD5、SHA-1、SHA-256;
根据本发明,通过三次口令验证,使得普通的动态口令令牌可以对服务器的合法性进行验证,从而增加了动态口令认证的安全性,使得用户可以避免如因误登录钓鱼网站而遭受损失。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种动态口令的认证方法,其特征在于,包括:
认证服务器接收用户端发送的用户名信息和第一动态口令;
所述认证服务器根据接收的用户名信息查找对应的动态口令令牌的编号和种子、以及动态因子,并生成第一验证动态口令;
所述认证服务器对来自用户端的第一动态口令进行验证;
若所述认证服务器验证所述第一动态口令正确,则所述认证服务器更新动态因子,使用更新后的动态因子生成第二验证动态口令,并将所述第二验证动态口令发送给所述用户端;
所述用户端接收到所述第二验证动态口令后,利用动态口令令牌生成第二动态口令,并将所述第二动态口令与所述第二验证动态口令进行比对,如果相同,则认为比对成功,并再次使用动态口令令牌生成第三动态口令并发送给所述认证服务器;
若所述认证服务器在预定的时间段内接收到来自所述用户端的第三动态口令,则所述认证服务器对所述第三动态口令进行验证;
若所述认证服务器验证所述第三动态口令正确,则登录成功;
当使用基于事件的方式生成所述第二验证动态口令时,所述更新动态因子,包括:
将所述动态因子设置为所述用户端生成所述第一动态口令时所使用的第一动态因子,将所述动态因子增加一个预定的步长,以作为所述更新后的动态因子,其中,所述第一动态因子是所述用户端生成所述第一动态口令时的计数值;
当使用基于时间的方式生成所述第二验证动态口令时,所述更新动态因子,包括:
将所述动态因子设置为所述用户端生成所述第一动态口令时所使用的第一动态因子,根据所述动态因子更新计时偏移,根据所述计时偏移、生成所述第二验证动态口令的实体生成所述第二验证动态口令时的计时时间和预设的所述实体的初始时间来生成所述更新后的动态因子,其中,所述第一动态因子是所述用户端生成所述第一动态口令时的计时时间与预设的所述用户端的初始时间之间的差值;所述计时偏移是所述实体的当前计时时间与所述用户端的当前计时时间之间的差值。
2.根据权利要求1所述的方法,其特征在于,当使用基于时间的方式生成第二验证动态口令时,所述生成第二验证动态口令并将所述第二验证动态口令发送给所述用户端包括:
每隔固定的时间生成一个动态口令,并将生成的所述动态口令作为所述第二验证动态口令发送给所述用户端,以使对当前发送的第二验证动态口令进行验证。
3.根据权利要求1或2所述的方法,其特征在于,
对所述第一动态口令进行验证包括:
生成第一验证动态口令;
判断所述第一动态口令是否与所述第一验证动态口令相同,若相同,则所述第一动态口令正确;或者对所述第一动态口令进行验证包括:
生成第一组验证动态口令;
判断所述第一组验证动态口令中是否存在一个验证动态口令与所述第一动态口令相同,若存在,则所述第一动态口令正确。
4.根据权利要求3所述的方法,其特征在于,生成所述第一验证动态口令的算法与生成所述第一动态口令的算法相同,生成所述第一组验证动态口令中任一个验证动态口令的算法与生成所述第一动态口令的算法相同。
5.根据权利要求1或2所述的方法,其特征在于,所述在预定的时间段内接收来自所述用户端的第三动态口令时,所述方法还包括:
在所述时间段内还接收到来自所述用户端的静态密码,以便在验证所述第三动态口令和所述静态密码正确的情况下判断用户登录成功。
6.根据权利要求1或2所述的方法,其特征在于,
对所述第三动态口令进行验证包括:
生成第三验证动态口令;
判断所述第三验证动态口令是否与所述第三验证动态口令相同,若相同,则所述第三动态口令正确;或者对所述第三动态口令进行验证包括:
生成第三组验证动态口令;
判断所述第三组验证动态口令中是否存在一个验证动态口令与所述第三动态口令相同,若存在,则所述第三动态口令正确。
7.根据权利要求6所述的方法,其特征在于,生成所述第三验证动态口令的算法与生成所述第三动态口令的算法相同,生成所述第三组验证动态口令中任一个验证动态口令的算法与生成所述第三动态口令的算法相同。
8.根据权利要求3中所述的方法,其特征在于,当使用基于时间的方式生成第二验证动态口令时,所述方法还包括:
所述第二验证动态口令与所述第一验证动态口令不同。
9.根据权利要求6中所述的方法,其特征在于,当使用基于时间的方式生成第二验证动态口令时,所述方法还包括:
所述第三验证动态口令与所述第二验证动态口令不同。
10.一种动态口令的认证装置,其特征在于,包括:
通信模块,用于与用户端进行通信,接收所述用户端发送的用户名信息和第一动态口令;
第一验证模块,用于对来自用户端的第一动态口令进行验证;
处理模块,用于在验证所述第一动态口令正确的情况下生成第二验证动态口令,并将所述第二验证动态口令发送给所述用户端;
第二验证模块,用于在预定的时间段内接收到来自所述用户端的第三动态口令的情况下对所述第三动态口令进行验证;
所述第一验证模块包括查找模块、第一生成模块和第一认证模块,所述处理模块包括第二生成模块,其中:
所述查找模块,用于查找所述用户端发送的用户名信息对应的动态口令令牌编号以及种子和动态因子;
所述第一生成模块,用于根据所述查找模块查找到的种子和动态因子生成第一验证动态口令;
所述第一认证模块,用于对用户端发送的第一动态口令进行验证,在对所述第一动态口令验证正确之后修正动态因子,以便所述第二生成模块根据修正后的动态因子生成第二验证动态口令;
当使用基于事件的方式生成所述第二验证动态口令时,所述修正动态因子,包括:
将所述动态因子设置为所述用户端生成所述第一动态口令时所使用的第一动态因子,将所述动态因子增加一个预定的步长,以作为更新后的动态因子;其中,所述第一动态因子是所述用户端生成所述第一动态口令时的计数值;
当使用基于时间的方式生成所述第二验证动态口令时,所述修正动态因子,包括:
将所述动态因子设置为所述用户端生成所述第一动态口令时所使用的第一动态因子,根据所述动态因子更新计时偏移,根据所述计时偏移、生成所述第二验证动态口令的实体生成所述第二验证动态口令时的计时时间和预设的所述实体的初始时间来生成所述更新后的动态因子;其中,所述第一动态因子是所述用户端生成所述第一动态口令时的计时时间与预设的所述用户端的初始时间之间的差值;所述计时偏移是所述实体的当前计时时间与所述用户端的当前计时时间之间的差值。
CN 200910235952 2009-10-30 2009-10-30 动态口令的认证方法和装置 Expired - Fee Related CN101699820B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN 200910235952 CN101699820B (zh) 2009-10-30 2009-10-30 动态口令的认证方法和装置
US13/502,772 US8789166B2 (en) 2009-10-30 2010-10-29 Verification method and system thereof
PCT/CN2010/078238 WO2011050745A1 (zh) 2009-10-30 2010-10-29 认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910235952 CN101699820B (zh) 2009-10-30 2009-10-30 动态口令的认证方法和装置

Publications (2)

Publication Number Publication Date
CN101699820A CN101699820A (zh) 2010-04-28
CN101699820B true CN101699820B (zh) 2013-02-13

Family

ID=42148265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910235952 Expired - Fee Related CN101699820B (zh) 2009-10-30 2009-10-30 动态口令的认证方法和装置

Country Status (1)

Country Link
CN (1) CN101699820B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011050745A1 (zh) * 2009-10-30 2011-05-05 北京飞天诚信科技有限公司 认证方法及系统
CN102123148B (zh) * 2011-03-02 2014-01-15 天地融科技股份有限公司 基于动态口令的认证方法、系统和装置
CN102164036B (zh) * 2011-03-25 2014-09-03 北京宏基恒信科技有限责任公司 动态令牌、具有该动态令牌的双向认证方法及系统
CN103475658B (zh) * 2011-04-06 2017-01-11 天地融科技股份有限公司 动态口令生成方法及装置、认证方法及系统
CN102148837A (zh) * 2011-05-11 2011-08-10 上海时代亿信信息科技有限公司 一种动态令牌双向认证方法及系统
US20130238500A1 (en) * 2012-03-09 2013-09-12 Bank Of America Corporation Online merchant express payment using a dynamic time-dependent passcode generator
CN102684881B (zh) * 2012-05-03 2016-05-25 飞天诚信科技股份有限公司 一种动态口令的认证方法和装置
CN103685205B (zh) * 2012-09-24 2017-09-29 联想(北京)有限公司 客户端、服务器和应用于其的信息处理方法
CN103812820B (zh) * 2012-11-06 2018-09-04 腾讯科技(深圳)有限公司 登录方法及系统
CN103218865B (zh) * 2013-04-17 2016-01-27 孙添平 一种动态密码电子锁系统及其认证方法
CN103716165B (zh) * 2013-12-18 2017-02-08 北京海泰方圆科技股份有限公司 动态口令令牌和认证系统的时间因子生成方法及校验方法
CN104135493A (zh) * 2014-08-22 2014-11-05 上海众人科技有限公司 一种文件压缩方法及其系统
CN104283691B (zh) * 2014-11-03 2018-11-27 深圳市奇付通科技有限公司 一种基于动态口令的双向身份认证方法及系统
CN107371162A (zh) * 2017-09-12 2017-11-21 郑州云海信息技术有限公司 一种基于动态口令增强wap协议安全的方法与系统
CN108462686B (zh) * 2018-01-08 2020-09-04 平安科技(深圳)有限公司 动态密钥的获取方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889432A (zh) * 2006-07-13 2007-01-03 上海交通大学 基于智能卡的口令远程认证方法、智能卡、服务器和系统
CN101394284A (zh) * 2008-11-13 2009-03-25 四川长虹电器股份有限公司 一次性口令认证方法
CN101453458A (zh) * 2007-12-06 2009-06-10 北京唐桓科技发展有限公司 基于多变量的动态密码口令双向认证的身份识别方法技术

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889432A (zh) * 2006-07-13 2007-01-03 上海交通大学 基于智能卡的口令远程认证方法、智能卡、服务器和系统
CN101453458A (zh) * 2007-12-06 2009-06-10 北京唐桓科技发展有限公司 基于多变量的动态密码口令双向认证的身份识别方法技术
CN101394284A (zh) * 2008-11-13 2009-03-25 四川长虹电器股份有限公司 一次性口令认证方法

Also Published As

Publication number Publication date
CN101699820A (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
CN101699820B (zh) 动态口令的认证方法和装置
US8627424B1 (en) Device bound OTP generation
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
CN101777983B (zh) 交易签名方法、认证服务器及系统
US8719915B2 (en) Method for improving network application security and the system thereof
US20070220253A1 (en) Mutual authentication between two parties using two consecutive one-time passwords
US20100217975A1 (en) Method and system for secure online transactions with message-level validation
CN101964789B (zh) 安全访问受保护资源的方法及系统
US20160381001A1 (en) Method and apparatus for identity authentication between systems
WO2011050745A1 (zh) 认证方法及系统
Liou et al. A feasible and cost effective two-factor authentication for online transactions
US9503442B1 (en) Credential-based application programming interface keys
CN104683354A (zh) 一种基于标识的动态口令系统
Alqubaisi et al. Should we rush to implement password-less single factor FIDO2 based authentication?
CN112600831B (zh) 一种网络客户端身份认证系统和方法
CN113626802A (zh) 一种设备密码的登录验证系统及方法
CN106790138A (zh) 一种政务云应用用户登录双因子验证的方法
CN114301617A (zh) 多云应用网关的身份认证方法、装置、计算机设备及介质
Schwarz et al. Feido: Recoverable FIDO2 tokens using electronic ids
JP5186648B2 (ja) 安全なオンライン取引を容易にするシステム及び方法
KR101243101B1 (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템
Pampori et al. Securely eradicating cellular dependency for e-banking applications
US11102198B2 (en) Portable security tool for user authentication
CN114500074B (zh) 单点系统安全访问方法、装置及相关设备
KR101310043B1 (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130213