受约束的密码术密钥的制作方法

文档序号:7641024阅读:173来源:国知局
专利名称:受约束的密码术密钥的制作方法
受约束的密码术密钥 背景
在35 U.S.C.§119下的优先权要求
本专利申请要求2005年9月29日提交的题为"Constrained Cryptographic Keys (受约束的密码术密钥)"的美国临时申请No. 60/722,185以及2006年1 月24日提交的题为"Authentication By Proxy (藉由代理的认证)"的美国临时 申请No. 60/761,476的优先权,这两个临时申请皆已被转让给本申请的受让人 并藉以被明白地援引纳入于此。
领域
各个实施例涉及安全通信,尤其涉及使得能在两方之间经由代理设备进行 安全通信的受约束的密码术密钥。
背景
当前,两方之间受保护的通信常常是藉由使用共享机密来达成的。此共享 机密允许这两方能通过使用基于此共享机密的加密来使其通信(例如,数据分 组、消息等)的内容保持私密。另外,此共享机密允许一方能认证通信的确是 来自其声称的发送方并且在运送中没有被修改过。
在一些情况下,在两方之间不能建立直接且安全的通信链路。例如,当第 一设备与第二设备之间的安全通信链路被丢失或切断时,第三设备可能需要对 第二设备进行故障排査或服务。为能与第二设备通信,第三设备(例如,现场 技术人员等)将需要与第二设备建立安全链路。
在第一方与第二方之间使用了公钥密码术(非对称密钥密码术)的应用中, 常常使用证书阶层体系经由担当第一方与第二方之间的代理的第三方来解决 此问题。第一方可向第三方发放使得第三方能够担当第一方的代理的的代理证 书(典型地是藉由以第一方的私钥数字地签署第三方的公钥)。第三方然后可
将其公钥随此代理证书呈递给第二方。
但是与其他密码术方法相比,非对称密钥密码术算法的计算成本是相对较 高的。另外, 一旦代理证书被发放给了第三方,就难以限制第三方可从第二方 接收或访问什么类型的信息或是第三方会担当第一方的代理多久。由此,需要 一种计算上高效率且允许代理密钥生成方能对代理密钥施加约束的代理密钥 密码术算法。
概要
提供了一种使得能在客户机设备与代理设备之间进行安全通信的方法。在 主机设备处基于该主机设备和该客户机设备所已知的共享机密密钥来生成第 一代理密钥。此第一代理密钥被发送给该代理设备。在客户机设备处生成由该 客户机设备用其来认证代理设备的第二代理密钥。认证算法的分发可在主机设 备与客户机设备之间预先安排好。类似地,机密密钥在主机设备与客户机设备 之间的分发也可被预先安排好。当第一和第二代理密钥相同时,代理设备就可 得到认证。
第一代理密钥和第二代理密钥可使用密钥推导函数(KDF)和此共享机密 密钥来独立地生成。KDF取一个或多个约束以及此共享机密密钥作为输入以获 得此第一代理密钥和第二代理密钥。此共享机密密钥只有在具有第一代理密 钥、这一个或多个约束、以及此KDF的知识的情况下才能被恢复出来。
此方法可进一步包括在主机设备处选择与此第一代理密钥相关联的一个 或多个约束,其中此第一代理密钥和第二代理密钥是基于这一个或多个约束 的。这一个或多个约束可从代理设备被发送给客户机设备,其中该客户机设备 将这些约束施加于此第一代理密钥。替换地,这一个或多个约束是从主机设备 被发送给客户机设备,其中该客户机设备将这些约束施加于此第二代理密钥。
在从代理设备向客户机设备发送的消息中可设置一向该客户机设备指示 使用了代理密钥来保护该消息的指示符。用来推导第一代理密钥的这一个或多 个约束可在主机设备处被定义并被传达给客户机设备。该客户机设备的与此代 理设备有关的操作可根据这一个或多个约束来被限制。
提供了另一种用于在主机设备上生成代理密钥的方法。获得共享机密密钥
13
并将其用于保护与具有相同共享机密密钥的客户机设备的通信。还获得第一密 钥推导函数,其中此第一密钥推导函数与客户机设备已知的第二密钥推导函数 有关。基于此第一密钥推导函数和该共享机密密钥生成代理密钥。此代理密钥 被提供给代理设备,其中该代理设备可使用此代理密钥来认证与该客户机设备 的通信。在生成此代理密钥之前,对此代理密钥的一个或多个约束可被定义。 这些约束被用来生成此代理密钥,并被发送给该代理设备。这一个或多个约束 被发送给上述客户机设备。生成此代理密钥包括随此共享机密密钥使用一个或 多个约束作为该第一密钥推导函数的参数以获得此代理密钥。
上述共享机密密钥可用在主机设备与客户机设备之间的对称密钥安全性 方案中。第一密钥推导函数可以是加密分组密码机。
此方法还包括存储多个密码术函数并从这多个密码术函数当中选择上述 第一密钥推导函数。可传送指定多个密钥推导函数之一的数据。上述一个或多 个约束可包括指示该代理密钥有效期间的时戳。
还提供了一种密钥生成方主机设备,其包括(a)用于与其他设备通信的通 信接口; (b)用于存储共享机密密钥和密钥推导函数的存储设备,其中此共享 机密密钥和密钥推导函数两者皆为客户机设备所已知;和/或(C)耦合到此通 信接口和此存储设备的处理电路。该处理电路可被配置成(1)基于此密钥推导
函数和共享机密密钥生成代理密钥,和/或(2)向代理服务器发送此代理密钥, 其中该代理服务器可使用此代理密钥来认证与上述客户机设备的通信。该处理 电路可被进一步配置成在生成此代理密钥之前定义对此代理密钥的一个或多 个约束。此代理密钥可基于这一个或多个约束来生成。这些约束可以是与客户 机设备预先安排好的和/或是被发送给该代理设备。这些约束之一可致使代理密 钥在一定量的时间之后过期。
此密钥推导函数可以是加密分组密码机。上述存储设备存储多个密码术函 数,并且上述处理电路被配置成从这多个密码术函数当中选择密钥推导函数。 该处理电路可被进一步配置成传送指定从这多个密码术函数中选择的用来将 一个或多个约束纳入到该代理密钥中的密钥推导函数的数据。
还提供了一种代理生成设备,其包括(a)用于获得共享机密密钥——其 用来与具有相同的共享机密密钥的客户机设备进行安全通信一的装置;(b)
用于获得密钥推导函数的装置,其中该密钥推导函数对于客户机设备也是已知 的;(c)用于基于此密钥推导函数和此共享机密密钥来生成代理密钥的装置; 和/或(d)用于向代理设备发送此代理密钥的装置,其中该代理设备可使用此 代理密钥来认证与该客户机设备的通信。
还提供了一种包括处理电路的配置成在主机设备上生成代理密钥的处理 器,该处理电路配置成(a)获得共享机密密钥——其用于与具有相同的共享 机密密钥的客户机设备进行安全通信;(b)获得密钥推导函数,其中此密钥推 导函数与客户机设备所已知的第二密钥推导函数相关,(c)基于此密钥推导函
数和此共享机密密钥生成代理密钥,以及(d)将此代理密钥提供给代理设备。 该处理电路可被进一步配置成(e)在生成此代理密钥之前定义对此代理密钥 的一个或多个约束,(f)基于这一个或多个约束生成此代理密钥,和/或(g)将 这一个或多个约束提供给该客户机设备。
提供了一种具有用于在主机设备处生成代理密钥的一条或多条指令的机 器可读介质,这些指令在由处理器执行时使得该处理器(a)获得共享机密密 钥——其用于与具有相同的共享机密密钥的客户机设备进行安全通信;(b)获 得密钥推导函数,其中此密钥推导函数与客户机设备所己知的第二密钥推导函 数相关,(c)基于此密钥推导函数和此共享机密密钥生成代理密钥,以及(d)将 此代理密钥提供给代理设备。此机器可读介质可进一步包括在由处理器执行时 使所述处理器执行以下操作的一条或多条指令(e)定义对此代理密钥的一个 或多个约束;(f)基于这一个或多个约束生成此代理密钥;和/或(g)将这一个 或多个约束提供给该客户机设备。
提供了一种在代理设备上操作的方法,包括(a)从主机设备获得代理密 钥;(b)存储此代理密钥以供随该主机设备同其共享密钥推导函数和机密密钥 的客户机设备来使用;(C)以此代理密钥来认证消息;和/或(d)将经认证的消 息发送给该客户机设备来向该客户机设备认证此代理设备。
此方法还可包括(e)从该客户机设备接收经认证的消息;和/或(f)通过 使用上述代理密钥认证此来自客户机设备的消息来认证此客户机设备。在一个 实现中,由主机设备对此代理密钥强加的一个或多个约束被获得并发送给客户 机设备。此代理密钥可基于这一个或多个约束来生成。还可向客户机设备发送
指示上述经认证的消息是使用代理密钥来认证的指示符。还可向客户机设备传 送指定用于生成此代理密钥的密钥推导函数的数据。
还提供了一种代理设备,其包括(a)用于与主机设备和客户机设备通信 的通信接口; (b)存储设备;和/或(C)耦合到此通信接口和此存储设备的处理
电路。此处理电路可被配置成(1)从该主机设备获得代理密钥,(2)将此代理
密钥存储在存储设备中以供随该客户机设备来使用,其中该主机设备和客户机
设备共享密钥推导函数和机密密钥,(3)使用此代理密钥来认证消息,和/或(4)
将经认证的消息发送给该客户机设备以向该客户机设备认证此代理设备。
提供了另一种代理设备,其包括(a)用于从主机设备获得代理密钥的装 置;(b)用于存储此代理密钥以供随主机设备同其共享密钥推导函数和机密密 钥的客户机设备来使用;
用于以该代理密钥来认证消息的装置;(c)用于将经认证的消息发送给该 客户机设备以向该客户机设备认证此代理设备的装置;(d)用于获得由该主机 设备对此代理密钥强加的一个或多个约束的装置;和/或(e)用于将这一个或
多个约束发送给该客户机设备的装置。
提供了一种在客户机设备上操作的用于认证代理设备的方法。获得主机设 备和该客户机设备双方皆己知的共享机密密钥。还获得该客户机设备与该主机 设备双方皆已知的密钥推导函数。在该客户机设备处接收来自代理设备的经认 证消息。使用此密钥推导函数和该共享机密密钥生成本地代理密钥。在客户机 设备处,通过使用此本地代理密钥,该代理设备得到认证。获得一个或多个约 束,并且可由该代理设备执行的操作根据约束来限制。如果此本地代理密钥成 功地解密出此受保护的消息,则此代理设备得到该客户机设备的认证。
还提供了一种密钥认证客户机设备,其包括(a)用于与代理设备通信的 通信接口; (b)用于存储共享机密密钥和密钥推导函数的存储设备,其中此共 享机密密钥和密钥推导函数两者皆为主机设备所已知;和/或(C)耦合到此通 信接口和此存储设备的处理电路。此处理电路可被配置成(1)从该代理设备接
收安全消息,(2)使用该密钥推导函数和该共享机密密钥生成本地代理密钥, (3)通过使用此本地代理密钥来认证此代理设备,和/或(4)获得对该代理设备 的一个或多个约束,和/或根据这一个或多个约束来限制可由该代理设备执行的 操作。
还提供了另一种密钥认证客户机设备,其包括..(a)用于获得共享机密密 钥—其可被主机设备用来认证与具有相同共享机密密钥的客户机设备的通
信——的装置;(b)用于获得该主机设备和该客户机设备双方皆已知的密钥推 导函数的装置;(C)用于在客户机设备处接收来自代理设备的经认证消息的装 置;(d)用于使用此密钥推导函数和此共享机密密钥来生成本地代理密钥的装 置;和/或(f)用于通过使用此本地代理密钥来认证此代理设备的装置。该设备 可进一步包括(g)用于获得一个或多个约束的装置;(h)用于使用这一个或多 个约束来生成此本地代理密钥的装置;以及(i)用于根据约束来限制可由该代 理设备执行的操作的装置。
提供了一种包括处理电路的配置成在客户机设备上认证代理设备的处理 器,该处理电路被配置成(1)获得共享机密密钥——其可被主机设备用来认证 与具有相同共享机密密钥的客户机设备的通信;(2)获得该客户机设备和主机 设备双方皆己知的密钥推导函数;(3)在该客户机设备处接收来自代理设备的 经认证密钥;(4)使用此密钥推导函数和此共享机密密钥来生成本地代理密钥; (5)在该客户机设备处通过使用此本地代理密钥来认证该代理设备,(6)获得 对该代理设备的一个或多个约束;(7)基于这一个或多个约束来生成此本地代 理密钥;和/或(8)基于这一个或多个约束来限制该代理设备的与该客户机设 备有关的操作。
还提供了一种具有用于在客户机设备处认证代理设备的一条或多条指令 的机器可读介质,这些指令在由处理器执行时使该处理器(a)获得共享机密
密钥——其可被主机设备用来认证与具有相同共享机密密钥的该客户机设备
的通信;(b)获得该客户机设备与主机设备双方皆已知的密钥推导函数;
在该客户机设备处接收来自代理设备的经认证消息;(C)使用此密钥推导 函数和此共享机密密钥来生成本地代理密钥,(d)在该客户机设备处通过使用 此本地代理密钥来认证该代理设备,(e)获得对此代理密钥的一个或多个约束; (f)基于这一个或多个约束来生成此代理密钥,和/或(g)基于这一个或多个约 束来限制该代理设备与该客户机设备有关的操作。如果通过使用此本地代理密 钥,接收到的经认证消息被正确地认证,那么该代理设备就得到认证。
附图简要说明


图1和2图解了在其中代理密钥可由分别的设备生成以及认证的安全性方案。
图3图解了一种用于生成、分发、和认证安全且受限制的代理密钥的方法。 图4是图解了代理密钥生成方主机设备的一个实施例的框图。 图5图解了一种在代理生成方主机设备上操作以生成并向另一设备分发 代理密钥的方法。
图6图解了另一示例的代理密钥生成方主机设备。
图7图解了一种可在主机设备上操作的用于生成代理密钥的方法。
图8是图解了代理设备的一个实施例的框图。
图9图解了一种在此代理设备上操作以获得代理密钥并使用其来认证与 另一设备的通信的方法。
图10图解了另一种代理设备的一个示例。
图11图解了可供代理设备用在认证与客户机设备的通信中的另一种方法。
图12是图解了密钥认证客户机设备的一个实施例的框图。
图13图解了一种在该密钥认证客户机设备上操作以认证并使用来自代理
设备的约束密钥来建立安全通信和/或认证该代理设备的方法。
图14图解了一个包括存储介质、参数接收机、消息接收机、密钥生成器、
和解密模块的示例客户机设备。
图15图解了一种用于由客户机设备认证通信的进一步的方法。
图16图解了由(认证)客户机设备接收的消息所可使用的一种消息格式。
图17图解了在代理密钥生成设备中如何可使用分组密码机来作为一种类
型的代理密钥推导函数。
图18图解了在代理密钥认证设备中如何可使用分组密码机来作为一种类
型的代理密钥推导函数。
具体说明
在以下说明中,给出了具体细节以提供对诸实施例的透彻理解。但是,本
领域普通技术人员将可理解,没有这些具体细节也可实践这些实施例。例如, 电路可能不是以框图形式示出,以免因不必要的细节而与这些实施例相混淆。
还应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框 图的过程来描述的。尽管流程图会把诸操作描述为顺序过程,但是这些操作中 有许多可并行或并发执行。另外,这些操作的次序可被重新编排。过程在其操 作完成时终止。过程可对应于方法、函数、程序、子例程、子程序等。当过程 对应于函数时,其终止对应于该函数返回到调用方函数或主函数。
此外,存储介质可表示用于存储数据的一个或多个设备,包括只读存储器
(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设
备、和/或其他用于存储信息的机器可读介质。术语"机器可读介质"包括但不限 于可移植或固定存储设备、光存储设备、无线信道、以及各种其他能够存储、 包含、或承载指令和/或数据的介质。
此外,诸实施例可由硬件、软件、固件、中间件、微代码、或其组合来实 现。当在软件、固件、中间件、或微代码中实现时,用于执行必要任务的程序 代码或代码段可被存储在诸如存储介质或其他存储机构等的机器可读介质中。 处理器可执行这些必要的任务。代码段可表示过程、函数、子程序、程序、例 程、子例程、模块、软件包、类、或是指令、数据结构、或程序语句的组合。 通过传递和/或接收信息、数据、自变量、参数、或存储器内容, 一代码段可被 耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包括存储 器共享、消息传递、令牌传递、以及网络传输等合适的手段被传递、转发、或 传输。
在以下的说明中,使用某种术语体系来描述一个或多个实施例的某些特 征。术语"密钥"(例如,代理密钥、机密密钥、受约束密钥等)是指证书、标 识符、密码、或其他类型的数字、字母数字、或符号。
一个特征提供一种对称密钥密码术方案,在此方案中由第一方(主机)给 第三方(代理)提供可由该第三方用来与第二方(客户机)安全地通信的代理 密钥。此代理密钥可在其功能和使用上受到约束。例如, 一种受约束代理密钥 可被限定于第三方(代理)可担当第一方(主机)的代理的特定时间期间。在 另一个示例中,受约束代理密钥可被限定于第三方(代理)可发送的某些类型
的消息。第三方(代理)与第二方(客户机)之间的所有通信藉由被用于加密 和/或认证的该代理密钥而保持安全。此外,在一个实现中,代理密钥包括足以 使第二方(客户机)确信第三方(代理)已获第一方(主机)授权的信息。最 后,有一机密密钥为第一方(主机)和第二方(客户机)所已知并被用来生成 以及认证代理密钥。但是,该机密密钥是不能够逾越由第一方(主机)对其设 置的约束的第三方(代理)所不知道的。
图1和2图解了在其中代理密钥可由分别的设备生成以及认证的安全性方
案。在一种操作模式中,主机设备A 102与客户机设备B 104使用密码术密 钥(例如,非对称或对称密钥)来建立安全通信链路108,在此有一共享机 密密钥K为主机设备102和客户机设备B 104双方所己知。在一些实现中, 主机设备A 102可藉由在安全通信链路108上发送的命令来控制客户机设 备B 104的操作。可令此共享机密密钥K与同客户机设备B 104的通信相关 联并将其用于加密、保护和/或认证通信链路108上主机A 102与设备B 104之 间的消息。当与其他设备通信时,主机设备A 102可使用不同的共享机密密钥。
偶尔可能会有代理设备C 106需要与设备B 104通信的场合。尽管共享机 密密钥K不应被泄露给设备C 106,但是客户机设备B 104与代理设备C 106 之间的通信应至少被保护和认证。为此目的,主机设备A102可给代理设备C 106提供授权其与设备B 104通信的代理密钥K'。正如图2中所示,当主机设 备A 102与客户机设备B 104之间的安全通信链路108缺失时——如在网络服 务中断期间就可能会是这种情形,代理设备C 106可使用来自主机设备A 102 的代理密钥110来建立第二安全通信链路202。为能不泄漏机密密钥K地来给 予代理设备C 106对客户机设备B 104的访问,主机设备A 102从机密密钥K 生成代理密钥K'并将此代理密钥K'发送给代理设备C 106。代理密钥K'被用来 加密和/或认证设备C 106与设备B 104之间的消息。通过向设备B 102呈示代 理密钥K',设备C 106就可例如控制设备B 104的操作。此第二通信链路202 即便在第一通信链路108不工作的情况下仍然工作。
为了限制代理设备C 106能对客户机设备B 104行使的控制,也称为密钥 推导函数(KDF)的密码术函数在设备A102与B104之间被预先安排好。亦 即,KDF可被用来从其共享机密密钥(K)推导代理或受约束密钥。在一些实
施例中,设备A102和B104可预先安排一特定的KDF。在其他实现中,有多 个此类密码术函数为设备A 102和设备B 104双方所已知。KDF取共享机密密 钥K和要对此代理或受约束密钥强加的任何约束为输入。当主机设备A 102 想要准予代理设备C代理权力时,其使用KDF(K)来生成新的代理密钥(K') 110并将其投递给代理设备C 106。该代理密钥K' 110此时就可被用来保护和/ 或认证客户机设备B 104与主机设备C 106之间的通信。
为了正确地认证(例如,解密)来自于代理设备C106的消息,便通知客 户机设备B 104使用了代理密钥。达成此通知的一种途径是在每一消息中使用 一比特的标志来信令通知代理密钥的使用。客户机设备B 104可使用该KDF 和其机密密钥K来生成代理密钥K'的本地版本,其随即被用来认证从代理设 备C接收到的经认证的消息。如果该消息被正确地认证(例如,解密等)出来, 则代理设备C 106就得到认证并且可使用此代理密钥K'在客户机设备B 104与 代理设备C 106之间执行安全通信。
为了使客户机设备B 104能独立地生成与主机设备A 102相同的代理密 钥,设备B 104还必须知道主机设备A 102对代理密钥K'设置了哪些约束。在 一个实施例中,代理设备C 106所发送的每一消息可伴有一由主机设备A 102 强加于代理密钥K'的约束的列表。在另一个实施例中,可引入会话的概念并且 可由代理设备C106每会话一次(优选在开始时)地发送约束列表。在又一个 实施例中,这些约束可事先由主机设备A 102与客户机设备B 104预先安排好。 例如,主机设备A 102和客户机设备B 104可事先商定所有代理密钥将在恰好 一天里——例如从午夜到午夜有效。在此类情形中,用作KDF的输入的这些 约束可以是该代理密钥有效的日期。每当客户机设备B 104接收到经一代理密 钥认证或保护的消息时,其就使用当前日期来重构此代理密钥。
在一个示例中,通过使用代理设备C 106,主机设备A 102就能够将权限 委托给代理设备C 106而同时又保留对代理设备C 106可用的访问特权的控 制。此外,作为代理密钥K'的生成方,主机设备A102可监听或监视代理设备 C106所作的通信。
在一个实施例中,密码术函数或即密钥推导函数可以是分组密码机,在此 对于分组密码机,共享机密K被用作密钥输入并且代理约束(和/或其他参数)
被用作明文输入。在一个实现中,在代理消息中(例如,或在致客户机设备B 104的每一消息上或在与客户机设备B 104的每一通信会话开始)将一个或多
个比特置位来指示密钥是代理或受约束密钥。在另一个实施例中,代理比特可
被省略,在此情形中,对于每一接收到的消息,客户机设备B104尝试处理其 两次, 一次视该比特是被置位的一次视其是没有被置位的,并选择通过认证的 那一个版本。
在其他实现中,主机设备A102可与多个其他(有线的或无线的)设备通 信。在此类情形中,主机设备A102 (例如,主机设备)存储多个机密密钥Ki, 每一机密密钥&对应于多个有线或无线设备之一并且也被存储在该设备中。 主机设备A 102从对应于第一设备Mi的机密密钥Ki生成代理密钥Ki',并将此 代理密钥Kj'发送给代理设备(例如,代理设备C 106)。此代理密钥Ki'可被 用来加密和/或认证代理设备与第一设备Mi (例如,客户机设备B 104)之间的 消息。类似地,可有一个以上的代理设备,在此情形中,主机设备A102 (例 如,主机设备)可为这些代理设备生成相同或不同的代理密钥。最后,甚至可 由一个以上代理密钥生成方设备(例如,多个主机设备A102)。
在各个实现中,通信链路108、112和/或202可以是无线的和/或非无线的。
图3图解了一种用于生成、分发、和认证安全且受限制的代理密钥的方法。 主机设备A 302和客户机设备B 304已使用密钥密码术建立了受保护和/或经认 证的通信机制。例如,在有共享机密密钥为主机设备A和客户机设备B 304双 方所已知的场合可实现对称密钥密码术。在一种操作模式中,设备A302和B 304可使用此共享机密密钥来保护和认证这两个设备之间的通信。另外,还向 设备A和B双方提供一密钥推导函数(KDF)。由主机设备A 302使用此共 享机密密钥和KDF来生成受约束代理密钥(308),此密钥被发送(310)给 代理设备C 306。例如,主机设备A 302作为代理密钥生成方操作,代理设备 C 306接收到此代理密钥并作为主机设备A的代理来操作,并且客户机设备B 304作为在于代理设备C 306建立安全通信之前认证此代理密钥的认证方操作。
代理设备C 306存储此受约束代理密钥(312),以此受约束代理密钥认 证消息(314),并发送经认证的消息以与设备B 304建立通信链路316。在一 个实现中,客户机设备B 304检查接收到的密钥是否为代理密钥(318),并
且若是如此则使用其KDF来独立地生成本地代理密钥(320)。这可以通过例 如检査经认证消息316或接收到的密钥中的特定比特是否已被置位(藉此指示 此接收到的密钥是代理密钥)来进行。客户机设备B 304可随一个或多个私钥 和/或公钥、参数和/或约束来使用此KDF以生成此本地代理密钥。
客户机设备B 304然后认证代理设备(322)。例如,对代理设备C 306 的此类认证可包括以本地生成的受约束代理密钥来解密接收到的认证消息。如 果此消息被正确地认证出来,则意味着代理设备C 306也具有相同的受约束代 理密钥(并由此得到认证)。然后可在客户机设备B 304与主机设备C306之 间建立安全通信链路。接收到的认证消息的正确认证可例如藉由客户机设备B 304将一个或多个接收到的参数比对一个或多个参数来确定其是否相同来查 实。
客户机设备B 304可如设备A 302所预先安排好地或由从代理设备C接收 到的代理信息定义地来限制此代理密钥的使用。例如,客户机设备B 304可在 一定量的时间之后使来自代理设备C 306的代理密钥过期或无效(326)。这 在主机设备A 302和客户机设备B 304具有经同步的用来使受约束代理密钥过 期或作为生成受约束代理密钥的参数的时钟和/或日期时是可达成的。例如,如 果受约束代理密钥是由主机设备A302使用1/1/2006的日期来生成的,那么由 客户机设备B生成的用于认证的本地受约束代理密钥将仅在1/1/2006上是匹配 的。在该日期以后,此本地受约束代理密钥(在客户机设备B 304处生成)将 不再匹配接收到的受约束代理密钥。主机设备A 302可利用此特征来使受约束 代理密钥仅在特定日期(例如,预计代理设备C 306需要与客户机设备B304 通信的那个日期)上有效。
图4是图解了密钥生成方主机设备(例如,图3中的主机设备A302)的 一个实施例的框图。此密钥生成方设备402包括通信接口 404,通过此接口它 可与其他设备建立安全通信链路。处理电路406被配置成使用密钥密码术(例 如,对称或非对称密钥)来保护去往和/或来自密钥生成方设备402的通信。存 储设备408可存储事先(例如,通过独立分发信道)可与其他安全设备共享的 共享机密密钥(例如,用于对称密码术方案)和代理密钥加密函数或密钥推导 函数(KDF)。密钥生成方设备402可被配置成使用共享机密密钥来认证消息
23
并基于此共享机密密钥和代理密钥推导函数来生成代理密钥。
图5图解了一种在密钥生成方主机设备402上操作以生成并向另一设备分 发代理密钥的方法。获得一共享机密密钥——其可被用于与具有相同共享机密
密钥的客户机设备(例如,图12中的密钥认证设备1202)的安全通信(502)。 获得可被主机设备用来创建和认证代理密钥的加密函数或密钥推导函数
(KDF),其中此加密函数也是客户机设备504所已知的。此密钥推导函数可 以是散列函数或其他类型的用于随机化或混乱一值以获得一不同值的函数。在 一个替换实施例中,由代理生成设备402获得第一单向函数以创建此代理密钥, 而由客户机设备使用不同的第二单向函数作认证。
还由密钥生成方主机设备定义此代理密钥的一个或多个参数或约束
(506)。例如,这些约束可限定代理设备可向此客户机设备发送的消息或命 令的类型或是此代理密钥有效的时间长度。这些约束对于此客户机设备也是已 知的。主机设备基于密钥推导函数和这些约束来生成此代理密钥(508)。例 如,密钥生成方主机设备402可使用共享机密密钥、当前日期/时间、和/或其 他参数/约束作为密钥推导函数的输入以获得受约束代理密钥。此代理密钥然后 被发送给代理设备,其中该代理设备可使用此代理密钥来认证与该客户机设备 的通信(510)。
图6图解了包括存储介质604、用户接口 606、参数设置模块608、密钥 生成器610、输出模块612和加密模块614的密钥生成方主机设备602 (例如, 主机设备)的另一个示例。存储介质604被配置成存储与客户机设备相关联的 机密密钥K。根据一个特征,认证模块614可使用此机密密钥K来认证消息, 并且输出模块612可将经认证的消息传送给相关联的客户机设备。
在另一个特征中,密钥生成方主机设备602基于(至少部分地基于)此机 密密钥K生成代理密钥K'并将其发送给代理设备。此代理密钥K'可具有可以 通过用户接口 606来选择或输入的限制或约束以及可通过参数设置模块608基 于所选择的约束来设置的参数。所选择的约束可以是例如在功能上限定此受约 束代理密钥K'的使用——诸如允许某一级别的权限或受限的特权,和/或在时 间上限定其使用一诸如允许此受约束代理密钥能在某一段时间期间被使用。 由此,参数/约束可指示此受约束代理密钥的使用和/或访问限定。这些参数还
可包括指示以此受约束代理密钥加密的消息有效的时间期间的时戳。
密钥生成器610因变于这些参数和机密密钥K来生成此受约束代理密钥
K'。密钥生成器610可用密钥推导函数通过使用此机密密钥K加密这些参数/ 约束来生成此受约束代理密钥K'。如果这些参数包括时戳,则受约束代理密钥 K'可通过使用机密密钥K加密时戳来生成如下<formula>formula see original document page 25</formula>[1]
在此E是基于机密密钥K的加密或密钥推导函数,Ts指示有效期间的开始, 而Te指示此有效期间的结束。在式1中,任何已知的加密或密钥推导函数皆 可被使用,诸如举例而言有散列函数等。在一些实现中,可使用一个以上的加 密/密钥推导函数。例如,可使用多个加密函数之一来生成此受约束代理密钥。 在此类情形中,可传送指定是使用了哪种(些)加密函数或密钥推导函数来加 密这些参数/约束的数据。
此受约束代理密钥K'然后通过输出模块612被发送给第三实体或即代理 设备。用来生成此受约束代理密钥K'的这些参数/约束也通过输出模块612被 发送给此代理设备。此受约束代理密钥K'和/或参数可被非无线地或无线地传 送。另外,此受约束代理密钥K'可在被传送给代理设备之前被加密。其他特征 可包括通过输出模块612传送一通知(接收机)已生成了受约束代理密钥的指 示符。
应当注意,密钥生成方主机设备602是一个示例说明并且可包括更多的元 素,诸如配置成控制其他元素的控制器和/或配置成执行可包括上面描述的操作 的几部分的各种功能的处理器等。可不影响密钥生成方主机设备602的操作地 来重新编排这些元素之一或其组合。这些元素之一或其组合也可不影响密钥生 成方主机设备602的操作地被组合到一个元素中去。
图7图解了一种可在密钥生成方主机设备上操作的用于生成代理密钥的 方法。存储一机密密钥(702)并基于所选择的约束设置参数/约束(704)。然 后使用密钥推导函数来生成(706)受约束代理密钥,其中此受约束代理密钥 是这些参数/约束以及此机密密钥的函数。使用密钥推导函数,此受约束代理密
钥可通过使用此机密密钥加密这些参数/约束来生成。在一些实现中,主机设备 可从多个密码术或密钥推导函数当中选择密钥推导函数。在此类情形中,此方 法可包括传送指定这多个密码术或密钥推导函数中用来生成此代理密钥的那 一个的数据(708)。
此受约束代理密钥和/或这些参数/约束被发送(710和712)给第二设备(例 如,代理设备)。此受约束代理密钥可被非无线地或无线地传送给第二设备。 此受约束代理密钥可在传送之前被加密。这些参数/约束可包括指示此约束代理 密钥有效的时间期间的时戳。这些参数/约束还可指示此受约束代理密钥的使用 限定。
此方法还可包括传送通知接收机相关联的密钥是受约束代理密钥的指示 符(例如,消息标志等)(714)。此方法可另行包括使用此机密密钥来认证 消息(716)以及传送经认证的消息(718)。
图8是图解了代理设备(例如,图3中的代理设备C 306)的一个实施例 的框图。此代理设备802包括通信接口 804,通过此接口它可与其他设备建立 通信链路。处理电路806被配置成使用密码术密钥(例如,对称或非对称密钥) 来保护去往和/或来自代理设备802的通信。存储设备808可存储从密钥生成方 主机设备接收到的代理密钥,从而其可被用来认证与客户机设备的通信。
图9图解了一种在此代理设备802上操作以获得密钥并使用其来认证与客 户机设备的通信的方法。从密钥生成方主机设备获得代理密钥(902)。此代 理密钥可由密钥生成器主机设备发送或由代理设备请求。在一些实现中,此代 理密钥可由密钥主机生成方设备使用密码术或密钥推导函数以及机密密钥来 生成。此代理密钥被(此代理设备)存储以供将来随该密钥生成方主机设备同 其共享此密钥推导函数和/或机密密钥的认证客户机设备来使用(卯4)。使用 此代理密钥来认证消息(906)。经认证的消息被发送给认证客户机设备(908)。 在一些实现中,代理设备可获得由密钥生成方主机设备对此代理密钥强加的一 个或多个约束(910)。这些约束可由密钥生成方主机设备随此代理密钥或作 为其一部分来发送。这一个或多个约束被一路传递给认证客户机设备(912)。 在一个替换实现中,对代理密钥的约束可改为在代理密钥生成方主机设备(例 如,图3中的主机设备A 302)与认证客户机设备(例如,图3中的客户机设
备B 304)之间预先安排好。
根据另一个特征,该代理设备可接收来自客户机设备的经加密消息。其随 即通过使用此代理密钥解密此来自客户机设备的消息来认证此客户机设备。
图10图解了另一种代理设备1000的一个示例。代理设备1000包括参数 接收机1002、密钥接收机1004、加密模块1006和输出模块1008。参数接收机 1002被配置成接收指示所选择的约束的参数。如上面所描述的,所选择的约束 可例如在功能上和/或时间上限定此代理密钥K'的使用。相应地,这些参数/约 束可指示此受约束代理密钥K'的使用限定。这些参数/约束还可包括指示以此 受约束代理密钥加密的消息有效的时间期间的时戳。密钥接收机1004被配置 成接收来自密钥生成方主机设备的受约束代理密钥K'。此受约束代理密钥K' 是这些参数/约束以及机密密钥K的函数。此受约束密钥可通过使用这些参数/ 约束以及此机密密钥K作为密码术函数的输入来生成。例如,此受约束代理密 钥K'可基于上面的式1来生成。此受约束代理密钥K'和/或参数可被非无线地 或无线地接收。另外,此受约束代理密钥K'可以经加密的形式被接收。在此类 实施例中,此经加密的受约束代理密钥被解密以获得此受约束代理密钥K'。
认证模块1008使用此受约束代理密钥K'来认证、加密、和/或保护消息, 并且输出模块1006发送经认证的消息。在此,该消息可包括数据和接收到的 参数/约束。输出模块1006也可不加密地来发送所接收到的参数/约束。其他方 面可包括通过输出模块1006发送通知接收客户机设备使用了受约束密钥(例 如,用以认证此消息的密钥是受约束密钥)的指示符。
通过发送接收到的参数/约束以及使用此受约束代理密钥K'认证(例如, 加密)了的参数/约束,就创建出消息认证码(MAC)。相应地,客户机设备 (例如,认证设备)可通过将接收到的参数与使用基于相同的收到参数所生成 的本地生成的受约束代理密钥恢复出的参数相比较来确定从代理设备或第三 实体接收到的消息的有效性、真实性和/或完好性。
应当注意,代理设备1000是一示例说明并可包括更多元素,诸如配置成 控制代理设备1000的其他元素的控制器、配置成接收用户输入的用户接口、 存储介质、和/或配置成执行可包括上面描述的操作的几部分的各种功能的处理 器等。可不影响代理设备1000的操作地来重新编排或组合这些元素之一或其
组合。
图11图解了可供代理设备用在认证与客户机设备的通信中的另一种方 法。接收指示所选择的约束的参数(1102)并接收受约束代理密钥(1104), 其中此受约束代理密钥是这些约束参数/约束以及机密密钥的函数。使用此受约
束代理密钥来认证(例如,加密或保护)消息(1106),其中此消息可包括数 据和这些参数。然后发送或传送经认证的消息和接收到的这些约束参数(1108 和1110)。接收到的受约束代理密钥可以是通过使用此机密密钥加密这些约束
参数来生成的。此受约束代理密钥可被非无线地或无线地接收。此受约束代理 密钥在被接收到时可以是经加密的或以其他方式保护的。如果是经加密的,则
此方法将包括解密(1112)此受约束代理密钥。
这些接收到的参数/约束可包括指示消息有效的时间期间的时戳。这些参 数可指示此受约束代理密钥的使用限定。此方法还可包括发送诸如标志等的通 知客户机接收机该密钥是受约束代理密钥的代理指示符(1114)。
图12是图解了密钥认证客户机设备(例如,图3中的客户机设备B 304) 的一个实施例的框图。此密钥认证客户机设备1202包括通信接口 1204,通过 此接口它可与其他设备——诸如密钥生成方主机设备(例如,图4中的主机设 备402)和代理设备(例如,图8中的代理设备802)——建立安全通信链路。 处理电路1206被配置成使用密码术密钥(例如,对称或非对称密钥)来认证 去往和/或来自密钥认证客户机设备的通信。存储设备1208可存储事先(例如, 通过独立和/或安全分发信道)可与其他安全设备(诸如密钥生成方主机设备) 共享的共享机密密钥(例如,用于对称密码术方案)和密码术函数(例如,密
钥推导函数)。
图13图解了一种在该密钥认证客户机设备1202上操作以认证并使用来自 代理设备(第三实体)的约束密钥来建立安全通信和/或认证该代理设备的方法。 获得一共享机密密钥——其可被客户机设备(例如,认证设备)用于与具有相 同共享机密密钥的主机设备(例如,图4中的密钥生成方设备402)的安全通
信(1302)。获得该客户机设备与该主机设备双方皆已知的密钥推导函数 (1304)。此共享机密密钥和/或此密钥推导函数可经由独立分发信道被提供给 该密钥认证客户机设备。从代理服务器接收到经认证的消息(1306),其中此
消息是使用原始是由该主机设备生成的代理密钥来加密的。该客户机设备还获 得与此代理密钥相关联的一个或多个约束(1308)。这些约束可以从此代理设 备和/或从该主机设备获得。由该客户机设备使用此密钥推导函数、这一个或多 个约束、以及此共享机密密钥来生成本地代理密钥(1310)。通过对接收到的 消息使用此本地代理密钥,该代理设备就得到认证。亦即,如果此本地生成的 代理密钥与该代理设备用以认证此消息的代理密钥是相同的,那么该客户机设 备将正确地认证(例如,解密)出此消息。
由该代理设备执行的操作可根据对此代理密钥的约束来限制(1316)。在
一个实现中,对此代理密钥的约束可随此代理密钥或作为其一部分被接收。在 一个替换实现中,对代理密钥的约束可改为在主机设备(例如,代理密钥生成 方设备)与客户机设备(例如,代理密钥认证设备)之间经由独立分发信道或 经由其间的安全通信链路预先安排好。在又一个实施例中,对代理密钥的约束
可被蕴涵。例如,客户机设备1202可包括不同的通信接口——例如用于与代 理密钥生成方主机设备通信的主接口、以及用于与诸代理设备通信的辅接口。 如果在辅接口上接收到了代理密钥,那么代理认证设备假定其为代理密钥并相 应地对其作认证。另一种类型的收到约束可以是指示该代理密钥有效的时间期 间的一个或多个时戳。
图14图解了包括存储介质1402、参数接收机1404、消息接收机1406、 密钥生成器1408、和认证模块1410的一种示例的(认证)客户机设备1400。 存储介质1402被配置成存储机密密钥K。认证模块1410可使用此机密密钥K 来认证(例如,解密)通过消息接收机1406接收到的消息。如果使用此机密 密钥K对接收到的消息所作的认证失败,则客户机设备1400生成其随后可用 来认证此接收到的消息的受约束代理密钥。在一些实现中,接收到通知此客户 机设备1400接收到的消息是使用代理密钥来认证的指示符。相应地,如果此 指示符指示接收到的消息是使用(受约束)代理密钥来认证的,则(认证)客 户机设备1400使用所指示的约束来生成本地代理密钥来认证此接收到的消息 以及査证此接收到的消息和/或该消息的发送方的真实性。
参数接收机1404接收指示所选择的约束的参数。所选择的约束可例如在 功能上和/或时间上限定此受约束代理密钥的使用。这些参数可指示受约束代理
密钥的使用限定。这些参数还可包括指示以此受约束代理密钥加密的消息有效 的时间期间的时戳。
为了认证接收到的消息,密钥生成器1408因变于接收到的参数(即,约
束)和此机密密钥K来生成本地代理密钥。密钥生成器1408以类同于图6中 的密钥生成器610的方式来生成此本地代理密钥。由此,密钥生成器1408可 通过使用纳入这些参数/约束以及此机密密钥K的密钥推导函数(一种类型的 密码术密钥)来生成此本地代理密钥。如果这些参数包括时戳,则该代理密钥 可通过如式[l]中那样加密时戳来生成。取决于实现,可使用一个以上的密钥推 导函数。例如,可使用多个密码术函数之一来生成此本地受约束密钥。在此类 情形中,可由客户机设备1400接收指定这些密码术函数之一的数据。密钥生 成器1408可使用被指定的密钥推导函数纳入这些参数(约束)和此机密密钥 来生成此本地代理密钥。 一旦生成了本地代理密钥,认证模块1410被配置成 就使用此本地代理密钥来恢复出其中的数据和参数(约束)以认证此接收到的 消息。
客户机设备1400可进一步包括比较模块1412。比较模块1412被配置成 比较接收到的参数(约束)和恢复出的参数(例如,来自经认证消息的约束)。 例如,如果接收到的参数(约束)与恢复出的参数(约束)匹配,则此代理设 备就得到认证。例如,如果这些参数是时戳,那么如果该消息是在由这些参数 指示的时间期间内被接收到的,该接收到的消息就得到认证。
在一个替换实现中,用来生成代理密钥的参数(约束)是由客户机设备独 立地获得的。例如,主机设备可事先提供这些参数(约束)。客户机设备随后 使用这些约束来生成本地代理密钥并认证该代理设备(例如,认证从该代理设 备接收到的消息)。
应当注意,客户机设备1400是一示例说明并且可包括更多的元素,诸如 配置成控制客户机设备1400的其他元素的控制器和/或配置成执行可包括上面 描述的操作的几部分的各种功能的处理器等。客户机设备1400也可包括用于 远程通信的元素以及用于无线通信的元素。可不影响客户机设备1400的操作 地来重新编排这些元素之一或其组合。这些元素之一或其组合也可不影响客户 机设备1400的操作地被组合到一个元素中去。
图15图解了一种用于由客户机设备认证通信的进一步的方法。存储可供
用在安全通信中的机密密钥(1502)。此机密密钥可与向代理设备提供受约束 密钥的主机设备共享。由客户机设备接收指示所选择的约束1504的参数以及 使用受约束的密钥认证的收到消息(1506)。此消息可包括数据以及这些参数。 接收到的消息1506可使用机密密钥1516来认证。如果对所接收到的消息的认 证成功(例如,此消息被正确地解码出来)(1518),则此认证就完成。亦即, 此类消息是由知道此机密密钥的另一设备来认证的。否则,如果对所接收到的 消息的认证失败(1518),则使用密钥推导函数、此机密密钥、以及一个或多 个参数(约束)本地生成(1508)受约束代理密钥以认证此消息(1510)。使 用此本地生成的代理密钥来认证(1510)接收到的消息以恢复此数据以及这些 参数。
此受约束代理密钥可基于接收到的参数以及机密密钥通过使用例如密钥 推导函数(KDF)等的密码术函数来生成。此方法还可包括接收通知接收方客 户机设备接收到的消息是以(受约束)代理密钥来认证(例如加密)的指示符 (1512)。如果此指示符指示使用了 (受约束)代理密钥认证接收到的消息, 则随即可以机密密钥来直接生成(而不是尝试认证)此受约束代理密钥(1516)。 举例而言,此指示符可以是标志。此方法可另行包括接收指定多个密码术函数 之一的数据(1514)。在此类情形中,可使用被指示的密码术函数用这些参数 和此机密密钥作为输入来生成此受约束代理密钥。
此方法可进一步包括比较接收到的参数1520和恢复出的参数(例如,从 接收到的消息解密出来),并基于此比较和这些参数来认证该代理设备(1522)。 如果接收到的参数与恢复出来的参数匹配,则此代理设备可得到认证。接收到 的和恢复出来的参数可包括时戳。时戳可指示消息有效的时间期间。如果此消 息在该时间期间内被接收到,则此消息可得到认证。接收到的和恢复出来的参 数可进一步指示此受约束密钥的使用限定。
图16图解了由(认证)客户机设备接收的消息所可使用的消息格式。此 数据格式将包括经认证消息字段1110。此消息格式还可包括供通知是否生成了 受约束密钥的指示符之用的指示符比特字段1604。上述指示符比特可以是一比 特长的标志,在这种场合,举例而言比特=0将指示没有生成受约束密钥,而
比特=1将指示生成了受约束密钥,或反之亦可。此数据结构可另外包括供指 定多个加密函数中用来生成此受约束密钥的那一个的数据。此数据字段1606 的长度可取决于加密函数的数目。例如,如果有三个或四个加密函数,则此数
据字段1606可以是两比特,其具有OO、 01、 10和11四个状态,每一个对应 于这三个(一个状态将不被使用)或四个加密函数之一。数据字段1604和1606 可以在通报给移动设备的消息的报头中。数据字段1602可以在通报给客户机 设备的消息的载荷中。
图17图解了在代理密钥生成器主机设备中如何可使用分组密码机来作为 一种类型的密码术函数(例如,密钥推导函数)。分组密码机1702接收机密 密钥1704、以及一个或多个约束1706和授权密钥1710 (明文)以生成代理密 钥1708 (密文)。在此实现中,代理密钥生成主机设备将代理约束和认证密钥 编码为此代理密钥1708的一部分。
图18图解了在代理密钥认证客户机设备中如何可使用分组密码机来作为 一种类型的密码术函数(例如,密钥推导函数)。分组密码机1802使用机密 密钥1804 (先前就为此认证设备所已知)以及从代理设备接收到的代理密钥 1806 (密文)来获得代理约束1808和认证密钥1810 (明文)。认证密钥1810 随即可被认证设备用来确定发送了此代理密钥的代理设备是否被授权担当代 理。
尽管本文中描述的各个实施例使用了对称密钥密码术(例如,共享机密密 钥、密码分组等),但是本代理密钥方案也可使用非对称密钥密码术来实现。
图1 - 18中图解的组件、步骤、和/或函数中的一个或多个可被重新编排 和/或组合成单个组件、步骤、或函数、或在数个组件、步骤、或函数中体现而 不会脱离本发明。还可添加另外的元素、组件、步骤、和/或函数而不会脱离本 发明。图l、 2、 3、 4、 6、 8、 10、 12、 14、 17和/或18中图解的装置、设备、 和/或组件可被配置成执行图3、 5、 7、 9、 11、 13、和/或15中描述的方法、 特征、或步骤中的一者或多者。
本领域技术人员将进一步领会,结合本文中公开的实施例描述的各种例示 说明性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、 或这两者的组合。为清楚地说明硬件与软件的这一可互换性,在上面各种例示
说明性组件、板块、模块、电路、和步骤是以其功能集的形式作一般化描述的。 此类功能集是被实现为硬件还是软件取决于具体实现和强加于整个系统的设 计约束。
应当注意,前面的实施例纯粹是示例而不应被解释为限定本发明。对这些 实施例的描述旨在是例示说明性的,而非限定所附权利要求的范围。由此,本 教导可易于被应用于其他类型的装置,并且许多替换、修改、和变形对于本领 域技术人员将是显而易见的。
权利要求
1. 一种用于使得客户机设备与代理设备之间能进行安全通信的方法,包括在主机设备处基于所述主机设备和所述客户机设备已知的共享机密密钥来生成第一代理密钥;将所述第一代理密钥发送给所述代理设备;在所述客户机设备处生成第二代理密钥;以及在所述客户机设备处通过使用所述第一和第二代理密钥来认证所述代理设备。
2. 如权利要求l所述的方法,其特征在于,进一步包括 在所述主机设备与所述客户机设备之间预先安排认证算法的分发;以及 在所述主机设备与所述客户机设备之间预先安排所述机密密钥的分发。
3. 如权利要求2所述的方法,其特征在于,当所述第一和第二代理密钥 相同时,所述代理设备就得到认证。
4. 如权利要求1所述的方法,其特征在于,所述第一代理密钥和所述第 二代理密钥是使用密钥推导函数(KDF)和所述共享机密密钥来独立地生成的。
5. 如权利要求4所述的方法,其特征在于,所述KDF取一个或多个约束 以及所述共享机密密钥为输入来获得所述第一代理密钥和第二代理密钥。
6. 如权利要求4所述的方法,其特征在于,所述共享机密密钥只有在具 有所述第一代理密钥、所述一个或多个约束、以及所述KDF的知识的情况下 才能被恢复出来。
7. 如权利要求l所述的方法,其特征在于,进一步包括 在所述主机设备处选择与所述第一代理密钥相关联的一个或多个约束,其中所述第一代理密钥和第二代理密钥是基于所述一个或多个约束的。
8. 如权利要求7所述的方法,其特征在于,进一步包括 从所述代理设备向所述客户机设备发送所述一个或多个约束,其中所述客户机设备将所述约束施加于所述第一代理密钥。
9. 如权利要求7所述的方法,其特征在于,进一步包括 从所述主机设备向所述客户机设备发送所述一个或多个约束,其中所述客 户机设备将所述约束施加于所述第二代理密钥。
10. 如权利要求l所述的方法,其特征在于,进一步包括 在从所述代理设备向所述客户机设备发送的消息中设置向所述客户机设备指示使用了代理密钥来保护所述消息的指示符。
11. 如权利要求l所述的方法,其特征在于,进一步包括 在所述主机设备处定义用来推导所述第一代理密钥的一个或多个约束;以及将此类约束传达给所述客户机设备。
12. 如权利要求ll所述的方法,其特征在于,进一步包括-根据所述一个或多个约束来限制所述客户机设备的与所述代理设备有关的操作。
13. —种用于在主机设备上生成代理密钥的方法,包括获得共享机密密钥——其用于与具有相同共享机密密钥的客户机设备进 行安全通信;获得第一密钥推导函数,其中所述第一密钥推导函数与所述客户机设备已知的第二密钥推导函数相关;基于所述第一密钥推导函数和所述共享机密密钥来生成代理密钥;以及 将所述代理密钥提供给代理设备,其中所述代理设备可使用所述代理密钥来认证与所述客户机设备的通信。
14. 如权利要求13所述的方法,其特征在于,进一步包括 在生成所述代理密钥之前定义对所述代理密钥的一个或多个约束。
15. 如权利要求14所述的方法,其特征在于,所述约束被用来生成所述 代理密钥并被发送给所述代理设备。
16. 如权利要求14所述的方法,其特征在于,所述一个或多个约束被发 送给所述客户机设备。
17. 如权利要求13所述的方法,其特征在于,所述共享机密密钥用在所 述主机设备与所述客户机设备之间的对称密钥安全性方案中。
18. 如权利要求13所述的方法,其特征在于,所述第一密钥推导函数是 加密分组密码机。
19. 如权利要求13所述的方法,其特征在于,进一步包括 存储多个密码术函数;以及从所述多个密码术函数当中选择所述第一密钥推导函数。
20. 如权利要求13所述的方法,其特征在于,所述生成代理密钥包括随 所述共享机密密钥使用一个或多个约束作为所述第一密钥推导函数的参数以获得所述代理密钥。
21. 如权利要求20所述的方法,其特征在于,进一步包括 传送指定多个密钥推导函数之一的数据。
22. 如权利要求20所述的方法,其特征在于,所述一个或多个约束包括 指示所述代理密钥有效的期间的时戳。
23. —种密钥生成方主机设备,包括 用于与其他设备通信的通信接口 ;用于存储共享机密密钥和密钥推导函数的存储设备,其中所述共享机密密 钥和密钥推导函数两者对于一客户机设备皆为已知;以及耦合到所述通信接口和所述存储设备的处理电路,所述处理电路被配置成 基于所述密钥推导函数和共享机密密钥生成代理密钥,以及 将所述代理密钥发送给代理设备,其中所述代理设备可使用所述代 理密钥来认证与所述客户机设备的通信。
24. 如权利要求23所述的设备,其特征在于,所述处理电路被进一步配 置成在生成所述代理密钥之前,定义对所述代理密钥的一个或多个约束。
25. 如权利要求24所述的设备,其特征在于,所述约束是与所述客户机 设备预先安排好的。
26. 如权利要求24所述的设备,其特征在于,所述约束之一致使所述代 理密钥在一定量的时间之后过期。
27. 如权利要求24所述的设备,其特征在于,所述处理电路被进一步配置成将所述一个或多个约束发送给所述代理设备。
28. 如权利要求24所述的设备,其特征在于,所述代理密钥是基于所述一个或多个约束来生成的。
29. 如权利要求23所述的设备,其特征在于,所述密钥推导函数是加密 分组密码机。
30. 如权利要求23所述的设备,其特征在于,所述存储设备存储多个密 码术函数,并且所述处理电路被配置成从所述多个密码术函数当中选择所述密 钥推导函数。
31. 如权利要求30所述的设备,其特征在于,所述处理电路被进一步配 置成传送指定从所述多个密码术函数中选择的用来将一个或多个约束纳入到 所述代理密钥中的密钥推导函数的数据。
32. —种代理生成设备,包括用于获得共享机密密钥——其用于与具有相同共享机密密钥的客户机设 备进行安全通信——的装置;用于获得密钥推导函数的装置,其中所述密钥推导函数也是为所述客户机 设备所已知的;用于基于所述密钥推导函数和所述共享机密密钥生成代理密钥的装置;以及用于将所述代理密钥发送给代理设备的装置,其中所述代理设备可使用所 述代理密钥来认证与所述客户机设备的通信。
33. 如权利要求32所述的设备,其特征在于,进一步包括 用于在所述主机设备处定义对所述代理密钥的一个或多个约束的装置;以及用于将所述约束传达给所述所述客户机设备的装置, 其中所述密钥推导函数使用所述一个或多个约束和所述共享机密密钥来 生成所述代理密钥。
34. —种配置成在主机设备上生成代理密钥的处理器,包括处理电路,其配置成获得共享机密密钥一其用于与具有相同共享机密密钥的客户机设备进行安全通信;获得密钥推导函数,其中所述密钥推导函数与客户机设备已知的第二密钥推导函数相关; 基于所述密钥推导函数和所述共享机密密钥生成所述代理密钥;以及将所述代理密钥提供给代理设备。
35. 如权利要求34所述的处理器,其特征在于,所述处理电路被进一步 配置成在生成所述代理密钥之前,定义对所述代理密钥的一个或多个约束。
36. 如权利要求35所述的处理器,其特征在于,所述处理电路被进一步 配置成基于所述一个或多个约束来生成所述代理密钥。
37. 如权利要求35所述的处理器,其特征在于,所述处理电路被进一步 配置成将所述一个或多个约束提供给所述客户机设备。
38. —种具有用于在主机设备处生成代理密钥的一条或多条指令的机器可 读介质,所述指令在由处理器执行时使所述处理器获得共享机密密钥——其用于与具有相同共享机密密钥的客户机设备进 行安全通信;获得密钥推导函数,其中所述密钥推导函数与所述客户机设备已知的第二 密钥推导函数相关;基于所述密钥推导函数和所述共享机密密钥生成所述代理密钥;以及 将所述代理密钥提供给代理设备。
39. 如权利要求38所述的机器可读介质,其特征在于,进一步具有在由 处理器执行时使所述处理器执行以下操作的一条或多条指令-定义对所述代理密钥的一个或多个约束; 基于所述一个或多个约束来生成所述代理密钥。
40. 如权利要求39所述的机器可读介质,其特征在于,进一步具有在由 处理器执行时使所述处理器执行以下操作的一条或多条指令将所述一个或多个约束提供给所述客户机设备。
41. 一种在代理设备上操作的方法,包括 从主机设备获得代理密钥;存储所述代理密钥以供随所述主机设备同其共享密钥推导函数和机密密 钥的客户机设备来使用;以所述代理密钥来认证消息;以及将经认证的消息发送给所述客户机设备以向所述客户机设备认证所述代 理设备。
42. 如权利要求41所述的方法,其特征在于,进一步包括 接收来自客户机设备的经认证消息;以及通过使用所述代理密钥认证来自所述客户机设备的所述消息来认证所述 客户机设备。
43. 如权利要求41所述的方法,其特征在于,进一步包括 获得由所述主机设备对所述代理密钥强加的一个或多个约束;以及 将所述一个或多个约束发送给所述客户机设备。
44. 如权利要求43所述的方法,其特征在于,所述代理密钥是基于所述 一个或多个约束来生成的。
45. 如权利要求41所述的方法,其特征在于,进一步包括 向所述客户机设备发送指示所述经认证的消息是使用代理密钥来认证的指示符。
46. 如权利要求41所述的方法,其特征在于,进一步包括 向所述客户机设备传送指定用于生成所述代理密钥的密钥推导函数的数据。
47. —种代理设备,包括用于与主机设备和客户机设备通信的通信接口 ; 存储设备;以及耦合到所述通信接口和所述存储设备的处理电路,所述处理电路被配置成 从所述主机设备获得代理密钥,将所述代理密钥存储在所述存储设备中以供随所述客户机设备来使 用,其中所述主机设备和客户机设备共享密钥推导函数和机密 密钥, 使用所述代理密钥来认证消息,以及将经认证的消息发送给所述客户机设备以向所述客户机设备认证所 述代理设备。
48. 如权利要求47所述的代理设备,其特征在于,所述处理电路被进一步配置成获得由所述主机设备对所述代理密钥强加的一个或多个约束;以及将所述一个或多个约束发送给所述客户机设备。
49. 如权利要求47所述的代理设备,其特征在于,所述处理电路被进一 步配置成向所述客户机设备发送指示所述经认证的消息是使用受约束密钥来认证的指示符;以及向所述客户机设备发送指定用于生成所述代理密钥的密钥推导函数的数据。
50. —种代理设备,包括 用于从主机设备获得代理密钥的装置;用于存储所述代理密钥以供随所述主机设备同其共享密钥推导函数和机 密密钥的客户机设备来使用的装置;用于以所述代理密钥来认证消息的装置;以及用于将经认证的消息发送给所述客户机设备以向所述客户机设备认证所 述代理设备的装置。
51. 如权利要求50所述的代理设备,其特征在于,进一步包括 用于获得由所述主机设备对所述代理密钥强加的一个或多个约束的装置;以及用于将所述一个或多个约束发送给所述客户机设备的装置。
52. —种在客户机设备上操作的用于认证代理设备的方法,包括 获得主机设备和所述客户机设备双方皆已知的共享机密密钥; 获得所述客户机设备与所述主机设备双方皆已知的密钥推导函数; 在所述客户机设备处接收来自代理设备的经认证消息; 使用所述密钥推导函数和所述共享机密密钥生成本地代理密钥;以及在所述客户机设备处通过使用所述本地代理密钥来认证所述代理设备。
53. 如权利要求52所述的方法,其特征在于,进一步包括 获得一个或多个约束;以及根据约束来限制可由所述代理设备执行的操作。
54. 如权利要求53所述的方法,其特征在于,进一步包括使用所述一个或多个约束来生成所述本地代理密钥。
55. 如权利要求52所述的方法,其特征在于,所述约束中的一个或多个 致使对所述代理设备的所述认证在一定量的时间之后过期。
56. 如权利要求52所述的方法,其特征在于,进一步包括 接收所接收到的消息是由第二代理密钥认证的指示符。
57. 如权利要求56所述的方法,其特征在于,进一步包括 接收用来生成所述第二代理密钥的密钥推导函数的指示符。
58. 如权利要求52所述的方法,其特征在于,如果所述本地代理密钥成 功地解密出所述受保护的消息,则所述代理设备就得到所述客户机设备的认 证。
59. —种密钥认证客户机设备,包括 用于与代理设备通信的通信接口;用于存储共享机密密钥和密钥推导函数的存储设备,其中所述共享机密密钥和所述密钥推导函数两者对于一主机设备皆为已知;以及耦合到所述通信接口和所述存储设备的处理电路,所述处理电路被配置成 接收来自所述代理设备的安全消息,使用所述密钥推导函数和所述共享机密密钥生成本地代理密钥,以 及通过使用所述本地代理密钥来认证所述代理设备。
60. 如权利要求59所述的设备,其特征在于,所述处理电路被进一步配 置成获得对所述代理设备的一个或多个约束;以及 根据所述一个或多个约束来限制可由所述代理设备执行的操作。
61. 如权利要求59所述的设备,其特征在于,所述约束之一致使对所述代理设备的认证在一定量的时间之后过期。
62. 如权利要求59所述的设备,其特征在于,所述处理电路被进一步配置成接收所接收到的消息是由代理密钥认证的指示符;以及接收用来保护所接收到的消息的密钥推导函数的指示符。
63. —种密钥认证客户机设备,包括用于获得共享机密密钥——其可由主机设备用来认证与具有相同共享机密密钥的所述客户机设备的通信——的装置;用于获得所述主机设备与所述客户机机设备双方皆已知的密钥推导函数的装置;用于在所述客户机设备处接收来自代理设备的经认证消息的装置; 用于使用所述密钥推导函数和所述共享机密密钥生成本地代理密钥的装 置;以及用于通过使用所述本地代理密钥来认证所述代理设备的装置。
64. 如权利要求63所述的设备,其特征在于,进一步包括 用于获得一个或多个约束的装置;用于使用所述一个或多个约束来生成所述本地代理密钥的装置;以及 用于根据约束来限制可由所述代理设备执行的操作的装置。
65. —种配置成在客户机设备上认证代理设备的处理器,包括 处理电路,其配置成获得共享机密密钥——其可由主机设备用来认证与具有相同共享机密密钥的所述客户机设备的通信; 获得所述客户机设备与所述主机设备双方皆已知的密钥推导函数; 在所述客户机设备处接收来自代理设备的经认证消息; 使用所述密钥推导函数和所述共享机密密钥生成本地代理密钥;以及在所述客户机设备处通过使用所述本地代理密钥来认证所述代理设 备。
66. 如权利要求65所述的处理器,其特征在于,所述处理电路被进一步配置成获得对所述代理设备的一个或多个约束;以及 基于所述一个或多个约束来生成所述本地代理密钥。
67. 如权利要求66所述的处理器,其特征在于,所述处理电路被进一步 配置成基于所述一个或多个约束来限制所述代理设备的与所述客户机设备有关 的操作。
68. —种具有用于在客户机设备处认证代理设备的一条或多条指令的机器 可读介质,所述指令在由处理器执行时使所述处理器获得共享机密密钥—其可由主机设备用来认证与具有相同共享机密密钥的所述客户机设备的通信;获得所述客户机设备与所述主机设备双方皆已知的密钥推导函数; 在所述客户机设备处接收来自代理设备的经认证消息; 使用所述密钥推导函数和所述共享机密密钥生成本地代理密钥;以及 在所述客户机设备处通过使用所述本地代理密钥来认证所述代理设备。
69. 如权利要求68所述的机器可读介质,其特征在于,进一步具有在由 处理器执行时使所述处理器执行以下操作的一条或多条指令获得对所述代理密钥的一个或多个约束; 基于所述一个或多个约束来生成所述代理密钥。
70. 如权利要求69所述的机器可读介质,其特征在于,进一步具有在由 处理器执行时使所述处理器执行以下操作的一条或多条指令基于所述一个或多个约束来限制所述代理设备的与所述客户机设备有关 的操作。
71. 如权利要求68所述的机器可读介质,其特征在于,如果通过使用所 述本地代理密钥,所述接收到的经认证消息被成功认证出来,那么所述代理设 备就得到认证。
全文摘要
使用一种受约束代理密钥来保护两个设备之间经由居间设备的通信。在主机设备(密钥生成方设备)处基于共享机密密钥、对此第一代理密钥的一个或多个约束、以及密钥推导函数生成第一代理密钥。至少此共享机密密钥和密钥推导函数对于该主机设备和一客户机设备(认证设备)是已知的。此第一代理密钥被发送给一代理设备以用在认证与上述客户机设备的通信中。由此代理设备使用此第一代理密钥生成经认证的消息并将其发送给该客户机设备。该客户机设备使用上述密钥推导函数、一个或多个约束、以及该共享机密密钥来本地生成用于认证此代理设备的第二代理密钥。如果该客户机设备使用此第二代理密钥成功地访问了上述来自代理设备的经认证的消息,则此代理设备就得到认证。
文档编号H04L9/32GK101385274SQ200680044239
公开日2009年3月11日 申请日期2006年9月29日 优先权日2005年9月29日
发明者A·基安特曼, G·G·罗斯, L·肖, T·雅尔辛卡亚 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1