基于时间型动态口令实现多业务种子分散的方法

文档序号:7800508阅读:215来源:国知局
基于时间型动态口令实现多业务种子分散的方法
【专利摘要】本发明公开了基于时间型动态口令实现多业务种子分散的方法,该方法分别在认证系统以及硬件令牌两端,在计算时间型动态口令时,在相同时间因子的情况下根据不同的业务形成对应的计算密钥,并以此来生成对应于不同业务的时间型动态口令。该方法在时间型动态口令生成的过程中,在相同的时间因子、同一个步进值范围内,产生不同的时间型动态口令。
【专利说明】基于时间型动态口令实现多业务种子分散的方法
【技术领域】
[0001]本发明涉及动态口令认证技术,具体涉及一种动态口令多业务种子分散的方法。【背景技术】
[0002]动态口令:是根据专门的算法生成一个不可预测的随机数字组合,每个密码只能使用一次,目前被广泛运用在网银、网游、电信运营商、电子商务、企业等应用领域。
[0003]目前动态口令按技术主要分两种:同步口令技术、异步口令技术。
[0004]同步口令技术又分为:时间同步口令、事件同步口令,其中时间同步口令基于令牌和服务器的时间同步,通过运算来生成一致的动态口令,基于时间同步的令牌,一般更新率为60秒,每60秒产生一个新口令。
[0005]步进值:动态口令包含一个步进值参数,比如时间型动态口令的步进值,一般采用60秒;表示在每一个60秒内的生成的动态口令是相同的,而该动态口令在认证系统端进行认证时仅允许被认证一次,在下一个60秒内生成的动态口令则变成了另一个不同的动态口令。
[0006]种子密钥:用于根据一些参数,来计算生成动态口令的种子密钥。
[0007]参见图1,当前的动态口令在硬件令牌生成当前时间、每一个步进值(比如60秒)一变的动态口令,然后认证系统端使用与硬件令牌里面相同的种子密钥生成一个动态口令,并于硬件令牌生成的动态口令进行比对,进行认证;
[0008]如果在动态口令的步进值(比如时间型动态库步进值为60秒的硬件令牌,则为在60秒的时间范围内)范围内,每次将生成相同的应答值:即时间型动态口令均是一样的。
[0009]如此的认证方式,在一个动态口令的步进值内,只能够实现一种业务的安全认证。例如:
[0010]银行系统在进行“网上转账”功能时,要求使用动态口令来认证客户,在60秒内(即动态口令的步进值)网银端的认证系统会利用种子密钥结合时间因子生成相应的动态口令;与此同时网银客户将在硬件令牌上利用其内的种子密钥根据时间因子计算出相应的动态口令,并传递到网银端的认证系统进行认证。
[0011]而在该60秒内(即同一步进值范围内),该客户若使用其它业务,比如“网上支付”功能时,如果使用相同的时间因子,则可能生成相同的动态口令,而服务端在认证该口令时,将可能会认为是重放攻击,无法进行认证。

【发明内容】

[0012]针对现有时间型类型的动态口令在认证过程中所存在的问题,本发明的目的在于提供基于时间型动态口令实现多业务的种子分散的方法,该方法能够在时间型动态口令生成的过程中,在相同的时间因子、同一个步进值范围内,产生不同的时间型动态口令。
[0013]为了达到上述目的,本发明采用如下的技术方案:
[0014]基于时间型动态口令实现多业务种子分散的方法,所述方法分别在认证系统以及硬件令牌两端,在计算时间型动态口令时,在相同时间因子的情况下根据不同的业务形成对应的计算密钥,并以此来生成对应于不同业务的时间型动态口令。
[0015]在优选实例中,认证系统端以及硬件令牌端根据不同的业务引入对应的业务代码参数,将原始的种子密钥与对应的业务代码参数进行运算,得到对应于不同业务的计算密钥;再使用该计算密钥结合对应的时间因子计算得到对应于不同业务的时间型动态口令。
[0016]进一步的,所述业务代码参数为一个整形的数值,在令牌端显示为功能菜单的序号。
[0017]再进一步的,在交易过程中,认证系统端会根据业务需要选择指定业务代码,并形成对应的业务代码要求提示,客户在操作令牌时根据认证系统端提示的要求,在令牌上选择对应的业务功能,以保持令牌与服务端的业务代码一致。
[0018]进一步的,所述认证系统端以及硬件令牌端中使用分散算法计算得到计算密钥。
[0019]再进一步的,在利用分散算法计算密钥时,由原始种子数据,根据业务代码分散出计算密钥,具体计算时由工作密钥+业务代码构成消息,杂凑值作动态口令的计算密钥。
[0020]再进一步的,所述计算密钥的公式如下:
[0021]Calc_Seed=SM3(ffork_Seed|alg_type_l);
[0022]其中,W0rk_Seed(Byte):原始工作密钥,若令牌包含激活功能,则为激活后的工作密钥;
[0023]alg_type_l (4Byte):业务代码,高位在前;
[0024]Calc_Seed:输出的计算密钥,最大32字节;若需要的种子长度小于32字节,则进行截取。
[0025]本发明通过引入了多业务种子分散策略的方法,实现在相同的种子密钥、不同的业务代码、同一个步进值范围内,用于生成时间型动态口令的种子密钥不同,从而实现,在相同的时间因子、同一个步进值范围内,产生不同的时间型动态口令,可以实现在同一个步进值范围内对多个业务进行认证。
【专利附图】

【附图说明】
[0026]以下结合附图和【具体实施方式】来进一步说明本发明。
[0027]图1为现有时间型口令计算认证原理图;
[0028]图2为本发明的实现原理图。
【具体实施方式】
[0029]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
[0030]本发明通过引入多业务种子分散策略,实现在时间型动态口令生成的过程中,在相同的时间因子、同一个步进值范围内,产生不同的时间型动态口令,从而实现在同一个步进值范围内对多业务的认证。
[0031]参见图2,其所示本发明提供的基于时间型动态口令实现多业务种子分散的方法的原理图。由图可知,本方法分别在认证系统以及硬件令牌两端,在计算时间型动态口令时,根据所要认证的不同业务引入对应的业务代码参数形成对应于不同业务的计算密钥,并以此来生成对应于不同业务的时间型动态口令。
[0032]该业务代码参数具体可以为一个整形的数值,在令牌端显示为功能菜单的序号,比如“ 1-转账,2-支付,3-缴费”等。
[0033]基于上述原理,本方案在具体实现认证时,首先认证系统端和硬件令牌端在某步进值范围内生成相应的时间因子。
[0034]接着,认证系统端以及硬件令牌端在使用种子密钥生成动态口令前,根据需要认证的业务引用对应的业务代码参数,并使用一个分散算法,将其内原始的种子密钥与引用的业务代码参数进行运算,得到一个对应相应业务的计算密钥。
[0035]业务代码参数是在实际的交易应用中,由认证服务端决定,并提示用户在令牌使用过程中选择使用对应的业务功能,这样可以达到客户使用的令牌业务与服务端的业务代
码一致。
[0036]例如,在交易过程中,网银或服务端会根据业务需要选择指定业务代码(比如1-转账),并形成对应的指示要求;客户在操作令牌时将会根据网银或服务端提示的要求,在令牌上选择对应的业务功能。这样客户手中的令牌将会与服务端的业务代码一致。
[0037]这里使用的分散算法,主要是由原始种子数据,根据业务代码分散出计算密钥,其具体的计算过程如下:
[0038]由工作密钥+业务代码(4Byte)构成消息,杂凑值作动态口令的计算密钥,公式如下:
[0039]Calc_Seed=SM3(ffork_Seed|alg_type_l);
[0040]其中,W0rk_Seed(Byte):原始工作密钥,若令牌包含激活功能,则为激活后的工作密钥;
[0041]alg_type_l (4Byte):业务代码,高位在前,如业务代码I则以0x000x000x000x01
的字节数组形式参与运算;
[0042]Calc_Seed:输出的计算密钥,最大32字节;若需要的种子长度小于32字节,则进行截取,截取算法参考SM3种子截取算法说明。
[0043]然后,认证系统端以及硬件令牌端使用计算得到的计算密钥再根据相应的时间因子、生成动态口令的一些其它参数生成时间型动态口令。
[0044]最后,将硬件令牌端生成的时间型动态口令输入到认证系统端完成认证。
[0045]基于上述方案,如果还需要在同一步进值范围内认证其它不同业务时,由于在同一步进值范围内,故认证系统中形成的时间因子相同,而认证系统和硬件令牌需要再根据该业务选择对应的业务代码参数,并计算得到相应的计算密钥,最后再利用该计算密钥根据此时的时间因子、生成动态口令的一些其它参数生成对应不同业务的时间型动态口令。
[0046]由于不同业务对应的业务代码参数不一样,故前后根据不同业务计算得到的计算密钥也不相同。再者由于在同一步进值范围内,认证系统中形成的时间因子相同,且由于是相同的认证系统和动态令牌,故生成动态口令的一些其它参数也相同,
[0047]这样前后基于不同的计算密钥、相同的时间因子、以及相同的生成动态口令的一些其它参数,计算生成的时间型动态口令不相同,即可实现对不同业务的“同时”(即同一步进值范围内)认证。
[0048]由此,本方案能够通过不同的业务代码生成不同的用于生成时间型动态口令的计算密钥,从而确保在相同的种子密钥、不同的业务代码、相同的时间因子、同一个步进值范围内,使得生成出来的时间型动态口令不一样,实现对不同业务的“同时”(即同一步进值范围内)认证。
[0049]再者,本方案在实际操作过程中,当在同一步进值范围内时,需要同时认证两种不同业务时,认证系统根据不同业务选择对应的业务参数计算产生两个不同的动态口令,同时形成业务参数提示要求,要求客户在操作令牌时根据网银或服务端提示的要求,在令牌上选择对应的业务功能,以此来避免认证的混乱或者错误。即通过服务端(比如网银系统)提示用户必须在使用令牌时必须选择何种业务的功能,来避免认证出现错误。
[0050]比如:银行认证系统中设定“转账业务”认证对应于动态令牌上的“ 1-转账”的令牌功能,用户登录网银在做转账业务时,此时网银认证系统根据转账业务形成提示,提示用户必须使用令牌上的“ 1-转账”功能,如果用户选择了错误的业务功能或者不选,将会导致无法认证的情况。
[0051]以下通过一具体应用实例来说明,利用本方案在相同的种子密钥、相同的时间因子的情况下,在同一个步进值范围内实现多业务认证的过程。
[0052]该实例中涉及的动态令牌中对应的业务代码参数为一个整形的数值,具体显示为功能菜单的序号:“1_转账,2-支付,3-缴费”。
[0053]当用户需要在网银端使用同一账号进行转账、支付两种不同业务时,且两者涉及的金额相同都是35000元。
[0054]由此,针对两种不同业务需要采用不同的动态口令来对两种业务分别进行认证,且两者业务所要转账和支付的金额相同,都是35000元,即可实现在同一步进值范围内,对两种业务的认证,其过程如下:
[0055]首先,用户使用当前账号进行转账时,在网银端选择转账功能,并输入金额35000元,在一个60s的步进值范围内,网银端的认证系统首先根据用户输入的金额35000元形成相应的时间因子,同时根据用户选择的转账业务功能形成相应的转账业务参数1,并使用一个分散算法,将其内原始的种子密钥与业务参数I进行运算,得到一个转账业务的计算密钥,并利用该计算密钥与形成的时间因子计算得到网银端认证的转账认证动态口令;且网银端还形成“请在令牌选择1-转账功能”的提示。
[0056]与此同时,在动态令牌端,用户输入金额35000元,动态令牌根据用户输入的金额35000元形成相应的时间因子;用户根据网银端的提示,输入转账业务功能按钮1,动态令牌端通过业务功能按钮输入的数值形成相应的转账业务参数I,并使用一个分散算法,将其内原始的种子密钥与业务参数I进行运算,得到一个转账业务的计算密钥(其与网银端生成的计算密钥相同),并利用该计算密钥与形成的时间因子计算得到动态口令,并利用该动态口令与网银认证端生成的转账认证动态口令完成转账业务的认证。
[0057]在完整转账业务后,用户还需要在该60s的步进值范围内,进行支付业务的认证,由于还处于同一个步进值范围内,网银端内的时间因子与之前转账业务认证时的时间因子相同,同时根据用户选择的支付业务功能形成相应的支付业务参数2,并使用一个分散算法,将其内原始的种子密钥与支付业务参数2进行运算,得到一个支付业务的计算密钥,并利用该计算密钥与形成的时间因子计算得到网银端认证的支付认证动态口令;且网银端还形成“请在令牌选择2-支付功能”的提示。[0058]与此同时,在动态令牌端,由于还处于同一个步进值范围内,此时动态令牌端内的时间因子与之前转账业务认证时的时间因子相同;用户根据网银端的提示,输入支付业务功能按钮2,动态令牌端根据业务功能按钮输入的数值形成相应的支付业务参数2,并使用一个分散算法,将其内原始的种子密钥与支付业务参数2进行运算,得到一个支付业务的计算密钥(其与网银端生成的支付计算密钥相同),并利用该计算密钥与其内的时间因子计算得到动态口令,并利用该动态口令与网银认证端生成的支付认证动态口令完成支付业务的认证。
[0059]以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【权利要求】
1.基于时间型动态口令实现多业务种子分散的方法,其特征在于, 所述方法分别在认证系统以及硬件令牌两端,在计算时间型动态口令时,在相同时间因子的情况下根据不同的业务形成对应的计算密钥,并以此来生成对应于不同业务的时间型动态口令。
2.根据权利要求1所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,认证系统端以及硬件令牌端根据不同的业务引入对应的业务代码参数,将原始的种子密钥与对应的业务代码参数进行运算,得到对应于不同业务的计算密钥;再使用该计算密钥结合对应的时间因子计算得到对应于不同业务的时间型动态口令。
3.根据权利要求1所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,所述业务代码参数为一个整形的数值,在令牌端显示为功能菜单的序号。
4.根据权利要 求1或2或3所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,在交易过程中,认证系统端会根据业务需要选择指定业务代码,并形成对应的业务代码要求提示,客户在操作令牌时根据认证系统端提示的要求,在令牌上选择对应的业务功能,以保持令牌与服务端的业务代码一致。
5.根据权利要求1所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,所述认证系统端以及硬件令牌端中使用分散算法计算得到计算密钥。
6.根据权利要求5所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,在利用分散算法计算密钥时,由原始种子数据,根据业务代码分散出计算密钥,具体计算时由工作密钥+业务代码构成消息,杂凑值作动态口令的计算密钥。
7.根据权利要求6所述的基于时间型动态口令实现多业务种子分散的方法,其特征在于,所述计算密钥的公式如下:
Calc_Seed=SM3(ffork_Seed|alg_type_l); 其中,ffork_Seed(Byte):原始工作密钥,若令牌包含激活功能,则为激活后的工作密钥; alg_type_l (4Byte):业务代码,高位在前; Calc_Seed:输出的计算密钥,最大32字节。
【文档编号】H04L9/32GK103916247SQ201410127602
【公开日】2014年7月9日 申请日期:2014年3月31日 优先权日:2014年3月31日
【发明者】王翔平, 沈勇坚, 胡永刚 申请人:上海动联信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1