专利名称:一种动态口令签名方法
技术领域:
本发明涉及一种签名方法,具体涉及一种动态口令签名方法。
背景技术:
动态密码是一种一次性密码,每个密码只能使用一次。动态密码可以随时间、次数和挑战信息而变化。动态密码具有良好的安全性,广泛适用于各类信息系统。动态口令是一种安全便捷的帐号防盗技术,可以有效保护交易和登录的认证安全,采用动态口令就无需定期密码,安全省心,这是这项技术的一个额外价值,对企事业内部应用尤其有用。动态令牌是一种密码设备,用来生成动态口令终端,动态口令技术可以有效防止盗号,免除频繁修改静态密码的烦恼。动态令牌的实现机制一般是基于时间同步机制,由于时间同步机制是以时间值作为参数每次动态地算出一串数字上传至中心服务器,所以它要求令牌和认证服务器在时间上保持一致性。虽然可以设定一定范围的误差来提高系统登录的通过率,但是实际情况是非常难于在一定的时间点上保证一致性,这样就带来安全隐患和不可靠性。再者,时间同步机制只要用户所输入的数和认证服务器的对应上就可以,存在非常大的隐患。所以在实际动态令牌应用中,还存在大量欺诈交易案例,从而给令牌的推广、用户财产和企业形象带来诸多负面影响。在上述情况下,确保令牌使用安全成为一个关键问题。尤其是令牌用量特大的金融类客户在进行网银交易转账时,对令牌使用的安全非常敏感,非常担心欺诈交易案例出现。一旦发生欺诈交易案例,将导致灾难性后果,必须通过技术手段进行保障。
发明内容
本发明针对现有令牌在网银交易过程中存在大量欺诈交易的问题,而提供一种动态口令签名方法,该方法采用动态口令签名技术,实现对交易关键信息签名,防止欺诈交易发生。为了达到上述目的,本发明采用如下的技术方案一种动态口令签名方法,该方法是利用目标账号、源账号以及转账金额信息进行加密运算生成一次性的动态密码。在本发明的一实施例中,所述方法具体包括如下步骤(1)通过动态令牌输入目标银行帐号、源银行帐号以及转账金额信息;(2)动态令牌利用输入目标银行帐号、源银行帐号以及转账金额信息结合时间和种子密钥信息进行加密运算,生成动态密码;(3)将生成的动态密码发送至认证服务器;(4)认证服务器执行同样的加密运算,并生成用于认证的动态密码;(5)认证服务器将生成的动态密码与接收的动态密码进行对比验证,并将验证结果返回给客户端。进一步的,所述步骤(1)前通过输入PIN马启动令牌。基于上述方案形成的本发明具有以下优点(1)动态口令签名方法是以一定的算法为基础的,不受时间的限制,能够有效避免的常规动态令牌所存在的安全隐患和不可靠性;( 动态口令签名方法不仅可以对真假用户进行识别,而且可以识别真假中心。而时间同步机制只能识别真假用户,对于即使是假中心也无能为力。对于本发明来说,如果是假中心的话,则它没有固定的算法与相应的密钥,也就无法解密用户用密钥加密的数据,有效防范假中心从用户处截取有用的信息而产生恶劣的后果。(3)本发明为一种真正安全可靠的身份认证方式。而且系统能比较彻底的解决欺诈交易发生,所以采用动态口令签名方法能有效防范非法用户的侵入。同时,还能有效地防范假中心的隐患,非常安全。
以下结合附图和具体实施方式
来进一步说明本发明。图1为本发明流程示意图。图2为本发明认证的流程示意图。
具体实施例方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。本发明提供的动态口令签名机制属于异步方式,其基本原理为在数字签名的模式下输入目标账号、源账号、转账金额,并据此生成一次性密码。其身份认证过程如下(参见图1)(1)通过动态令牌输入目标银行帐号、源银行帐号以及转账金额信息。(2)动态令牌利用输入目标银行帐号、源银行帐号以及转账金额信息结合时间和种子密钥信息进行加密运算,将运算结果截短并转换为可显示数据,从而生成6或8位的动态密码。同时,针对步骤2的技术方案,本发明提供一种密钥生产方法。设HOTPk(T)表示用种子密钥K对τ进行加密运算。κ为种子密钥,κ的长度为I60bit。KI是目标账号保留信息,K2源账号保留信息,K3是转账金额保留信息,Tl是时间,Sl是种子。欲产生随机密钥Τ0ΤΡ,动态密码计算过程如下UTOTP = HOTP k(Kl,K2,K3,Tl,Si),TOTP 长度为 20byte ;2、进行动态截短,Sbis = DT (TOTP),Sbits 的长度为 4byte ;截短函数DT的过程如下1)约定 TOTP = TOTP
· · · TOTP [19];2) OffsetBits 为 String[19]的低位 4bits ;3) Offset = StToNum(OffsetBits);这里 0 < = OffSet <=154)P = TOTP[OffSet] · · · TOTP
;
5)得到 P 的低位 31bits。3、将 Sbits 转换为数字 Snum = StToNum(Sbits);4、得到动态密码D = Snum mod 10'Digit (Digit为动态密码位数)。(3)将生成的动态密码发送至认证服务器。(4)认证服务器执行同样的加密运算,并生成用于认证的动态密码。(5)认证服务器将生成的动态密码与接收的动态密码进行对比验证,并将验证结果返回给客户端。上述方案形成的运行模式主要适用于金额转账,即应用于网银交易过程。在输入 PIN码启动令牌后,按操作键进入数字签名模式,该模式下,用户需要在令牌中输入目标银行帐号、源银行帐号、转账金额,按OK得到一个动态密码,该动态密码包含了上述三个信息因素,该密码只对该两个帐号之间的转账有效,因此即使被中间人获取,也无法修改银行帐号,一旦修改,该动态密码无法正确认证。该应用可有效地确保转账安全,防止欺诈交易发生。基于上述原理,本发明在网银交易系统的具体应用如下(参见图2)第一步,用户输入用户名,静态口令以及动态口令进入网银操作界面。第二步,在进行网银转账交易时,根据网银操作界面要求填写相关源银行帐号、目标银行帐号、转账金额等相关信息,并得到一动态密码输入框。第三步,用户输入PIN码启动动态令牌后,按操作键进入数字签名模式。第四步,在该模式下,用户通过令牌上键盘在令牌中输入目标银行帐号、源银行帐号、转账金额,并按下确认键。第五步,令牌根据输入的目标银行帐号、源银行帐号以及转账金额信息结合时间和种子密钥信息进行加密运算。第六步,将加密运算的结果截短并转换为可显示数,据此生成6或8位的动态密码。第七步,用户将第六步获得的动态密码输入到第二步完成后的动态密码输入框中,使得动态密码传到认证服务器上进行认证。第八步,认证服务器参考动态密码签名算法进行运算,认证服务器执行同样的算法生成动态密码,并与用户输入的动态密码进行比对,最后返回认证结果。第九步,如果验证结果一致,交易成功。否则,转帐交易关闭,提示拥护交易失败。上述网银交易的认证过程能够有效的识别假用户,避免欺诈交易的出现,有效的保证网银的安全性和可操作性。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1.一种动态口令签名方法,其特征在于,所述方法是利用目标账号、源账号以及转账金额信息进行加密运算生成一次性的动态密码。
2.根据权利要求1所述的一种动态口令签名方法,其特征在于,所述方法具体包括如下步骤(1)通过动态令牌输入目标银行帐号、源银行帐号以及转账金额信息;(2)动态令牌利用输入目标银行帐号、源银行帐号以及转账金额信息结合时间和种子密钥信息进行加密运算,生成动态密码;(3)将生成的动态密码发送至认证服务器;(4)认证服务器执行同样的加密运算,并生成用于认证的动态密码;(5)认证服务器将生成的动态密码与接收的动态密码进行对比验证,并将验证结果返回给客户端。
3.根据权利要求2所述的一种动态口令签名方法,其特征在于,所述步骤(1)前通过输入PIN马启动令牌。
全文摘要
本发明公开了一种动态口令签名方法,该方法是利用目标账号、源账号以及转账金额信息进行加密运算生成一次性的动态密码。本发明采用动态口令签名算法技术,实现对交易关键信息签名,防止欺诈交易发生。
文档编号H04L9/32GK102307094SQ20111010647
公开日2012年1月4日 申请日期2011年4月27日 优先权日2011年4月27日
发明者杨波, 胡永刚 申请人:上海动联信息技术有限公司