动态令牌、具有该动态令牌的双向认证方法及系统的制作方法

文档序号:7621339阅读:206来源:国知局
专利名称:动态令牌、具有该动态令牌的双向认证方法及系统的制作方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种动态令牌及具有该动态令牌的双向认证方法及系统。
背景技术
身份认证是电子商务和电子政务等各种关键业务应用的安全基础。身份认证技术包括静态口令认证、动态口令认证、生物技术认证、通过第三方发放的数字证书认证等。静态口令认证存在的问题是,由于静态口令的静态特性和重复实用性,其容易被窃取、猜测或破解,这样黑客就可以冒充合法身份进入个人账户,盗取关键资料,对用户造成严重的损失。其他的身份认证技术如生物认证、数字认证等,可以提供更高的安全强度,但是由于成本较高、使用难度大、环境要求复杂等问题,用户接受程度较低。动态口令认证由于每次产生的口令是变化的,因此有效地避免了被猜测和破解等,成为主要的认证技术之一,广泛应用于电子商务、远程访问、内部系统访问等身份认证。动态口令的技术实现包括软件方式(如安装在电脑、手机上)、短信方式、读卡器方式(将智能卡插入专用读卡器)、易携带的专用动态令牌等。由于动态令牌具有与携带、 内部密钥不可读、使用方便等特性,成为当前主要的动态口令认证技术。动态令牌存在的问题是,产生的口令需要通过服务器端的认证系统的验证,这个过程是单向的,也就是说只有服务器端验证令牌持有人的身份,但是由于现实网络的复杂环境,恶意的攻击者或者黑客等会冒充认证服务器,欺骗用户以获取令牌持有人的个人资料,从而降低了安全强度。

发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是提出一种动态令牌、具有该动态令牌的双向认证方法及系统。为达到上述目的,本发明一方面提出一种动态令牌,包括输入模块,用于供用户输入由服务器端产生的指示所述服务器端身份的服务器认证码;输入控制模块,用于解析所述服务器认证码;动态口令控制模块,用于根据当前时间计算当前时间段内的认证码组, 并判断所述服务器认证码是否与所述认证码组中的任一个匹配,如果判断所述服务器认证码与所述认证码组中的任一个匹配,则输出认证通过的验证结果,并根据当前时间生成动态口令,如果判断所述服务器认证码未与所述认证码组中的任一个匹配,则输出认证未通过的验证结果;显示控制模块,用于对所述动态口令控制模块输出的验证结果及动态口令进行解析;以及显示模块,用于显示所述显示控制模块的解析后的验证结果及动态口令。在本发明的一个实施例中,只有当判断所述服务器认证码与所述认证码组中的任一个匹配时,所述动态口令控制模块根据当前时间生成动态口令。在本发明的一个实施例中,所述动态口令控制模块进一步包括认证码生成子模
5块,用于根据所述当前时间计算当前时间段内的认证码组,以及根据当前时间生成动态口令;以及验证判断子模块,用于判断所述服务器认证码是否与所述认证码组中的任一个匹配,并输出相应的验证结果。在本发明的一个实施例中,所述认证码组中包括当前时间对应的认证码,以及所述当前时间的前后各一时间点对应的认证码。在本发明的一个实施例中,所述动态令牌还包括同步模块,所述同步模块在所述服务器认证码与所述当前时间的前一时间点或后一时间点对应的认证码相同时,将所述动态令牌的时间向前或向后调整一个时间段。在本发明的一个实施例中,所述动态令牌还包括模式选择模块,用于提供服务器验证模式和动态口令生成模式供用户选择。本发明另一方面还提出一种双向认证系统,包括动态令牌,用于根据接收到的服务器认证码对服务器端的身份进行验证,并在所述服务器端通过身份验证后,根据当前时间生成动态口令;以及服务器端,用于根据当前时间生成一个指示服务器端身份的服务器认证码,以及根据所述动态令牌生成的动态口令对用户身份进行认证。其中,所述动态令牌与上述的动态令牌相同。在发明的一个实例中,所述服务器端进一步包括接收模块,用于接收所述动态令牌生成的动态口令;认证模块,用于根据当前时间计算当前时间段内的口令组,并判断所述动态口令是否与所述口令组中的任一个匹配,如果判断所述动态口令与所述口令组中的任一个匹配,则确认所述用户通过认证,如果判断所述动态口令未与所述口令组中的任一个匹配,则确认所述用户未通过认证;以及服务器认证码生成模块,用于根据当前时间生成指示所述服务器端身份的服务器认证码。在本发明的一个实施例中,所述口令组中包括当前时间对应的口令,以及所述当前时间的前后各三个时间点对应的口令。在本发明的一个实例中,所述服务器端还包括服务端同步模块。当所述动态口令与所述当前时间的前一时间点或后一时间点对应的口令相同时,所述服务端同步模块将所述服务器端的时间向前或向后调整一个时间段;或者当所述动态口令与所述当前时间的前三时间点,或前两时间点,或后两时间点,或后三时间点对应的口令中的一个相同,则继续提示所述用户输入通过所述动态令牌再次生成的动态口令,且在所述再次生成的动态口令也通过所述认证模块的认证时,所述服务端同步模块调整所述服务器端的时间。本发明又一个方面还提出一种双向认证方法,包括以下步骤获得用于指示所述服务器端身份的服务器认证码;将服务器认证码输入动态令牌;所述动态令牌根据当前时间计算当前时间段内的认证码组,并判断所述服务器认证码是否与所述认证码组中的任一个匹配;如果判断所述服务器认证码与所述认证码组中的任一个匹配,则向用户显示所述服务器端通过认证;用户向所述服务器端进行登录;在通过登录认证之后,所述用户通过所述动态令牌生成动态口令;以及将所述动态口令发送至所述服务器端,并由所述服务器端对所述动态口令进行验证。本发明通过在动态令牌中增加服务器双向认证的功能,实现了用户身份和服务器身份的双向验证,有效地防止恶意攻击,保证了用户信息的安全性。此外,在本发明实施例中,动态令牌还可根据服务器端的服务器认证码将动态令牌同步至服务器,同样地,服务器也可根据动态令牌产生的动态口令与动态令牌进行同步,从而实现了动态令牌和服务器的双向同步。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图1为本发明实施例的动态令牌的结构示意图;图2为本发明实施例的双向认证系统的结构示意图;以及图3为本发明实施例的双向认证方法的流程图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。如图1所示为本发明实施例的动态令牌的结构示意图,该动态令牌包括输入模块11、输入控制模块12、动态口令控制模块13、显示控制模块14和显示模块15。输入模块11用于供用户输入由服务器端产生的指示所服务器端身份的服务器认证码。输入控制模块12用于解析该服务器认证码。动态口令控制模块13用于在服务器验证模式时根据当前时间计算当前时间段内的认证码组,并判断服务器认证码是否与认证码组中的任一个匹配,如果判断服务器认证码与认证码组中的任一个匹配,则输出认证通过的验证结果,并根据当前时间生成动态口令,如果判断服务器认证码未与认证码组中的任一个匹配,则输出认证未通过的验证结果。显示控制模块14用于对动态口令控制模块13 输出的验证结果及动态口令进行解析。显示模块15用于显示显示控制模块14的解析后的验证结果及动态口令。具体地,动态口令控制模块13可包括认证码生成子模块131和验证判断子模块 132。认证码生成子模块131用于根据当前时间计算当前时间段内的认证码组,以及根据当前时间生成动态口令。认证码组和动态口令的生成均可采用现有的算法,此处为了简单起见,不再赘述。而且,认证码组合动态口令的生成可采用相同的算法,也可采用不同的算法。 验证判断子模块132用于判断服务器认证码是否与认证码组中的任一个匹配,并输出相应的验证结果。动态口令控制模块13将比对的结果传送给显示控制模块14,显示控制模块14解析后传给显示模块15。显示模块15可图形化显示比对结果,例如,认证通过显示V,认证不通过显示X。在动态令牌对服务器端的认证码进行认证时,采用时间作为参数因子,但是服务器端和动态令牌的时间可能存在偏差,如果不采取任何措施,这个偏差会随着使用时间的增加而不断增大最终导致无法认证。因此,在本发明的动态令牌中,当动态口令控制模块13 验证服务器认证码时,将服务器认证码与当前时间段内的认证码组进行比对,而不只是与当前时间对应的认证码进行比对。在本发明的一个实施例中,该认证码组中可包括当前时间对应的认证码以及当前时间的前后各一时间点对应的认证码。应理解,认证码组的长度可根据实际情况进行改变,例如,计算当前时间与前后各两个时间点共5个认证码等。根据本发明的一个实施例,动态令牌还可包括同步模块16。在服务器认证码与当前时间对应的认证码相同时,同步模块16不做任何处理。在服务器认证码与当前时间的前一时间点或后一时间点对应的认证码相同时,同步模块16将动态令牌的时间向前或向后调整一个时间段以达到与服务器同步的功能。在本发明的一个实施例中,只有当判断服务器认证码与认证码组中的任一个匹配时,动态口令控制模块132才根据当前时间生成动态口令。也就是说,只有当用户确认服务器安全时,才进行用户身份的认证。在本发明的另一个实施例中,动态令牌还可包括模式选择模块17。模式选择模块 17用于提供服务器验证模式和动态口令生成模式以供用户选择。这样,用户可以选择是否进行服务器验证,从而可以在用户能够确认服务器安全时,节省不必要的程序,简化验证过程。本发明另一方面还提出一种双向认证系统,包括动态令牌1和服务器端2。动态令牌1用于根据接收到的服务器认证码对服务器端2的身份进行验证,以及根据当前时间生成动态口令。服务器端2用于根据当前时间生成一个指示服务器端2身份的服务器认证码,或者根据动态令牌1生成的动态口令对用户身份进行认证。其中,动态令牌1可使用如上所述的动态令牌,此处为了简单起见,不再赘述。具体地,服务器端2可包括接收模块21、认证模块22和服务器认证码生成模块 23。接收模块21用于接收动态令牌1生成的动态口令。认证模块22用于根据当前时间计算当前时间段内的口令组,并判断动态口令是否与口令组中的任一个匹配,如果判断动态口令与口令组中的任一个匹配,则确认用户通过认证,如果判断动态口令未与所述口令组中的任一个匹配,则确认未通过认证。服务器认证码生成模块23用于根据当前时间生成指示所述服务器端2身份的服务器认证码。服务器认证码的生成算法也可与动态口令的生成算法相同或不同,但均可采用现有的生成算法,此处为了简单起见,不再赘述。与动态令牌1类似,服务器端2在对动态口令进行认证时,也采用时间作为参数因子,因此为了避免因服务器端2与动态令牌1存在时间偏差而导致无法认证,在本发明的一个实施例中,服务器端2采用与动态令牌1类似的方式进行时间同步,不同的是,服务器端 2的计算窗口可更大,例如,会计算当前时间以及前后各三个时间点共7个口令与输入的动态口令进行比较。因此,服务器端2还可包括服务端同步模块对。在动态口令与当前时间对应的口令相同时,服务端同步模块M不做任何处理。在动态口令与当前时间的前一时间点或后一时间点对应的口令相同时,服务端同步模块对将服务器端2的时间向前或向后调整一个时间段。在动态口令与当前时间的前三时间点,或前两时间点,或后两时间点,或后三时间点对应的口令中的一个相同时,服务器端2会要求下一个动态口令,当前的这次认证作为预留,只有在下一个动态口令仍然验证通过时,服务端同步模块M才会将服务器端2的时间相应地进行调整。例如,假设动态口令与当前时间的前三时间点对应的口令相同,则服务器端2会要求下一个动态口令,该下一个动态口令仍与其对应的口令组(下一个口令对应的当前时间及前后各三时间点共7个口令)进行比对,当下一个动态口令仍与其对应的当前时间的前三时间点对应的口令相同时,服务端同步模块M将服务器端2的时间向前调整三个时间段。当下一个动态口令与其他时间点对应的口令相同时(这种情况一般不会发生), 则继续要求再下一个动态口令,以便能够准确地进行时间调整。根据上述实施例,本发明还提出一种双向认证的方法。如图3所示为本发明实施例的双向认证的方法的流程图,包括以下步骤步骤S301,获得用于指示服务器身份的服务器认证码。在用户登录应用系统前,应用系统向认证系统请求服务器认证码,认证系统产生服务器认证码返回给应用系统,应用系统将服务器认证码通过网络或短信等返回给用户。步骤S302,将服务器认证码输入动态令牌。步骤S303,动态令牌根据当前时间计算当前时间段内的认证码组,并判断服务器认证码是否与认证码组中的任一个匹配。在本发明的一个实施例中,该认证码组中可包括当前时间对应的认证码以及当前时间的前后各一时间点对应的认证码。步骤S304,如果判断服务器认证码与认证码组中的任一个匹配,则向用户显示服务器通过认证。如果判断服务器认证码不与认证码组中的任一个匹配,则用户可判定该服务器为恶意的服务器,从而不向服务器发送动态口令,避免信息被盗取。例如,如果银行卡用户发现ATM机的认证码不正确,则可立即离开ATM机,避免银行卡中的钱被骗走。在本发明的一个实施例中,如果服务器认证码是与当前时间的前一时间点或后一时间点对应的认证码相同,则需将动态令牌的时间向前或向后调整一个时间段。如果服务器认证码与当前时间的认证码相同,则无需进行任何调整。步骤S305,用户向服务器进行登录。步骤S306,在通过登录认证之后,用户通过动态令牌生成动态口令。步骤S307,将动态口令发送至服务器端,并由服务器端对动态口令进行验证。具体地,服务器端首先根据当前时间计算当前时间段内的口令组,并判断动态口令是否与口令组中的任一个匹配,如果判断动态口令与口令组中的任一个匹配,则确认用户通过认证,如果判断动态口令未与口令组中的任一个匹配,则确认用户未通过认征。在本发明的一个实施例中,口令组中可包括当前时间对应的口令,以及当前时间的前后各三个时间点对应的口令。此外,应注意的是,当动态口令与当前时间的前一时间点或后一时间点对应的口令相同时,服务器的时间向前或向后调整一个时间段;当动态口令与当前时间的前三时间点,或前两时间点,或后两时间点,或后三时间点对应的口令中的一个相同时,服务器会要求下一个动态口令,当前的这次认证作为预留,在下一个动态口令仍然验证通过时,服务器的时间相应地进行调整。本发明通过在动态令牌中增加服务器双向认证的功能,实现了用户身份和服务器身份的双向验证,有效地防止恶意攻击,保证了用户信息的安全性。此外,在本发明实施例中,动态令牌还可根据服务器的服务器认证码将动态令牌同步至服务器,同样地,服务器也
9可根据动态令牌产生的动态口令与动态令牌进行同步,从而实现了动态令牌和服务器的双向同步。 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种动态令牌,其特征在于,包括输入模块,用于供用户输入由服务器端产生的指示所述服务器端身份的服务器认证码;输入控制模块,用于解析所述服务器认证码;动态口令控制模块,用于根据当前时间计算当前时间段内的认证码组,并判断所述服务器认证码是否与所述认证码组中的任一个匹配,如果判断所述服务器认证码与所述认证码组中的任一个匹配,则输出认证通过的验证结果,并根据当前时间生成动态口令,如果判断所述服务器认证码未与所述认证码组中的任一个匹配,则输出认证未通过的验证结果; 显示控制模块,用于对所述动态口令控制模块输出的验证结果及动态口令进行解析;以及显示模块,用于显示所述显示控制模块的解析后的验证结果及动态口令。
2.根据权利要求1所述的动态令牌,其特征在于,只有当判断所述服务器认证码与所述认证码组中的任一个匹配时,所述动态口令控制模块根据当前时间生成动态口令。
3.根据权利要求1所述的动态令牌,其特征在于,所述动态口令控制模块进一步包括 认证码生成子模块,用于根据所述当前时间计算当前时间段内的认证码组,以及根据当前时间生成动态口令;以及验证判断子模块,用于判断所述服务器认证码是否与所述认证码组中的任一个匹配, 并输出相应的验证结果。
4.根据权利要求1所述的动态令牌,其特征在于,所述认证码组中包括当前时间对应的认证码,以及所述当前时间的前后各一时间点对应的认证码。
5.根据权利要求4所述的动态令牌,其特征在于,还包括同步模块,所述同步模块在所述服务器认证码与所述当前时间的前一时间点或后一时间点对应的认证码相同时,将所述动态令牌的时间向前或向后调整一个时间段。
6.根据权利要求1所述的动态令牌,其特征在于,还包括模式选择模块,用于提供服务器验证模式和动态口令生成模式以供用户选择。
7.一种双向认证系统,其特征在于,包括动态令牌,用于根据接收到的服务器认证码对服务器端的身份进行验证,以及根据当前时间生成动态口令;以及服务器端,用于根据当前时间生成一个指示服务器端身份的服务器认证码,以及根据所述动态令牌生成的动态口令对用户身份进行认证。
8.根据权利要求7所述的双向认证系统,其特征在于,所述动态令牌为如权利要求1至 6中任一项所述的动态令牌。
9.根据权利要求7所述的双向认证系统,其特征在于,所述服务器端进一步包括 接收模块,用于接收所述动态令牌生成的动态口令;认证模块,用于根据当前时间计算当前时间段内的口令组,并判断所述动态口令是否与所述口令组中的任一个匹配,如果判断所述动态口令与所述口令组中的任一个匹配,则确认所述用户通过认证,如果判断所述动态口令未与所述口令组中的任一个匹配,则确认所述用户未通过认证;以及服务器认证码生成模块,用于根据当前时间生成指示所述服务器端身份的服务器认证码。
10.根据权利要求9所述的双向认证系统,其特征在于,所述口令组中包括当前时间对应的口令,以及所述当前时间的前后各三个时间点对应的口令。
11.根据权利要求10所述的双向认证系统,其特征在于,所述服务器端还包括 服务端同步模块,用于当所述动态口令与所述当前时间的前一时间点或后一时间点对应的口令相同时,所述服务端同步模块将所述服务器端的时间向前或向后调整一个时间段;或者,当所述动态口令与所述当前时间的前三时间点,或前两时间点,或后两时间点,或后三时间点对应的口令中的一个相同时,则继续提示用户输入通过所述动态令牌再次生成的动态口令,且在所述再次生成的动态口令也通过所述认证模块的认证时,所述服务端同步模块调整所述服务器端的时间。
12.—种双向认证方法,其特征在于,包括以下步骤 获得用于指示所述服务器端身份的服务器认证码; 将所述服务器认证码输入动态令牌;所述动态令牌根据当前时间计算当前时间段内的认证码组,并判断所述服务器认证码是否与所述认证码组中的任一个匹配;如果判断所述服务器认证码与所述认证码组中的任一个匹配,则向用户显示所述服务器端通过认证;用户向所述服务器端进行登录;在通过登录认证之后,所述用户通过所述动态令牌生成动态口令;以及将所述动态口令发送至所述服务器端,并由所述服务器端对所述动态口令进行验证。
13.根据权利要求12所述的双向认证方法,其特征在于,所述认证码组中包括当前时间对应的认证码,以及所述当前时间的前后各一时间点对应的认证码。
14.根据权利要求13所述的双向认证方法,其特征在于,还包括当所述服务器认证码与所述当前时间的前一时间点或后一时间点对应的认证码相同时,所述动态令牌将自身的时间向前或向后调整一个时间段。
15.根据权利要求12所述的双向认证方法,其特征在于,所述将动态口令发送至至服务器端,并由所述服务器端对所述动态口令进行验证,进一步包括所述服务器端根据当前时间计算当前时间段内的口令组,并判断所述动态口令是否与所述口令组中的任一个匹配;如果判断所述动态口令与所述口令组中的任一个匹配,则确认所述用户通过认证; 如果判断所述动态口令未与所述口令组中的任一个匹配,则确认所述用户未通过认征。
16.根据权利要求15所述的双向认证方法,其特征在于,所述口令组中包括当前时间对应的口令,以及所述当前时间的前后各三个时间点对应的口令。
17.根据权利要求16所述的双向认证方法,其特征在于,还包括当所述动态口令与所述当前时间的前一时间点或后一时间点对应的口令相同时,所述服务端同步模块将所述服务器端的时间向前或向后调整一个时间段;或者,当所述动态口令与所述当前时间的前三时间点,或前两时间点,或后两时间点, 或后三时间点对应的口令中的一个相同时,则继续提示用户输入通过所述动态令牌再次生成的动态口令,且在所述再次生成的动态口令也通过所述认证模块的认证时,所述服务端同步模块调整所述服务器端的时间。
全文摘要
本发明提出一种动态令牌、具有该动态令牌的双向认证系统及方法。其中,该动态令牌包括输入模块,用于供用户输入服务器认证码;输入控制模块,用于解析服务器认证码;动态口令控制模块,用于根据当前时间计算当前时间段内的认证码组,并验证服务器认证码,以及根据当前时间生成动态口令;显示控制模块,用于对动态口令控制模块输出的验证结果及动态口令进行解析;以及显示模块,用于显示控制模块的解析后的验证结果及动态口令。本发明实现了用户身份和服务器身份的双向验证,有效地防止恶意攻击,保证了用户信息的安全性。
文档编号H04L29/06GK102164036SQ20111007436
公开日2011年8月24日 申请日期2011年3月25日 优先权日2011年3月25日
发明者陈剑星, 陈孟英 申请人:北京宏基恒信科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1