一种对动态口令令牌的种子进行更新的方法

文档序号:7752894阅读:130来源:国知局
专利名称:一种对动态口令令牌的种子进行更新的方法
技术领域
本发明涉及信息安全领域,特别涉及一种对动态口令令牌的种子进行更新的方 法。
背景技术
随着网络技术的发展,人们需要大量的在网上进行交易等重要信息的传输,但 是普通的静态密码技术已经不再安全,很容易就可以被黑客截取,黑客通过使用静态密 码登陆用户的合法帐户,进行非法活动,对人们的信息安全造成了很大威胁。近年来,出现了一种动态密码技术,通过这种技术,可以达到在用户输入密码 的过程中一次一密的特点,即使用户本次登陆密码被截获了,但是下次登陆时该密码已 经作废不能使用,不能再对用户构成威胁,大大的增强了用户账号的安全。其中,大量 使用的包括一种挑战应答式的动态口令系统,该种方法使用一个带按键的小型智能安全 设备,也可以称作动态口令令牌,令牌内置安全算法,并且每个令牌设置有唯一的种子 (用来计算动态口令的静态参数),通常地,令牌上设置有按键和显示屏,按键用于作为 输入设备输入挑战码等,显示屏用于输入动态口令,由于动态口令令牌内的种子是保密 的并且保存在令牌内部不可读出的,黑客在无法得到种子的情况下,无法破解用户的动 态口令。但是,这样的令牌仍然存在安全漏洞,一般情况下,动态口令令牌是安全产品 生产商生产的,生产商使用种子生产工具为每个令牌生成种子,并通过硬件接口将唯一 的种子写入到令牌中,同时为每个令牌编号,将编号与种子互相对应,在将动态口令令 牌销售给服务商的时候,同时将对应的种子分发给服务商,服务商将令牌分发给用户进 行身份认证使用。并且,通常情况下,服务商不具有更改令牌中种子的硬件接口,无法 对种子进行更新,因此产生了安全漏洞。在此情况下,令牌生产商可以在令牌生产的过 程中对种子进行复制,可以模拟令牌生成动态口令,对用户的信息安全和服务商的信誉 造成威胁。

发明内容
为了提高网络数据传输的安全性,本发明实施例提供了一种对动态口令令牌的 种子进行更新的方法。技术方案如下一种对动态口令令牌的种子进行更新的方法,所述方法包括服务端接收用户通过客户端发出的更新动态口令令牌中种子的请求,所述服务 端和所述动态口令令牌互相验证是否全部合法;如果所述服务端和所述动态口令令牌不全部合法,停止更新种子的操作;如果所述服务端和所述动态口令令牌全部合法,所述服务端生成第三挑战码和 种子更新标识,并返回给客户端,所述服务端根据所述种子更新标识得到服务端临时种 子并保存;
所述动态口令令牌接收用户输入的所述种子更新标识,所述动态口令令牌根据 所述种子更新标识得到动态口令令牌端临时种子;所述动态口令令牌接收用户输入的第三挑战码,所述动态口令令牌根据所述临 时种子和所述第三挑战码生成第五动态口令,并将第五动态口令发送给所述服务端进行 验证;所述服务端验证所述第五动态口令,如果正确,所述所述服务端将所述服务端 临时种子置为新种子,并向所述客户端返回所述服务端更新种子成功的消息,所述客户 端输 出所述服务端更新种子成功的消息,所述动态口令令牌接收所述用户输入的更新种 子成功的确认信息,所述动态口令令牌将所述动态口令令牌端临时种子置为新种子,所 述动态口令令牌更新种子成功,如果不正确,所述服务端返回更新种子失败的消息,所 述动态口令令牌接收所述用户输入的更新种子取消信息,更新种子失败。优选地,所述动态口令令牌和所述动态口令令牌互相验证是否全部合法,具体 的包括所述服务端生成第一挑战码,并返回给客户端,所述客户端输出所述第一挑战 码;所述动态口令令牌接收所述用户输入的所述第一挑战码,所述动态口令令牌使 用初始种子和所述第一挑战码生成第一动态口令,将所述第一动态口令通过所述客户端 发送给所述服务端;所述服务端验证所述第一动态口令是否正确;如果不正确,则所述动态口令令牌不合法,停止所述更新种子的操作;如果正确,则所述动态口令令牌合法,继续验证所述服务端是否合法,所述服 务端生成第二挑战码,并由所述服务端中保存的所述动态口令令牌的初始种子和所述第 二挑战码生成第三动态口令,所述服务端将所述第二挑战码和所述第三动态口令发送给 所述客户端,所述客户端输出所述第二挑战码和所述第三动态口令,所述动态口令令牌 接收所述用户输入的所述第二挑战码,所述动态口令令牌根据所述第二挑战码和所述动 态口令令牌中的初始种子生成第四动态口令,所述用户比对所述第三动态口令和所述第 四动态口令,如果相同,通过所述客户端向所述服务端发送确认所述服务端合法的确认 信息,所述动态口令令牌和所述服务端互相验证全部合法,如果不相同,则所述服务端 不合法,停止所述更新种子的操作。相应地,所述服务端验证所述第一动态口令是否正确,具体的包括所述服务端使用所述第一挑战码和所述服务端保存的所述动态口令令牌的初始 种子生成第二动态口令,并将所述第一动态口令与所述第二动态口令进行比对,如果相 同,则所述第一动态口令正确,如果不相同,则所述第二动态口令不正确。优选地,所述种子更新标识具体的包括第一数值、随机数、临时种子加密包或种子编号号中的任一种。相应地,当所述种子更新标识为所述第一数值时,所述服务端根据所述种子更 新标识得到服务端临时种子具体的包括所述服务端以所述第一数值和所述服务端保存的所述动态口令令牌的初始种子 为参数进行计算,得到所述服务端临时种子。
相应地,当所述种子更新标识为所述第一数值时,所述动态口令令牌根据所述 种子更新标识得到动态口令令牌端临时种子具体的包括所述动态口令令牌以所述第一数值和所述动态口令令牌的初始种子为参数计算 得到所述动态口令令牌端临时种子,所述动态口令令牌在计算所述动态口令令牌端临时 种子时,使用与所述服务端计算所述服务端临时种子相同的算法。相应地,当所述种子更新标识为所述随机数时,所述服务端根据所述种子更新 标识得到服务端临时种子具体的包括所述服务端使用预设算法对所述随机数进行变化,得到所述服务端临时种子。相应地,所述服务端使用预设算法对所述随机数进行变化,还包括在按照预设算法对所述随机数进行变化时,加入时间因素和事件因素作为运算参数。相应地,当所述种子更新标识为所述随机数时,所述动态口令令牌根据所述种 子更新标识得到动态口令令牌端临时种子具体的包括所述动态口令令牌使用预设算法对所述随机数进行变化,得到所述动态口令令 牌端临时种子。相应地,所述动态口令令牌使用预设算法对所述随机数进行变化,还包括在按照预设算法对所述随机数进行变化时,加入时间因素和事件因素作为运算参数。优选地,所述临时种子加密包具体的包括加密后的服务端临时种子和第四挑战码。相应地,所述服务端生成种子更新标识,具体的包括所述服务端生成第四挑战码和服务端临时种子,并根据所述服务端保存的所述 动态口令令牌的初始种子和所述第四挑战码生成第七动态口令,所述服务端将所述第七 动态口令作为密钥对所述服务端临时种子进行加密,得到加密后的服务端临时种子。相应地,所述动态口令令牌根据所述种子更新标识得到动态口令令牌端临时种 子,具体的包括所述动态口令令牌接收所述用户输入的所述第四挑战码和加密后的临时种子, 使用所述动态口令令牌的初始种子和所述第四挑战码生成第八动态口令,并使用第八动 态口令作为密钥对所述加密后的服务端临时种子进行解密,得到所述动态口令令牌端临 时种子。相应地,当所述种子更新标识为种子编号时,所述服务端生成种子更新标识, 具体的包括所述服务端根据所述种子编号,在所述服务端保存的所述动态口令令牌的种子 列表中选择对应编号的种子作为所述服务端临时种子。相应地,当所述种子更新标识为种子编号时,所述动态口令令牌根据所述种子 更新标识得到动态口令令牌端临时种子,具体的包括 所述动态口令令牌接收用户输入的所述种子编号,并根据所述种子编号在所述 动态口令令牌中保存的种子列表中选择对应编号的种子作为所述动态口令令牌端临时种子。
相应地,所述种子列表为所述动态口令令牌初始化时写入所述动态口令令牌 中,并且在所述服务端保存有所述动态口令令牌的种子列表,所述种子列表中记录有所 述动态口令令牌可使用的种子,并且每个种子有相应的编号进行标识。相应地,所述服务端验证所述第五动态口令,具体的包括所述服务端使用所述服务端临时种子和所述第三挑战码生成第六动态口令,并将所述第五动态口令和所述第六动态口令进行比对,如果相同,则所述第五动态口令正 确,如果不相同,则所述第五动态口令不正确。本发明实施例提供的技术方案带来的有益效果是克服了传统技术中动态口令 令牌生产商会知悉动态口令令牌中种子的问题,增加了动态口令令牌中种子的安全性。


图1为本发明具体实施例一中一种对动态口令令牌的种子进行更新的方法流程 图。图2为本发明具体实施例二中一种对动态口令令牌的种子进行更新的方法流程 图。图3为本发明具体实施例三中一种对动态口令令牌的种子进行更新的方法流程 图。图4为本发明具体实施例四中一种对动态口令令牌的种子进行更新的方法流程 图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施 方式作进一步地详细描述。实施例1本实施例提供了一种对动态口令令牌的种子进行更新的方法,参加图1,具体步 骤如下步骤101,用户通过客户端向服务端发出更新动态口令令牌中种子的请求;在本实施例中,用户使用的动态口令令牌为挑战应答式的动态口令令牌,并且 令牌上置有输入和输出装置,优选地,输入装置采用键盘,输出装置采用显示输出或音 频播报的方式输出;用户通过客户端发出更新动态口令令牌中种子的请求,具体的可以为,用户通 过客户端中安装的浏览器对服务端进行访问,服务端通过浏览器返回给动态口令令牌更 新种子的功能页面,用户输入需要更新种子的动态口令令牌的编号,并选择更新种子, 向服务端发出更新种子的请求;在本实施例中,将进行种子更新前的动态口令令牌中存储的种子定义为初始种 子;步骤102,服务端接到更新种子的请求,生成第一挑战码,并将第一挑战码返回 给客户端;在本实施例中,服务端生成第一挑战码还可以包括,服务端根据接收的动态口令令牌编号,查找该动态口令令牌信息和该动态口令令牌对应的种子信息,生成第一挑战码,并判断第一挑战码是否与上次进行动态口令验证时使用的挑战码是否相同,如果 相同,重新生成一个挑战码,再与所述上次进行动态口令验证时使用的挑战码进行比 对,如果不相同,则向客户端返回第一挑战码;步骤103,客户端输出第一挑战码,用户将第一挑战码输入到动态口令令牌中, 动态口令令牌接收到第一挑战码后根据初始种子和第一挑战码生成第一动态口令;在本实施例中,动态口令令牌生成第一动态口令后,通过液晶显示装置输出, 动态口令令牌生成第一动态口令的算法可以为HMAC-SHA1、MD5、SHA-U SHA-256 等;步骤104,客户端接收用户输入的第一动态口令,并向服务端发出对第一动态口 令进行验证的请求;步骤105,服务端接收对第一动态口令进行验证的请求和第一动态口令,对第一 动态口令进行验证,如果合法,执行步骤106,如果不合法,则向客户端返回第一动态口 令不正确的错误;在本实施例中,服务端对第一动态口令进行验证具体的为,服务端使用第一挑 战码和初始种子生成第二动态口令,将第二动态口令与第一动态口令进行比对,如果相 同,则第一动态口令合法,如果不相同,则第一动态口令不合法;其中,服务端生成第二动态口令的算法与步骤103中动态口令令牌生成第一动 态口令的算法相同;步骤106,服务端生成第二挑战码,并根据第二挑战码和初始种子生成第三动态 口令,将第三动态口令和第二挑战码返回给客户端,客户端输出第三动态口令和第二挑 战码,并等待接收用户通过客户端发送的确认服务器合法的确认信息;步骤107,用户将第二挑战码输入到动态口令令牌中,动态口令令牌根据第二 挑战码和初始种子生成第四动态口令并显示,比对第四动态口令和第三动态口令是否相 同,如果相同,通过客户端输入确认服务器合法的确认信息,执行步骤108,如果不相 同,说明服务器不合法,取消给动态口令令牌更新种子的操作;其中,动态口令令牌生成第四动态口令的算法与步骤106中服务端生成第三动 态口令的算法相同;在本实施例中,步骤107还可以按照另一种方法实现用户输入第二挑战码到动态口令令牌中,动态口令令牌根据第二挑战码和初始 种子生成第四动态口令,用户再输入第三动态口令到动态口令令牌中,动态口令令牌内 部将第三动态口令和第四动态口令进行比对,如果相同,则第三动态口令正确,动态口 令令牌输出服务端合法的确认信息,如果不相同,则第三动态口令不正确,动态口令令 牌输入服务端不合法的信息;使用上述方法的好处是,不会暴露第四动态口令;步骤108,服务端生成第一数值,根据第一数值和初始种子生成服务端临时种子 并保存,生成第三挑战码,将第三挑战码和第一数值返回给客户端;在本实施例中,服务端生成第一数值的算法保密,只有服务端可知,可以为随 机生成,优选地,第一数值和初始种子的数据长度一致;
在根据第一数值和初始种子生成临时种子时,第一数值和初始种子作为运算中 必须参与的参数,优选地,可以使用第一数值和初始种子进行异或得到服务端临时种 子;

步骤109,客户端输出第三挑战码和第一数值;步骤110,用户将第一数值输入动态口令令牌中,动态口令令牌接收并使用第一 数值和初始种子以步骤108中生成临时种子相同的算法生成动态口令令牌端临时种子, 并保存动态口令令牌端临时种子;步骤111,用户向动态口令令牌中输入第三挑战码,动态令牌接收第三挑战码, 并使用动态口令令牌端临时种子和第三挑战码生成第五动态口令;步骤112,用户向客户端输入第五动态口令,客户端接收第五动态口令,并向服 务端发出第五动态口令和对第五动态口令进行验证的请求;步骤113,服务端验证第五动态口令,如果正确,执行步骤114,如果不正确, 向用户返回更新种子失败的错误;在本实施例中,服务端验证第五动态口令具体的为,服务端将根据临时种子和 第三挑战码生成第六动态口令,将第五动态口令与第六动态口令进行比对,如果相同, 则第五动态口令正确,如果不相同,则第五动态口令不正确;步骤114,服务端使用服务端临时种子替换初始种子,将服务端临时种子作为新 种子保存,并向客户端发出更新种子成功的信息;步骤115,用户向动态口令令牌中输入服务端更新种子成功的确认信息,动态口 令令牌接收确认信息,使用动态口令令牌端临时种子替换初始种子,将动态口令令牌端 临时种子作为新种子保存,动态口令令牌更新种子成功。在本实施例中,提供了一种对动态口令令牌的种子进行更新的方法,使得用户 在购买动态口令令牌后,可以通过网络更新动态口令令牌中在生产时由生产商写入的种 子,使得种子只有用户拥有的动态口令令牌和验证动态口令的服务端拥有,保证了种子 的秘密性,增强了用户账号的安全性,本实施例所提供的方法更适用于在柜员机上进行 使用,更新种子便捷。实施例2本实施例提供了一种对动态口令令牌的种子进行更新的方法,参加图2,具体步 骤如下步骤201,用户通过客户端向服务端发出更新动态口令令牌中种子的请求;在本实施例中,用户使用的动态口令令牌为挑战应答式的动态口令令牌,并且 令牌上置有输入和输出装置,优选地,输入装置采用键盘,输出装置采用显示输出或音 频播报的方式输出;用户通过客户端发出更新动态口令令牌中种子的请求,具体的可以为,用户通 过客户端中安装的浏览器,对服务端进行访问,服务端通过浏览器返回给动态口令令牌 更新种子的功能页面,用户输入需要更新种子的动态口令令牌的编号,并选择更新种 子,向服务端发出更新种子的请求;在本实施例中,将进行种子更新前的动态口令令牌中存储的种子定义为初始种 子;
步骤202,服务端接到更新种子的请求,生成第一挑战码,并将第一挑战码返回 给客户端;在本实施例中,服务端生成第一挑战码还可以包括,服务端根据接收的动态口 令令牌编号,查找该动态口令令牌信息和该动态口令令牌对应的种子信息,生成第一挑 战码,并判断第一挑 战码是否与上次进行动态口令验证时使用的挑战码是否相同,如果 相同,重新生成一个挑战码,再与所述上次进行动态口令验证时使用的挑战码进行比 对,如果不相同,则向客户端返回第一挑战码;步骤203,客户端输出第一挑战码,用户将第一挑战码输入到动态口令令牌中, 动态口令令牌接收到第一挑战码后根据初始种子和第一挑战码生成第一动态口令;在本实施例中,动态口令令牌生成第一动态口令后,通过液晶显示装置输出, 动态口令令牌生成第一动态口令的算法可以为HMAC-SHA1、MD5、SHA-U SHA-256 等;步骤204,客户端接收用户输入的第一动态口令,并向服务端发出对第一动态口 令进行验证的请求;步骤205,服务端接收对第一动态口令进行验证的请求和第一动态口令,对第一 动态口令进行验证,如果合法,执行步骤206,如果不合法,则向客户端返回第一动态口 令不正确的错误;在本实施例中,服务端对第一动态口令进行验证具体的为,服务端使用第一挑 战码和初始种子生成第二动态口令,将第二动态口令与第一动态口令进行比对,如果相 同,则第一动态口令合法,如果不相同,则第一动态口令不合法;其中,服务端生成第二动态口令的算法与步骤203中动态口令令牌生成第一动 态口令的算法相同;步骤206,服务端生成第二挑战码,并根据第二挑战码和初始种子生成第三动态 口令,将第三动态口令和第二挑战码返回给客户端,客户端输出第三动态口令和第二挑 战码,等待接收用户通过客户端发送的确认服务器合法的确认信息;步骤207,用户将第二挑战码输入到动态口令令牌中,动态口令令牌根据第二挑 战码和初始种子生成第四动态口令并显示,用户比对第四动态口令和第三动态口令是否 相同,如果相同,通过客户端输入确认服务器合法的确认信息,执行步骤208,如果不相 同,说明服务器不合法,取消给动态口令令牌更新种子的操作;其中,动态口令令牌生成第四动态口令的算法与步骤206中服务端生成第三动 态口令的算法相同;在本实施例中,步骤207还可以按照另一种方法实现用户输入第二挑战码到动态口令令牌中,动态口令令牌根据第二挑战码和初始 种子生成第四动态口令,用户再输入第三动态口令到动态口令令牌中,动态口令令牌内 部将第三动态口令和第四动态口令进行比对,如果相同,则第三动态口令正确,动态口 令令牌输出服务端合法的确认信息,如果不相同,则第三动态口令不正确,动态口令令 牌输入服务端不合法的信息;使用上述方法的好处是,不会暴露第四动态口令;步骤208,服务端生成随机数R,由随机数R根据预定算法生成服务端临时种子并保存,并生成第三挑战码,将随机数R和第三挑战码返回给客户端,并发出再次进行 动态口令验证的指令;在本实施例中,预设的算法可以为任意保密算法,可以为HMAC-SHA1、 MD5、SHA-U SHA-256等,例如生成一个8位随机数为12345678,使用MD5算法对 随机数进行摘要计算,得到哈希值25D55AD283AA400AF464C76D713C07AD,取哈希值 固定的位数作为服务端临时种子;

在服务端使用预设算法生成服务端临时种子时,为了增加安全性,还可以增加 生成服务端临时种子的参数,包括增加时间因素和事件因素,例如,可以在令牌内增加 计时器,在生成服务端临时种子时,将当前时间和随机数R进行结合,再按照预设的算 法计算服务端临时种子,事件因素可以为该动态口令令牌生成动态口令的次数,这样可 以防止随机数R在网络上进行传输的过程中,被黑客所截取,计算得到用户的种子的行 为;步骤209,客户端输出随机数R和第三挑战码;步骤210,用户向动态口令令牌输入随机数R,动态口令令牌接收到随机数R 后,使用与步骤208中服务端生成临时种子相同的算法生成动态口令令牌端临时种子, 并保存;步骤211,用户向动态口令令牌中输入第三挑战码,动态口令令牌接收到第三挑 战码后,使用动态口令令牌端临时种子和第三挑战码生成第五动态口令;步骤212,用户向客户端输入第五动态口令,客户端接收第五动态口令,并向服 务端发出第五动态口令和对第五动态口令进行验证的请求;步骤213,服务端验证第五动态口令,如果正确,执行步骤214,如果不正确, 向用户返回更新种子失败的错误;在本实施例中,服务端验证第五动态口令,具体的包括服务端接收到第五 动态口令后,根据服务端临时种子和第三挑战码,使用与步骤211中动态口令令牌生成 第五动态口令相同的算法生成第六动态口令,并将第五动态口令与第六动态口令进行比 对,如果相同,则第五动态口令正确,如果不相同,则第五动态口令不正确;步骤214,服务端使用服务端临时种子替换初始种子,将服务端临时种子作为新 种子保存,并向客户端发出更新种子成功的信息;步骤215,用户向动态口令令牌中输入服务端更新种子成功的确认信息,动态口 令令牌接收确认信息,使用动态口令令牌端临时种子替换初始种子,将动态口令令牌端 临时种子作为新种子保存,动态口令令牌更新种子成功。本实施例所提供的一种对动态口令令牌的种子进行更新的方法,克服了传统的 动态口令技术中,种子由动态口令令牌生产商写入,由于生产商知道每个动态口令令牌 的种子而造成的动态口令安全风险,具有更强的安全性。实施例3本实施例提供了一种对动态口令令牌的种子进行更新的方法,本实施例所提供 的动态口令令牌,在动态口令令牌中保存有多个种子,并且保存有与多个种子对应的列 表,在本实施例中称为种子列表,为动态口令令牌生产或初始化时写入,当动态口令令 牌出厂时使用多个种子中的一个种子作为初始种子,进行动态口令计算,将该种子定义为初始种子,并且在服务端对该编号的动态口令令牌,也保存有同样的种子列表,在用户购买后,可对动态口令令牌计算动态口令时使用的种子进行更新,参加图3,具体的如 下步骤301,用户通过客户端向服务端发出更新动态口令令牌中种子的请求;在本实施例中,用户使用的动态口令令牌为挑战应答式的动态口令令牌,并且 令牌上置有输入和输出装置,优选地,输入装置采用键盘,输出装置采用显示输出或音 频播报的方式输出;用户通过客户端发出更新动态口令令牌中种子的请求,具体的可以为,用户通 过客户端中安装的浏览器,对服务端进行访问,服务端通过浏览器返回给动态口令令牌 更新种子的功能页面,用户输入需要更新种子的动态口令令牌的编号,并选择更新种 子,向服务端发出更新种子的请求;步骤302,服务端接到更新种子的请求,生成第一挑战码,并将第一挑战码返回 给客户端;在本实施例中,服务端生成第一挑战码还可以包括,服务端根据接收的动态口 令令牌编号,查找该动态口令令牌信息和该动态口令令牌对应的种子信息,生成第一挑 战码,并判断第一挑战码是否与上次进行动态口令验证时使用的挑战码是否相同,如果 相同,重新生成一个挑战码,再与所述上次进行动态口令验证时使用的挑战码进行比 对,如果不相同,则向客户端返回第一挑战码;步骤303,客户端输出第一挑战码,用户将第一挑战码输入到动态口令令牌中, 动态口令令牌接收到第一挑战码后根据初始种子和第一挑战码生成第一动态口令;在本实施例中,动态口令令牌生成第一动态口令后,通过液晶显示装置输出, 动态口令令牌生成第一动态口令的算法可以为HMAC-SHA1、MD5、SHA-U SHA-256 等;步骤304,客户端接收用户输入的第一动态口令,并向服务端发出对第一动态口 令进行验证的请求;步骤305,服务端接收对第一动态口令进行验证的请求和第一动态口令,对第一 动态口令进行验证,如果合法,执行步骤306,如果不合法,则向客户端返回第一动态口 令不正确的错误;在本实施例中,服务端对第一动态口令进行验证具体的为,服务端使用第一挑 战码和初始种子生成第二动态口令,将第二动态口令与第一动态口令进行比对,如果相 同,则第一动态口令合法,如果不相同,则第一动态口令不合法;其中,服务端生成第二动态口令的算法与步骤303中动态口令令牌生成第一动 态口令的算法相同;步骤306,服务端生成第二挑战码,并根据第二挑战码和初始种子生成第三动态 口令,将第三动态口令和第二挑战码返回给客户端,客户端输出第三动态口令和第二挑 战码,等待接收用户通过客户端发送的确认服务器合法的确认信息;步骤307,用户将第二挑战码输入到动态口令令牌中,动态口令令牌根据第二挑 战码和初始种子生成第四动态口令并显示,用户比对第四动态口令和第三动态口令是否 相同,如果相同,通过客户端输入确认服务器合法的确认信息,执行步骤308,如果不相同,说明服务器不合法,取消给动态口令令牌更新种子的操作;其中,动态口令令牌生成第四动态口令的算法与步骤306中服务端生成第三动 态口令的算法相同;在本实施例 中,步骤307还可以按照另一种方法实现用户输入第二挑战码到动态口令令牌中,动态口令令牌根据第二挑战码和初始 种子生成第四动态口令,用户再输入第三动态口令到动态口令令牌中,动态口令令牌内 部将第三动态口令和第四动态口令进行比对,如果相同,则第三动态口令正确,动态口 令令牌输出服务端合法的确认信息,如果不相同,则第三动态口令不正确,动态口令令 牌输入服务端不合法的信息;使用上述方法的好处是,不会暴露第四动态口令;步骤308,服务端在种子列表中随机选择一个种子,作为生成动态口令的临时种 子,生成第三挑战码,将临时种子的编号和第三挑战码返回给客户端,并发出再次进行 动态口令验证的指令;其中,临时种子和初始种子不能相同;步骤309,客户端输出临时种子的编号和第三挑战码;步骤310,用户向动态口令令牌输入临时种子的编号,动态口令令牌接收到临时 种子的编号后,根据编号在种子列表中查找对应的种子,将该编号的种子作为动态口令 令牌计算动态口令的临时种子;步骤311,用户向动态口令令牌中输入第三挑战码,动态口令令牌接收到用户输 入的第三挑战码后,使用临时种子和第三挑战码生成第五动态口令并输出;步骤312,用户向客户端输入第五动态口令,客户端接收到第五动态口令后,向 服务端发出第五动态口令和对第五动态口令进行验证的请求;步骤313,服务端验证第五动态口令,如果正确,执行步骤314,如果不正确, 向用户返回更新种子失败的错误;在本实施例中,服务端验证第五动态口令,具体的包括服务端接收到第五动 态口令后,根据临时种子和第三挑战码,使用与步骤311中动态口令令牌生成第五动态 口令相同的算法生成第六动态口令,并将第五动态口令与第六动态口令进行比对,如果 相同,则第五动态口令正确,如果不相同,则第五动态口令不正确;步骤314,服务端将临时种子置为新种子,并将新种子作为以后计算动态口令的 默认种子,并向客户端发出更新种子成功的信息;步骤315,用户向动态口令令牌中输入服务端更新种子成功的确认信息,动态口 令令牌接收确认信息后,使用临时种子作为以后计算动态口令的默认种子,动态口令令 牌更新种子成功。本实施例所提供的一种对动态口令令牌的种子进行更新的方法,通过在动态口 令令牌和服务端安装种子列表,保存多个种子,并在用户购买动态口令令牌后,在种子 列表中重新选择计算动态口令所使用的种子,克服了传统技术中动态口令令牌生产商知 道令牌中种子信息,并由此可能导致不安全的缺点。实施例4本实施例提供了一种对动态口令令牌的种子进行更新的方法,参加图4,具体步骤如下步骤401,用户通过客户端向服务端发出更新动态口令令牌中种子的请求;在本实施例中,用户使用的动态口令令牌为挑战应答式的动态口令令牌,并且 令牌上置有输入和输出装置,优选地,输入装置采用键盘,输出装置采用显示输出或音 频播报的方式输出;用户通过客户端发出更新动态口令令牌中种子的请求,具体的可以为,用户通 过客户端中安装的浏览器,对服务端进行访问,服务端通过浏览器返回给动态口令令牌 更新种子的功能页面,用户输入需要更新种子的动态口令令牌的编号,并选择更新种 子,向服务端发出更新种子的请求;在本实施例中,将进行种子更新前的动态口令令牌中存储的种子定义为初始种 子;步骤402,服务端接到更新种子的请求,生成第一挑战码,并将第一挑战码返回 给客户端;在本实施例中,服务端生成第一挑战码还可以包括,服务端根据接收的动态口 令令牌编号,查找该动态口令令牌信息和该动态口令令牌对应的种子信息,生成第一挑 战码,并判断第一挑战码是否与上次进行动态口令验证时使用的挑战码是否相同,如果 相同,重新生成一个挑战码,再与所述上次进行动态口令验证时使用的挑战码进行比 对,如果不相同,则向客户端返回第一挑战码;步骤403,客户端输出第一挑战码,用户将第一挑战码输入到动态口令令牌中, 动态口令令牌接收到第一挑战码后根据初始种子和第一挑战码生成第一动态口令;在本实施例中,动态口令令牌生成第一动态口令后,通过液晶显示装置输出, 动态口令令牌生成第一动态口令的算法可以为HMAC-SHA1、MD5、SHA-U SHA-256 等;步骤404,客户端接收用户输入的第一动态口令,并向服务端发出对第一动态口 令进行验证的请求;步骤405,服务端接收对第一动态口令进行验证的请求和第一动态口令,对第一 动态口令进行验证,如果合法,执行步骤406,如果不合法,则向客户端返回第一动态口 令不正确的错误;在本实施例中,服务端对第一动态口令进行验证具体的为,服务端使用第一挑 战码和初始种子生成第二动态口令,对第二动态口令与第一动态口令进行比对,如果相 同,则第一动态口令合法,如果不相同,则第一动态口令不合法;其中,服务端生成第二动态口令的算法与步骤403中动态口令令牌生成第一动 态口令的算法相同;步骤406,服务端生成第二挑战码,并根据第二挑战码和初始种子生成第三动态 口令,将第三动态口令和第二挑战码返回给客户端,客户端输出第三动态口令和第二挑 战码,等待接收用户通过客户端发送的确认服务器合法的确认信息; 步骤407,用户将第二挑战码输入到动态口令令牌中,动态口令令牌根据第二挑 战码和初始种子生成第四动态口令并显示,用户比对第四动态口令和第三动态口令是否 相同,如果相同,通过客户端输入确认服务器合法的确认信息,执行步骤408,如果不相同,说明服务器不合法,取消给动态口令令牌更新种子的操作;其中,动态口令令牌生成第四动态口令的算法与步骤406中服务端生成第三动 态口令的算法相同;在本实施例中,步骤407还可以按照另一种方法实现用户输入第二挑战码到动态口令令牌中,动态口令令牌根据第二挑战码和初始 种子生成第四动态口令,用户再输入第三动态口令到动态口令令牌中,动态口令令牌内 部将第三动态口令和第四动态口令进行比对,如果相同,则第三动态口令正确,动态口 令令牌输出服务端合法的确认信息,如果不相同,则第三动态口令不正确,动态口令令 牌输入服务端不合法的信息;使用上述方法的好处是,不会暴露第四动态口令; 步骤408,服务端生成第四挑战码,并使用初始种子和第四挑战码生成第七动态 □令 OTP7 ;步骤409,服务端生成临时种子seed,并使用第七动态口令OTP7作为密钥,对 临时种子seed进行加密运算得到[seedkm将[SeedWp7和第四挑战码返回给客户端,并 生成第三挑战码返回给客户端,再次发出对动态口令进行验证的命令;在本实施例中,服务端使用对称加密算法对临时种子seed进行加密;步骤410,客户端输出[Seed]QTP7和第三挑战码、第四挑战码;步骤411,用户向动态口令令牌输入第四挑战码,动态口令令牌接收到第四挑战 码后,使用初始种子和第四挑战码生成第八动态口令,并保存第八动态口令,等待用户 输入[seed]0TP7 ;其中,动态口令令牌生成第八动态口令的算法与步骤408中生成第七动态口令 的算法相同,并且由于步骤401到步骤407已经对动态口令令牌和服务端的合法性进行了 验证,因此,第七动态口令和第八动态口令实际上是相同的;步骤412,用户向动态口令令牌输入加密后的临时种子[seed^m,动态口令令牌 接收到[SeedWp7后,使用第八动态口令作为密钥对[SeedWp7进行解密,得到明文的临时 种子seed,保存临时种子seed ;步骤413,用户向动态口令令牌输入第三挑战码,动态口令令牌接收到第三挑战 码后,使用临时种子seed和第三挑战码生成第五动态口令并输出;步骤414,用户向客户端输入第五动态口令,客户端接收到第五动态口令后,发 送给服务端,向服务端发出对第五动态口令进行验证的请求;步骤415,服务端验证第五动态口令,如果正确,执行步骤417,如果不正确, 执行步骤416 ;在本实施例中,服务端验证第五动态口令,具体的包括服务端在接收到第五 动态口令后,根据临时种子seed和第三挑战码,使用与步骤413中相同的算法生成第六 动态口令,并将第五动态口令与第六动态口令进行比对,如果相同,则认为第五动态口 令正确,如果不相同,则认为第五动态口令不正确;步骤416,服务端向客户端返回更新种子失败的错误;步骤417,服务端使用临时种子seed替换初始种子,将临时种子seed置为新种 子,并向客户端发送更新种子成功的确认消息;
步骤418,客户端输出服务端更新种子成功的消息;步骤419,用户向动态口令令牌中输入服务端更新种子成功的确认信息,动态口令令牌接收确认信息后,使用自身通过解密得到的临时种子seed替换动态口令令牌中保 存的初始种子,将自身通过解密得到的临时种子seed置为新种子,动态口令令牌更新种 子成功。本实施例提供了一种对动态口令令牌的种子进行更新的方法,克服了传统技术 中动态口令令牌生产商会知道动态口令令牌中种子的问题,和由此问题引起的安全风 险,并且在传输种子的过程中使用动态口令作为密钥对新种子进行加密,保证了种子的 安全性。以上对本发明所提供的一种对动态口令令牌的种子进行更新的方法进行了详细 介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上,本说明书内 容不应理解为对本发明的限制。
权利要求
1.一种对动态口令令牌的种子进行更新的方法,其特征在于,所述方法包括 服务端接收用户通过客户端发出的更新动态口令令牌中种子的请求,所述服务端和所述动态口令令牌互相验证是否全部合法;如果所述服务端和所述动态口令令牌不全部合法,停止更新种子的操作; 如果所述服务端和所述动态口令令牌全部合法,所述服务端生成第三挑战码和种子 更新标识,并返回给客户端,所述服务端根据所述种子更新标识得到服务端临时种子并 保存;所述动态口令令牌接收用户输入的所述种子更新标识,所述动态口令令牌根据所述 种子更新标识得到动态口令令牌端临时种子;所述动态口令令牌接收用户输入的第三挑战码,所述动态口令令牌根据所述临时 种子和所述第三挑战码生成第五动态口令,并将第五动态口令发送给所述服务端进行验 证;所述服务端验证所述第五动态口令,如果正确,所述所述服务端将所述服务端临时 种子置为新种子,并向所述客户端返回所述服务端更新种子成功的消息,所述客户端输 出所述服务端更新种子成功的消息,所述动态口令令牌接收所述用户输入的更新种子成 功的确认信息,所述动态口令令牌将所述动态口令令牌端临时种子置为新种子,所述动 态口令令牌更新种子成功,如果不正确,所述服务端返回更新种子失败的消息,所述动 态口令令牌接收所述用户输入的更新种子取消信息,更新种子失败。
2.如权利要求1所述的方法,其特征在于,所述动态口令令牌和所述动态口令令牌互 相验证是否全部合法,具体的包括所述服务端生成第一挑战码,并返回给客户端,所述客户端输出所述第一挑战码; 所述动态口令令牌接收所述用户输入的所述第一挑战码,所述动态口令令牌使用初 始种子和所述第一挑战码生成第一动态口令,将所述第一动态口令通过所述客户端发送 给所述服务端;所述服务端验证所述第一动态口令是否正确;如果不正确,则所述动态口令令牌不合法,停止所述更新种子的操作; 如果正确,则所述动态口令令牌合法,继续验证所述服务端是否合法,所述服务 端生成第二挑战码,并由所述服务端中保存的所述动态口令令牌的初始种子和所述第二 挑战码生成第三动态口令,所述服务端将所述第二挑战码和所述第三动态口令发送给所 述客户端,所述客户端输出所述第二挑战码和所述第三动态口令,所述动态口令令牌接 收所述用户输入的所述第二挑战码,所述动态口令令牌根据所述第二挑战码和所述动态 口令令牌中的初始种子生成第四动态口令,所述用户比对所述第三动态口令和所述第四 动态口令,如果相同,通过所述客户端向所述服务端发送确认所述服务端合法的确认信 息,所述动态口令令牌和所述服务端互相验证全部合法,如果不相同,则所述服务端不 合法,停止所述更新种子的操作。
3.如权利要求2所述的方法,其特征在于,所述服务端验证所述第一动态口令是否正 确,具体的包括所述服务端使用所述第一挑战码和所述服务端保存的所述动态口令令牌的初始种子 生成第二动态口令,并将所述第一动态口令与所述第二动态口令进行比对,如果相同,则所述第一动态口令正确,如果不相同,则所述第二动态口令不正确。
4.如权利要求1所述的方法,其特征在于,所述种子更新标识具体的包括 第一数值、随机数、临时种子加密包或种子编号号中的任一种。
5.如权利要求4所述的方法,其特征在于,当所述种子更新标识为所述第一数值时, 所述服务端根据所述种子更新标识得到服务端临时种子具体的包括所述服务端以所述第一数值和所述服务端保存的所述动态口令令牌的初始种子为参 数进行计算,得到所述服务端临时种子。
6.如权利要求5所述的方法,其特征在于,当所述种子更新标识为所述第一数值时, 所述动态口令令牌根据所述种子更新标识得到动态口令令牌端临时种子具体的包括所述动态口令令牌以所述第一数值和所述动态口令令牌的初始种子为参数计算得到 所述动态口令令牌端临时种子,所述动态口令令牌在计算所述动态口令令牌端临时种子 时,使用与所述服务端计算所述服务端临时种子相同的算法。
7.如权利要求4所述的方法,其特征在于,当所述种子更新标识为所述随机数时,所 述服务端根据所述种子更新标识得到服务端临时种子具体的包括所述服务端使用预设算法对所述随机数进行变化,得到所述服务端临时种子。
8.如权利要求7所述的方法,其特征在于,所述服务端使用预设算法对所述随机数进 行变化,还包括在按照预设算法对所述随机数进行变化时,加入时间因素和事件因素作为运算参数。
9.如权利要求7所述的方法,其特征在于,当所述种子更新标识为所述随机数时,所 述动态口令令牌根据所述种子更新标识得到动态口令令牌端临时种子具体的包括所述动态口令令牌使用预设算法对所述随机数进行变化,得到所述动态口令令牌端 临时种子。
10.如权利要求9所述的方法,其特征在于,所述动态口令令牌使用预设算法对所述 随机数进行变化,还包括在按照预设算法对所述随机数进行变化时,加入时间因素和事件因素作为运算参数。
11.如权利要求4所述的方法,其特征在于,所述临时种子加密包具体的包括 加密后的服务端临时种子和第四挑战码。
12.如权利要求11所述的方法,其特征在于,所述服务端生成种子更新标识,具体的 包括所述服务端生成第四挑战码和服务端临时种子,并根据所述服务端保存的所述动态 口令令牌的初始种子和所述第四挑战码生成第七动态口令,所述服务端将所述第七动态 口令作为密钥对所述服务端临时种子进行加密,得到加密后的服务端临时种子。
13.如权利要求12所述的方法,其特征在于,所述动态口令令牌根据所述种子更新标 识得到动态口令令牌端临时种子,具体的包括所述动态口令令牌接收所述用户输入的所述第四挑战码和加密后的临时种子,使用 所述动态口令令牌的初始种子和所述第四挑战码生成第八动态口令,并使用第八动态口 令作为密钥对所述加密后的服务端临时种子进行解密,得到所述动态口令令牌端临时种子。
14.如权利要求4所述的方法,其特征在于,当所述种子更新标识为种子编号时,所 述服务端生成种子更新标识,具体的包括所述服务端根据所述种子编号,在所述服务端保存的所述动态口令令牌的种子列表 中选择对应编号的种子作为所述服务端临时种子。
15.如权利要求14所述的方法,其特征在于,当所述种子更新标识为种子编号时,所 述动态口令令牌根据所述种子更新标识得到动态口令令牌端临时种子,具体的包括所述动态口令令牌接收用户输入的所述种子编号,并根据所述种子编号在所述动态 口令令牌中保存的种子列表中选择对应编号的种子作为所述动态口令令牌端临时种子。
16.如权利要求15所述的方法,其特征在于,所述种子列表为所述动态口令令牌初 始化时写入所述动态口令令牌中,并且在所述服务端保存有所述动态口令令牌的种子列 表,所述种子列表中记录有所述动态口令令牌可使用的种子,并且每个种子有相应的编 号进行标识。
17.如权利要求1所述的方法,其特征在于,所述服务端验证所述第五动态口令,具 体的包括所述服务端使用所述服务端临时种子和所述第三挑战码生成第六动态口令,并将所 述第五动态口令和所述第六动态口令进行比对,如果相同,则所述第五动态口令正确, 如果不相同,则所述第五动态口令不正确。
全文摘要
本发明公开了一种对动态口令令牌中种子的更新方法,首先用户使用动态口令令牌和服务端进行互相认证,如果全部合法,则可以对动态口令令牌中的种子进行更新,所述服务端生成种子更新标识,并将种子更新标识发送给客户端,所述动态口令令牌使用所述种子更新标识生成临时种子,并使用临时种子再次进行动态口令的认证,如果认证成功,则对其内部存储的种子进行更新,服务端也更新其为所述动态口令令牌存储的种子,通过对动态口令令牌中的种子进行更新,可以防止令牌生产商知悉每个令牌中种子的情况,增加了安全性。
文档编号H04L29/06GK102025716SQ20101021391
公开日2011年4月20日 申请日期2010年6月29日 优先权日2010年6月29日
发明者于华章, 陆舟 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1