用于在令牌与验证器之间进行认证的网络助手的制作方法

文档序号:7734194阅读:125来源:国知局
专利名称:用于在令牌与验证器之间进行认证的网络助手的制作方法
用于在令牌与验证器之间进行认证的网络助手背景领域本发明涉及安全认证,尤其涉及有限资源设备的认证。背景电子认证典型地涉及某种形式的数字签名或消息认证码,数字签名或消息认证 码分别基于公钥(非对称密钥)或对称密钥密码术方法。公钥和对称密钥方法具有不同 的特性,使得它们适用于不同情景。一般而言,公钥系统在密钥管理和分发方面具有很 大优点,但在计算上是困难的且所生成的数字签名趋于较大。对称密钥方法虽然非常高 效且产生小输出,但具有它们不能同时与多个验证方安全地联用的缺点。有限计算资源和对小输出的需要两者已迫使大多数小认证令牌使用对称密钥密 码术。进而,这意味着令牌只能用于与仅一个验证方进行认证。例如,不同的两方可 能发出带有不同对称密钥的兼容令牌,但它们不能被组合成一个令牌,因为这将必然共 享该对称密钥且这两方可能不信任彼此。在美国银行将实现双因素认证方法的近期宣告 下,用户去任何地方可能都不得不携带多个认证令牌。已提出了基于公钥系统的认证方法,但一个缺点在于它们需要比许多令牌上可 用的计算资源更多的计算资源。即,令牌趋于廉价和/或具有有限的处理资源。向此类 令牌添加更强大的处理器不仅增加成本,而且还导致具有更短的电池寿命。使用公钥系 统的另一个缺点在于数字签名的较长尺寸使得其与键入或读出短数字序列相比不便于实 现。另一类型的认证系统使用受信任第三方来仲裁认证。此类系统的示例是MIT的 Kerberos0然而,依赖于受信任第三方对于诸如银行之类的许多机构而言是交易破坏者, 因为其增加了可能损害安全性的另一个点。因此,需要用于组合公钥和对称密钥系统的优点以提供小且高效的数字签名从 而单个令牌能与多个验证器联用的方式。概述提供了一种在验证器上操作以用于认证令牌的方法。从令牌接收认证请求和令 牌标识符。可获得与该令牌相关联的助手的助手地址。从联网助手获得与该令牌相对应 的多个谜题。谜题可以是包括谜题标识符和谜题机密的经编码消息。伪随机地选择这些 谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标识符。例如,可通过执 行蛮力攻击以找到用来解码所选择的谜题的密钥来求解该谜题。基于谜题机密生成验证 器密钥。随后基于验证器密钥生成质询消息。谜题标识符和质询消息被发送给该令牌。 可从令牌接收证明该令牌具有验证器密钥的知识的响应消息,其中若响应消息成功证明 该令牌知道该验证器密钥则验证器认证该令牌。可存储验证器密钥并将其与令牌标识符 相关联以用作该令牌与该验证器之间的后续认证中的对称密钥。在一个示例中,可伪随机地选择收到谜题中的多个谜题的子集并求解它们以获 得多个谜题机密和相应的谜题标识符。验证器密钥可基于谜题机密的有序集合。连同质询消息一起将与谜题机密的有序集合相对应的谜题标识符的有序集合发送给该令牌。根据另一特征,验证器可生成伪随机一次性数并将其发送给助手以用于从与该 令牌相对应的大量谜题中获得多个谜题。在一种实现中,可将本地计数器与由令牌维护的计数器同步以跟踪在令牌与验 证器之间执行的每次认证,其中后续认证质询消息还基于当前计数器值。因而,可从令 牌接收证明该令牌具有关于验证器密钥和当前计数器值的知识的响应消息。若响应消息 成功证明令牌知道验证器密钥和当前计数器值,则验证器认证该令牌。在另一种实现中,可维护生成时戳的定时器,其中后续认证质询消息还基于当 前时戳。可从令牌接收证明该令牌具有关于验证器密钥和当前时戳的知识的响应消息。 若响应消息成功证明令牌知道验证器密钥和当前时戳,则验证器认证该令牌。一种用于认证令牌的验证器设备,包括耦合到处理电路的第一和第二通信接 口。第一通信接口具有至网络的高带宽。第二通信接口具有用于与令牌通信的低带宽。 处理电路配置成(a)在第二通信接口上从令牌接收认证请求和令牌标识符;(b)获得与 该令牌相关联的助手的助手地址;(c)在第一通信接口上从助手获得与该令牌相对应的多 个谜题;(d)伪随机地选择这些谜题中的一个谜题并求解该谜题以获得谜题机密和相应 的谜题标识符;(e)基于谜题机密生成验证器密钥;(f)基于验证器密钥生成质询消息; (g)经由第二通信接口将谜题标识符和质询消息发送给令牌;和/或(h)从令牌接收证明 该令牌具有关于验证器密钥的知识的响应消息。若响应消息成功证明令牌知道验证器密 钥,则验证器设备认证该令牌。验证器设备还可包括耦合到处理电路的用于存储验证器密钥的存储设备。处理 电路可被进一步配置成将验证器密钥与令牌标识符相关联以用作该令牌与该验证器之间 的后续认证中的对称密钥。在一些实施例中,该处理电路可被进一步配置成(a)伪随机地选择收到谜题中 的多个谜题的子集并求解它们以获得多个谜题机密和相应的谜题标识符(其中验证器密 钥还可基于谜题机密的有序集合);以及(b)连同质询消息一起将与谜题机密的有序集合 相对应的谜题标识符的有序集合发送给令牌。在一种实现中,可将本地计数器与由令牌维护的计数器同步以跟踪在令牌与验 证器之间执行的每次认证。后续认证质询消息还可基于当前计数器值。因而,可从令牌 接收证明该令牌具有关于验证器密钥和当前计数器值的知识的响应消息。若响应消息成 功证明令牌独立地知道验证器密钥和当前计数器值,则验证器认证该令牌。在另一种实现中,维护生成时戳的定时器。后续认证质询消息还可基于当前时 戳。因而,可从令牌接收证明该令牌具有关于验证器密钥和当前时戳的知识的响应消 息。若响应消息成功证明令牌独立地知道验证器密钥和当前时戳,则验证器认证该令 牌。因而,提供了一种用于认证令牌的验证器设备,包括(a)用于从令牌接收认证 请求和令牌标识符的装置;(b)用于获得与该令牌相关联的助手的助手地址的装置;(C) 用于从联网助手获得与该令牌相对应的多个谜题的装置;(d)用于伪随机地选择这些谜 题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标识符的装置;(e)用于基于 谜题机密生成验证器密钥的装置;(f)用于基于验证器密钥生成质询消息的装置;(g)用于将谜题标识符和质询消息发送给令牌的装置;和/或(h)用于从令牌接收证明该令牌具 有关于验证器密钥的知识的响应消息的装置,其中若响应消息成功证明该令牌知道验证 器密钥则验证器认证该令牌。另外,验证器设备还可包括ω用于存储验证器密钥的装 置;(j)用于将验证器密钥与令牌标识符相关联以用作该令牌与该验证器之间的后续认证 中的对称密钥的装置;(k)用于伪随机地选择收到谜题中的多个谜题的子集并求解它们 以获得多个谜题机密和相应的谜题标识符的装置(其中验证器密钥还可基于谜题机密的 有序集合);和/或⑴用于连同质询消息一起将与谜题机密的有序集合相对应的谜题标 识符的有序集合发送给令牌的装置。还提供了一种包括处理电路的处理设备,该处理电路被配置成(a)在第一通信 接口上从令牌接收认证请求和令牌标识符;(b)在第二通信接口上从助手获得与该令牌 相对应的多个谜题;(C)伪随机地选择这些谜题中的一个谜题并求解该谜题以获得谜题机 密和相应的谜题标识符;(d)基于谜题机密生成验证器密钥;(e)基于验证器密钥生成质 询消息;(f)经由第一通信接口将谜题标识符和质询消息发送给令牌;和/或(g)将验证 器密钥与令牌标识符相关联以用作该令牌与该验证器之间的后续认证中的对称密钥。还公开了一种具有用于向验证器认证令牌的一条或更多条指令的机器可读介 质,这些指令在由处理器执行时使该处理器(a)从联网助手获得与令牌相对应的多个谜 题;(b)伪随机地选择这些谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜 题标识符;(c)基于谜题机密生成验证器密钥;(d)基于验证器密钥生成质询消息;(e) 将谜题标识符和质询消息发送给令牌;(f)从令牌接收证明该令牌具有关于验证器密钥 的知识的响应消息(其中若响应消息成功证明该令牌知道验证器密钥则验证器认证该令 牌);和/或(g)将验证器密钥与令牌标识符相关联以用作该令牌与该验证器之间的后续 认证中的对称密钥。还提供了一种在令牌上操作以用于向验证器认证该令牌的方法。向令牌供应机 密密钥、令牌标识符、以及一个或更多个谜题生成算法。通过将令牌标识符提供给验证 器来发起对该令牌的认证。从验证器接收质询消息,该质询消息包括一个或更多个谜题 标识符以及基于第一验证器密钥的消息认证码。第一验证器密钥可以是与由该一个或更 多个谜题标识符所标识的一个或更多个谜题相关联的一个或更多个谜题机密的函数。令 牌基于该一个或更多个谜题生成算法、接收到的一个或更多个谜题标识符、以及机密密 钥独立地获得该一个或更多个谜题机密。令牌基于该一个或更多个谜题机密生成第二验 证器密钥。令牌验证接收到的消息认证码以确定第一验证器密钥和第二验证器密钥是否 相同。若第一和第二验证器密钥相同,则存储第二验证器密钥并将其与该验证器相关 联。令牌可基于第二验证器密钥生成对验证器的响应消息,该响应消息指示该令牌知道 第一验证器密钥。可由令牌向验证器提供存储与该令牌相关联的多个谜题的助手的助手 地址。令牌可从验证器接收多个有序谜题标识符,其中第一验证器密钥是与这多个有序 谜题标识符相关联的相应的多个有序谜题机密的函数。可基于这一个或更多个谜题生成 算法、接收到的谜题标识符、以及机密密钥获得这多个有序谜题机密。第一和第二验证 器密钥还可基于这多个有序谜题机密。以此方式,可建立与不同验证器的多个安全的验 证器密钥。可将这些验证器密钥中的每一个与相应的验证器相关联以用作令牌与不同验 证器之间的对称密钥认证。
在一种实现中,可将本地计数器与由验证器维护的计数器同步以跟踪在令牌与 验证器之间执行的每次认证。后续收到消息认证码还可基于当前计数器值。可向验证器 发送证明令牌具有关于验证器密钥和当前计数器值的知识的响应消息。在另一种实现中,维护用于生成时戳的定时器。因而,后续收到消息认证码还 可基于当前时戳。可向验证器发送证明令牌具有关于验证器密钥和当前时戳的知识的响 应消息。
提供了一种令牌,包括第一通信接口和处理电路。第一通信接口具有用于与 验证器通信的低带宽。处理电路配置成(a)接收机密密钥、令牌标识符、以及一个或更 多个谜题生成算法;(b)通过将令牌标识符提供给验证器来发起对令牌的认证;(C)从验 证器接收质询消息,该质询消息包括谜题标识符以及基于第一验证器密钥的消息认证码 (其中第一验证器密钥是与由谜题标识符所标识的谜题相关联的第一谜题机密的函数); (d)基于该一个或更多个谜题生成算法、接收到的谜题标识符、以及机密密钥独立地获得 第一谜题机密;(e)基于谜题机密生成第二验证器密钥;和/或(f)验证接收到的消息 认证码以确定第一验证器密钥和第二验证器密钥是否相同。若第一和第二验证器密钥相 同,则处理电路可将第二验证器密钥与该验证器相关联。可基于第二验证器密钥生成对 验证器的响应消息,该响应消息指示令牌知道第一验证器密钥。因而,提供了一种用于与验证器进行认证的令牌,包括ω用于向令牌供应机 密密钥、令牌标识符、以及一个或更多个谜题生成算法的装置;(b)用于通过将令牌标 识符提供给验证器来发起对令牌的认证的装置;(C)用于从验证器接收质询消息的装置, 该质询消息包括谜题标识符以及基于第一验证器密钥的消息认证码(其中第一验证器密 钥是与由谜题标识符所标识的谜题相关联的第一谜题机密的函数);(d)用于基于该一个 或更多个谜题生成算法、接收到的谜题标识符、以及机密密钥独立地获得第一谜题机密 的装置;(e)用于基于谜题机密生成第二验证器密钥的装置;(f)用于验证接收到的消息 认证码以确定第一验证器密钥和第二验证器密钥是否相同的装置;(g)用于若第一和第 二验证器密钥相同则存储第二验证器密钥并将其与验证器相关联的装置;和/或(h)用于 从令牌向验证器提供存储与该令牌相关联的多个谜题的助手的助手地址的装置。还提供了一种包括处理电路的处理设备,该处理电路被配置成(a)接收机密密 钥、令牌标识符、以及一个或更多个谜题生成算法;(b)通过将令牌标识符提供给验证 器来发起对令牌的认证;(C)从验证器接收质询消息,该质询消息包括谜题标识符以及基 于第一验证器密钥的消息认证码(其中第一验证器密钥是与由谜题标识符所标识的谜题 相关联的第一谜题机密的函数);(d)基于该一个或更多个谜题生成算法、接收到的谜题 标识符、以及机密密钥独立地获得第一谜题机密;(e)基于谜题机密生成第二验证器密 钥;(f)验证接收到的消息认证码以确定第一验证器密钥和第二验证器密钥是否相同;和 /或(g)基于第二验证器密钥生成对验证器的响应消息,该响应消息指示令牌知道第一验 证器密钥。提供了一种具有用于向验证器认证令牌的一条或更多条指令的机器可读介质, 这些指令在由处理器执行时使处理器(a)向令牌供应机密密钥、令牌标识符、以及一个 或更多个谜题生成算法;(b)通过将令牌标识符提供给验证器来发起对令牌的认证;(C) 从验证器接收质询消息,该质询消息包括谜题标识符以及基于第一验证器密钥的消息认证码(其中第一验证器密钥是与由谜题标识符所标识的谜题相关联的第一谜题机密的函 数);(d)基于该一个或更多个谜题生成算法、接收到的谜题标识符、以及机密密钥独立 地获得第一谜题机密;(e)基于谜题机密生成第二验证器密钥;(f)验证接收到的消息认 证码以确定第一验证器密钥和第二验证器密钥是否相同;和/或(g)若第一和第二验证器 密钥相同,则存储第二验证器密钥并将其与该验证器相关联。附图简述

图1是解说在一个示例中可如何向令牌供应机密密钥以及可如何生成与令牌相 关联的谜题的框图。图2解说了根据一个示例的可在供应设备上操作以生成机密密钥并向令牌分发 机密密钥以及生成与该机密密钥相关联的多个谜题的方法。图3解说了令牌、验证器设备、以及助手设备在令牌的初始认证期间可如何操作。图4解说了用于在助手的辅助下在令牌与验证器之间进行初始认证的方法。图5解说了用于在令牌和验证器之间执行后续认证的方法。图6解说了用于使用计数器在令牌和验证器之间执行认证的方法。图7解说了用于使用定时器在令牌和验证器之间执行认证的方法。图8是解说令牌可如何存储多个验证器密钥以与多个不同验证器进行认证的框 图。图9解说了可在令牌上操作以使用对称密钥与多个不同验证器执行安全认证的 方法。图10是解说配置成在助手的辅助下建立对称密钥以认证令牌的验证器的框图。图11解说了可在验证器上操作以在助手的辅助下执行对令牌的安全认证的方法。图12是解说配置成辅助验证器建立用于认证令牌的对称密钥的助手的框图。图13解说了可在助手上操作以辅助验证器认证令牌的方法。详细描述在以下描述中,给出了具体细节以提供对诸实施例的透彻理解。但是,本领域 普通技术人员将可理解,没有这些具体细节也可实践这些实施例。例如,电路可能以框 图形式示出,或可能根本不被示出,以免使这些实施例湮没在不必要的细节中。在其它 实例中,公知的电路、结构和技术可能不被具体示出以免湮没这些实施例。还应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的 过程来描述的。尽管流图可能会把诸操作描述为顺序过程,但是这些操作中有许多能够 并行或并发执行。另外,这些操作的次序可以被重新安排。过程在其操作完成时终止。 过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止 对应于该函数返回到调用方函数或主函数。此外,存储介质可表示用于存储数据的一个或多个设备,包括只读存储器 (ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或其他 用于存储信息的机器可读介质。术语“机器可读介质”包括,但不限于,便携或固定的 存储设备、光存储设备、无线信道以及能够存储、包含或承载指令和/或数据的各种其他介质。此外,诸实施例可由硬件、软件、固件、中间件、微代码、或其组合来实现。 当在软件、固件、中间件、或微代码中实现时,用于执行必要任务的程序代码或代码段 可被存储在诸如存储介质或其他存储装置等的机器可读介质中。处理器可以执行这些必 要的任务。代码段可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、 类、或是指令、数据结构、或程序语句的组合。通过传递和/或接收信息、数据、自变 量、参数、或存储器内容,一代码段可被耦合到另一代码段或硬件电路。信息、自变 量、参数、数据等可经由包括存储器共享、消息传递、令牌传递、以及网络传输等合适 的手段被传递、转发、或传输。
术语“令牌”是指与被授权用户相关联以帮助进行认证的具有有限的处理和/ 或通信资源的物理设备。术语“验证器”是指执行对令牌的认证的设备、实体、和/或 虚拟对象(例如,软件程序等)。术语“助手”是指辅助验证器认证令牌的设备、实体、 和/或虚拟对象(例如,软件程序等)。一个方面提供了促成建立用于在令牌和验证器之间进行认证的对称密钥的联网 助手。验证器利用助手来辅助验证器获得对称密钥,但助手自己不能获得该对称密钥。 该方法可涉及三个阶段供应、初始认证、以及后续认证。另一个方面提供了允许令牌和验证器商定用于在令牌和验证器之间进行认证的 安全对称密钥的基于谜题的协议。在供应阶段,向具有低带宽接口的小型低功率便携式令牌提供机密密钥,该机 密密钥可被用来与多个不同验证器认证相关联的用户。供应阶段还可涉及生成与指派给 该令牌的机密密钥相关联的多个谜题并将这些谜题分发给第三方助手。在初始认证阶段,通过使令牌和验证器能协商共享对称密钥的方式将令牌插入 验证器。验证器接收令牌标识符,验证器能使用该令牌标识符从助手获得与该令牌相关 联的随机的多个谜题。验证器随后通过蛮力来求解或解密这些谜题中的至少一个以获得 相关联的谜题机密和谜题标识符。验证器至少部分地基于谜题机密以及从求解出的谜题 获得的其他信息生成验证器密钥。验证器将谜题标识符以及验证器密钥的消息认证码提 供给令牌。令牌使用接收到的谜题标识符来检索相关联的谜题机密并生成验证器密钥的 本地版本。令牌随后可(至少部分地基于谜题标识符和本地验证器密钥)生成消息认证 码的本地版本以及确定它是否匹配于接收到的消息认证码。若本地消息认证码与接收到 的消息认证码匹配,则该验证器密钥可被用作令牌与验证器之间的对称密钥。此后,在后续认证阶段,可使用较短的且基于全对称密钥的过程进行重新认 证。例如,先前生成的验证器密钥(在初始认证阶段期间获得的)可被令牌和验证器用 于进行认证。以此方式,令牌、验证器和助手组合了对称密钥和公钥方法并在验证器和 助手之间拆分对公钥数字签名的实现。助手执行受信任第三方的一些功能,但它不知道 机密对称密钥且损害助手不允许认证欺骗。该认证系统提供了基于全公钥的系统的大多 数功能,但实际的令牌在供应之后仅使用少量处理资源和带宽。供应密钥以及生成谜题数据库图1是解说在一个示例中可如何向令牌供应机密密钥以及可如何生成与令牌相 关联的谜题的框图。供应设备102可由制造商或分销商操作以配置令牌。供应设备102包括生成机密密钥的伪随机密钥生成器106。在令牌110的制造、建立、或初始化期间, 供应设备102可生成机密密钥108并将机密密钥108分发给令牌110,机密密钥108在令 牌110上被存储在密钥存储设备112 (例如,存储器)中。令牌110还可存储一个或更多 个谜题生成算法,令牌110可使用该算法利用其机密密钥来重新生成谜题。此外,机密 密钥108被用于对谜题生成器114作种。谜题生成器114被配置成使用机密密钥108来生 成多个谜题(例如,消息)并将这些谜题提供给谜题数据库116 (诸如第三方助手)。在 一个示例中,每个谜题可包括谜题机密和唯一性谜题标识符。谜题在被存储到谜题数据 库116之前可被加密。机密密钥108可被供应设备102破坏,以使得该机密密钥108不 能被用来损害令牌110。在替换实现中,供应设备102可以不生成机密密钥。作为替代,通过其他手段 预先向令牌110供应机密密钥并且将令牌110耦合到供应设备足够久以临时提供用来生成 与该令牌相关联的多个谜题的该机密密钥。图2解说了根据一个示例的可在供应设备上操作以生成机密密钥并向 令牌分发 机密密钥以及生成与该机密密钥相关联的多个谜题的方法。获得伪随机机密密钥(202)。 该机密密钥可由令牌提供或由供应设备生成。例如,接受私钥和一次性数(nonce)作为 输入的伪随机生成器(PRG)可被用来生成作为任意长的看似随机的比特串的伪随机机密 密钥。诸如非线性SOBER(NLS)之类的安全流密码可被用来实例化该PRG,尽管存在 许多替换方案。生成与该机密密钥相关联的多个谜题(例如,加密消息)(204)。将机密密钥提 供给外部令牌设备(206)。这多个谜题还被发送给外部助手设备(208),这些谜题被存储 在该外部助手设备上。供应设备随后丢弃该机密密钥(210)。所生成的以及被提供给助手的谜题数量可能很大(例如,几千、几百万等)。供 应设备102可基于提供给令牌110的机密密钥算法地生成这些谜题。因此,令牌自己无 需存储所有谜题,因为它能按需重新产生特定谜题。然而,不向助手给予机密密钥,因 此助手需要存储与令牌相关联的所有谜题。存在至少两种相异方式可实现此举。在谜题数据库116被创建之后,其被传达给助手。在一些实现中,供应者和助 手可以是相同的设备。在替换实现中,包含谜题数据库的存储介质(例如,盘)可被分 发相关联的令牌。最终用户随后可选取恰适的助手并将谜题数据库(从存储介质)分发 给该助手。助手可被告知(与收到的谜题数据库相对应的)用户的身份和/或令牌标识 符,从而它在从验证器接收到对谜题的请求时能标识要发送哪些谜题。在各种应用中,多个助手可接收令牌的谜题数据库,藉此提供冗余和缩放。助 手可存储多个不同令牌的谜题数据库。谜题生成通过创建大量谜题,每个谜题有适量的难度,就使得验证器有可能以适量的计 算努力解出该谜题。谜题可以为用未知谜题密钥(PK)编码的消息的形式,该PK短至足 以允许验证器进行蛮力攻击。谜题可按随机次序生成。每个谜题可包括谜题标识符字段(PID)、谜题机密密 钥(PS)、以及谜题消息认证码(PM)字段。谜题标识符(PID)可在可能的谜题数目的范 围内随机地生成。在一个示例中,PID可为32位。谜题机密(PS)可以是满强度密码密钥(例如,128位)。在一个示例中,PS可(在令牌302或供应设备102中)由谜题 生成函数或算法(PGF)基于令牌机密密钥(SK)和/或谜题标识符(PID)来计算(即, PGF(SK, PID))。谜题消息认证码(PM)可被定义为PS和PID的消息认证码(即, PM(PS, PID)),允许验证器知晓其何时已成功“破解”或解密出谜题。即,验证器将 通过标识PID或指示该谜题已被成功解出的其他某个标志、标记或比特序列而知晓谜题 是否被成功解密。在分发给助手之前,可使用由令牌或供应设备随机地生成的唯一性的有限强度 的谜题密钥(PK)来加密谜题。该加密的强度以及要生成多少谜题只取决于助手谜题数据 库有多大可能被损害。若非法访问或未授权访问被认为是不大可能的,则谜题加密可以 完全不存在,且每个潜在验证器可使用较少谜题。使用该谜题系统在助手被损害的情况下给出一定的额外安全性。此类安全性可 基于用于特定令牌的谜题的复杂性和数量。例如,大量容易解密的谜题可用于特定令 牌,其中该安全性是由验证器选择的谜题、或谜题组合提供的。一旦验证器破坏或解出 (从接收自助手的大量谜题)随机地选择的一个或多个谜题,它就能获得每 个所选谜题的 PID和PS。验证器可基于与发送给令牌的PID相对应的谜题机密(PS)生成会话密钥或 验证器密钥(VK)。在已接收到来自验证器的PID的情况下,令牌也能生成会话密钥或 验证器密钥(VK)。因此,验证器和令牌两者能安全地商定公共的对称密钥。窃听者或 受损助手要确定会话密钥或验证器密钥(VK)的任务更艰难,因为它不知晓验证器解出了 哪个(些)谜题。窃听者或助手最多可寻求解出与特定令牌相关联的所有谜题,但由于 有太多谜题(例如,几百万),因此这有额外的大量计算成本。初始认证阶段—旦向令牌供应了机密密钥并且助手设备已获得相关联的谜题,就可在助手设 备的辅助下在令牌与验证器设备之间的执行认证。用于初始在令牌与特定验证器之间进 行认证的过程对于验证器而言是计算密集的,可能大于传统的公钥系统。因此,在一种 实现中,初始认证阶段可被用于将令牌“引入”验证器,从而使得令牌和验证器能协商 共享对称密钥。此后,可对后续认证(重新认证)使用较短的且基于全对称密钥的过程。图3解说了令牌302、验证器设备304、以及助手设备306在令牌302的初始认 证期间可如何操作。令牌302可以是包括有限处理电路308、存储设备310以及低带宽不 安全通信接口 312的设备,存储设备310用于存储机密密钥(SK)、令牌ID、验证器密钥 VK以及谜题生成算法或函数。该低带宽接口可以简单为数字按键板和8位显示器,范围 贯穿比如USB、蓝牙、近场通信和蜂窝/LDC等事物。验证器304可以是包括比令牌具有显著更多的处理资源的处理电路314、用于存 储验证器密钥和相关联的令牌ID的存储设备315、以及高带宽安全通信接口 316。助手 306可以是包括处理电路318、用于存储与令牌302相关联的多个谜题的存储设备320、以 及高带宽安全通信接口 322的设备、实体和/或虚拟物体。当用户尝试使用令牌302来向验证器304认证他/她自己时,令牌向验证器304 发送认证请求(带有令牌ID)。验证器304和助手306可被耦合到高带宽网络(例如,因 特网、私有网络等),它们可通过该网络来传达和/或交换数据。验证器304从助手306 请求(与该令牌ID相关联的)多个谜题。助手306通过将一组伪随机地选择的(与接收到的令牌ID相关联的)谜题发送给验证器304来响应。在一些实现中,助手306和验证 器304可使用诸如传输层安全(TLS)协议或安全网际协议(IPsec)之类的公知安全协议跨 开放式因特网通信以保护其交互的安全。验证器304随后选择收到谜题中的一个或更多个谜题并通过蛮力攻击来解密 或破解它。一旦解密或破解出该谜题,验证器就从该谜题获得谜题机密(PS)和谜题 ID (PID)。验证器304基于谜题机密(PS)生成验证器密钥(VKv)。验证器304将谜题 ID(PID)以及验证器密钥(VKv)的消息认证码(MAC)发送给令牌302。令牌302使用 收到PID及其预存的机密密钥(SK)和谜题生成算法来获得该PID的谜题机密。令牌302 随后可使用该谜题机密重新生成其自己的本地验证器密钥(VKt)。这些验证器密钥应当 匹配(VKt = VKv),这允许将验证器密钥VK用作令牌302与验证器304之间的认证的 对称密钥。令牌302可存储验证器密钥(VK)供将来与验证器304进行认证。注意,在一些实现中,验证器304可破坏、破解或解密多个谜题以获得多个谜 题机密和谜题标识符。验证器密钥(VKv)可基于这多个谜题机密来生成,藉此获得额外 强度。相应的谜题标识符被发送给令牌302,令牌302随后可使用这些谜题标识符来生成 其本地验证器密钥(VKt)。 图4解说了用于在助手的辅助下在令牌与验证器之间进行初始认证的方法。向 令牌402供应机密密钥(SKl)。当用户希望执行涉及认证的安全交易时,可以使用令牌 402通过发送认证请求412连同令牌标识符(令牌ID)来发起与验证器404的认证。认 证助手406可被令牌402 (或令牌的用户)标识或被标识为默认。例如,令牌402或用户 可向验证器404提供其内存储了该令牌的谜题的助手406的联系信息。验证器404可与助手406建立安全和/或经认证连接。验证器404还可生成第 一个随机一次性数(Noncel) (414)。令牌ID和Noncel随后被发送给助手406。先前已被供应令牌402的谜题数据库410的助手406使用令牌ID从谜题数据库 410选择谜题。在一种实现中,助手406可使用该第一个一次性数(Noncel)来选择与令 牌402相关联的N个谜题418的伪随机选择(集合)(其中N为2与几百万之间的整数) 并将它们返回给验证器(420)。若Nancel是由验证器404提供的,则助手406可提供对 该谜题集合是在收到Nancel的影响下选择的证明。验证器404与406之间的连接随后可 被关闭或终止。验证器404选择收到谜题中的一个或更多个(422)。在一些实现中,选择t个谜 题的随机序列,其中t>= 1且t是所有收到谜题的子集。若助手406被损害,那么使用 的谜题越多,获得的安全性越高,因为助手406和攻击者不知道将使用哪t个谜题或者按 什么次序(序列)组合它们以生成验证器密钥。在所选谜题被加密的场合,它们可被验证器404 (例如,使用蛮力攻击技术)解出 (解密或破解)以获得关于每个所选谜题的谜题标识符(PID)和谜题机密(PS) (424)。
验证器404基于谜题机密(PS)以及可能还有第二个伪随机一次性数(Nonce2) 426 来演算验证器密钥(VK9^g) (428)。例如,可使用散列函数H(例如,安全散列算法 SHA-256等)生成验证器密钥VK验证器=H(Nonce2,PS)。在一些实现中,使用多个谜题以 得到额外安全性,以使得谜题机密PS^ PS2...、卩、被并入机密密钥VK验证器=H(Nonce2, PS1,…,PSt)。验证器406向令牌402发送消息,其中该消息可包括该第二个一次性数(Nonce2)和有t个PID的有序列表(430)。验证器404还可发送消息认证码(MAC),消息 认证码(MAC)取机密验证器密钥(VKffis)和该消息作为输入并输出标签MAC (VKffi , Nonce2, PID) (430)。验证器404还可存储与该用户相关联的验证器VK9iiss以用于后续认 证(432)。一旦从验证器404接收到PID和MAC,令牌402就基于接收到的PID重新生成 解出谜题的谜题机密PS (434)。例如,令牌402可使用其机密密钥(SKl)和谜题生成算 法来获得所标识PID的谜题机密PS。令牌402随后基于谜题机密PS和该第二个一次性数 (Nonce2)生成本地验证器密钥VK令牌(436)。它对照本地MAC (VK令牌,Nonce2,PID) 来验证接收到的消息认证码MAC (VK9sk, Nonce2, PID) (438)。若这些MAC不等同, 则指示出错,从而指示对收到MAC(VK9si ,Nonce2, PID)和/或消息内容的篡改(或 意外讹误)。令牌402还核查其尚未存储相同的验证器密钥VK,以防止重放攻击。假 定成功,则令牌402在自由隙中存储VK(440)。S卩,令牌402可按隙来组织(用于不同 应用或验证器的)验证器密钥。用户可与验证器密钥VK相关联地对隙编号作出标注或 向隙指派名称,供以后选择或显示。
令牌402生成其认证响应(很大程度上如以下描述的后续认证阶段中一样)并将 其发送给验证器(442)。验证器404接收应当正确的响应并将该账户标记为使用就绪。后续认证阶段一旦已在令牌与特定验证器之间建立了验证器密钥(VK),就可在它们之间的后 续认证请求中使用该验证器密钥(VK)。验证器密钥(VK)在令牌与验证器之间保持机密 并被保护。它可被用作令牌与验证器之间的质询-响应认证过程中的对称密钥。在一些 实现中,验证器密钥(VK)还可用于通信隐私以加密两个设备之间的消息。图5解说了用于在令牌和验证器之间执行后续认证的方法。先前可能已在令 牌502与验证器504之间建立了安全的验证器密钥VKa 506和508。该验证器密钥VKa 可能专属于令牌502与验证器504之间的关系且不适用于其他验证器。令牌502向验 证器504发送带有其令牌ID的认证请求510 (这可能是隐式的,例如客户要求银行柜员 执行交易)。验证器504使用该令牌ID来标识关于令牌502的先前建立的验证器密钥 VKa 508。验证器504生成质询和MAC (VKa,质询)(512)。该质询可以是任意的或伪 随机的数字、串和/或比特或符号序列。该质询和MAC(VKa,质询)随后被发送给令 牌(514)。使用接收到的质询以及其先前存储的验证器密钥VKa 506,令牌502可验证 MAC (VKa,质询)(516)。S卩,令牌502验证接收到的MAC (VKa,质询)是否与本地演 算出的MAC (VKa,质询)相同。在一种实现中,令牌502可能具有关于它正向哪个验证器发送认证请求510的 知识。例如,用户可标识令牌502将使用的(与特定验证器相关联的)验证器密钥VKa 506。在此类实现中,在验证收到的MAC (VKa,质询)时,令牌502简单地使用它已被 告知要使用的验证器密钥VKa 506。在其他实现中,令牌502可能不知晓它正与哪个验证器通信。在此类情形中, 令牌可简单地尝试对照其存储的验证器密钥中的每一个来验证接收到的MAC(VKa,质 询)。若所存储的验证器密钥之一生成相同的MAC,则其被假定为正确的验证器密钥。一旦验证器密钥VKa已被认证,令牌502就向验证器504发送响应和MAC (VKa,响应)518。该响应可以是任意的或伪随机的数字、串和/或比特或符号序 列。质询和响应被选择成彼此相异,从而令牌与验证器之间的各消息不相同。一般而 言,出于安全性起见,响应可与原始发出的质询有关但不相同。例如,响应可以是比收 到质询串大1的串;在此类情形中,响应本身无需被传送。验证器504可通过使用其已知 的验证器密钥VKa 508和收到响应来验证收到的MAC (VKa,响应)(520)。若接收MAC 匹配验证器504演算出的本地MAC,则认证完成。随后可由令牌502、验证器504或这 两者建立会话密钥(522)。为了防止其中窃听者尝试重用先前使用的会话密钥的重放攻击,令牌可实现安 全性机制。例如,各种令牌可实现序列计数器或时戳以证明认证。计数器或时戳按照只 有知晓验证器密钥VK的各方才能预测的方式改变。因此,已获得来自令牌的先前MAC 响应或已获得会话密钥的窃听者不能重用它。用序列计数器讲行认证
图6解说了用于使用计数器在令牌和验证器之间执行认证的方法。在令牌602 和验证器604两者上供应验证器密钥VKa 606和608以及相关联的顺序计数器“计数器_ VKa 610”和“计数!_VKa612”。可能先前已在令牌602和验证器604之间安排和/ 或同步验证器密钥VKa 606和608以及顺序计数器“计数器VKa 610”和“计数器VKa 612”。例如,当首次在令牌602和验证器604之间建立验证器密钥VKa时,令牌602 和验证器604可同步其计数器610和612。在未授权方尝试佯装令牌602和/或验证器 604的情形中,计数器610和612被用作安全性措施。在未授权方尝试佯装令牌602和/ 或验证器604的情形中,(令牌602上的)计数器VKa 610和(验证器604上的)计数器 VKa 612被用作安全性措施。令牌通过发送带有其令牌ID的认证请求614来发起交易。一旦接收到认证请 求,验证器604就使用该令牌ID来标识与令牌602相关联的验证器密钥VKa 608。它 随后选择与验证器密钥VKa 608相对应的计数器VKa 612。计数器VKa在验证器604处 被递增固定的增量(616)以获得计数器VKa’。生成质询以及含验证器密钥VKa、计 数器VKa’和质询的消息认证码(MAC(VKa,计数器VKa’,质询))(618)。该质询 和MAC(VKa,计数器VKa’,质询)从验证器被发送给令牌(620)。对于由令牌602 存储的每个验证器密钥VKn,a)检索相关联的计数器VKn(其中l^t^N,且N是该令 牌所存储的验证器密钥的总数)(622),b)针对每个验证器密钥VKn和计数器VKn演 算MAC (VKn,计数器VKn+i,质询)(其中例如1 5),c)若演算出的MAC与接收到 MAC—致,则假定所选验证器密钥(即,VKa)是正确的。在一些实现中,质询可以是 已知数字、串、或比特序列,从而每个验证器密钥VKn的MAC可被预先演算和存储以获 得更快速的响应。一旦找到正确的验证器密钥VKa,令牌602就更新其计数器VKa,=计数器 VKa+增量(628)。因此,令牌602和验证器604两者维护同步的计数器。令牌随后演 算响应和MAC(VKa,计数器VKa’,响应)(630)并将其发送给验证器(632)。验证器604使用其自己的VKa和计数器VKa’以及接收到的响应来验证接收到 的MAC(VKa,计数器VKa’,响应)。若接收到的MAC被成功验证,则令牌602被视 为得到认证。令牌602和验证器604两者可演算会话密钥=MAC (VK,计数器VKa,,“K”)(636和638),其中“K”可以是令牌602和验证器604两者已知或能确定的机密 密钥或预先安排的值。注意,若令牌602接收到来自攻击者的随机质询,它将不能找到相应的验证器 密钥VK,这指示出错,并且认证失败。用时戳讲行认证图7解说了用于使用定时器在令牌和验证器之间执行认证的方法。该方法通过 使用户向令牌标识验证器来简化了认证协议,藉此避免了对来自验证器704的(用于标识 该验证器的)质询的需要。该特征也可在其他协议(诸如以上描述的基于计数器的认证 协议)中实现以减少认证步骤的数量。该方法假定令牌702和验证器704能维护具有合 理准确性的同步定时器T令牌710和T验证器712 (例如,协调世界时UTC)。例如,令牌702 可具有在供应期间被同步或初始化的定时器T^$710。验证器704可具有用来同步和/或 维护其定时器的网络连接。令牌702可(从用户或以其他方式)接收标识正用 来认证令牌的验证器704的指示714。例如,用户可选择先前与特定验证器704相关联的 特定名称或验证器密钥VKa 706。以此方式,令牌702可获得先前与验证器704相关联的 恰适验证器密钥VKa 706。令牌生成响应和MAC (VKa,时戳,响应)(716)并将其发送 给验证器(718)。该响应中使用的时戳是从定时器获得的。响应、MAC(VKa, 时戳,响应)以及令牌ID被发送给验证器(718)以认证该令牌。验证器通过检索(与令牌ID相对应的)验证器密钥VKa 708并使用定时器T验证 #712 (以获得时戳)和收到的响应以计算MAC的本地版本来验证接收到的MAC (VKa, 时戳,响应)(720)。时戳的分辨率可被调整以容适定时器和之间的 小变动或者令牌702生成MAC的时间与将MAC提供给验证器702的时间之间的延迟。 例如,时戳可具有+/-30秒的分辨率或其他某个时间窗。在一些实现中,令牌702和/或验证器704可演算MAC (VK,时戳,会话密钥) (722和724)以供用作特定交易期间的会话密钥,其中会话密钥是令牌702和验证器704 两者已知或能确定的伪随机的或任意的数字、串、和/或比特序列。注意,通过不接收来自验证器704的质询,令牌不知晓验证器是否是名副其实 的。因此,可依赖于用户向受信任验证器呈现令牌。若需要额外的安全性,则该令牌 702可请求来自验证器704的质询,它通过该质询能查明验证器是否是有效的或名副其实 的(例如,该验证器知道验证器密钥VKa)。使用场景在单因素认证系统中,用户可使用令牌向验证器认证他/她自己。即,单单拥 有具有正确验证器密钥的令牌就足以认证用户。然而,单因素认证具有以下缺点能访 问物理令牌的任何人都可获得对由验证器保护的账户和/或信息的未授权访问。在双因素认证系统中,使用了两种安全性措施来达成更大的安全性。一个此类 因素可以是用户在认证时提供的安全的口令、密钥、标识符、照片标识、指纹、语音样 本等。第二个因素可以是存储在认证时也被呈现的正确验证器密钥的令牌。本文中描述的令牌与验证器之间的认证协议可手动地、自动地、或以其组合来 执行。在一些示例中,用户可充当令牌和验证器的中间人。例如,质询和响应(例如, MAC)可以是用户能手动地输入令牌和/或验证器的相对短的数字、字母和/或符号串。在其他示例中,令牌可通过接口(例如,无线、通用串行总线、声音等)直接耦合到验证 器,藉此经由该接口等交换认证消息。在其中令牌和验证器彼此直接通信的实现中,认 证协议可使用较长的质询和响应、更多谜题等以获得增加的安全性。令牌的示例图8是解说令牌802可如何存储多个验证器密钥以与多个不同验证器804、806 和808进行认证的框图。令牌802可具有有限的处理资源和有限带宽的通信接口,标签 可被配置成如图1-7中所解说地操作。一些现有技术令牌可存储多个公钥以与不同验证 器进行认证,但需要显著的处理资源和通信带宽来实现此类公钥认证系统。其他令牌可 存储对称密钥,由于安全性考虑,因而对称密钥只能与一个验证器联用。与此类现有技 术令牌相反,本令牌802被配置成在利用有限的处理资源和有限带宽接口的同时获得并 安全地存储多个对称密钥。即,令牌802可按图1-7中所解说的方式获得多个验证器密 钥(即,对称密钥),从而允许与多个不同的验证器认证该令牌。具体而言,验证器密 钥是由令牌802以及验 证器804、806和808安全地生成的,并且不在令牌802与验证器 804、806和808之间发送或传送。在通过安全方式的初始部署之后,额外的验证器密钥 (即,对称密钥)可被添加到令牌。图9解说了可在令牌上操作以使用对称密钥与多个不同验证器执行安全认证的 方法。令牌在供应阶段期间被供应机密密钥、令牌标识符、以及一个或更多个谜题生成 算法(902)。令牌可通过将其令牌标识符提供给验证器来发起与验证器的认证(初始认证 阶段)(904)。用户或令牌可向验证器提供存储与该令牌相关联的多个谜题的助手的助手 地址。从验证器接收质询消息,该质询消息包括一个或更多个谜题标识符以及基于第 一验证器密钥的消息认证码,其中该第一验证器密钥是与由该一个或更多个谜题标识符 所标识的一个或更多个谜题相关联的一个或更多个谜题机密的函数(906)。令牌基于该一 个或更多个谜题生成算法、接收到的一个或更多个谜题标识符、以及机密密钥(独立地) 获得一个或更多个谜题机密(908)。例如,令牌可使用机密密钥和/或该一个或更多个 令牌标识符作为谜题生成算法的输入来生成与该令牌标识符相对应的一个或更多个谜题 和/或一个或更多个谜题机密。令牌基于该一个或更多个谜题机密生成第二验证器密钥 (910)。令牌验证接收到的消息认证码以确定第一验证器密钥和第二验证器密钥是否相同 (912)。令牌基于第二验证器密钥生成对验证器的响应(914)。若消息认证码被成功验 证,则第二验证器密钥被令牌存储并与验证器相关联(916)。第一和第二验证器密钥被用 作令牌与验证器之间的后续认证的对称密钥。以类似方式,令牌可与其他验证器建立不 同的对称密钥。因此,单个令牌可用于存储与不同验证器联用的多个验证器密钥(即, 对称密钥)。令牌可按需建立用于相异验证器的额外验证器密钥而不损害其他验证器密钥 的安全性。验证器的示例图10是解说配置成在助手的辅助下建立对称密钥以认证令牌的验证器1002的框 图。验证器1004可包括具有显著处理能力的处理电路1004、用于与令牌通信的低带宽通 信接口 1006(例如,按键板、无线应答器等)、用于与助手通信的高带宽通信接口 1008、 以及用于存储接收自助手的谜题和与令牌相关联的验证器密钥的存储设备1010。验证器1002可被配置成如图1-7中所解说地进行操作。处理电路1004被配置成经由低带宽通 信接口 1006接收来自令牌的令牌标识符并经由高带宽通信接口 1008从助手请求多个谜 题。助手的联系信息可由令牌、令牌的用户、或默认位置(例如,因特网地址、统一资 源定位符(URL)等)提供。处理电路1004随后随机地选择收到谜题中的一个谜题并通 过蛮力攻击将其破坏或解码。在此类蛮力攻击中,处理电路1004可尝试各种可能的密钥 直至找到成功解密或解码该谜题的一个密钥。加密该谜题的密钥的长度(例如,32位、 64位、128位等)可以是验证器1004已知的,藉此限制对密钥的搜索。图11解说了可在验证器上操作以在助手的辅助下执行对令牌的安全认证的方 法。(经由低带宽接口)从令牌接收认证请求连同令牌标识符(1102)。验证器获得与该 令牌相关联的助手的助手地址(1004)。验证器随后从助手请求与该令牌相对应的多个谜 题(例如,几千、几十万、或几百万)(1106)。在一些实现中,验证器还可向助手发送第 一个随机一次性数,从而助手伪随机且无偏差地选择这多个谜题。验证器随后伪随机地 选择收到谜题中的一个谜题并通过蛮力攻击的方式解出该谜题以获得谜题机密以及相应 的谜题标识符(1108)。例如,若验证器知道用来编码该谜题的密钥的长度,就能尝试所 有可能的密钥直至解出该谜题(例如,消息被成功解码)。验证器随后使用谜题机密来生 成验证器密钥(111 0)。验证器基于该验证器密钥生成质询消息认证码(1112)。谜题标 识符和质询消息被发送给令牌(1114)。可从令牌接收证明它具有关于相同验证器密钥的 知识的响应消息认证码(1116)。该验证器密钥被验证器存储并与该令牌相关联以供将来 进行认证(1118)。在一些实现中,通过使用多个谜题(而非仅一个)来生成验证器密钥可提供额外 的安全性。验证器可伪随机地选择并破坏多个谜题,藉此获得多个谜题机密。这多个谜 题机密随后被组合以生成验证器密钥。助手的示例图12是解说配置成辅助验证器建立用于认证令牌的对称密钥的助手1202的框 图。助手1202可以是包括耦合至高带宽通信接口 1206和存储设备1208的处理电路1204 的联网设备。处理电路1204被配置成经由其接口 1206从谜题供应器接收多个谜题并将 它们存储在存储设备1208中。这些谜题与由谜题供应器标识的特定令牌相关联。处理 电路1204还被配置成经由接口 1206从一个或更多个验证器接收对谜题的请求。这些请 求包括令牌标识符,处理电路1204使用该令牌标识符来检索与所标识令牌相关联的多个 谜题并发送这些谜题。虽然助手1202可辅助验证器建立与令牌的对称密钥,但是由于破 坏每个令牌需要大量谜题和处理资源,因此能禁止助手1202确定对称密钥。图13解说了可在(网络)助手上操作以辅助验证器认证令牌的方法。助手可从 令牌供应器接收与令牌标识符相关联的多个(经编码或未经编码)谜题(例如,几千、几 十万、和/或几百万)(1302)。助手存储这多个谜题(1304)。助手可从验证器接收对与 令牌标识符相关联的谜题的后续请求(1306)。该请求可在验证器与令牌之间的初始认证 阶段期间发生,初始认证阶段中在验证器与令牌之间建立对称密钥(即,验证器密钥)。 助手(伪随机地)选择存储着的与该令牌标识符相关联的多个谜题的子集(1308)。所选 择的谜题子集随后被发送给验证器(1310)。在一些实现中,助手可接收来自请求验证器 的一次性数(例如,字符或数字串等),助手使用该一次性数来伪随机地选择要发送给验证器的该多个谜题。助手还可提供利用了该一次性数来选择这多个谜题的证明(例如, 消息认证码等)。这防止助手篡改对谜题的选择。虽然助手可辅助验证器执行对令牌的认证,但它应当不能伪装成验证器。若 助手本身是恶意的,它可能能够花时间解密一些谜题并确保它只将这些谜题递送给验证 器。然而,通过使验证器发送伪随机一次性数、助手证明使用了该一次性数来选择发送 给验证器的谜题,防止了助手的此类操作。若助手还能窃听令牌与验证器之间的密钥建 立阶段,它可能也能查明它们之间所建立的对称密钥。然而,在密钥建立阶段期间成功 截取通信是不大可能的。若助手不截取初始密钥建立,而是改为截取一些后续认证,则它可能获得足以 最终发现令牌与验证器之间建立的验证器密钥(对称密钥)的信息。然而,这将迫使助 手解出与令牌相关联的所有谜题,尝试谜题机密的不同组合(其中验证器密钥是基于有 序谜题机密的子集),并发现生成验证器密钥时可能使用了的一次性数(其不向助手揭 示)。因此,为了达到更大的安全,验证器可从助手请求较大的谜题集合并使用它们的较 大子集来建立其与令牌的 验证器密钥。图1、2、3、4、5、6、7、8、9、10、11、12 和 / 或 13 中所解说的组件、步
骤、和/或功能中的一个或更多个可被重新编排和/或组合成单个组件、步骤、或功能, 或可在若干组件、步骤、或功能中实施而不影响令牌与验证器之间的认证。还可添加更 多的元件、组件、步骤、和/或功能而不会脱离本发明。图1、3、8、10和/或12中解 说的装置、设备、和/或组件可被配置成执行图2、4、5、6、7、9、11和/或13中描述 的方法、特征、或步骤中的一个或更多个。本文中描述的新颖算法可以在软件和/或嵌 入式硬件中高效率地实现。本领域技术人员将可进一步领会,结合本文中公开的实施例描述的各种解说性 逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。 为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤 在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决 于具体应用和强加于整体系统的设计约束。这些实施例的描述旨在成为解说性的,而并非旨在限定权利要求的范围。由 此,本发明的教导能现成地应用于其他类型的装置,并且许多替换、改动、和变形对于 本领域技术人员将是明显的。
权利要求
1.一种在验证器上操作以用于认证令牌的方法,包括从令牌接收认证请求和令牌标识符;从联网助手获得与所述令牌相对应的多个谜题;伪随机地选择所述谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标 识符;基于所述谜题机密生成验证器密钥;基于所述验证器密钥生成质询消息;以及将所述谜题标识符和质询消息发送给所述令牌。
2.如权利要求1所述的方法,其特征在于,进一步包括从所述令牌接收证明所述令牌具有关于所述验证器密钥的知识的响应消息,其中若 所述响应消息成功证明所述令牌知道所述验证器密钥则所述验证器认证所述令牌。
3.如权利要求1所述的方法,其特征在于,进一步包括存储所述验证器密钥;以及将所述验证器密钥与所述令牌标识符相关联以用作所述令牌与所述验证器之间的后 续认证中的对称密钥。
4.如权利要求1所述的方法,其特征在于,进一步包括获得与所述令牌相关联的所述助手的助手地址。
5.如权利要求1所述的方法,其特征在于,谜题是包括谜题标识符和谜题机密的经编 码消息。
6.如权利要求1所述的方法,其特征在于,进一步包括伪随机地选择所述收到谜题中的多个谜题的子集并求解它们以获得多个谜题机密和 相应的谜题标识符;其中所述验证器密钥还基于所述谜题机密的有序集合;连同所述质询消息一起将与所述谜题机密的有序集合相对应的所述谜题标识符的有 序集合发送给所述令牌。
7.如权利要求1所述的方法,其特征在于,进一步包括将本地计数器与由所述令牌维护的计数器同步以跟踪在所述令牌与所述验证器之间 执行的每次认证,其中后续认证质询消息还基于当前计数器值。
8.如权利要求7所述的方法,其特征在于,进一步包括从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前计数器值的知识 的响应消息,其中若所述响应消息成功证明所述令牌知道所述验证器密钥和当前计数器 值则所述验证器认证所述令牌。
9.如权利要求1所述的方法,其特征在于,进一步包括维护用于生成时戳的定时器,其中后续认证质询消息还基于当前时戳。
10.如权利要求9所述的方法,其特征在于,进一步包括从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前时戳的知识的响 应消息,其中若所述响应消息成功证明所述令牌知道所述验证器密钥和所述当前时戳则 所述验证器认证所述令牌。
11.如权利要求1所述的方法,其特征在于,求解所选择的谜题包括执行蛮力攻击以找到用来解码所述谜题的密钥。
12.如权利要求1所述的方法,其特征在于,所述质询消息是消息认证码。
13.如权利要求1所述的方法,其特征在于,进一步包括 生成伪随机一次性数;以及将所述伪随机一次性数发送给所述助手以供用于从与所述令牌相对应的大量谜题中 获得所述多个谜题。
14.一种用于认证令牌的验证器设备,包括 第一通信接口,具有至网络的高带宽;第二通信接口,具有用于与令牌通信的低带宽;以及 耦合至所述第一和第二通信接口的处理电路,所述处理电路被配置成 在所述第二通信接口上从令牌接收认证请求和令牌标识符; 在所述第一通信接口上从助手获得与所述令牌相对应的多个谜题; 伪随机地选择所述谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标 识符;基于所述谜题机密生成验证器密钥; 基于所述验证器密钥生成质询消息;以及经由所述第二通信接口将所述谜题标识符和质询消息发送给所述令牌。
15.如权利要求14所述的验证器设备,其特征在于,所述处理电路被进一步配置成从所述令牌接收证明所述令牌具有关于所述验证器密钥的知识的响应消息,其中若 所述响应消息成功证明所述令牌知道所述验证器密钥则所述验证器设备认证所述令牌。
16.如权利要求14所述的验证器设备,其特征在于,进一步包括 耦合到所述处理电路的存储设备,用于存储所述验证器密钥;其中所述处理电路被进一步配置成将所述验证器密钥与所述令牌标识符相关联以用 作所述令牌与所述验证器之间的后续认证中的对称密钥。
17.如权利要求14所述的验证器设备,其特征在于,所述处理电路被进一步配置成获 得与所述令牌相关联的所述助手的助手地址。
18.如权利要求14所述的验证器设备,其特征在于,所述处理电路被进一步配置成 伪随机地选择所述收到谜题中的多个谜题的子集并求解它们以获得多个谜题机密和相应的谜题标识符;其中所述验证器密钥还基于所述谜题机密的有序集合;连同所述质询消息一起将与所述谜题机密的有序集合相对应的所述谜题标识符的有 序集合发送给所述令牌。
19.如权利要求14所述的验证器设备,其特征在于,所述处理电路被进一步配置成 将本地计数器与由所述令牌维护的计数器同步以跟踪在所述令牌与所述验证器之间执行的每次认证,其中后续认证质询消息还基于当前计数器值;以及从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前计数器值的知识 的响应消息,其中若所述响应消息成功证明所述令牌独立地知道所述验证器密钥和当前 计数器值则所述验证器认证所述令牌。
20.如权利要求14所述的验证器设备,其特征在于,所述处理电路被进一步配置成 维护用于生成时戳的定时器,其中后续认证质询消息还基于当前时戳;以及 从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前时戳的知识的响应消息,其中若所述响应消息成功证明所述令牌独立地知道所述验证器密钥和所述当前 时戳则所述验证器认证所述令牌。
21.—种用于认证令牌的验证器设备,包括 用于从令牌接收认证请求和令牌标识符的装置;用于从联网助手获得与所述令牌相对应的多个谜题的装置;用于伪随机地选择所述谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜 题标识符的装置;用于基于所述谜题机密生成验证器密钥的装置; 用于基于所述验证器密钥生成质询消息的装置;以及 用于将所述谜题标识符和质询消息发送给所述令牌的装置。
22.如权利要求21所述的验证器设备,其特征在于,进一步包括用于从所述令牌接收证明所述令牌具有关于所述验证器密钥的知识的响应消息的装 置,其中若所述响应消息成功证明所述令牌知道所述验证器密钥则所述验证器认证所述 令牌。
23.如权利要求21所述的验证器设备,其特征在于,进一步包括 用于存储所述验证器密钥的装置;以及用于将所述验证器密钥与所述令牌标识符相关联以用作所述令牌与所述验证器之间 的后续认证中的对称密钥的装置。
24.如权利要求21所述的验证器设备,其特征在于,进一步包括 用于获得与所述令牌相关联的所述助手的助手地址的装置。
25.如权利要求21所述的验证器设备,其特征在于,进一步包括用于伪随机地选择所述收到谜题中的多个谜题的子集并求解它们以获得多个谜题机 密和相应的谜题标识符的装置;其中所述验证器密钥还基于所述谜题机密的有序集合;以及 用于连同所述质询消息一起将与所述谜题机密的有序集合相对应的所述谜题标识符 的有序集合发送给所述令牌的装置。
26.如权利要求21所述的验证器设备,其特征在于,进一步包括用于将本地计数器与由所述令牌维护的计数器同步以跟踪在所述令牌与所述验证器 之间执行的每次认证的装置,其中后续认证质询消息还基于当前计数器值;以及用于从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前计数器值的 知识的响应消息的装置,其中若所述响应消息成功证明所述令牌知道所述验证器密钥和 当前计数器值则所述验证器认证所述令牌。
27.如权利要求21所述的验证器设备,其特征在于,进一步包括用于维护用于生成时戳的定时器的装置,其中后续认证质询消息还基于当前时戳;以及用于从所述令牌接收证明所述令牌具有关于所述验证器密钥和所述当前时戳的知识的响应消息的装置,其中若所述响应消息成功证明所述令牌知道所述验证器密钥和所述 当前时戳则所述验证器认证所述令牌。
28.—种处理设备,包括 处理电路,其配置成在第一通信接口上从令牌接收认证请求和令牌标识符; 在第二通信接口上从助手获得与所述令牌相对应的多个谜题; 伪随机地选择所述谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标 识符;基于所述谜题机密生成验证器密钥; 基于所述验证器密钥生成质询消息;以及经由所述第一通信接口将所述谜题标识符和质询消息发送给所述令牌。
29.如权利要求28所述的处理设备,其特征在于,进一步包括 耦合到所述处理电路的存储设备,用于存储所述验证器密钥;其中所述处理电路被进一步配置成将所述验证器密钥与所述令牌标识符相关联以用 作所述令牌与所述验证器之间的后续认证中的对称密钥。
30.如权利要求28所述的处理设备,其特征在于,所述处理电路被进一步配置成获得 与所述令牌相关联的所述助手的助手地址。
31.一种具有用于向验证器认证令牌的一条或更多条指令的机器可读介质,所述指令 在由处理器执行时使所述处理器从联网助手获得与所述令牌相对应的多个谜题;伪随机地选择所述谜题中的一个谜题并求解该谜题以获得谜题机密和相应的谜题标 识符;基于所述谜题机密生成验证器密钥; 基于所述验证器密钥生成质询消息;以及 将所述谜题标识符和质询消息发送给所述令牌。
32.如权利要求31所述的机器可读介质,其特征在于,具有在被处理器执行时使所述 处理器进一步执行以下操作的一条或更多条指令从所述令牌接收证明所述令牌具有关于所述验证器密钥的知识的响应消息,其中若 所述响应消息成功证明所述令牌知道所述验证器密钥则所述验证器认证所述令牌。
33.如权利要求31所述的机器可读介质,其特征在于,具有在被处理器执行时使所述 处理器进一步执行以下操作的一条或更多条指令存储所述验证器密钥;以及将所述验证器密钥与所述令牌标识符相关联以用作所述令牌与所述验证器之间的后 续认证中的对称密钥。
34.一种在令牌上操作以用于向验证器认证所述令牌的方法,包括向令牌供应机密密钥、令牌标识符、以及一个或更多个谜题生成算法; 通过将所述令牌标识符提供给验证器来发起对所述令牌的认证; 从所述验证器接收质询消息,所述质询消息包括一个或更多个谜题标识符以及基于 第一验证器密钥的消息认证码,其中所述第一验证器密钥是与由所述一个或更多个谜题标识符所标识的一个或更多个谜题相关联的一个或更多个谜题机密的函数;基于所述一个或更多个谜题生成算法、所述接收到的一个或更多个谜题标识符、以 及所述机密密钥独立地获得所述一个或更多个谜题机密;基于所述一个或更多个谜题机密生成第二验证器密钥;以及验证所述接收到的消息认证码以确定所述第一验证器密钥和第二验证器密钥是否相同。
35.如权利要求34所述的方法,其特征在于,进一步包括若所述第一和第二验证器密钥相同,则存储所述第二验证器密钥并将其与所述验证 器相关联。
36.如权利要求34所述的方法,其特征在于,进一步包括基于所述第二验证器密钥生成对所述验证器的响应消息,所述响应消息指示所述令 牌知道所述第一验证器密钥。
37.如权利要求34所述的方法,其特征在于,进一步包括从所述令牌向所述验证器提供存储与所述令牌相关联的多个谜题的助手的助手地址。
38.如权利要求34所述的方法,其特征在于,进一步包括从所述验证器接收多个有序谜题标识符,其中所述第一验证器密钥是与所述多个有 序谜题标识符相关联的相应的多个有序谜题机密的函数;以及基于所述一个或更多个谜题生成算法、所述接收到的谜题标识符、以及所述机密密 钥获得所述多个有序谜题机密,其中所述第一和第二验证器密钥还基于所述多个有序谜 题机密。
39.如权利要求34所述的方法,其特征在于,进一步包括将本地计数器与由所述验证器维护的计数器同步以跟踪在所述令牌与所述验证器之 间执行的每次认证,其中后续收到消息认证码还基于当前计数器值。
40.如权利要求39所述的方法,其特征在于,进一步包括向所述验证器发送证明所述令牌具有关于所述验证器密钥和所述当前计数器值的知 识的响应消息。
41.如权利要求34所述的方法,其特征在于,进一步包括维护用于生成时戳的定时器,其中后续收到消息认证码还基于当前时戳。
42.如权利要求41所述的方法,其特征在于,进一步包括向所述验证器发送证明所述令牌具有关于所述验证器密钥和所述当前时戳的知识的 响应消息。
43.如权利要求34所述的方法,其特征在于,进一步包括 建立与不同验证器的多个安全的验证器密钥;以及存储所述验证器密钥并将所述验证器密钥中的每一个与相应的验证器相关联以用作 所述令牌与所述不同验证器之间的对称密钥认证。
44.一种令牌,包括第一通信接口,具有用于与验证器通信的低带宽;以及 耦合到所述第一通信接口的处理电路,所述处理电路配置成接收机密密钥、令牌标识符、以及一个或更多个谜题生成算法; 通过将所述令牌标识符提供给验证器来发起对所述令牌的认证; 从所述验证器接收质询消息,所述质询消息包括谜题标识符以及基于第一验证器密 钥的消息认证码,其中所述第一验证器密钥是与由所述谜题标识符所标识的谜题相关联 的第一谜题机密的函数;基于所述一个或更多个谜题生成算法、所述接收到的谜题标识符、以及所述机密密 钥独立地获得所述第一谜题机密;基于所述谜题机密生成第二验证器密钥;以及验证所述接收到的消息认证码以确定所述第一验证器密钥和第二验证器密钥是否相同。
45.如权利要求44所述的令牌,其特征在于,进一步包括存储设备,其耦合到所述处理电路并被配置成存储所述第二验证器密钥,其中所述 处理电路被配置成若所述第一和第二验证器密钥相同则将所述第二验证器密钥与所述验 证器相关联。
46.如权利要求44所述的令牌,其特征在于,所述处理电路被进一步配置成 建立与不同验证器的多个安全的验证器密钥;以及存储所述验证器密钥并将所述验证器密钥中的每一个与相应的验证器相关联以用作 所述令牌与所述不同验证器之间的对称密钥认证。
47.如权利要求44所述的令牌,其特征在于,所述处理电路被进一步配置成基于所述第二验证器密钥生成对所述验证器的响应消息,所述响应消息指示所述令 牌知道所述第一验证器密钥。
48.如权利要求44所述的令牌,其特征在于,所述处理电路被进一步配置成从所述令牌向所述验证器提供存储与所述令牌相关联的多个谜题的助手的助手地址。
49.一种用于与验证器进行认证的令牌,包括用于向令牌供应机密密钥、令牌标识符、以及一个或更多个谜题生成算法的装置; 用于通过将所述令牌标识符提供给验证器来发起对所述令牌的认证的装置; 用于从所述验证器接收质询消息的装置,所述质询消息包括谜题标识符以及基于第 一验证器密钥的消息认证码,其中所述第一验证器密钥是与由所述谜题标识符所标识的 谜题相关联的第一谜题机密的函数;用于基于所述一个或更多个谜题生成算法、所述接收到的谜题标识符、以及所述机 密密钥独立地获得所述第一谜题机密的装置;用于基于所述谜题机密生成第二验证器密钥的装置;以及用于验证所述接收到的消息认证码以确定所述第一验证器密钥和第二验证器密钥是 否相同的装置。
50.如权利要求49所述的令牌,其特征在于,进一步包括用于若所述第一和第二验证器密钥相同则存储所述第二验证器密钥并将其与所述验 证器相关联的装置。
51.如权利要求49所述的令牌,其特征在于,进一步包括用于从所述令牌向所述验证器提供存储与所述令牌相关联的多个谜题的助手的助手地址的装置。
52.—种处理设备,包括 处理电路,其配置成接收机密密钥、令牌标识符、以及一个或更多个谜题生成算法; 通过将所述令牌标识符提供给验证器来发起对所述令牌的认证; 从所述验证器接收质询消息,所述质询消息包括谜题标识符以及基于第一验证器密 钥的消息认证码,其中所述第一验证器密钥是与由所述谜题标识符所标识的谜题相关联 的第一谜题机密的函数;基于所述一个或更多个谜题生成算法、所述接收到的谜题标识符、以及所述机密密 钥独立地获得所述第一谜题机密;基于所述谜题机密生成第二验证器密钥;以及验证所述接收到的消息认证码以确定所述第一验证器密钥和第二验证器密钥是否相同。
53.如权利要求52所述的处理设备,其特征在于,所述处理电路被进一步配置成 若所述第一和第二验证器密钥相同,则存储所述第二验证器密钥并将其与所述验证器相关联。
54.如权利要求52所述的处理设备,其特征在于,所述处理电路被进一步配置成 基于所述第二验证器密钥生成对所述验证器的响应消息,所述响应消息指示所述令牌知道所述第一验证器密钥。
55.一种具有用于向验证器认证令牌的一条或更多条指令的机器可读介质,所述指令 在由处理器执行时使所述处理器向令牌供应机密密钥、令牌标识符、以及一个或更多个谜题生成算法; 通过将所述令牌标识符提供给验证器来发起对所述令牌的认证; 从所述验证器接收质询消息,所述质询消息包括谜题标识符以及基于第一验证器密 钥的消息认证码,其中所述第一验证器密钥是与由所述谜题标识符所标识的谜题相关联 的第一谜题机密的函数;基于所述一个或更多个谜题生成算法、所述接收到的谜题标识符、以及所述机密密 钥独立地获得所述第一谜题机密;基于所述谜题机密生成第二验证器密钥;以及验证所述接收到的消息认证码以确定所述第一验证器密钥和第二验证器密钥是否相同。
56.如权利要求55所述的机器可读介质,其特征在于,具有在被处理器执行时使所述 处理器进一步执行以下操作的一条或更多条指令若所述第一和第二验证器密钥相同,则存储所述第二验证器密钥并将其与所述验证 器相关联。
57.如权利要求55所述的机器可读介质,其特征在于,具有在被处理器执行时使所述 处理器进一步执行以下操作的一条或更多条指令从所述令牌向所述验证器提供存储与所述令牌相关联的多个谜题的助手的助手地址。
全文摘要
提供了允许令牌和验证器商定用于在令牌和验证器之间进行认证的安全对称密钥的基于谜题的协议。令牌存储机密密钥以及一个或更多个谜题生成算法。验证器独立地获得与令牌相关联的多个谜题,伪随机地选择这些谜题中的至少一个,并求解该谜题以获得谜题机密和谜题标识符。验证器基于谜题机密生成验证器密钥。验证器将谜题标识符以及验证器密钥的经编码版本发送给令牌。令牌使用其谜题生成算法以及谜题标识符重新生成谜题机密。令牌向验证器发送指示该令牌知道验证器密钥的经编码响应。令牌和验证器可将该验证器密钥用作后续认证的对称密钥。
文档编号H04L29/06GK102017578SQ200980117607
公开日2011年4月13日 申请日期2009年5月6日 优先权日2008年5月9日
发明者A·盖特曼, G·G·罗斯, M·派登, M·维吉斯德威尔斯, P·M·霍克斯 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1