交易签名方法、认证服务器及系统的制作方法

文档序号:7740618阅读:158来源:国知局
专利名称:交易签名方法、认证服务器及系统的制作方法
技术领域
本发明涉及信息安全技术领域,尤其涉及交易方法、认证服务器及系统。
背景技术
随着网络技术在人们日常生活中的应用越来越广泛,人们已经越来越依赖于网络进行更多的日常活动,例如利用网络进行购物、办公、娱乐等。也正是由于网络应用的加强,各种提供便捷服务的网站也应运而生,使得网站的数量不断增加,同时对网络的安全性要求也越来越高,尤其是网络银行、政府办公相关的网站,要求登录用户合法。近年来,在认证领域广泛使用动态口令的方式进行认证,这种认证方式在对静态密码进行验证的基础上增加了动态密码的验证,使得用户口令多了一层保护,增加了安全性。 在现有技术中,动态口令的验证通常是这样进行的,服务方向用户发放动态口令令牌,这种令牌是一种自带有处理器的电子设备,其大小如同U盘,在装有电池或接电的情况下可以独立运行。在动态口令令牌内部安全的存储有与其对应的种子,也称为静态因子,所述种子为一个长字符串或数据,动态口令令牌可以根据内置的动态口令算法利用种子和动态因子生成动态口令,动态因子可以为时间或事件因素,因此可以达到一次一个密码的效果,安全性较高。 在实现上述动态口令进行验证的过程中,发明人发现现有技术中至少存在如下问题动态口令虽然安全性较高,不易破解,但是动态口令的认证方法却无法防止钓鱼网站的攻击,动态口令可能被窃取。钓鱼网站模仿真网站的界面,如果用户打开了钓鱼网站并进行登录,钓鱼网站会记录用户所输入的登录信息,并使用这些信息冒充用户在真网站上进行登录,造成用户信息和财产的损失。

发明内容
本发明的实施例提供一种交易签名方法、认证服务器及系统,提高用户进行交易的安全性。 为达到上述目的,本发明的实施例采用如下技术方案 —种交易签名方法,认证服务器和动态令牌中设有相同的动态口令生成算法和种子,所述方法包括 认证服务器接收用户端发送的交易信息和第一动态口令,所述第一动态口令由动态令牌生成; 所述认证服务器对所述第一动态口令进行验证,并在验证所述第一动态口令通过
后,生成第二验证动态口令,并将所述第二验证动态口令发送给所述用户端; 所述用户端在接收到用户对所述第二验证动态口令验证通过的确认信息后,利用
所述动态令牌生成的第三动态口令对所述交易信息进行加密得到密文信息,并将所述密文
信息发送给所述认证服务器; 所述认证服务器利用自身生成的第三验证动态口令解密所述密文信息得到明文信息; 所述认证服务器判断所述明文信息是否与所述交易信息一致,如果一致,执行交 易。 —种认证服务器,所述认证服务器和动态令牌中设有相同的动态口令生成算法和 种子,所述认证服务器包括 接收单元,用于接收用户端发送的交易信息和第一动态口令,所述第一动态口令 由动态令牌生成; 验证单元,用于对所述第一动态口令进行验证; 生成单元,用于在所述验证单元验证第一动态口令通过后,生成第二验证动态口 令; 发送单元,用于将所述生成单元生成的第二验证动态口令发送给所述用户端;
所述接收单元还用于接收用户端在验证所述第二验证动态口正确后,利用动态令 牌生成的第三动态口令对交易信息进行加密得到的密文信息; 解密单元,用于利用自身生成的第三验证动态口令解密所述密文信息得到明文信 息; 执行单元,用于在所述交易信息和明文信息一致时,执行所述交易信息对应的操 作。 —种交易签名系统,包括认证服务器、用户端、动态令牌,所述认证服务器和动态
令牌中设有相同的动态口令生成算法和种子; 所述认证服务器用于接收用户端发送的交易信息和第一动态口令,所述第一动态 口令由动态令牌生成;在验证所述第一动态口令正确后,生成第二验证动态口令并发送给 用户端; 所述用户端用于在验证所述第二验证动态口正确后,利用动态令牌生成的第三动 态口令对交易信息进行加密得到密文信息,并发送给认证服务器; 所述认证服务器还用于利用自身生成的第三验证动态口令解密所述密文信息得
到明文信息;在所述交易信息和明文信息一致时,执行所述交易信息对应的操作。 所述认证服务器还用于利用自身生成的第三验证动态口令解密所述密文信息得
到明文信息;在所述明文信息和交易信息一致时,执行所述交易信息对应的操作。 本发明实施例提供的动态口令的交易签名方法、认证服务器及系统,在交易的时
候需要交易信息和第一动态口令,第一动态口令供认证服务器进行验证;并且验证服务器
需要发送第二验证动态口令以供用户端进行验证,如此一来,验证服务器和用户端都能够
相互确认对方的合法身份。在双方相互确认合法身份后用户端通过加密的方式把交易信息
再次发送给验证服务器,在两次发送的交易信息相同是执行相应的交易。 所以,本发明实施例提供的交易签名方法、认证服务器及系统能够确认交易双方
的合法身份,提高用户进行交易的安全性,可以使得用户避免由于登录钓鱼网站而遭受损失。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
6有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
图1为本发明实施例中交易签名方法的流程图;
图2为本发明实施例中认证服务器的框图;
图3为本发明实施例中交易签名系统原理图;
图4为本发明实施例1中交易签名方法的流程图;
图5为本发明实施例2中交易签名方法的流程图。
具体实施例方式
本发明实施例提供一种交易签名方法,本实施例在认证服务器和动态令牌中设有 相同的动态口令生成算法和种子,以便认证服务器和动态令牌的口令之间能相互验证,如 图l所示,所述方法包括 101、用户需要进行交易的时候先通过动态令牌生成一个第一动态口令,并通过用 户端将交易信息和所述第一动态口令发送给认证服务器; 102、认证服务器在接收到交易信息和第一动态口令后,对接收到的第一动态口令
进行验证,在验证第一动态口令正确后,认证服务器生成第二验证动态口令并发送给向用
户端发送待核实信息,所述待核实信息包括认证服务器生成的第二动态口令; 103、用户端在收到第二验证动态口令待核实信息后可以进行验证,在验证所述第
二验证动态口令待核实信息正确后,用户端利用动态令牌生成的第三动态口令对交易信息
进行加密得到密文信息,并发送给认证服务器; 104、认证服务器利用自身生成的第三验证动态口令解密所述密文信息得到明文 信息; 105、在所述明文信息和交易信息一致时,执行所述交易信息对应的操作。 相应的,对来自用户端的第一动态口令进行验证之前,可以根据交易信息中的用
户账号信息来查找该用户端生成第一动态口令所使用的动态口令令牌编号,并根据该编号
查找到对应的种子和动态因子,以便根据该种子和动态因子生成相应的验证动态口令对第
一动态口令进行验证。 相应的,在将上述第二验证动态口令发送给上述用户端之后,用户对接收到的上 述第二验证动态口令进行验证。在用户验证第二验证动态口令正确后,上述用户端发送利 用该第三动态口令加密交易信息生成的密文信息给生成第二验证动态口令的实体,例如, 认证服务器。 相应的,上述生成第二验证动态口令包括更新动态因子;使用更新后的动态因 子生成上述第二验证动态口令。 上述生成第二验证动态口令可以包括使用基于时间或事件的方式生成第二验证 动态口令。 当使用基于事件的方式生成第二验证动态口令时,上述更新动态因子包括将上 述动态因子设置为上述动态令牌生成上述第一动态口令时所使用的第一动态因子,其中, 上述第一动态因子是上述动态令牌生成上述第一动态口令时的计数值;将上述动态因子增加一个预定的步长,以作为上述更新后的动态因子。 当使用基于时间的方式生成第二验证动态口令时,上述更新动态因子包括将上 述动态因子设置为上述动态令牌生成上述第一动态口令时所使用的第一动态因子,其中, 上述第一动态因子是上述动态令牌生成第一动态口令时的计时时间与预设的上述动态令 牌的初始时间之间的差值;根据上述动态因子更新计时偏移,其中,上述计时偏移是生成第 二验证动态口令的实体的当前计时时间与上述动态令牌的当前计时时间之间的差值;根据 上述计时偏移、实体的生成第二验证动态口令的计时时间和预设的上述实体的初始时间来 生成上述更新后的动态因子。 优选的,更新后的动态因子=上述实体的生成第二验证动态口令的计时时间_上 述实体的初始时间_上述计时偏移。 上述当使用基于时间的方式生成第二验证动态口令时,上述生成第二验证动态口 令并将上述第二验证动态口令发送给上述用户端包括每隔固定的时间生成一个动态口 令,并将生成的上述动态口令作为上述第二验证动态口令发送给上述用户端,以使用户对 当前发送的第二验证动态口令进行验证。
上述对上述第一动态口令进行验证可以包括生成第一验证动态口令;判断上述 第一动态口令是否与上述第一验证动态口令相同,若相同,则上述第一动态口令正确;
或者,对上述第一动态口令进行验证可以包括生成第一组验证动态口令;判断 上述第一组验证动态口令中是否存在一个验证动态口令与上述第一动态口令相同,若存 在,则上述第一动态口令正确。 上述生成上述第一验证动态口令的算法与生成上述第一动态口令的算法相同,生 成上述第一组验证动态口令中任一个验证动态口令的算法与生成第一动态口令的算法相 同。 上述对上述第三动态口令进行验证可以包括生成第三验证动态口令;判断上 述第三验证动态口令是否与上述第三验证动态口令相同,若相同,则上述第三动态口令正 确; 或者,对上述第三动态口令进行验证也可以包括生成第三组验证动态口令;判 断上述第三组验证动态口令中是否存在一个验证动态口令与上述第三动态口令相同,若存 在,则上述第三动态口令正确。 上述生成上述第三验证动态口令的算法与生成上述第三动态口令的算法相同,生 成上述第三组验证动态口令中任一个验证动态口令的算法与生成上述第三动态口令的算 法相同。 当使用基于时间的方式生成第二验证动态口令时,上述第二验证动态口令与第一 验证动态口令不相同。这里可以通过如下方式来实现将所述更新后的动态因子增加预设 的步长;根据增加后的动态因子生成所述第二验证动态口令。 同样,当使用基于时间的方式生成第二验证动态口令时,上述第三验证动态口令 与第二验证动态口令不相同。这里可以通过如下方式来实现在生成第三验证动态口令时, 首先更新动态因子,方法可以采用上述在生成第一验证动态口令之后更新动态因子所采用 的方法;然后,将更新后的动态因子增加预设的步长;然后,使用增加后的动态因子生成第 三验证动态口令。
本发明实施例还提供一种认证服务器,所述认证服务器和动态令牌中设有相同的 动态口令生成算法和种子,在本实施例中认证服务器和动态令牌可以采用基于时间或事件 的方式生成动态口令。如图2所示,所述认证服务器包括接收单元21、验证单元22、生成 单元23、发送单元24、解密单元25、执行单元26。 其中,接收单元21用于接收用户端发送的交易信息和第一动态口令,所述第一动
态口令由动态令牌生成;验证单元22用于对所述第一动态口令进行验证;生成单元23用
于在验证第一动态口令通过后,生成第二验证动态口令;发送单元24用于将第二验证动态
口令发送给所述用户端;所述接收单元21还用于接收用户端在验证所述第二验证动态口
正确后,利用动态令牌生成的第三动态口令对交易信息进行加密得到密文信息;解密单元
25用于利用自身生成的第三验证动态口令解密所述密文信息得到明文信息;执行单元26
用于在所述交易信息和明文信息一致时,执行所述交易信息对应的操作。 具体而言,如图2中的虚线所示,本发明实施例中所述生成单元生成模块23的实
现方式包括更新模块更新单元231、生成模块232。其中,更新模块更新单元231用于更新
动态因子;生成模块232用于使用更新后的动态因子生成所述第二验证动态口令。 当使用基于事件的方式生成第二验证动态口令时,所述更新模块231可以采用但
不限于如下实现方式 更新模块231包括第一设置子模块2311和第一处理子模块2312,其中,第一设 置子模块2311用于将动态因子设置为所述用户端生成所述第一动态口令时所使用的第一 动态因子,所述第一动态因子是所述用户端生成所述第一动态口令时的计数值;第一处理 子模块2312用于将所述动态因子增加一个预定的步长,以作为所述更新后的动态因子。
当使用基于时间的方式生成第二验证动态口令时,所述更新模块231可以采用但 不限于如下实现方式 更新模块231包括第二设置子模块2313、更新子模块2314、第二处理子模块 2315 ;其中,第二设置子模块2313用于将动态因子设置为所述用户端生成所述第一动态口 令时所使用的第一动态因子,所述第一动态因子是所述用户端生成所述第一动态口令时的 计时时间与预设的所述用户端的初始时间之间的差值;更新子模块2314用于根据所述动 态因子更新计时偏移,所述计时偏移是所述认证服务器的当前计时时间与所述用户端的当 前计时时间之间的差值;第二处理子模块2315用于根据所述计时偏移、所述认证服务器生 成所述第二验证动态口令时的计时时间和预设的所述认证服务器的初始时间来生成所述 更新后的动态因子。 当基于时间的方式生成第二验证动态口令时,为了保证不会因为时间上不同步而 造成验证失败,本发明实施例生成单元23和发送单元24的配合可以采用但不限于如下两 种方式 第一、所述生成单元23每隔固定的时间生成一个动态口令,所述发送单元24并将 生成的所述动态口令作为所述第二验证动态口令发送给所述用户端,以使对当前发送的第 二验证动态口令进行验证; 第二、所述生成单元23生成一组动态口令作为第二验证动态口令,所述发送单元 24将生成的一组动态口令发送给所述用户端,以使对当前发送的第二验证动态口令进行验 证。
本实施例在对第一动态口令进行验证时,可以采用但不限于如下两种方案
第一、所述生成单元23用于生成第一验证动态口令;所述验证单元22用于判断所 述第一动态口令是否与所述第一验证动态口令相同,若相同,则所述第一动态口令正确;
第二、所述生成单元23用于生成第一组验证动态口令;所述验证单元22用于判 断所述第一组验证动态口令中是否存在一个验证动态口令与所述第一动态口令相同,若存 在,则所述第一动态口令正确。 本发明实施例提供一种交易签名系统,该系统包括认证服务器31、用户端32、动 态令牌33 ;认证服务器和用户端之间进行通信连接;动态令牌不与用户端通信,也不和认 证服务器通信;但是,在认证服务器和动态令牌中设有相同的动态口令生成算法和种子,并 且所述认证服务器和动态令牌可以采用基于时间或事件的方式生成动态口令。
用户需要进行交易的时候先通过动态令牌33生成一个第一动态口令,并通过用 户端32将交易信息和所述第一动态口令发送给认证服务器31 ;所述认证服务器31用于接 收用户端发送的交易信息和第一动态口令;在验证所述第一动态口令正确后,向用户端32 发送认证服务器31生成的第二验证动态口令; 所述用户端32用于在验证所述第二验证动态口令正确后,利用动态令牌33生成 的第三动态口令对交易信息进行加密得到密文信息,并发送给认证服务器31 ;具体在验证 第二验证动态口令时,用户需要通过动态令牌生成第二动态口令,用户端将接收到的第二 验证动态口令和动态令牌生成第二动态口令进行对比,两者相同表示验证正确,两者不同 表示验证不正确。 所述认证服务器31还用于利用自身生成的第三验证动态口令解密所述密文信息 得到明文信息;在所述明文信息和交易信息一致时,执行所述交易信息对应的操作。
为了使得用户能够对已经输入的交易信息进行核实,本实施例中所述认证服务器 发送给用户端的待核实信息还包括所述交易信息。 本发明实施例交易签名系统中认证服务器所采用的第一动态口令认证方式可以 采用上述图2中介绍的两种方法。 本发明实施例提供的动态口令的交易签名方法、认证服务器及系统,在交易的时
候需要交易信息和第一动态口令,第一动态口令供认证服务器进行验证;并且验证服务器
需要发送第二验证动态口令以供用户端进行验证,如此一来,验证服务器和用户端都能够
相互确认对方的合法身份。在双方相互确认合法身份后用户端通过加密的方式把交易信息
再次发送给验证服务器,在两次发送的交易信息相同是执行相应的交易。 所以,本发明实施例提供的交易签名方法、认证服务器及系统能够确认交易双方
的合法身份,提高用户进行交易的安全性,可以使得用户避免由于登录钓鱼网站而遭受损失。 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
实施例1 : 图4是本发明实施例1中的交易签名方法的流程图。本实施例以用户通过动态口
10令的认证方式进行交易签名为例进行说明,本实施例的方法具体包括如下步骤
401、用户需要进行交易的时候先通过动态令牌生成一个第一动态口令,并通过用 户端将交易信息和所述第一动态口令发送给认证服务器;具体而言,所述交易信息包括 用户账号、用户密码、交易金额、交易时间、货币类型等; 其中,所述动态令牌根据内置的动态口令算法生成动态口令;在生成动态口令时 对动态因子的选择可以采用基于时间或事件的方式,在本实施例中,优选地,以采用基于时 间的方式(如采用计时的方式)生成动态口令进行说明,相应地,在本实施例中还可以采用 基于事件的方式(如采用计次的方式)来生成动态口令。动态令牌生成动态口令的触发方 式包括但不限于如下两种 第一、动态令牌上设有一个按键,用户第一次按下按键生成的动态口令为第一动 态口令,第二次按下按键可以生成第二动态口令,第三次按下按键可以生成第三动态口 令; 第二、动态令牌上设有三个动态口令生成按键,当按下第一个按键,生成的动态口 令为第一动态口令;按下第二个按键可以生成第二动态口令;按下第三个按键可以生成第 三动态口令; 402、认证服务器接收用户端发送的交易信息及第一动态口令,后认证服务器生成 第一验证动态口令,并判断认证服务器生成的第一验证动态口令与接收到的第一动态口令 是否相同,如果两者相同,表示接收到的第一动态口令正确,执行403 ;如果两者不同,表示 接收到的第一动态口令不正确,执行409 ; 本发明实施例中,认证服务器内预先注册有用户所持动态令牌的信息,并与该动 态令牌采用相同的算法生成动态口令,该动态令牌的信息包括但不限于动态令牌的序列 号和与该序列号对应的密钥种子,该序列号和密钥种子是认证服务器给动态令牌分配的, 均是唯一的,且该动态令牌内部也存储有该序列号和密钥种子; 其中,上述认证服务器生成第一验证动态口令与动态令牌生成第一动态口令算 法相同,并均采用计时的方式(或计次的方式)生成动态口令,其中,上述算法可以包括 薩C-SHA1、MD 5、SHA-l、SHA-256等。 认证服务器可以采用以下方法来验证接收到的第一动态口令是否正确
第一、认证服务器生成单个第一验证动态口令时,并将生成的第一验证动态口令 与接收到的第一动态口令直接进行比对,如果相同,则认为接收到的第一动态口令正确;如 果不相同,则认为接收到的第一动态口令不正确; 第二、当使用的动态因子(即计时时间)包括时间窗时(后面将描述具体实现办 法),认证服务器生成一组动态口令作为第一验证动态口令,认证服务器将时间窗内的所有 动态口令逐一与接收到的第一动态口令进行比对,当时间窗内有一个动态口令与接收到的 第一动态口令比对相同时,则认为接收到的第一动态口令正确;如果时间窗内的任何一个 动态口令都与接收到的第一动态口令不相同,则认为接收到的第一动态口令不正确;
优选的,在认证服务器验证接收到第一动态口令是否正确前,认证服务器还可以 判断接收到的第一动态口令是否使用过,如果没有使用过,则进行所述验证过程;如果使用 过,则向用户端返回错误。这里,判断第一动态口令是否使用过可以起到以下作用防止黑 客在监测到用户输入的动态口令之后,立刻向认证服务器采用相同的动态口令登录并请求交易,从而避免了给用户造成损失。优选的,可以设置一定的时间段,例如,10分钟,如果在
之前的io分钟之内没有使用过接收到的第一动态口令,则认证服务器对该接收到的第一
动态口令进行验证。 这里,认证服务器可以根据动态因子来生成动态口令,例如,第一验证动态口令、 第二验证动态口令或随后描述的第三验证动态口令。下面举例进行说明,以本实施例采用 计时的方式生成动态口令为例进行说明 使用计时的方法生成动态口令,即在生成动态口令时将设备(动态令牌或认证服 务器)生成动态口令的时间与预设的初始时间的差值作为动态因子,本实施例中以一分钟 为计时单位为例进行说明,一般情况下,动态令牌在初始化时设定一个初始时间,例如为 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,而认证服务器生成第一验证动态口令时,由于计时和数据传输的误差,此时认证服 务器基准时间为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秒为计时单位,来计算动态因子,并根据该动态因子生成 动态口令。 上述对认证服务器存储的动态因子进行修正的操作可以在本步骤中执行或者随 后的步骤403中执行。 403、认证服务器生成第二验证动态口令,并将第二动态口令及交易信息返回给用户端; 这里,认证服务器可以首先计算生成第二验证动态口令的计时时间(例如,2000 年1月1日01时03分)与初始时间(2000年1月1日00时00分)之间的差值(等于 63),然后将该差值减去上述计时偏移(等于2)得到更新后的动态因子(等于61),并根据 更新后的动态因子生成第二验证动态口令。 在本实施例中,由于认证服务器可以对动态因子进行了修正,从而认证服务器可 以根据修正后的动态因子生成第二验证动态口令,优选的,此处的第二验证动态口令为一 个单独的动态口令。 另外,本步骤还可以采取如下的方式认证服务器每隔固定的时间生成一个第二 验证动态口令返回给用户端,优选地,上述固定的时间可以为大于O的时间,并应该在安全 范围内。下面介绍一个固定时间为一分钟的实现方式 在认证服务器接收到第一动态口令并认证为正确时开始计时,在计时的第1分钟 内,按上述方法根据当前的计时时间、预设的初始时间以及计时偏移生成第一个第二验证 动态口令,并发送给用户端;然后,在第2分钟,生成第二个第二验证动态口令,并发送给用 户端;在第3分钟,生成第三个第二验证动态口令,并发送给用户端,依此类推,以便避免在 用户接收或用户验证第二验证动态口令时由于延迟所带来的问题。优选的,在向用户端发 送第二验证动态口令时,需要对认证服务器向用户端返回第二验证动态口令的次数进行限 制一个最大次数,例如当返回10次,用户端未进行操作时,通知用户端超时未响应,验证失 败。 优选地,为了避免认证服务器生成的第一个第二验证动态口令由于与用户使用动
态令牌生成第一动态口令(正确的第一动态口令)时间过于接近而相同,认证服务器在生
成第一个第二验证动态口令时,可以根据当前计时时间的下一分钟来生成动态因子,并根
据该动态因子生成第一次第二验证动态口令。此外,还可以通过其他方式来防止生成第二
验证动态口令的时间与生成第一动态口令的时间相同,例如,可以在验证第一动态口令正
确之后,等待2个计时单位,然后,在第3个计时单位上生成第二验证动态口令,这样,即可
以使得生成第二验证动态口令的时间与生成第一动态口令的时间不同。 在认证服务器生成第二验证动态口令时,如果与生成第一动态口令的时间间隔过
短,第一动态口令可能会与第二验证动态口令相同。为了使第二验证动态口令与第一动态
口令不相同,则在生成第二验证动态口令时,可以将更新后的动态因子增加一个预设的步
长,然后,根据增加后的动态因子生成第二验证动态口令,从而避免由第二验证动态口令与
第一动态口令相同而造成的安全漏洞。 为了防止下一步认证服务器返回第二验证动态口令给用户端时因网络延迟造成 认证失败,服务端生成第二验证动态口令时还包括一种实现方法认证服务器生成一组动 态口令作为第二验证动态口令返回给用户端例如,在步骤402中,校正动态因子后,确定时 间偏移为_2分,则确定生成第二验证动态口令的时间为同步后的认证服务器时间再加上 一个步长,即为2000年1月1日01时00加上1分钟,计算动态因子应为61,为了能够生成 一组动态口令,增加一个向后偏移的时间窗为+5,则利用61、62、63、64、65、66,生成一组共 6个动态口令作为第二验证动态口令; 404、用户对接收到的交易信息及第二验证动态口令核实,如果核实正确,则执行
13405 ;如果核实不正确,则执行409 ; 具体核实过程包括如下步骤用户端接收到认证服务器返回的交易信息及第二验 证动态口令后,用户核对用户端显示的交易信息是否正确,如果交易信息不正确,用户可以 直接取消交易;如果交易信息正确,则需要核对接收到的第二验证动态口令是否正确。具体 核对方式为用户利用动态令牌生成第二动态口令,并将动态令牌生成的第二动态口令与 接收到第二验证动态口令进行比对,如果相同,则认为比对成功;如果不相同,则认为比对 失败,用户可以直接取消交易; 需要说明的是,当使用计时的方法生成动态口令时(使用时间因子作为动态因 子),用户端接收到认证服务器发送的第二验证动态口令时,用户需在规定的时间内利用动 态令牌生成第二动态口令,原因如下 动态令牌和认证服务器都是采用单独计时的方式,在认证的过程中,认证服务器 生成第二验证动态口令先于动态令牌生成第二动态口令,因此认证服务器生成第二验证动 态口令和动态令牌生成第二动态口令的时间因子不一样,致使动态口令不一样,因此可以 使用改进办法在第一动态口令比对成功后,对时间进行修正以达到动态令牌和认证服务 器时间同步,将此时间作为基准时间,并设定一个时间段,例如一分钟,将基准时间延长一 分钟的时间作为时间因子生成第二验证动态口令(第二验证动态口令为一个动态口令), 即在这一分钟内生成的动态口令是相同的。认证服务器生成第二验证动态口令后即返回 给用户端,用户此时应该在规定的时间内利用动态令牌生成第二动态口令,上述规定的时 间小于一分钟,则动态令牌生成的第二动态口令与认证服务器生成第二验证动态口令应相 同; 如果步骤404中,认证服务器将一次生成的一组第二验证动态口令(例如6个第 二验证动态口令)返回给用户端,用户端在利用动态令牌生成第二动态口令后,用第二动 态口令依次与该组第二验证动态口令进行对比,如果第二动态口令与该组第二验证动态口 令中有一个是相同的,则认为核对第二验证动态口令是正确的,否则,认为认证服务器是不 合法的,应取消交易。 405、用户确认交易信息和第二验证动态口令正确后,利用动态令牌生成一个第三 动态口令,用户端在接收到用户的确认信息后,利用第三动态口令对交易信息进行加密,并 将加密得到的密文信息发送给认证服务器;本实施例中的交易信息和用户端第一次发给认 证服务器的交易信息应该完全相同; 406、认证服务器生成第三验证动态口令,具体实现时,可以采用403过程中描述 的方法,包括验证第三动态口令是否使用过、以及防止生成动态口令的因子重复的方法,详 细描述见403的具体过程。 407、认证服务器利用生成的第三验证动态口令对接收到的密文信息进行解密得 到明文信息,并判断明文信息与交易信息是否一致,如果一致,则执行408 ;如果不一致,执
行409 ; 需要说明的是,所述认证服务器与所述客户端采用相同的算法对交易信息进行加 解密操作,例如AES、3DES、 RSA等加解密算法; 优选地,认证服务器判断解密得到的信息是否是与交易信息一致具体为所述认 证服务器分别利用在时间窗口内生成的第三验证动态口令去对交易信息进行解密操作,解密后得到一组明文信息,所述认证服务器将交易信息与该组明文信息逐一进行比对,当该 组明文信息中有一个明文信息与交易信息比对相同时,则认为比对成功,如果该组明文信 息中没有一个明文信息是与交易信息是相同的,则认为比对失败;
408、执行交易;
409、拒绝执行交易。 本实施例中,上述拒绝执行交易包括如下情况在402过程中,认证服务器判断第
一动态口令不正确时向用户端返回认证失败的信息,并拒绝执行交易;在407过程中,认证
服务器验证解密得到的信息与交易信息不一致时,提示签名失败,拒绝执行交易。 本发明实施例提供的动态口令的交易签名方法、认证服务器及系统,在交易的时
候需要交易信息和第一动态口令,第一动态口令供认证服务器进行验证;并且验证服务器
需要发送第二验证动态口令以供用户端进行验证,如此一来,验证服务器和用户端都能够
相互确认对方的合法身份。在双方相互确认合法身份后用户端通过加密的方式把交易信息
再次发送给验证服务器,在两次发送的交易信息相同是执行相应的交易。 所以,本发明实施例提供的交易签名方法、认证服务器及系统能够确认交易双方
的合法身份,提高用户进行交易的安全性,可以使得用户避免由于登录钓鱼网站而遭受损失。 实施例2: 图5是本发明实施例2中的交易签名方法的流程图。本实施例以用户通过动态口 令的认证方式进行交易签名为例进行说明,本实施例的方法具体包括如下步骤
501、用户需要进行交易的时候先通过动态令牌生成一个第一动态口令,并通过用 户端将交易信息和所述第一动态口令发送给认证服务器;具体而言,所述交易信息包括 用户账号、用户密码、交易金额、交易时间、货币类型等; 其中,所述动态令牌根据内置的动态口令算法生成动态口令;在生成动态口令时 对动态因子的选择可以采用基于时间或事件的方式,在本实施例中,优选地,以采用基于事 件的方式(如采用计次的方式)生成动态口令进行说明,相应地,在本实施例中还可以采用 基于时间的方式(如采用计时的方式)来生成动态口令。动态令牌生成动态口令的触发方 式包括但不限于如下两种 第一、动态令牌上设有一个按键,用户第一次按下按键生成的动态口令为第一动 态口令,第二次按下按键可以生成第二动态口令,第三次按下按键可以生成第三动态口 令; 第二、动态令牌上设有三个动态口令生成按键,当按下第一个按键,生成的动态口 令为第一动态口令;按下第二个按键可以生成第二动态口令;按下第三个按键可以生成第 三动态口令; 502、认证服务器接收用户端发送的交易信息及第一动态口令,后认证服务器生成 第一验证动态口令,并判断认证服务器生成的第一验证动态口令接收到的第一动态口令是 否相同,如果两者相同,表示接收到的第一动态口令正确,执行503 ;如果两者不同,表示接 收到的第一动态口令不正确,执行509 ;本实施例中认证服务器可以采用402中提供的两种 方法来验证接收到的第一动态口令是否正确,此处不再赘述; 本发明实施例中,认证服务器内预先注册有用户所持动态令牌的信息,并与该动态令牌采用相同的算法生成动态口令,该动态令牌的信息包括但不限于动态令牌的序列 号和与该序列号对应的密钥种子,该序列号和密钥种子是认证服务器给动态令牌分配的, 均是唯一的,且该动态令牌内部也存储有该序列号和密钥种子; 其中,上述认证服务器生成第一验证动态口令与动态令牌生成第一动态口令算 法相同,并均采用计时的方式(或计次的方式)生成动态口令,其中,上述算法可以包括 薩C-S HA1、MD5、S HA-l、SHA-256等。 本实施例中,认证服务器可以根据动态因子来生成动态口令,下面举例进行说明, 以本实施例采用计次的方式生成动态口令为例进行说明 使用计次的方法生成动态口令,即在生成动态口令时将设备(动态令牌或认证服 务器)生成动态口令的次数作为动态因子,第一次生成动态口令时动态因子为计数值1、第 二次生成动态口令时动态因子为计数值2,以此类推,每生成一次动态口令计数值增加1, 或者增加一个预设的步长。由于动态口令令牌和认证服务器单独计次,很容易产生计次的 不一致现象的发生,因此需要对认证服务器所存储的计次值进行修正。
假设在动态令牌生成第一动态口令时使用的动态因子为计数值100,而在认证服 务器中保存的动态因子为计数值95,此时在认证服务器计算第一验证动态口令时设定计数 值浮动范围为95-105, S卩,动态因子的取值范围可以设为[95, 105]。可以从动态因子(即 计数值)为95开始,根据每个动态因子计算出一个第一验证动态口令,然后,将计算出的第 一验证动态口令与接收到的第一动态口令进行比对,如两者不相同,则增加计数值继续进 行第一验证动态口令的计算。 由上可知,认证服务器生成第 一验证动态口令时可以分别以计数值95、
96...... 104、 105作为动态因子生成一组最多11个验证动态口令,认证服务器将接收到的
第一动态口令与上述认证服务器生成的第一验证动态口令进行比较。例如,当认证服务器
根据计数值ioo作为动态因子生成动态口令时,该生成的动态口令与接收到的第一动态口
令相同,则验证第一动态口令正确,并停止第一动态口令的计算。 这时,还可以对认证服务器存储的动态因子进行修正,即,将100作为正确的计数 值,使得动态口令令牌与认证服务器的计数值保持同步。然后,认证服务器将计数值ioo增 加l(或预定的步长)并保存,作为下次计算动态口令的动态因子。如果上述一组共ll个 动态口令中没有一个动态口令与接收第一动态口令相同,则表示接收到的第一动态口令不 正确。 上述对认证服务器存储的动态因子进行修正的操作可以在本步骤中执行或者随 后的步骤中执行。 503、认证服务器生成第二验证动态口令,并将第二验证动态口令及交易信息返回 给用户端; 在本实施例中,由于步骤502中对动态因子进行了修正,从而认证服务器可以根 据修正后的动态因子生成第二验证动态口令,优选的,此处的第二验证动态口令为单独的 动态口令; 504、用户对接收到的交易信息及第二验证动态口令核实,如果核实正确,则执行 505 ;如果核实不正确,则执行509 ; 具体核实过程包括如下步骤用户端接收到认证服务器返回的交易信息及第二验证动态口令后,用户核对用户端显示的交易信息是否正确,如果交易信息不正确,用户可以直接取消交易;如果交易信息正确,则需要核对接收到的第二验证动态口令是否正确。具体核对方式为用户利用动态令牌生成第二动态口令,并将动态令牌生成的第二动态口令与接收到第二验证动态口令进行比对,如果相同,则认为比对成功;如果不相同,则认为比对失败,用户可以直接取消交易; 505、用户确认交易信息和第二验证动态口令正确后,利用动态令牌生成一个第三动态口令,用户端在接收到用户的确认信息后,利用第三动态口令对交易信息进行加密,并将加密得到的密文信息发送给认证服务器;本实施例中的交易信息和用户端第一次发给认证服务器的交易信息应该完全相同; 506、认证服务器生成第三验证动态口令,具体实现时,可以采用403过程中描述的方法,包括验证第三动态口令是否使用过、以及防止生成动态口令的因子重复的方法,详细描述见403的具体过程。 507、认证服务器利用生成的第三验证动态口令对接收到的密文信息进行解密得到明文信息,并判断明文信息与交易信息是否一致,如果一致,则执行508 ;如果不一致,执行509 ; 需要说明的是,所述认证服务器与所述客户端采用相同的算法对交易信息进行加解密操作,例如AES、3DES、 RSA等加解密算法; 其中,如果步骤506中认证服务器生成第三验证动态口令时,生成的是一组验证
动态口令,则按如下方式来判断解密得到的明文信息是否与交易信息一致所述认证服务
器分别利用在时间窗口内生成的第三验证动态口令去对交易信息进行解密操作,解密后得
到一组明文信息,所述认证服务器将交易信息与该组明文信息逐一进行比对,当该组明文
信息中有一个明文信息与交易信息比对相同时,则认为比对成功,如果该组明文信息中没
有一个明文信息是与交易信息是相同的,则认为比对失败; 508、执行交易操作; 509、拒绝执行交易。 根据本发明,通过三次动态口令的验证,使得普通的动态令牌可以对服务器的合法性进行验证,及在客户端的配合下,普通动态令牌实现了交易签名的功能,从而增加了动态口令认证的安全性,使得用户可以避免如由于误登录钓鱼网站而遭受损失,及提高了交易的安全性,防止中间人的攻击。 本发明实施例主要用于各种交易签名中,例如网上银行的交易签名等等。 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借
助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳
的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部
分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计
算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,
服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
一种交易签名方法,其特征在于,认证服务器和动态令牌中设有相同的动态口令生成算法和种子,所述方法包括认证服务器接收用户端发送的交易信息和第一动态口令,所述第一动态口令由动态令牌生成;所述认证服务器对所述第一动态口令进行验证,并在验证第一动态口令通过后,生成第二验证动态口令,并将所述第二验证动态口令发送给所述用户端;所述用户端在接收到用户对所述第二验证动态口令验证通过的确认信息后,利用所述动态令牌生成的第三动态口令对所述交易信息进行加密得到密文信息,并将所述密文信息发送给所述认证服务器;所述认证服务器利用自身生成的第三验证动态口令解密所述密文信息得到明文信息;所述认证服务器判断所述明文信息是否与所述交易信息一致,如果一致,执行交易。
2. 根据权利要求1所述的交易签名方法,其特征在于,所述认证服务器生成第二验证动态口令包括更新动态因子;使用更新后的动态因子生成所述第二验证动态口令。
3. 根据权利要求2所述的交易签名方法,其特征在于,所述认证服务器生成第二验证动态口令包括使用基于事件或时间的方式生成所述第二验证动态口令。
4. 根据权利要求3所述的交易签名方法,其特征在于,当所述认证服务器使用基于事件的方式生成第二验证动态口令时,所述更新动态因子包括将所述动态因子设置为所述动态令牌生成所述第一动态口令时所使用的第一动态因子,其中,所述第一动态因子是所述动态令牌生成所述第一动态口令时的计数值;将所述动态因子增加一个预定的步长,以作为所述更新后的动态因子。
5. 根据权利要求3所述的交易签名方法,其特征在于,当所述认证服务器使用基于时间的方式生成第二验证动态口令时,所述更新动态因子包括将所述动态因子设置为所述动态令牌生成所述第一动态口令时所使用的第一动态因子,其中,所述第一动态因子是所述动态令牌生成所述第一动态口令时的计时时间与预设的所述动态令牌的初始时间之间的差值;根据所述动态因子更新计时偏移,其中,所述计时偏移是所述认证服务器的当前计时时间与所述动态令牌的当前计时时间之间的差值;所述认证服务器根据所述计时偏移、生成所述第二验证动态口令时的计时时间和预设的所述认证服务器的初始时间生成所述更新后的动态因子。
6. 根据权利要求5所述的交易签名方法,其特征在于,当所述认证服务器基于时间的方式生成第二验证动态口令时,所述生成第二验证动态口令并将所述第二验证动态口令发送给所述用户端包括每隔固定的时间生成一个动态口令,并将生成的所述动态口令作为所述第二验证动态口令发送给所述用户端,以使所述用户端对当前发送的第二验证动态口令进行验证;或者生成一组动态口令作为第二验证动态口令发送给所述用户端,以使所述用户端对当前发送的第二验证动态口令进行验证。
7. 根据权利要求1至6中任一项所述的交易签名方法,其特征在于,所述认证服务器对所述第一动态口令进行验证包括生成第一验证动态口令;判断所述第一动态口令是否与所述第一验证动态口令相同,若相同,则所述第一动态口令正确;或者生成第一组验证动态口令;判断所述第一组验证动态口令中是否存在一个验证动态口令与所述第一动态口令相同,若存在,则所述第一动态口令正确。
8. 根据权利要求1所述的交易签名方法,其特征在于,所述加密、解密的算法为所述用户端与所述认证服务器预先约定的相同的算法;其中,所述相同的算法包括AES、3DES、RSA算法。
9. 一种认证服务器,其特征在于,所述认证服务器和动态令牌中设有相同的动态口令生成算法和种子,所述认证服务器包括接收单元,用于接收用户端发送的交易信息和第一动态口令;验证单元,用于对所述接收单元接收到的所述第一动态口令进行验证,所述第一动态口令由所述动态令牌生成;生成单元,用于在所述验证单元验证第一动态口令通过后,生成第二验证动态口令;发送单元,用于将所述生成单元生成的第二验证动态口令发送给所述用户端;所述接收单元还用于接收用户端在验证所述第二验证动态口正确后,利用动态令牌生成的第三动态口令对交易信息进行加密得到的密文信息;解密单元,用于利用自身生成的第三验证动态口令解密所述接收单元接收到的所述密文信息,得到明文信息;执行单元,用于在所述交易信息和明文信息一致时,执行所述交易信息对应的操作。
10. 根据权利要求9所述的认证服务器,其特征在于,所述生成单元包括更新模块,用于更新动态因子;生成模块,用于使用更新后的动态因子生成所述第二验证动态口令。
11. 根据权利要求9所述的认证服务器,其特征在于,所述生成第二验证动态口令包括使用基于事件或时间事件的方式生成所述第二验证动态口令。
12. 根据权利要求11所述的认证服务器,其特征在于,当使用基于事件的方式生成第二验证动态口令时,所述更新模块包括第一设置子模块,用于将动态因子设置为所述动态令牌生成所述第一动态口令时所使用的第一动态因子,其中,所述第一动态因子是所述动态令牌生成所述第一动态口令时的计数值;第一处理子模块,用于将所述动态因子增加一个预定的步长,以作为所述更新后的动态因子。
13. 根据权利要求11所述的认证服务器,其特征在于,当使用基于时间的方式生成第二验证动态口令时,所述更新模块包括第二设置子模块,用于将动态因子设置为所述动态令牌生成所述第一动态口令时所使用的第一动态因子,其中,所述第一动态因子是所述动态令牌生成所述第一动态口令时的计时时间与预设的所述动态令牌的初始时间之间的差值;更新子模块,用于根据所述动态因子更新计时偏移,其中,所述计时偏移是所述认证服务器的当前计时时间与所述动态令牌的当前计时时间之间的差值;第二处理子模块,用于根据所述计时偏移、所述认证服务器生成所述第二验证动态口令时的计时时间和预设的所述认证服务器的初始时间来生成所述更新后的动态因子。
14. 根据权利要求13所述的认证服务器,其特征在于,当所述认证服务器基于时间的方式生成第二验证动态口令时,所述生成单元每隔固定的时间生成一个动态口令,所述发送单元并将生成的所述动态口令作为所述第二验证动态口令发送给所述用户端,以使所述用户端对当前发送的第二验证动态口令进行验证;或者所述生成单元生成一组动态口令作为第二验证动态口令,所述发送单元将生成的一组动态口令发送给所述用户端,以使所述用户端对当前发送的第二验证动态口令进行验证。
15. 根据权利要求9至14中任一项所述的认证服务器,其特征在于,所述生成单元用于生成第一验证动态口令;所述验证单元用于判断所述第一动态口令是否与所述第一验证动态口令相同,若相同,则所述第一动态口令正确;或者所述生成单元用于生成第一组验证动态口令;所述验证单元用于判断所述第一组验证动态口令中是否存在一个验证动态口令与所述第一动态口令相同,若存在,则所述第一动态口令正确。
16. —种交易签名系统,其特征在于,包括认证服务器、用户端、动态令牌,所述认证服务器和动态令牌中设有相同的动态口令生成算法和种子;所述认证服务器用于接收用户端发送的交易信息和第一动态口令,所述第一动态口令由动态令牌生成;在验证所述第一动态口令正确后,生成第二验证动态口令并发送给用户丄山顺;所述用户端用于在验证所述第二验证动态口正确后,利用动态令牌生成的第三动态口令对交易信息进行加密得到密文信息,并发送给认证服务器;所述认证服务器还用于利用自身生成的第三验证动态口令解密所述密文信息得到明文信息;当所述交易信息和明文信息一致时,执行所述交易信息对应的操作。
全文摘要
本发明公开了一种交易签名方法、认证服务器及系统,涉及信息安全领域,解决了交易过程用户信息不够安全的问题。本发明实施例包括认证服务器接收交易信息和第一动态口令,对所述第一动态口令进行验证,并在验证第一动态口令通过后,生成第二验证动态口令,并将第二验证动态口令发送给所述用户端;所述用户端对所述第二验证动态口令验证通过后,利用动态令牌生成的第三动态口令对所述交易信息进行加密得到密文信息,并将所述密文信息发送给认证服务器;所述认证服务器利用自身生成的第三验证动态口令解密所述密文信息得到明文信息;所述认证服务器判断所述明文信息是否与所述交易信息一致,如果一致,执行交易。本发明实施例主要用于交易签名过程。
文档编号H04L9/32GK101777983SQ20101003415
公开日2010年7月14日 申请日期2010年1月13日 优先权日2010年1月13日
发明者于华章, 陆舟 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1