一种动态令牌及其实现方法和动态口令认证方法及系统的制作方法
【专利摘要】本发明提供一种动态令牌及其实现方法和动态口令认证方法及系统,所述动态令牌包括:动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;存储单元,用来存储所述第一令牌算法和所述序列号。本发明实施例通过给每个动态令牌赋予不同的令牌算法,使得每个令牌的序列号是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而提供了安全性增强的动态令牌以及使用该令牌的动态口令认证方法和系统,提高了使用动态口令认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
【专利说明】一种动态令牌及其实现方法和动态口令认证方法及系统
【技术领域】
[0001]本发明涉及信息安全【技术领域】,尤指一种动态令牌及其实现方法和动态口令认证方法及系统。
【背景技术】
[0002]随着信息科技的发展,信息安全技术在各领域的应用更为广泛和深入。在信息安全领域,身份认证往往是信息系统使用的第一把钥匙,其安全性受到越来越多的重视。相应地,为了加强身份认证安全性的动态口令技术已经越来越多地应用于各个不同领域,尤其在互联网金融领域、网游、电信等领域。另外,动态口令在企业应用也是当前的热点,越来越多的企业采用动态口令保护其VPN、服务器、网络设备等。
[0003]然而,现有技术中的动态口令设备,或称动态令牌,通过动态令牌进行交易时,虽然动态口令比可重用的静态密码健壮,但输入的口令信息容易仍然容易被钓鱼网站等非法盗用,给交易带来了很大的风险。特别地,当前的动态令牌,同一厂商或应用系统采用的动态令牌算法大都相同,这就导致一旦密钥被盗取,则会给动态令牌安全性带来很大的安全隐患,不法分子可以通过复制动态令牌的方式进行重要信息的盗用,因而给应用系统带来很大的风险。
【发明内容】
[0004]本发明为了解决现有动态令牌安全性不太高的问题,从而提供一种动态令牌及其实现方法和动态口令认证方法及系统,从而提供安全性增强的动态令牌以及使用该令牌的动态口令认证方法和系统,提高使用动态口令认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0005]为了实现本发明以上发明目的,本发明提供的一种动态令牌是通过以下技术方案实现的:
[0006]一种动态令牌,所述动态令牌包括:
[0007]动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0008]存储单元,用来存储所述第一令牌算法和所述序列号。
[0009]根据上述技术方案,由于每个令牌的序列号是唯一的,而该动态令牌的令牌算法与该序列号对应,这就确保每个动态令牌的令牌算法也是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而使动态令牌的安全性更高,进而提高了使用动态口令进行认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0010]进一步地,所述动态令牌还包括植入单元,所述植入单元用来预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。
[0011]通过预先植入第一令牌算法,非服务器端不可改写该令牌算法,并不可读取该算法区域,从而非法用户不能存取该令牌算法,提高了动态令牌的安全性。
[0012]进一步地,所述动态令牌还包括一预加密单元,所述预加密单元用来根据所述序列号对应的第一密钥和当前时间生成第二密钥,所述动态口令单元根据所述第二密钥和第一令牌算法生成所述第一动态口令。
[0013]通过将动态令牌对应的第一密钥生成第二密钥,使得密钥的复杂度提高,从而非法用户即使盗取密钥,也难以破解和重用,进一步提高了动态令牌的复杂度和安全性。
[0014]为了实现本发明的发明目的,本发明还提供了一种动态令牌实现方法,所述方法包括:
[0015]根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0016]存储所述第一令牌算法和所述序列号。
[0017]根据上述动态令牌实现方法,由于每个令牌的序列号是唯一的,而该动态令牌的令牌算法与该序列号对应,这就确保每个实现的动态令牌的令牌算法也是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而使动态令牌的安全性更高,进而提高了使用动态口令进行认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0018]进一步地,所述方法还包括:
[0019]预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。
[0020]通过预先植入第一令牌算法,非服务器端不可改写该令牌算法,并不可读取该算法区域,从而非法用户不能存取该令牌算法,提高了动态令牌的安全性。
[0021]进一步地,所述方法还包括:
[0022]根据所述序列号对应的第一密钥和动态令牌当前时间生成第二密钥,所述动态令牌根据所述第二密钥和第一令牌算法生成所述第一动态口令。
[0023]通过将动态令牌对应的第一密钥生成第二密钥,使得密钥的复杂度提高,从而非法用户即使盗取密钥,也难以破解和重用,进一步提高了动态令牌的复杂度和安全性。
[0024]为了实现本发明的发明目的,本发明还提供了一种动态口令认证方法,所述方法包括:
[0025]当发起动态口令认证时,动态令牌根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,所述第一动态口令被发送至服务器,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0026]服务器接收所述第一动态口令,并根据第二令牌算法和与所述动态令牌对应的密钥生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的第一密钥生成;
[0027]比对所述第一动态口令和第二动态口令,生成认证结果。
[0028]通过上述动态口令认证方法,服务器与每一个动态令牌对应的令牌算法相同,并同步生成动态口令,进行认证,从而在保证动态令牌算法唯一的基础上,服务器与该动态令牌对应的令牌算法也唯一,这样使得生成的动态口令不易被破解,动态口令认证安全性提闻。
[0029]为了实现本发明的发明目的,本发明还提供了一种动态口令认证系统,所述系统包括:
[0030]动态令牌,当发起动态口令认证时,所述动态令牌用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,所述动态口令被发送至服务器,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0031]服务器,用来接收所述第一动态口令,并根据第二令牌算法和与所述动态令牌对应的密钥生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的第一密钥生成;比对所述第一动态口令和第二动态口令,生成认证结果。
[0032]通过上述动态口令认证系统,服务器与每一个动态令牌对应的令牌算法相同,并同步生成动态口令,进行认证,从而在保证动态令牌算法唯一的基础上,服务器与该动态令牌对应的令牌算法也唯一,这样使得生成的动态口令不易被破解,动态口令认证安全性提闻。
[0033]综上,本发明通过以上动态令牌及其实现方法和动态口令认证方法及系统,通过给每个动态令牌赋予不同的令牌算法,使得每个令牌的序列号是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而提供了安全性增强的动态令牌以及使用该令牌的动态口令认证方法和系统,提高了使用动态口令认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
【专利附图】
【附图说明】
[0034]下面结合附图和【具体实施方式】对本发明作进一步详细说明:
[0035]图1为本发明实施例一种动态令牌的结构图;
[0036]图2为本发明实施例另一种动态令牌的结构图;
[0037]图3为本发明实施例另一种动态令牌的结构图;
[0038]图4为本发明实施例动态令牌实现方法的流程图;
[0039]图5为本发明实施例动态口令认证方法的流程图;
[0040]图6为本发明实施例动态口令认证系统的结构图。
【具体实施方式】
[0041]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]作为一个具体实施例,如图1所示,为本发明实施例一种动态令牌的结构图。在该实施例中,动态令牌包括:
[0043]动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0044]存储单元,用来存储所述第一令牌算法和所述序列号。
[0045]在本发明实施例中,动态令牌中的动态口令单元根据该动态令牌对应的令牌序列号对应的第一密钥Kl生成相应的第一令牌算法,所述第一令牌算法用于生成第一动态口令。即:动态口令单元根据与动态令牌相关的密钥,由第一令牌算法生成第一动态口令,其中,与动态令牌相关的密钥可以为第一密钥,也可以为其他,即第二密钥。
[0046]优选地,如图2所示,进一步地,所述动态令牌还包括一预加密单元,所述预加密单元用来根据所述序列号对应的第一密钥Kl和当前时间tl生成第二密钥,所述动态口令单元根据所述第二密钥K2和第一令牌算法生成所述第一动态口令。
[0047]通过将动态令牌对应的第一密钥Kl生成第二密钥K2,使得密钥的复杂度提高,从而非法用户即使盗取密钥,也难以破解和重用,进一步提高了动态令牌的复杂度和安全性。
[0048]优选地,如图3所示,进一步地,所述动态令牌还包括植入单元,所述植入单元用来预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。
[0049]通过预先植入第一令牌算法,非服务器端不可改写该令牌算法,并不可读取该算法区域,从而非法用户不能存取该令牌算法,提高了动态令牌的安全性。
[0050]对于令牌算法的生成,在一个实施例中,第一令牌算法可以为椭圆曲线算法,因此,其算法的生成步骤可包括如下:
[0051]将动态令牌序列号经过杂凑算法,如SM3,杂凑出一个固定长度的数值或序列值Kl (第一密钥),再将此序列值经过一定的拆分,作为如下方程(I)中的a或者b,这样通过改变方程的系数值来改变令牌的算法。
[0052]Y2 = x3+ax+b (I)
[0053]动态令牌的生产服务器上设置有编译模块,编译模块根据生成好的第一令牌算法重新编译出相应的令牌程序;所述令牌程序可通过烧写器预先植入动态令牌芯片中。
[0054]从而,在动态令牌的动态口令生成过程中,将X设为第一密钥Kl或第二密钥K2,Y则为最终得到的第一动态口令。
[0055]以上仅为本发明实施例动态令牌算法的一种举例,实际实施过程中,第一令牌算法的算法曲线可以为其他曲线方程。根据与动态令牌序列号相关的第一密钥Ki和动态令牌当前时间tl生成第一密钥Κ2,并将Κ2作为动态令牌算法曲线方程的输入,则可得到相应的第一动态口令。
[0056]根据上述技术方案,由于每个令牌的序列号是唯一的,而该动态令牌的令牌算法与该序列号对应,这就确保每个动态令牌的令牌算法也是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而使动态令牌的安全性更高,进而提高了使用动态口令进行认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0057]如图4所示,为了实现本发明的发明目的,本发明还提供了一种动态令牌实现方法,所述方法包括:
[0058]S101.根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0059]S102.存储所述第一令牌算法和所述序列号。
[0060]根据上述动态令牌实现方法,由于每个令牌的序列号是唯一的,而该动态令牌的令牌算法与该序列号对应,这就确保每个实现的动态令牌的令牌算法也是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而使动态令牌的安全性更高,进而提高了使用动态口令进行认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0061]在本发明实施例中,动态令牌根据该动态令牌对应的令牌序列号对应的第一密钥Kl生成相应的第一令牌算法,所述第一令牌算法用于生成第一动态口令。即根据和与动态令牌相关的密钥,由第一令牌算法生成第一动态口令,其中,与动态令牌相关的密钥可以为第一密钥Kl,也可以为其他,即第二密钥K2。
[0062]其中,第二密钥K2可以根据所述序列号对应的第一密钥和动态令牌当前时间tl生成,动态令牌根据第二密钥K2和第一令牌算法生成第一动态口令。通过将动态令牌对应的第一密钥生成第二密钥,使得密钥的复杂度提高,从而非法用户即使盗取密钥,也难以破解和重用,进一步提高了动态令牌的复杂度和安全性。
[0063]对于动态令牌的令牌算法如何生成,在本发明的动态令牌实施例中已详述,这里不再一一赘述。
[0064]进一步地,所述方法还包括:
[0065]预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。例如,通过动态令牌引导模块将某一特定存储区域,甚至是系统区域划定一固定存储区,将令牌算法和序列号植入并不再更改和擦写,使得通过预先植入第一令牌算法,非服务器端不可改写该令牌算法,并不可读取该算法区域,从而非法用户不能存取该令牌算法,提高了动态令牌的安全性。
[0066]如图5所示,为了实现本发明的发明目的,本发明实施例还提供了一种动态口令认证方法,所述方法包括:
[0067]S201.当发起动态口令认证时,动态令牌根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0068]S202.所述第一动态口令被发送至服务器;
[0069]S203.服务器接收所述第一动态口令;
[0070]S204.根据第二令牌算法和与所述动态令牌对应的密钥生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的第三密钥生成;
[0071]S205.比对所述第一动态口令和第二动态口令,生成认证结果。
[0072]用户初次拿到动态令牌时,到服务器端进行注册。服务器端预先将动态令牌的序列号与用户信息数据,如用户名、卡号等进行绑定;在实际应用中,用户在客户端或者网页上输入用户名;服务器根据用户名获取与动态令牌序列号对应的第一密钥K1,生成与动态令牌相同的服务器端令牌算法,即第二令牌算法;根据服务器的当前时间t2和与动态令牌相关的密钥,由第二令牌算法生成第二动态口令,其中,与动态令牌相关的密钥可以为第一密钥,也可以为其他,即第三密钥。
[0073]其中,所述第三密钥的生成如下:
[0074]获取服务器当前时间t2,结合第一密钥K1,生成第三密钥K3。从而根据第三密钥K3和相应的服务器端令牌算法计算出第二动态口令。
[0075]比较服务器生成的第二动态口令和接收的第一动态口令,如果相同则认证成功,反之则认证失败。
[0076]通过上述动态口令认证方法,服务器与每一个动态令牌对应的令牌算法相同,并同步生成动态口令,进行认证,从而在保证动态令牌算法唯一的基础上,服务器与该动态令牌对应的令牌算法也唯一,这样使得生成的动态口令不易被破解,动态口令认证安全性提闻。
[0077]如图6所示,为了实现本发明的发明目的,本发明实施例还提供了一种动态口令认证系统,所述系统包括:
[0078]动态令牌,当发起动态口令认证时,所述动态令牌用来根据第一令牌算法和与所述动态令牌对应的密钥K生成第一动态口令,第一动态口令被发送至服务器,其中,第一令牌算法根据所述动态令牌的序列号对应的第一密钥Kl生成;
[0079]服务器,用来接收第一动态口令,并根据第二令牌算法和与所述动态令牌对应的密钥K生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的第一密钥生成;认证单元比对所述第一动态口令和第二动态口令,生成认证结果。
[0080]进一步地,所述动态令牌具体包括:
[0081]动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成;
[0082]存储单元,用来存储所述第一令牌算法和所述序列号。
[0083]在本发明实施例中,动态令牌中的动态口令单元根据该动态令牌对应的令牌序列号对应的第一密钥Kl生成相应的第一令牌算法,所述第一令牌算法用于生成第一动态口令。即:动态口令单元根据与动态令牌相关的密钥K,由第一令牌算法生成第一动态口令,其中,与动态令牌相关的密钥K可以为第一密钥K1,也可以为其他,即第二密钥K2。
[0084]优选地,如图2所示,进一步地,所述动态令牌还包括一预加密单元,所述预加密单元用来根据所述序列号对应的第一密钥Kl和当前时间tl生成第二密钥K2,所述动态口令单元根据所述第二密钥K2和第一令牌算法生成所述第一动态口令。
[0085]通过将动态令牌对应的第一密钥Kl生成第二密钥K2,使得密钥的复杂度提高,从而非法用户即使盗取密钥,也难以破解和重用,进一步提高了动态令牌的复杂度和安全性。
[0086]同样地,在服务器端,服务器的动态口令单元根据与动态令牌相关的密钥K,由第二令牌算法生成第二动态口令,其中,与动态令牌相关的密钥K可以为第一密钥K1,也可以为其他,即第二密钥K3。
[0087]其中,K3的生成如下:
[0088]获取服务器当前时间t2,结合第一密钥K1,生成第三密钥K3。从而根据第三密钥K3和相应的服务器端令牌算法计算出第二动态口令。
[0089]通过上述动态口令认证系统,服务器与每一个动态令牌对应的令牌算法相同,并同步生成动态口令,进行认证,从而在保证动态令牌算法唯一的基础上,服务器与该动态令牌对应的令牌算法也唯一,这样使得生成的动态口令不易被破解,动态口令认证安全性提闻。
[0090]综上,本发明通过以上动态令牌及其实现方法和动态口令认证方法及系统,通过给每个动态令牌赋予不同的令牌算法,使得每个令牌的序列号是唯一的,从而使得该动态令牌生成的动态口令复杂度大大提高,非法用户即使盗取密钥,也难以破解令牌算法,从而提供了安全性增强的动态令牌以及使用该令牌的动态口令认证方法和系统,提高了使用动态口令认证的系统的安全性,避免安全隐患,给用户带来更好的使用体验。
[0091]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种动态令牌,其特征在于,所述动态令牌包括: 动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成; 存储单元,用来存储所述第一令牌算法和所述序列号。
2.根据权利要求1所述的动态令牌,其特征在于,所述动态令牌还包括: 植入单元,所述植入单元用来预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。
3.根据权利要求1所述的动态令牌,其特征在于,所述动态令牌还包括: 预加密单元,所述预加密单元用来根据所述序列号对应的第一密钥和当前时间生成第二密钥,所述动态口令单元根据所述第二密钥和第一令牌算法生成所述第一动态口令。
4.一种动态令牌实现方法,其特征在于,所述方法包括: 根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成; 存储所述第一令牌算法和所述序列号。
5.根据权利要求4所述的动态令牌实现方法,其特征在于,所述方法还包括: 预先植入所述序列号和所述第一令牌算法至所述存储单元一存储区,并标记所述存储区为非读写模式。
6.根据权利要求4所述的动态令牌实现方法,其特征在于,所述方法还包括: 根据所述序列号对应的第一密钥和动态令牌当前时间生成第二密钥,所述动态令牌根据所述第二密钥和第一令牌算法生成所述第一动态口令。
7.一种动态口令认证方法,其特征在于,所述方法包括: 当发起动态口令认证时,动态令牌根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,所述第一动态口令被发送至服务器,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成; 服务器接收所述第一动态口令,并根据第二令牌算法和与所述动态令牌对应的密钥生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的所述第一密钥生成; 比对所述第一动态口令和第二动态口令,生成认证结果。
8.根据权利要求7所述的动态口令认证方法,其特征在于,所述动态令牌的序列号被植入动态令牌存储区,并被注册于服务器端。
9.一种动态口令认证系统,其特征在于,所述系统包括: 动态令牌,当发起动态口令认证时,所述动态令牌用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,所述动态口令被发送至服务器,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成; 服务器,用来接收所述第一动态口令,并根据第二令牌算法和与所述动态令牌对应的密钥生成第二动态口令,所述第二令牌算法根据预先注册的所述动态令牌的序列号对应的第一密钥生成;比对所述第一动态口令和第二动态口令,生成认证结果。
10.根据权利要求9所述的动态口令认证系统,其特征在于,所述动态令牌具体包括: 动态口令单元,用来根据第一令牌算法和与所述动态令牌对应的密钥生成第一动态口令,其中,所述第一令牌算法根据所述动态令牌的序列号对应的第一密钥生成; 存储单元,用来存储所述第一令牌算法和所述序列号。’
【文档编号】H04L9/32GK104184592SQ201410456437
【公开日】2014年12月3日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】谈剑锋, 尤磊, 盛学明, 钱金金 申请人:上海众人科技有限公司