基于动态口令的认证方法、系统和装置的制作方法

文档序号:7596971阅读:108来源:国知局
专利名称:基于动态口令的认证方法、系统和装置的制作方法
技术领域
本发明涉及信息安全技术领域,特别涉及基于动态口令的认证方法、系统和装置。
背景技术
近年来,随着互联网以及金融信息化的快速发展,网上银行以其便利、高效等特点 得到了用户和银行业界的普遍推崇。为了确保信息的安全性,通常需要对用户进行认证,认 证方式包括基于静态口令的认证方式和基于动态口令的认证方式。其中,基于静态口令的 认证方式由于口令固定不变,安全性较差,因此使用的较少,更多的是使用基于动态口令的 认证方式。动态口令又称为一次性口令(0TP,0ne Time I^assword),根据生成方式的不同,可 将动态口令进一步分为基于时间的动态口令和基于挑战-应答的动态口令。1)基于时间的动态口令令牌(或称为动态口令装置)和认证服务器在时间上保持同步,并且保存有相同 的密钥种子;每隔一段时间,比如60秒,令牌和认证服务器即利用所述密钥种子采用相同 的算法分别生成一个动态口令;当需要对用户进行认证时,用户通过令牌的显示屏获知当 前的动态口令后,将该动态口令输入到交易终端中,交易终端将该动态口令发送(在实际 应用中,还可能要发送用户名和静态密码等信息)给认证服务器进行认证。2)基于挑战-应答的动态口令令牌和认证服务器保存有相同的密钥种子,当需要对用户进行认证时,认证服务 器向用户发送一个挑战码,用户获得该挑战码后,将其输入到令牌中;令牌利用密钥种子和 挑战码生成动态口令(即应答码),并利用显示屏显示给用户;用户获知动态口令后,将其 输入到交易终端中,交易终端将动态口令发送给认证服务器进行认证。但是,上述两种方式在实际应用中均会存在一定的问题,如对于方式1),动态口 令并不是使用一次即失效,而是在一段时间内均有效,这样,如果动态口令被黑客截获,黑 客可利用其与认证服务器进行交互,从而降低了安全性;对于方式2),用户需要向令牌中 输入挑战码,而为了方便用户携带,令牌的尺寸通常都比较小,因此会导致用户输入挑战码 时非常不方便。

发明内容
有鉴于此,本发明的主要目的在于提供一种基于动态口令的认证方法,能够提高 安全性,且能够方便用户使用。本发明的另一目的在于提供一种基于动态口令的认证系统,能够提高安全性,且 能够方便用户使用。本发明的又一目的在于提供一种认证服务器和一种令牌,能够提高安全性,且能 够方便用户使用。为达到上述目的,本发明的技术方案是这样实现的
一种基于动态口令的认证方法,包括A、令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成各时间窗 口对应的基于时间的挑战码组;B、当需要进行认证时,认证服务器向用户发送挑战码选择指示信息,根据挑战码 选择指示信息选择出的挑战码为之前未使用过的挑战码;当用户根据挑战码选择指示信息在令牌所显示的当前有效时间窗口对应的挑战 码组中选定挑战码后,令牌根据用户选定的挑战码生成动态口令,并显示给用户;认证服务器接收用户输入的动态口令,并对接收到的动态口令进行认证。一种基于动态口令的认证系统,包括认证服务器和令牌,用于按照相同的生成方式、以相同的时间周期分别生成各时 间窗口对应的基于时间的挑战码组;认证服务器进一步用于,当需要进行认证时,向用户发送挑战码选择指示信息,根 据挑战码选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入 的动态口令进行认证;令牌进一步用于,当用户根据挑战码选择指示信息在自身所显示的当前有效时间 窗口对应的挑战码组中选定挑战码后,根据用户选定的挑战码生成动态口令,并显示给用 户。一种认证服务器,包括第一处理模块,用于按照与令牌相同的生成方式、以相同的时间周期分别生成各 时间窗口对应的基于时间的挑战码组;第二处理模块,用于当需要进行认证时,向用户发送挑战码选择指示信息,根据挑 战码选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入的动 态口令进行认证。一种令牌,包括第三处理模块,用于按照与认证服务器相同的生成方式、以相同的时间周期分别 生成各时间窗口对应的基于时间的挑战码组;第四处理模块,用于当用户根据接收自认证服务器的挑战码选择指示信息在自身 所显示的当前有效时间窗口对应的挑战码组中选定挑战码后,根据用户选定的挑战码生成 动态口令,并显示给用户;根据挑战码选择指示信息选择出的挑战码为之前未使用过的挑 战码。可见,采用本发明的技术方案,每个挑战码使用一次后即失效,相应地,每个动态 口令使用一次之后也即失效,从而提高了安全性;而且,用户只需在令牌上进行选择操作, 无需进行输入挑战码的操作,即减少了用户在令牌上的操作,从而方便了用户使用。


图1为本发明基于动态口令的认证方法第一实施例的流程图。图2为本发明基于动态口令的认证方法第二实施例的流程图。图3为本发明基于动态口令的认证方法第三实施例的流程图。图4为本发明基于动态口令的认证方法第四实施例的流程图。
图5为本发明基于动态口令的认证方法第五实施例的流程图。图6为本发明基于动态口令的认证方法第六实施例的流程图。图7为本发明认证服务器实施例的组成结构示意图。图8为本发明令牌实施例的组成结构示意图。
具体实施例方式针对现有技术中存在的问题,本发明中提出一种改进后的基于动态口令的认证方 案,即令牌和认证服务器按照相同的生成方式、以相同的时间周期(比如60秒)分别生成 各时间窗口对应的基于时间的挑战码组;当需要进行认证时,认证服务器向用户发送挑战 码选择指示信息,根据挑战码选择指示信息选择出的挑战码为之前未使用过的挑战码;当 用户根据挑战码选择指示信息在令牌所显示的当前有效时间窗口对应的挑战码组中选定 挑战码后,令牌根据用户选定的挑战码生成动态口令,并显示给用户;认证服务器接收用户 输入的动态口令,并对接收到的动态口令进行认证。通常,用户会先将动态口令输入到交易 终端中,然后由交易终端将接收到的动态口令进一步发送给认证服务器。在实际应用中,本发明所述方案可以有多种实现方式,下面结合实施例分别进行 介绍。图1为本发明基于动态口令的认证方法第一实施例的流程图。如图1所示,包括 以下步骤步骤101 令牌和认证服务器之间进行时间同步。本步骤中,用户可利用令牌获取当前的基于时间的动态口令(和后面的动态口令 不同,该动态口令仅用于进行时间同步),并将该动态口令输入到交易终端中;之后,交易 终端将该动态口令发送给认证服务器;认证服务器根据该动态口令确定令牌的时钟偏移 量,并相应地调整自身的时间记录,从而确保自身和令牌之间的时间同步。步骤102 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。这样,针对每个时间窗口,令牌和认证服务器所生成的挑战码组中包含的挑战码 将均相同。通常,同一挑战码组中的N个挑战码需要各不相同,N为正整数,为此,可在令牌和 认证服务器上均预先设置一个序列S = (S1, S2,……,、},并以当前时间窗口对应的时间 和S1为变化因子,生成第1个挑战码C1,以当前时间窗口对应的时间和&为变化因子,生成 第2个挑战码C2,依次类推,直到得到第N个挑战码CN,即以当前时间窗口对应的时间和Sn 为变化因子,生成第N个挑战码CN。其中,序列S可以是一个单调递增的自然数序列,如{1, 2,……,N}。此外,还可以采用以下方式来生成同一挑战码组中的N个不同的挑战码以当前时间窗口对应的时间为变化因子,生成第一个挑战码C1,对C1进行哈希运 算,将得到的哈希值作为第2个挑战码C2,对C2进行哈希运算,将得到的哈希值作为第3个 挑战码C3,依次类推,直到得到第N个挑战码Cn ;或者,以当前时间窗口对应的时间为变化因子,生成第一个挑战码C1,对C1进行哈 希运算,将得到的哈希值中的第1 M个比特所对应的值作为第2个挑战码C2,将第M+1 L个比特所对应的值作为第3个挑战码C3,M和L均为正整数,且M大于1,L大于M+1,依次 类推,直到得到第N个挑战码(;。步骤103 当需要进行认证时,认证服务器从当前时间窗口对应的挑战码组中选 择(任选)一个之前未使用过的挑战码,将所选择的挑战码或所选择的挑战码在其挑战码 组中的序号作为挑战码选择指示信息发送给用户。发送给用户之后,认证服务器可将所选择的挑战码标记为已使用,或将其从对应 的挑战码组中删除。需要说明的是,如果是将所选择的挑战码在其挑战码组中的序号作为挑战码选择 指示信息,那么,针对每个挑战码组,令牌和认证服务器需要按照相同的顺序来保存其中的 各挑战码,如可按照取值从小到大的顺序进行保存,以便后续用户能够正确地选择出所指 示的挑战码。另外,所述发送给用户可以是指发送给用户的手机,或是发送给用户的交易终端寸。步骤104 当用户在令牌所显示的当前时间窗口对应的挑战码组中选定挑战码选 择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给 用户。本实施例中,当前有效时间窗口即为当前时间窗口,令牌可将当前时间窗口对应 的挑战码组显示给用户,用户使用令牌上设置的选择按键,找到挑战码选择指示信息所指 示的挑战码并确认,即选定;之后,令牌根据用户选定的挑战码生成一个动态口令,并显示 给用户。如何生成动态口令为现有技术,不再赘述。步骤105 交易终端接收用户输入的动态口令,发送给认证服务器。本步骤中,用户将令牌上所显示的动态口令输入到交易终端中,由交易终端将其 进一步发送给认证服务器。步骤106 认证服务器根据自身所选择的挑战码生成一个动态口令,并将自身生 成的动态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败。为保证当挑战码相同时生成的动态口令也相同,认证服务器和令牌需要采用相同 的动态口令生成算法。如果认证成功,可按照现有方式进行后续处理,否则,认证服务器向交易终端返回 认证失败信息,结束处理。图2为本发明基于动态口令的认证方法第二实施例的流程图。如图2所示,包括 以下步骤步骤201 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。本步骤的具体实现过程与步骤102的具体实现过程相同,不再赘述,另外,后续各 实施例中与图1所示实施例中相同的部分均不再赘述。步骤202 当需要进行认证时,认证服务器从连续Z个时间窗口对应的挑战码组中 分别选择一个之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给 用户;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。举例说明,假设Z的取值3,并将当前时间窗口记为Τ,前一时间窗口记为Τ-1,后一时间窗口记为T+1,那么可从这3个时间窗口对应的挑战码组中分别选择一个之前未使用 过的挑战码,分别记为GT、Gp1和GT+1,将GT、Gp1和GT+1 —起发送给用户。步骤203 当用户在令牌所显示的当前时间窗口对应的挑战码组中选定一个挑战 码选择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显 示给用户。本实施例中,当前有效时间窗口即为当前时间窗口。步骤204 交易终端接收用户输入的动态口令,发送给认证服务器。步骤205 认证服务器根据自身所选择的挑战码生成Z个动态口令,并将自身生成 的动态口令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令 中的一个相同,则认为认证成功,否则,认证失败。与图1所示实施例相比,本实施例中,无需预先进行令牌和认证服务器之间的时 间同步,认证服务器每次发送多个时间窗口对应的挑战码,这样,只要令牌的当前时间窗口 为上述多个时间窗口中的一个,用户就能选择出正确的挑战码。图3为本发明基于动态口令的认证方法第三实施例的流程图。如图3所示,包括 以下步骤步骤301 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。步骤302 当需要进行认证时,认证服务器从当前时间窗口对应的挑战码组中选 择一个之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用户。步骤303 当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中选定挑战 码选择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显 示给用户;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。本实施例中,当前有效时间窗口包括连续Z个时间窗口。步骤304 交易终端接收用户输入的动态口令,发送给认证服务器。步骤305 认证服务器根据自身所选择的挑战码生成一个动态口令,并将自身生 成的动态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败。与图1所示实施例相比,本实施例中,无需预先进行令牌和认证服务器之间的时 间同步,令牌每次显示多个时间窗口对应的挑战码组,这样,只要认证服务器的当前时间窗 口为上述多个时间窗口中的一个,用户就能选择出正确的挑战码。图4为本发明基于动态口令的认证方法第四实施例的流程图。如图4所示,包括 以下步骤步骤401 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。步骤402 当需要进行认证时,认证服务器选择一个之前未使用过的挑战码序号, 如序号2,将该序号作为挑战码选择指示信息发送给用户。步骤403 当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中分别选定 挑战码选择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成Z个动态口令, 并显示给用户;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。 本实施例中,当前有效时间窗口包括连续Z个时间窗口。
举例说明,假设Z的取值3,并将当前时间窗口记为T,前一时间窗口记为T-1,后一 时间窗口记为T+1,那么可从这3个时间窗口对应的挑战码组中分别选出序号为2的挑战 码,分别记为GT、GT_i和GT+1。步骤404 交易终端接收用户输入的Z个动态口令,发送给认证服务器。步骤405 认证服务器从连续Z个时间窗口对应的挑战码组中分别选择出挑战码 选择指示信息所指示的挑战码,并根据所选择的挑战码生成Z个动态口令,将自身生成的 动态口令与接收到的动态口令进行比较,如果接收到的动态口令中的一个与自身生成的动 态口令中的一个相同,则认为认证成功,否则,认证失败。与图1所示实施例相比,本实施例中同样无需进行令牌和认证服务器之间的时间 同步。图5为本发明基于动态口令的认证方法第五实施例的流程图。如图5所示,包括 以下步骤步骤501 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。步骤502 当需要进行认证时,认证服务器选择一个挑战码序号,将该序号作为挑 战码选择指示信息发送给用户。步骤503 当用户在令牌所显示的当前时间窗口对应的挑战码组中选定挑战码选 定指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给 用户。本实施例中,当前有效时间窗口为当前时间窗口。步骤504 交易终端接收用户输入的动态口令,发送给认证服务器。步骤505 认证服务器从连续Z个时间窗口对应的挑战码组中分别选择出挑战码 选择指示信息所指示的挑战码,根据所选择的Z个挑战码生成Z个动态口令,并将自身生成 的动态口令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令 中的一个相同,则认为认证成功,否则,认证失败。与图1所示实施例相比,本实施例中同样无需进行令牌和认证服务器之间的时间 同步。图6为本发明基于动态口令的认证方法第六实施例的流程图。如图6所示,包括 以下步骤步骤601 令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组。步骤602 当需要进行认证时,认证服务器选择一个挑战码序号,将该序号作为挑 战码选择指示信息发送给用户。步骤603 当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中分别选定 挑战码选择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成Z个动态口令, 并显示给用户。本实施例中,当前有效时间窗口包括连续Z个时间窗口。步骤604 交易终端接收用户输入的动态口令,发送给认证服务器。步骤605 认证服务器从当前时间窗口对应的挑战码组中选择出挑战码选择指示信息所指示的挑战码,根据所选择的挑战码生成一个动态口令,并将自身生成的动态口令 与接收到的动态口令进行比较,如果自身生成的动态口令与接收到的动态口令中的一个相 同,则认为认证成功,否则,认证失败。本发明同时提供了一种基于动态口令的认证系统,包括认证服务器和令牌,用于按照相同的生成方式、以相同的时间周期分别生成各时 间窗口对应的基于时间的挑战码组;认证服务器进一步用于,当需要进行认证时,向用户发送挑战码选择指示信息,根 据挑战码选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入 的动态口令进行认证;令牌进一步用于,当用户根据挑战码选择指示信息在自身所显示的当前有效时间 窗口对应的挑战码组中选定挑战码后,根据用户选定的挑战码生成动态口令,并显示给用 户。图7为本发明认证服务器实施例的组成结构示意图。如图7所示,包括第一处理模块71,用于按照与令牌相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组;第二处理模块72,用于当需要进行认证时,向用户发送挑战码选择指示信息,根据 挑战码选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入的 动态口令进行认证。其中,第一处理模块71可进一步用于,和令牌之间进行时间同步,相应地,第二处 理模块72中可具体包括(为简化附图,未图示)第一处理单元,用于当需要进行认证时,从当前时间窗口对应的挑战码组中选择 一个之前未使用过的挑战码,将所选择的挑战码或所选择的挑战码在其挑战码组中的序号 作为挑战码选择指示信息发送给用户;第二处理单元,用于根据自身所选择的挑战码生成一个动态口令,并将自身所生 成的动态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败; 其中,第二处理单元和令牌采用相同的动态口令生成算法。或者,如果不进行时间同步,则有第一处理单元,用于当需要进行认证时,从连续Z个时间窗口对应的挑战码组中 分别选择一个之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给 用户;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;第二处理单元,用于根据自身所选择的挑战码生成Z个动态口令,并将自身生成 的动态口令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令 中的一个相同,则认为认证成功,否则,认证失败;其中,第二处理单元和令牌采用相同的动 态口令生成算法。或者,如果不进行时间同步,则有第一处理单元,用于当需要进行认证时,从当前时间窗口对应的挑战码组中选择 一个之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用户;第二处理单元,用于根据自身所选择的挑战码生成一个动态口令,并将自身所生 成的动态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败;其中,第二处理单元和令牌采用相同的动态口令生成算法。或者,如果不进行时间同步,则有第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战 码选择指示信息发送给用户;第二处理单元,用于从连续Z个挑战码组对应的挑战码中分别选择出挑战码选择 指示信息所指示的挑战码,并根据所选择的挑战码生成Z个动态口令,将自身生成的动态 口令与接收到的动态口令进行比较,如果接收到的动态口令中的一个与自身生成的动态口 令中的一个相同,则认为认证成功,否则,认证失败;其中,第二处理单元和令牌采用相同的 动态口令生成算法;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。或者,如果不进行时间同步,则有第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战 码选择指示信息发送给用户;第二处理单元,用于从连续Z个时间窗口对应的挑战码组中分别选择出挑战码选 择指示信息所指示的挑战码,并根据所选择的挑战码生成Z个动态口令,将自身生成的动 态口令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令中的 一个相同,则认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态口令 生成算法;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。或者,如果不进行时间同步,则有第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战 码选择指示信息发送给用户;第二处理单元,用于从当前时间窗口对应的挑战码组中选择出挑战码选择指示 信息所指示的挑战码,根据所选择的挑战码生成一个动态口令,并将自身生成的动态口令 与接收到的动态口令进行比较,如果自身生成的动态口令与接收到的动态口令中的一个相 同,则认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态口令生成算法。图8为本发明令牌实施例的组成结构示意图。如图8所示,包括第三处理模块81,用于按照与认证服务器相同的生成方式、以相同的时间周期分 别生成各时间窗口对应的基于时间的挑战码组;第四处理模块82,用于当用户根据接收自认证服务器的挑战码选择指示信息在自 身所显示的当前有效时间窗口对应的挑战码组中选定挑战码后,根据用户选定的挑战码生 成动态口令,并显示给用户;根据挑战码选择指示信息选择出的挑战码为之前未使用过的 挑战码。其中,第三处理模块81可进一步用于,与认证服务器之间进行时间同步,相应地, 所述当前有效时间窗口为当前时间窗口,所述挑战码选择指示信息为一个挑战码或该挑 战码在其挑战码组中的序号;当用户在所显示的当前时间窗口对应的挑战码组中选定挑战 码选择指示信息所指示的挑战码后,第四处理模块82根据用户选定的挑战码生成一个动 态口令,并显示给用户。或者,所述当前有效时间窗口为当前时间窗口 ;所述挑战码选择指示信息为Z个 挑战码,Z为大于1的正整数;当用户在令牌所显示的当前时间窗口对应的挑战码组中选定一个挑战码选择指示信息所指示的挑战码后,第四处理模块82根据用户选定的挑战码生 成一个动态口令,并显示给用户。或者,所述当前有效时间窗口包括连续Z个时间窗口,Z为大于1的正整数,连续 Z个时间窗口中包括当前时间窗口 ;所述挑战码选择指示信息为一个挑战码;当用户在令 牌所显示的连续Z个时间窗口对应的挑战码组中选定挑战码选择指示信息所指示的挑战 码后,第四处理模块82根据用户选定的挑战码生成一个动态口令,并显示给用户。或者,所述当前有效时间窗口包括连续Z个时间窗口,Z为大于1的正整数,连续 Z个时间窗口中包括当前时间窗口 ;所述挑战码选择指示信息为一个序号;当用户在所显 示的连续Z个时间窗口对应的挑战码组中分别选定挑战码选择指示信息所指示的挑战码 后,第四处理模块82根据用户选定的挑战码生成Z个动态口令,并显示给用户。上述系统和装置实施例的具体工作流程请参照各方法实施例中的相应说明,此处 不再赘述。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种基于动态口令的认证方法,其特征在于,包括A、令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成各时间窗口对 应的基于时间的挑战码组;B、当需要进行认证时,认证服务器向用户发送挑战码选择指示信息,根据挑战码选择 指示信息选择出的挑战码为之前未使用过的挑战码;当用户根据挑战码选择指示信息在令牌所显示的当前有效时间窗口对应的挑战码组 中选定挑战码后,令牌根据用户选定的挑战码生成动态口令,并显示给用户;认证服务器接收用户输入的动态口令,并对接收到的动态口令进行认证。
2.根据权利要求1所述的方法,其特征在于,所述生成各时间窗口对应的基于时间的 挑战码组包括针对每个时间窗口 X,分别进行以下处理预先设置序列S= (S1, S2,……,、},N的取值与时间窗口 X对应的挑战码组中包含的 挑战码数相同;以时间窗口 X对应的时间和S1为变化因子,生成第1个挑战码C1,以时间窗 口 X对应的时间和&为变化因子,生成第2个挑战码C2,依次类推,直到得到第N个挑战码 Cn ;或者,以时间窗口 X对应的时间为变化因子,生成第一个挑战码C1,对C1进行哈希运算,将得 到的哈希值作为第2个挑战码C2,对C2进行哈希运算,将得到的哈希值作为第3个挑战码 C3,依次类推,直到得到第N个挑战码Cn ;或者,以时间窗口 X对应的时间为变化因子,生成第一个挑战码C1,对C1进行哈希运算,将得 到的哈希值中的第1 M个比特所对应的值作为第2个挑战码C2,将第M+1 L个比特所 对应的值作为第3个挑战码C3,M和L均为正整数,且M大于1,L大于M+1,依次类推,直到 得到第N个挑战码CN。
3.根据权利要求1所述的方法,其特征在于,所述步骤A之前,进一步包括令牌和认 证服务器之间进行时间同步;所述当前有效时间窗口为当前时间窗口 ;所述步骤B包括当需要进行认证时,认证服务器从当前时间窗口对应的挑战码组中选择一个之前未使 用过的挑战码,将所选择的挑战码或所选择的挑战码在其挑战码组中的序号作为挑战码选 择指示信息发送给用户;当用户在令牌所显示的当前时间窗口对应的挑战码组中选定挑战码选择指示信息所 指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给用户;认证服务器将根据自身所选择的挑战码生成的动态口令与接收到的动态口令进行比 较,如果相同,则认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态 口令生成算法。
4.根据权利要求1所述的方法,其特征在于,所述当前有效时间窗口为当前时间窗 口 ;所述步骤B包括当需要进行认证时,认证服务器从连续Z个时间窗口对应的挑战码组中分别选择一个 之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用户;Z为大 于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;当用户在令牌所显示的当前时间窗口对应的挑战码组中选定一个挑战码选择指示信息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给用户;认证服务器将根据自身所选择的挑战码生成的Z个动态口令与接收到的动态口令进 行比较,如果接收到的动态口令与自身生成的动态口令中的一个相同,则认为认证成功,否 则,认证失败;其中,认证服务器和令牌采用相同的动态口令生成算法。
5.根据权利要求1所述的方法,其特征在于,所述当前有效时间窗口包括连续Z个时 间窗口,Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;所述步骤B包括当需要进行认证时,认证服务器从当前时间窗口对应的挑战码组中选择一个之前未使 用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用户;当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中选定挑战码选择指示信 息所指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给用户;认证服务器将根据自身所选择的挑战码生成的动态口令与接收到的动态口令进行比 较,如果相同,则认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态 口令生成算法。
6.根据权利要求1所述的方法,其特征在于,所述当前有效时间窗口包括连续Z个时 间窗口,Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;所述步骤B包括当需要进行认证时,认证服务器选择一个挑战码序号,将该序号作为挑战码选择指示 信息发送给用户;当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中分别选定挑战码选择指 示信息所指示的挑战码后,令牌根据用户所选定的挑战码生成Z个动态口令,并显示给用 户;认证服务器将根据从连续Z个时间窗口对应的挑战码组中分别选择出的挑战码选择 指示信息所指示的挑战码生成的Z个动态口令与接收到的动态口令进行比较,如果接收到 的动态口令中的一个与自身生成的动态口令中的一个相同,则认为认证成功,否则,认证失 败;其中,认证服务器和令牌采用相同的动态口令生成算法。
7.根据权利要求1所述的方法,其特征在于,所述当前有效时间窗口为当前时间窗 口 ;所述步骤B包括当需要进行认证时,认证服务器选择一个挑战码序号,将该序号作为挑战码选择指示 信息发送给用户;当用户在令牌所显示的当前时间窗口对应的挑战码组中选定挑战码选定指示信息所 指示的挑战码后,令牌根据用户选定的挑战码生成一个动态口令,并显示给用户;认证服务器将根据从连续Z个时间窗口对应的挑战码组中分别选择出的挑战码选择 指示信息所指示的挑战码生成的Z个动态口令与接收到的动态口令进行比较,如果接收到 的动态口令与自身生成的动态口令中的一个相同,则认为认证成功,否则,认证失败;其中, 认证服务器和令牌采用相同的动态口令生成算法;Z为大于1的正整数,连续Z个时间窗口 中包括当前时间窗口。
8.根据权利要求1所述的方法,其特征在于,所述当前有效时间窗口包括连续Z个时 间窗口,Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;所述步骤B包括当需要进行认证时,认证服务器选择一个挑战码序号,将该序号作为挑战码选择指示 信息发送给用户;当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中分别选定挑战码选择指 示信息所指示的挑战码后,令牌根据用户选定的挑战码生成Z个动态口令,并显示给用户;认证服务器将根据从当前时间窗口对应的挑战码组中选择出的挑战码选择指示信息 所指示的挑战码生成的动态口令与接收到的动态口令进行比较,如果自身生成的动态口令 与接收到的动态口令中的一个相同,则认为认证成功,否则,认证失败;其中,认证服务器和 令牌采用相同的动态口令生成算法。
9.一种基于动态口令的认证系统,其特征在于,包括认证服务器和令牌,用于按照相同的生成方式、以相同的时间周期分别生成各时间窗 口对应的基于时间的挑战码组;认证服务器进一步用于,当需要进行认证时,向用户发送挑战码选择指示信息,根据挑 战码选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入的动 态口令进行认证;令牌进一步用于,当用户根据挑战码选择指示信息在自身所显示的当前有效时间窗口 对应的挑战码组中选定挑战码后,根据用户选定的挑战码生成动态口令,并显示给用户。
10.一种认证服务器,其特征在于,包括第一处理模块,用于按照与令牌相同的生成方式、以相同的时间周期分别生成各时间 窗口对应的基于时间的挑战码组;第二处理模块,用于当需要进行认证时,向用户发送挑战码选择指示信息,根据挑战码 选择指示信息选择出的挑战码为之前未使用过的挑战码;并对接收到的用户输入的动态口 令进行认证。
11.根据权利要求10所述的认证服务器,其特征在于,所述第一处理模块进一步用于, 和令牌之间进行时间同步;第二处理模块包括第一处理单元,用于当需要进行认证时,从当前时间窗口对应的挑战码组中选择一个 之前未使用过的挑战码,将所选择的挑战码或所选择的挑战码在其挑战码组中的序号作为 挑战码选择指示信息发送给用户;第二处理单元,用于根据自身所选择的挑战码生成一个动态口令,并将自身生成的动 态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败;其中, 第二处理单元和令牌采用相同的动态口令生成算法。
12.根据权利要求10所述的认证服务器,其特征在于,所述第二处理模块包括第一处理单元,用于当需要进行认证时,从连续Z个时间窗口对应的挑战码组中分别选择一个之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用 户;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;第二处理单元,用于根据自身所选择的挑战码生成Z个动态口令,并将自身生成的动 态口令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令中的 一个相同,则认为认证成功,否则,认证失败;其中,第二处理单元和令牌采用相同的动态口 令生成算法。
13.根据权利要求10所述的认证服务器,其特征在于,所述第二处理模块包括第一处理单元,用于当需要进行认证时,从当前时间窗口对应的挑战码组中选择一个 之前未使用过的挑战码,将所选择的挑战码作为挑战码选择指示信息发送给用户;第二处理单元,用于根据自身所选择的挑战码生成一个动态口令,并将自身生成的动 态口令与接收到的动态口令进行比较,如果相同,则认为认证成功,否则,认证失败;其中, 第二处理单元和令牌采用相同的动态口令生成算法。
14.根据权利要求10所述的认证服务器,其特征在于,所述第二处理模块包括第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战码选 择指示信息发送给用户;第二处理单元,用于从连续Z个时间窗口对应的挑战码组中分别选择出挑战码选择指 示信息所指示的挑战码,并根据所选择的挑战码生成Z个动态口令,将自身生成的动态口 令与接收到的动态口令进行比较,如果接收到的动态口令中的一个与自身生成的动态口令 中的一个相同,则认为认证成功,否则,认证失败;其中,第二处理单元和令牌采用相同的动 态口令生成算法;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。
15.根据权利要求10所述的认证服务器,其特征在于,所述第二处理模块包括第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战码选 择指示信息发送给用户;第二处理单元,用于从连续Z个时间窗口对应的挑战码组中分别选择出挑战码选择指 示信息所指示的挑战码,并根据所选择的挑战码生成Z个动态口令,将自身生成的动态口 令与接收到的动态口令进行比较,如果接收到的动态口令与自身生成的动态口令中的一个 相同,则认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态口令生成 算法;Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口。
16.根据权利要求10所述的认证服务器,其特征在于,所述第二处理模块包括第一处理单元,用于当需要进行认证时,选择一个挑战码序号,将该序号作为挑战码选 择指示信息发送给用户;第二处理单元,用于从当前时间窗口对应的挑战码组中选择出挑战码选择指示信息所 指示的挑战码,根据所选择的挑战码生成一个动态口令,并将自身生成的动态口令与接收 到的动态口令进行比较,如果自身生成的动态口令与接收到的动态口令中的一个相同,则 认为认证成功,否则,认证失败;其中,认证服务器和令牌采用相同的动态口令生成算法。
17.一种令牌,其特征在于,包括第三处理模块,用于按照与认证服务器相同的生成方式、以相同的时间周期分别生成 各时间窗口对应的基于时间的挑战码组;第四处理模块,用于当用户根据接收自认证服务器的挑战码选择指示信息在自身所显 示的当前有效时间窗口对应的挑战码组中选定挑战码后,根据用户选定的挑战码生成动态 口令,并显示给用户;根据挑战码选择指示信息选择出的挑战码为之前未使用过的挑战码。
18.根据权利要求17所述的令牌,其特征在于,所述第三处理模块进一步用于,与认证 服务器之间进行时间同步;所述当前有效时间窗口为当前时间窗口 ;所述挑战码选择指 示信息为一个挑战码或该挑战码在其挑战码组中的序号;当用户在所显示的当前时间窗口对应的挑战码组中选定挑战码选择指示信息所指示 的挑战码后,第四处理模块根据用户选定的挑战码生成一个动态口令,并显示给用户。
19.根据权利要求17所述的令牌,其特征在于,所述当前有效时间窗口为当前时间窗 口 ;所述挑战码选择指示信息为Z个挑战码,Z为大于1的正整数;当用户在令牌所显示的当前时间窗口对应的挑战码组中选定一个挑战码选择指示信 息所指示的挑战码后,第四处理模块根据用户选定的挑战码生成一个动态口令,并显示给 用户。
20.根据权利要求17所述的令牌,其特征在于,所述当前有效时间窗口包括连续Z个 时间窗口,Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;所述挑战码选择 指示信息为一个挑战码;当用户在令牌所显示的连续Z个时间窗口对应的挑战码组中选定挑战码选择指示信 息所指示的挑战码后,第四处理模块根据用户选定的挑战码生成一个动态口令,并显示给 用户。
21.根据权利要求17所述的令牌,其特征在于,所述当前有效时间窗口包括连续Z个 时间窗口,Z为大于1的正整数,连续Z个时间窗口中包括当前时间窗口 ;所述挑战码选择 指示信息为一个序号;当用户在所显示的连续Z个时间窗口对应的挑战码组中分别选定挑战码选择指示信 息所指示的挑战码后,第四处理模块根据用户选定的挑战码生成Z个动态口令,并显示给 用户。
全文摘要
本发明公开了基于动态口令的认证方法、系统和装置令牌和认证服务器按照相同的生成方式、以相同的时间周期分别生成各时间窗口对应的基于时间的挑战码组;当需要进行认证时,认证服务器向用户发送挑战码选择指示信息,根据该信息选择出的挑战码为之前未使用过的挑战码;当用户根据该信息在令牌所显示的当前有效时间窗口对应的挑战码组中选定挑战码后,令牌根据用户选定的挑战码生成动态口令,并显示给用户;认证服务器接收用户输入的动态口令,并对接收到的动态口令进行认证。应用本发明所述方案,能够提高安全性,并能够方便用户使用。
文档编号H04L9/32GK102123148SQ20111004985
公开日2011年7月13日 申请日期2011年3月2日 优先权日2011年3月2日
发明者李东声 申请人:北京天地融科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1