一种动态口令认证的方法

文档序号:7668902阅读:255来源:国知局
专利名称:一种动态口令认证的方法
技术领域
本发明涉及信息安全领域,特别涉及一种动态口令认证的方法。
背景技术
在传统的静态口令身份认证技术中,最普遍的方法是采用"用户名+静态口令"的方式 来进行用户身份的认证。对于这种传统的静态口令,如果用户不去修改它,那么这个口令就 是固定不变的、长期有效的,因此它是一种静态的认证信息。正因为这种认证信息的静态性, 导致传统口令在很多情况下都有着发生口令泄密的危险。
随着身份认证技术的不断发展,动态口令技术出现了。动态口令(Dynamic Password), 又叫〃一次性口令(OTP: One Time Password) 〃,是由软件令牌或电子令牌(Token)等手持终 端设备生成的。它是根据某种加密算法产生的随某一个不断变化的参数(例如时间,事件等) 不停地、没有重复变化的一种口令,是为了解决传统静态的、固定的口令和密码存在的无法 解决的缺陷,而设计的一种密码体制,以保护用户的关键数据资源。硬件令牌一般带有一个 液晶显示屏,用于显示每次生成的动态口令。目前,广泛应用的动态口令大多是六位的一串 数字。
一般来讲每个客户端的令牌都有一个唯一的密钥,该密钥同时存放在服务器端,每次认 证时令牌与服务器分别根据同样的密钥,同样的随机数(时间、事件或挑战)和同样的算法 计算出认证当时的动态口令,从而确保口令的一致性和认证的成功。因每次认证时,随机数 的参数不同,所以每次产生的动态口令也不同。每次计算时参数的随机性保证了每次口令不 可预测,保证系统安全。
动态口令技术主要分两种同步口令技术和异步口令技术。同步口令技术又分为基于时 间的同步口令技术和基于事件的同步口令技术两种。异步口令技术主要是基于挑战应答的技 术。其中,基于事件同步的令牌,其原理是通过某一特定的事件次序及相同的种子值作为输 入,使用一致的算法运算出一致的密码,其运算机理决定了其整个工作流程同时钟无关,不 受时钟的影响,但由于其算法的一致性,其口令是预先可知的,通过令牌,可以预先知道今 后的多个密码。基于事件机制的动态口令具有累计性,即直至下一次产生的动态口令没有提
交验证之前本次口令将一直有效,至本次动态口令提交验证之后方失效。而且,产生的密码 只能使用一次。因此,即使密码被别人非法获得,也无法用于成功登录系统。
现有的基于事件的同步口令技术的动态口令令牌在工作时,使用者通过按令牌上的专用 按钮来使令牌产生一个动态口令。如果动态口令令牌为联机方式时,动态口令的提交是通过 动态口令令牌自动完成的,例如可以通过有线或无线方式与主机相连,令牌自动将上述数据 传送到主机,再由主机传送到位于远程的认证服务器。如果动态口令令牌为脱机方式时,动 态口令的提交是通过用户来完成的,例如动态口令令牌与主机未建立任何形式的通信连接, 用户将显示在动态口令令牌显示屏上的上述数据手动输入认证系统的客户端(即主机),然 后再由客户端将其传送到位于远程的认证服务器。每个动态口令唯一对应一个次数相关信息 (一个序号),动态口令令牌每产生一个动态口令,其内部的计数器会将其对应的次数相关 信息加l。当认证服务器接收到动态口令令牌提交的动态口令后,与其存储或根据上一次成 功验证时的次数相关信息产生的若干个连续的动态口令(例如50个) 一一比较来进行验证,
如果认证服务器接收到的动态口令在认证服务器上存储或产生的口令范围内,则认证成功, 否则认证失败。
在正常情况下,每产生一个动态口令都提交到认证服务器上进行认证,那样动态口令令 牌的次数相关信息与认证服务器上的次数相关信息是完全同步的。而当不正常情况发生后, 例如由于误操作或动态口令令牌与主机、主机与认证服务器之间的通信故障导致产生了动态 口令令牌却没有及时提交到认证服务器进行认证,造成了动态口令令牌与认证服务器上的次 数相关信息不一致、不同步。如果在认证服务器根据上一次成功验证时的次数相关信息产生
的若干个连续的动态口令的数量范围内(例如50个),认证服务器还是可以经过寻找来成功 认证该动态口令的。但是如果没有提交服务器认证的连续动态口令的数量超出认证服务器根 据上一次成功验证时的次数相关信息产生的若干个连续的动态口令的数量范围(例如50个), 则会造成认证服务器在此范围无法找到与动态口令令牌提交的动态口令相匹配的动态口令, 从而无法正确进行认证。

发明内容
为了使动态口令令牌的动态口令次数相关信息与认证服务器的动态口令次数相关信息保 持同步,能够减少进行认证的时间,保证认证的顺利进行,增强了动态口令的易用性,本发
明提供了一种动态口令认证的方法,所述方法包括
步骤A:动态口令令牌在用户触发后根据种子信息产生一个动态口令;
步骤B:所述动态口令令牌将所述动态口令及与其对应的种子相关信息一起提交到认证 服务器;
歩骤C:所述认证服务器根据所述种子相关信息检索得到动态口令,并将检索得到的动 态口令与接收到的动态口令进行比较。 所述步骤A具体包括
步骤Al:动态口令令牌的触发装置接收到用户发送的产生动态口令的指令; 步骤A2:所述动态口令令牌接收到所述指令后,根据当前存储的或临时获取的种子信息 产生一个动态口令。
所述步骤B具体包括
步骤B1:所述动态口令令牌获取步骤A2中使用的与所述动态口令对应的种子相关信息; 步骤B2:所述动态口令令牌将所述动态口令及所述种子相关信息一起提交到认证服务器。 所述步骤C具体包括
步骤C1:所述认证服务器接收到所述动态口令及所述种子相关信息后,根据所述种子相 关信息检索得到动态口令;
步骤C2:所述认证服务器将检索得到的动态口令与接收到的动态口令进行比较,如果所 述认证服务器检索得到的动态口令不止一个,则将其中每个动态口令依次与接收到的动态口 令进行比较。
所述步骤B具体包括
步骤B1:所述动态口令令牌获取步骤A2中使用的与所述动态口令对应的种子相关信息; 步骤B2:所述动态口令令牌通过加密算法对所述种子相关信息加密;
步骤B3:所述动态口令令牌将所述动态口令及经过加密的所述种子相关信息一起提交到 认证服务器;
相应地,所述步骤C具体包括
步骤C1:所述认证服务器接收到所述动态口令及所述种子相关信息后,使用与加密算法 相同的算法解密所述种子相关信息;
步骤C2:所述认证服务器根据解密后的所述种子相关信息检索得到动态口令;
步骤C3:所述认证服务器将检索得到的动态口令与接收到的动态口令进行比较,如果所 述认证服务器检索得到的动态口令不止一个,则将其中每个动态口令依次与接收到的动态口 令进行比较。
所述种子信息是按预先设定的规律变化的。
所述按预先设定的规律变化包括递增、递减和按一定序列变化。
所述种子相关信息是实际完整的种子信息。
所述种子相关信息是实际完整的种子信息中的一部分。
所述种子信息为次数信息。
所述种子信息为时间信息。
所述检索得到的动态口令为根据所述种子相关信息临时计算得到的。 所述检索得到的动态口令为预先计算出的。
所述根据所述种子相关信息临时计算具体为所述认证服务器在收到认证请求后根据所 述种子相关信息生成动态口令。
所述预先计算具体为所述认证服务器在认证过程开始之前生成动态口令。 所述预先计算具体为所述认证服务器在所述认证服务器空闲时生成动态口令。 所述预先计算具体为所述认证服务器在上一次认证成功后生成动态口令。 采用本发明提供的技术方案带来的有益效果是
本发明利用将动态口令及其种子相关信息一起提交到认证服务器,认证服务器根据所述 种子相关信息将事先存储在服务器上或临时通过计算得到的动态口令与接收到的动态口令进 行比较,实现动态口令令牌与认证服务器的同步,降低了服务器端的运算量,减少了服务器端 的响应时间。


图1是本发明实施例1提供的动态口令认证的方法的流程图2是本发明实施例2提供的动态口令认证的方法的流程图3是本发明实施例3提供的动态口令认证的方法的流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
实施例1:
参见图l,本实施例提供了一种动态口令认证的方法,其中种子信息为次数信息,种子 相关信息为实际完整的次数信息。该方法包括
步骤101:动态口令令牌上的触发装置收到用户发出的一个产生动态口令的指令;
本实施例中动态口令令牌上的触发装置具体为专用按钮,当按钮被按下时产生动态口令;
步骤102:动态口令令牌根据当前存储的次数信息产生一个动态口令,并且当前存储的 次数信息随之递增;
步骤103:动态口令令牌通过内部计数器得到当前动态口令的次数相关信息,该次数相 关信息是通过计数器的计数不断累加得到的并与动态口令令牌产生的动态口令一一对应的完 整的实际次数信息
步骤104:动态口令令牌通过加密算法将上述次数相关信息加密; 步骤105:将动态口令及其加密后的次数相关信息一起提交到认证服务器; 如果动态口令令牌处于联机状态,包括与主机的有线连接(如通过USB接口连接)和无 线连接(如通过蓝牙等无线通信技术连接),此操作可以通过动态口令令牌来完成,即令牌 自动将上述数据传送到主机,再由主机转送到位于远程的认证服务器;
如果动态口令令牌处于脱机状态,其与主机之间未建立任何形式的通信连接,则此操作 可以通过动态口令令牌的用户来完成,即用户将显示在动态口令令牌显示屏上的上述数据手 动输入认证系统的客户端(即主机),然后再由客户端将其传送到位于远程的认证服务器; 步骤106:认证服务器使用与加密算法相同的算法解密经过加密的次数相关信息; 步骤107:认证服务器根据该次数相关信息临时计算出相应的动态口令并将其与动态口 令令牌提交的动态口令比较,进行动态口令认证;
认证服务器通过次数相关信息检索到相应的动态口令,并将其与客户端提交的动态口令 进行比较;如果匹配,则认证成功;否则,认证失败。用于检索的动态口令可以是根据次数 相关信息在服务器端收到认证请求时临时计算出的,也可以是预先计算出的,如在认证过程 开始之前、在认证服务器空闲时或在上一次认证成功后生成的动态口令。
采用上述实施例,可以直接实现动态口令令牌与认证服务器的同歩。利用将动态口令及 其次数相关信息一起提交到认证服务器,认证服务器根据次数相关信息将事先存储在服务器 上或通过计算得到的动态口令与得到的动态口令进行比较,实现动态口令令牌与认证服务器 的同步,降低了服务器端的运算量,减少了服务器端的响应时间。
实施例2:
参见图2,本实施例提供了一种动态口令认证的方法,其中种子信息为次数信息,种子 相关信息为实际完整的次数信息的一部分。该方法包括
步骤201:动态口令令牌上的触发装置收到用户发出的一个产生动态口令的指令; 本实施例中动态口令令牌上的触发装置具体为语音识别装置,当语音识别装置接收到用
户发出的产生动态口令的特定声音时产生动态口令;
步骤202:动态口令令牌根据当前存储的次数信息产生一个动态口令,并且当前存储的 次数信息随之递减(注作为种子信息的次数信息的变化也可以在产生动态口令之前);
步骤203:动态口令令牌通过内部计数器得到当前动态口令的次数相关信息,该次数相 关信息是通过计数器的计数不断递减得到的并与动态口令令牌产生的动态口令一一对应的完 整的实际次数信息;
步骤204:动态口令令牌从上述次数相关信息中提取一部分信息,如只提取实际次数信 息中的十位和百位;
步骤205:将动态口令及提取的部分次数信息一起提交到认证服务器;
如果动态口令令牌处于联机状态,包括与主机的有线连接(如通过USB接口连接)和无 线连接(如通过蓝牙等无线通信技术连接),此操作可以通过动态口令令牌来完成,即令牌 自动将上述数据传送到主机,再由主机转送到位于远程的认证服务器;
如果动态口令令牌处于脱机状态,其与主机之间未建立任何形式的通信连接,则此操作 可以通过动态口令令牌的用户来完成,即用户将显示在动态口令令牌显示屏上的上述数据手 动输入认证系统的客户端(即主机),然后再由客户端将其传送到位于远程的认证服务器;
步骤206:认证服务器获取接收到的部分次数信息;
步骤207:认证服务器根据该部分次数信息将提交的动态口令与其预先得到的相应动态 口令(如根据上一次成功认证后的次数信息生成的动态口令)比较,进行动态口令认证;
认证服务器通过部分次数信息检索到相应的动态口令,并将其与客户端提交的动态口令 进行比较。如果认证服务器检索得到的动态口令不止一个,则将其中每个动态口令依次与其 从客户端接收到的动态口令进行比较。如果匹配,则认证成功;否则,认证失败。用于检索 的动态口令可以是根据次数相关信息临时计算出的,也可以是预先计算出的。
在现有技术中,认证服务器一般会将接收到的动态口令与其存储或者根据其存储的用户 上一次成功验证时的次数信息产生的50个连续的动态口令一一比较来进行验证。采用本实施 例,只传输实际次数信息的十位和百位数据时,如果动态口令令牌与认证服务器之间的次数 信息相差1000次之内,最多只需要比较10次即可完成验证(由于十位和百位数字已经确定, 所以只比较个位数字即可,从0 9只有10个),极大地提高了效率。
当然上述实施例中如果对安全性有更高的要求的话,也可以在步骤205中将提取的部分 次数信息经过加密后再提交到认证服务器,相应地,步骤206中认证服务器获取接收到的部 分次数信息也要经过解密后才能用来对动态口令进行认证。
本实施例利用将动态口令及其部分次数信息一起提交到认证服务器,认证服务器根据部 分次数信息将事先存储在服务器上或通过计算得到的动态口令与得到的动态口令进行比较, 实现动态口令令牌与认证服务器的同步,并使动态口令令牌的动态口令的次数相关信息与认 证服务器的动态口令的次数相关信息保持同步,由于不是完整的次数信息,因此无需加密也 能保证很高的安全性。由于需要向服务器端提供的数据量与实施例l相比更小,因此这种方 式更适合于脱机情况。
实施例3:
参见图3,本实施例提供了一种动态口令认证的方法,其中种子信息为时间信息,种子
相关信息为实际完整的时间信息或部分时间信息。该方法包括
步骤301:动态口令令牌上的触发装置收到用户发出的一个产生动态口令的指令; 本实施例中动态口令令牌上的触发装置具体为指纹识别装置,当指纹识别装置接收到扫
描的指纹信息时产生动态口令;
步骤302:动态口令令牌获取当前时间并根据该时间产生一个动态口令;
步骤303:动态口令令牌将上述时间信息的全部或部分与动态口令令牌产生的动态口令
组成一个数据包;
本实施例中全部时间信息为yyyy/mm/dd/hh/ram/ss,部分时间信息为yyyy/ran/dd,其中 yyyy、誦、dd、 hh、 mm禾Q ss分别对应于年、月、日、时、分和秒); 步骤304:动态口令令牌通过加密算法将上述数据包加密; 步骤305:将加密后的数据包提交到认证服务器;
如果动态口令令牌处于联机状态,包括与主机的有线连接(如通过USB接口连接)和无 线连接(如通过蓝牙等无线通信技术连接),此操作可以通过动态口令令牌来完成,即令牌 自动将上述数据包传送到主机,再由主机转送到位于远程的认证服务器;
如果动态口令令牌处于脱机状态,其与主机之间未建立任何形式的通信连接,则此操作 可以通过动态口令令牌的用户来完成,即用户将显示在动态口令令牌显示屏上的上述数据包 (形式上可以是一个字符串)手动输入认证系统的客户端(即主机),然后再由客户端将其 传送到位于远程的认证服务器;
步骤306:认证服务器使用与加密算法相同的算法解密经过加密的上述数据包;
步骤307:认证服务器获取时间相关信息(部分或完整的时间信息),根据该信息检索 出动态口令,并将其与动态口令令牌提交的动态口令比较,进行动态口令认证;如果认证服
务器检索得到的动态口令不止一个,则将其中每个动态口令依次与其从客户端(动态口令令 牌)接收到的动态口令进行比较;
如果匹配,则认证成功;否则,认证失败。
用于检索的动态口令可以是根据时间相关信息临时计算出的,也可以是预先计算出的。 在本实施例中,如果只向认证服务器传送作为种子相关信息的部分时间信息,则可以不 必对其和动态口令令牌生成的动态口令组成的数据包进行加密,即可将该数据包传送给认证 服务器。由于传送的不是完整的时间信息,在安全性未受到较大影响的情况下,更方便用户 在脱机情况下向客户端输入动态口令和时间相关信息。
在本发明的上述实施例中,种子信息(如次数信息或时间信息)是可以按照一定的规律 变化的,这种变化可以是递增、递减,也可以是按照一定的序列(如时间序列或奇偶序列) 变化。
在本发明中,种子信息并不限于动态口令的次数信息和时间信息,其他可以唯一标识动 态口令的信息都可作为种子信息。
相应的,触发装置也并不限于按钮、语音、指纹等形式,其他能够收到用户发送的产生 动态口令的指令的装置都可以采用。
釆用本发明的上述实施例,可以直接实现动态口令令牌与认证服务器的同步。利用将动 态口令及其次数相关信息或时间相关信息一起提交到认证服务器,认证服务器根据次数相关 信息或时间相关信息将事先存储在服务器上或临时通过计算得到的动态口令与得到的动态口 令进行比较,实现动态口令令牌与认证服务器的同步,降低了服务器端的运算量,减少了服务 器端的响应时间。
以上对本发明所提供的一种动态口令认证的方法及设备进行了详细介绍,本文中应用了 具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发 明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实 施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种动态口令认证的方法,其特征在于,所述方法包括步骤A动态口令令牌在用户触发后根据种子信息产生一个动态口令;步骤B所述动态口令令牌将所述动态口令及与其对应的种子相关信息一起提交到认证服务器;步骤C所述认证服务器根据所述种子相关信息检索得到动态口令,并将检索得到的动态口令与接收到的动态口令进行比较。
2. 如权利要求l所述的动态口令认证的方法,其特征在于,所述步骤A具体包括 步骤A1:动态口令令牌的触发装置接收到用户发送的产生动态口令的指令;步骤A2:所述动态口令令牌接收到所述指令后,根据当前存储的或临时获取的种子信息 产生一个动态口令。
3. 如权利要求2所述的动态口令认证的方法,其特征在于,所述步骤B具体包括 步骤B1:所述动态口令令牌获取步骤A2中使用的与所述动态口令对应的种子相关信息; 步骤B2:所述动态口令令牌将所述动态口令及所述种子相关信息一起提交到认证服务器。
4. 如权利要求3所述的动态口令认证的方法,其特征在于,所述步骤C具体包括 步骤C1:所述认证服务器接收到所述动态口令及所述种子相关信息后,根据所述种子相关信息检索得到动态口令;步骤C2:所述认证服务器将检索得到的动态口令与接收到的动态口令进行比较,如果所 述认证服务器检索得到的动态口令不止一个,则将其中每个动态口令依次与接收到的动态口 令进行比较。
5. 如权利要求2所述的动态口令认证的方法,其特征在于,所述步骤B具体包括 步骤B1:所述动态口令令牌获取步骤A2中使用的与所述动态口令对应的种子相关信息; 步骤B2:所述动态口令令牌通过加密算法对所述种子相关信息加密;步骤B3:所述动态口令令牌将所述动态口令及经过加密的所述种子相关信息一起提交到 认证服务器;相应地,所述歩骤C具体包括步骤C1:所述认证服务器接收到所述动态口令及所述种子相关信息后,使用与加密算法相同的算法解密所述种子相关信息;步骤C2:所述认证服务器根据解密后的所述种子相关信息检索得到动态口令;步骤C3:所述认证服务器将检索得到的动态口令与接收到的动态口令进行比较,如果所述认证服务器检索得到的动态口令不止一个,则将其中每个动态口令依次与接收到的动态口令进行比较。
6. 如权利要求1一5中任一权利要求所述的动态口令认证的方法,其特征在于,所述种子信息是按预先设定的规律变化的。
7. 如权利要求6所述的动态口令认证的方法,其特征在于,所述按预先设定的规律变化 包括递增、递减和按一定序列变化。
8. 如权利要求l-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述种子 相关信息是实际完整的种子信息。
9. 如权利要求6所述的动态口令认证的方法,其特征在于,所述种子相关信息是实际完 整的种子信息。
10. 如权利要求7所述的动态口令认证的方法,其特征在于,所述种子相关信息是实际 完整的种子信息。
11. 如权利要求l-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述种 子相关信息是实际完整的种子信息中的一部分。
12. 如权利要求6所述的动态口令认证的方法,其特征在于,所述种子相关信息是实际 完整的种子信息中的一部分。
13. 如权利要求7所述的动态口令认证的方法,其特征在于,所述种子相关信息是实际 完整的种子信息中的一部分。
14. 如权利要求l-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述种子信息为次数信息。
15. 如权利要求6所述的动态口令认证的方法,其特征在于,所述种子信息为次数信息。
16. 如权利要求7所述的动态口令认证的方法,其特征在于,所述种子信息为次数信息。
17. 如权利要求l-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述种 子信息为时间信息。
18. 如权利要求6所述的动态口令认证的方法,其特征在于,所述种子信息为时间信息。
19. 如权利要求7所述的动态口令认证的方法,其特征在于,所述种子信息为时间信息。
20. 如权利要求1-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述检 索得到的动态口令为根据所述种子相关信息临时计算得到的。
21. 如权利要求6所述的动态口令认证的方法,其特征在于,所述检索得到的动态口令 为根据所述种子相关信息临时计算得到的。
22. 如权利要求7所述的动态口令认证的方法,其特征在于,所述检索得到的动态口令 为根据所述种子相关信息临时计算得到的。
23. 如权利要求l-5中任一权利要求所述的动态口令认证的方法,其特征在于,所述检 索得到的动态口令为预先计算出的。
24. 如权利要求6所述的动态口令认证的方法,其特征在于,所述检索得到的动态口令 为预先计算出的。
25. 如权利要求7所述的动态口令认证的方法,其特征在于,所述检索得到的动态口令 为预先计算出的。
26. 如权利要求20所述的动态口令认证的方法,其特征在于,所述根据所述种子相关信 息临时计算具体为所述认证服务器在收到认证请求后根据所述种子相关信息生成动态口令。
27. 如权利要求23所述的动态口令认证的方法,其特征在于,所述预先计算具体为所 述认证服务器在认证过程开始之前生成动态口令。
28. 如权利要求23所述的动态口令认证的方法,其特征在于,所述预先计算具体为所 述认证服务器在所述认证服务器空闲时生成动态口令。
29. 如权利要求23所述的动态口令认证的方法,其特征在于,所述预先计算具体为所 述认证服务器在上一次认证成功后生成动态口令。
全文摘要
本发明提供了一种动态口令认证的方法,属于信息安全领域。所述方法包括动态口令令牌在用户触发后根据种子信息产生一个动态口令;动态口令令牌将动态口令及与其对应的种子相关信息一起提交到认证服务器;认证服务器根据种子相关信息检索得到动态口令,并将检索得到的动态口令与接收到的动态口令进行比较。本发明将动态口令及其种子相关信息一起提交到认证服务器,认证服务器根据所述种子相关信息将通过检索得到的动态口令与接收到的动态口令进行比较,实现动态口令令牌与认证服务器的同步,降低了服务器端的计算量,减少了服务器端的响应时间。
文档编号H04L9/28GK101197667SQ20071030386
公开日2008年6月11日 申请日期2007年12月26日 优先权日2007年12月26日
发明者于华章, 舟 陆 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1