会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑安全 / 密码学 / 密码学密钥代的有效管理

密码学密钥代的有效管理

阅读:425发布:2020-05-15

IPRDB可以提供密码学密钥代的有效管理专利检索,专利查询,专利分析的服务。并且本发明一般地涉及对信息环境中密码学密钥各代的管理,包括密钥生产方生成并向密钥消费方分发密钥信息。本发明的一个基本概念就是利用预定的单向密钥导出函数来规定密钥各代之间的一种关系,使得较先代的密钥能够有效地从后代中导出,但反过来则不能。因此,按照本发明的一个基本想法是在密钥更新时,在密钥消费方使用新密钥代的密钥信息代替老密钥代的密钥信息。只要有需要,密钥消费方迭代地应用预定的单向密钥导出函数从新密钥代的密钥信息导出至少一代老密钥的密钥信息。以这种方式,能够极大地减小消费方的存储需求。,下面是密码学密钥代的有效管理专利的具体信息内容。

1.一种在信息环境中管理安全密钥信息代的方法,包括由密钥生 产方生成并向密钥消费方分发密钥信息,所述方法包括如下步骤:-在密钥更新时,从密钥生产方向密钥消费方分发新密钥代的密 钥信息;

-在密钥消费方,用新密钥代的密钥信息代替老密钥代的密钥信 息;

-每当需要时,在密钥消费方迭代地应用一个预定的单向密钥导 出函数来从新密钥代的密钥信息导出至少一个老密钥代的密钥信息。

2.权利要求1所述的方法,其中所述密钥生产方通过迭代地应用 所述预定的单向密钥导出函数的实例,从一个预定代的密钥信息开 始,来生成所述新密钥代的密钥信息。

3.权利要求2所述的方法,其中所述预定的密钥代是一个主密钥 代。

4.权利要求1所述的方法,其中所述密钥生产方通过应用所述预 定的单向密钥导出函数的陷阱门函数,从任何较老的密钥代的密钥信 息开始,来生成所述新的密钥代的密钥信息。

5.权利要求1所述的方法,其中所述迭代地应用一个预定的单向 密钥导出函数来导出至少一个较老的密钥代的密钥信息的步骤,使得 密钥消费方能够使用信息环境中任何一个较老的密钥代,即使已经错 过了一次或多次以前的密钥更新。

6.权利要求1所述的方法,其中所述密钥生产方包括一个密钥发 行服务器,用于发行供下列装置共享的安全密钥信息:至少一个通信 装置和一个用于所述至少一个通信装置的受保护数据的提供者。

7.权利要求6所述的方法,其中所述至少一个通信装置包括一组 装置,其每个装置实现了所述预定的单向密钥导出函数的一个实例, 从而使得能够访问新密钥代的每个群组装置也能够基于任何较老的密 钥代进行通信。

8.权利要求7所述的方法,其中能够访问新密钥代的群组装置也 能够基于任何老密钥代来共享受保护的数据。

9.权利要求6所述的方法,其中所述密钥消费方包括所述至少一 个通信装置以及所述的受保护数据的提供者。

10.权利要求6所述的方法,其中所述密钥发行服务器和所述受 保护数据提供者是被集成的。

11.权利要求1所述的方法,其中所述单向密钥导出函数是在密 钥消费方的一个装置中实现的,用于从新密钥代的密钥信息生成所述 至少一个较老的密钥代的密钥信息,如果以预定的访问码形式的另外 的数据被应用到所述密钥导出函数的话。

12.权利要求1所述的方法,其中通过迭代地应用所述单向密钥 导出函数导出的所述密钥信息直接地对应于一个密码学密钥。

13.权利要求1所述的方法,还包括将所述导出的密钥信息变换 成密码学密钥的步骤。

14.权利要求1所述的方法,其中所述密钥导出函数基于一个密 码学散列函数。

15.权利要求1所述的方法,其中所述安全密钥信息被用于数字 内容分发系统中的数字权利管理、在线游戏、局域网或个人区域网中 的文件共享、存储转发应用或用于保护在线会话。

16.用于管理信息环境中安全密钥信息代的装置,具有生成并向 密钥消费方分发密钥信息的密钥生产方,所述装置包括:-用于在密钥更新时从密钥生产方向密钥消费方分发新密钥代的 密钥信息的装置;

-在密钥消费方用于用新密钥代的密钥信息代替老密钥代的密钥 信息的装置;

-每当需要时用于在密钥消费方迭代地应用一个预定的单向密钥 导出函数来从新密钥代的密钥信息导出至少一个较老的密钥代的密钥 信息的装置。

17.权利要求16所述的装置,还包括如下装置:该装置用于在密 钥生产方通过迭代地应用所述预定的单向密钥导出函数的一个实例, 从一个预定密钥代的密钥信息开始,生成所述新密钥代的密钥信息。

18.权利要求17所述的装置,其中所述预定密钥代是一个主密钥 代。

19.权利要求16所述的装置,还包括如下装置:该装置用于在密 钥生产方通过应用所述预定的单向密钥导出函数的陷阱门函数,从任 何较老的密钥代的密钥信息开始,生成所述新密钥代的密钥信息。

20.权利要求16所述的装置,其中所述用于迭代地应用预定的单 向密钥导出函数来导出至少一个较老的密钥代的密钥信息的装置,可 用于使得密钥消费方能够使用信息环境中任何较老的密钥代,即使已 经错过了一次或多次以前的密钥更新。

21.权利要求16所述的装置,其中所述密钥生产方包括一个密钥 发行服务器,用于发行供下列装置共享的安全密钥信息:至少一个通 信装置和一个用于所述至少一个通信装置的受保护数据的提供者。

22.权利要求21所述的装置,其中所述至少一个通信装置包括一 组装置,其每个装置包括用于迭代地应用所述单向密钥导出函数的从 而使得能够访问新密钥代的每个群组装置也能够基于任何较老的密钥 代进行通信的装置。

23.权利要求22所述的装置,其中能够访问新密钥代的群组装置 也能够基于任何较老的密钥代来共享受保护的数据。

24.权利要求21所述的装置,其中所述密钥消费方包括所述至少 一个通信装置以及所述的受保护数据的提供者。

25.权利要求21所述的装置,其中所述密钥发行服务器和所述受 保护数据提供者是被集成的。

26.权利要求16所述的装置,其中所述用于迭代地应用一个单向 密钥导出函数的装置是在密钥消费方的一个装置中实现的,并被配置 成用于从新密钥代的密钥信息生成所述至少一个较老的密钥代的密钥 信息,如果以预定的访问码形式的额外数据被应用到所述密钥导出函 数的话。

27.权利要求16所述的装置,其中所述用于迭代地应用一个单向 密钥导出函数的装置,可用于导出直接地对应于一个密码学密钥的密 钥信息。

28.权利要求16所述的装置,还包括用于将所述导出的密钥信息 变换成密码学密钥的装置。

29.权利要求16所述的装置,其中所述密钥导出函数基于一个密 码学散列函数。

30.权利要求16所述的装置,其中所述安全密钥信息被用于数字 内容分发系统中的数字权利管理、在线游戏、局域网或个人区域网中 的文件共享、存储转发应用或用于保护在线会话。

31.一种信息环境中的安全密钥消费实体,所述安全密钥消费实 体包括:-用于在密钥更新时接收新密钥代的密钥信息的装置;

-用于以所述新密钥代的密钥信息代替存储在所述安全密钥消费 实体中的较老的密钥代的密钥信息的装置;

-每当需要时,用于迭代地应用一个预定的单向密钥导出函数来 从所述新密钥代的密钥信息导出至少一个较老的密钥代的密钥信息的 装置。

32.一种信息环境中的安全密钥生产实体,所述安全密钥生产实 体包括:-从主密钥代的密钥信息开始,用于以给定的次数迭代地应用一 个单向密钥导出函数来导出预定的密钥代之密钥信息的装置;以及-出于安全通信的目的,用于向信息环境中至少一个密钥消费实 体分发所导出的密钥信息的装置。

说明书全文

本发明的技术领域

本发明涉及通信系统中各实体之间的密码学密钥之管理。

本发明的背景

信息安全是当今信息技术社会中一个非常重要的领域。

密码学密钥管理作为许多信息安全技术的基础,扮演着一个非常 基础的角色,除了别的之外,所述信息安全技术包括机密性,实体认 证,数据完整性以及数字签名。对于密码学一般的介绍,特别是密钥 管理的介绍,我们分别参考[1]和[5](第13章)。下面是与本上下文 有关的密钥管理的概要,部分地基于标准参考[5]。

一般地,密钥关系涉及至少两个角色:密钥材料的“生产者”和 “消费者”。密钥管理的目标是以一种抗击诸如秘密密钥机密性的泄 漏等有关威胁的方式来维护密钥关系和密钥材料。密钥管理通常是在 特定安全策略的上下文中提供的,所述安全策略明显地或隐含地规定 了所考虑的系统想要解决的威胁,例如利用所要遵循的实践或过程。 这种策略可以包括过程或指令,用于避免使用不再有效的密钥或用于 其它目的。

不同的技术与协议可以用于分发密码学密钥,在通信实体之间必 须保留密码学密钥的机密性。一种技术是使用密钥分层,这是一种密 钥的机密度分类,所述机密度反映了受保护数据的敏感性:

1.主密钥-位于分层最高级的长期密钥,

2.密钥加密密钥-用于密钥传输或其它密钥存储的对称密钥,

3.数据/会话密钥-用于在用户数据上提供密码学操作(例如加 密以及认证)。这些通常是短期密钥。

位于某层的密钥通常用于保护下层的项目。这种约束是为了使得 攻击更加困难,并且限制特定密钥泄漏所带来的暴露。

除了上述密钥分层等级,可以根据时间考虑来对密钥进行分类。 如上面所指出的,一种安全策略或外部事件可能使得用于实体之间通 信的密钥材料有必要改变。这涉及密钥的有效期概念——密钥可被合 法实体使用的时段。有效期可以用来限制受特定密码学算法保护之数 据可被攻击的时间与信息,或者用来限制单个密钥被泄漏的情况下暴 露范围。

除了在简单系统中其秘密密钥一直保持不变之外,与密钥关联的 有效期通常会要求密钥被周期性地更新,从而创建密钥序列或密钥 代。更新可能涉及使用现有密钥材料来建立新的密钥材料,使用适当 的密钥建立协议,或密钥分层。然而,为了限制长期秘密密钥或过去 的会话密钥泄漏的情况下的暴露范围,应该避免密钥材料之间的某些 相关性。例如,不推荐使用旧的会话密钥来对新的会话密钥进行加密 (因为旧密钥的泄漏导致新密钥的泄漏)。

与本发明有关的密钥更新的一个特定例子是具有重叠有效期的密 钥之更新,即当几代密钥需要共存的时候并且在必须避免上面指出的 密钥之间的依赖性的情况。

有几个理由使得在投入使用新数据密钥的同时仍然使用旧的数据 密钥。一种理由是当需要增加对新数据的保护而出于某些原因,不需 要增加对旧数据的保护时:可以很容易预见这样一些商业模型,它们 依赖于在某段时间中内容需要安全保护,而在此后,数据可以在有限 或没有财务损失的情况下被泄漏,例子包括新闻服务,天气预报等。

另外一个理由与群组密钥管理上下文有关:假定数据在一组实体 之间被安全地共享,在群组中不同实体可能对组成当前或最新代的密 钥有不同的看法,从而导致通信中不同实体使用不同代的密钥。虽然 很容易指明正在使用的密钥代,但很难或甚至不希望要求所有实体保 持最新一代的密钥,因而使得有必要允许新旧密钥在一定程度上的平 行使用。这种情况的一个例子是由用户装置构成(移动电话,笔记本, 个人数字助理,mp3播放器,数字(视频)相机,等)的个人区域网(PAN), 这些用户装置使用某些网络技术连接在一起并且这些装置安全地共享 该用户的个人信息,数据,应用,或内容,并且该用户正在使用一种 自动的常规的密钥更新安全策略。下述这种情况极有可能:当密钥更 新期间,有些装置关闭或不能访问,但它们在可能更新之前应该仍然 能够与其它已更新的装置进行安全通信。

一个相关的问题是关注动态群组实体的特权,例如当一个群组实 体被排除去访问将来的数据,但仍然被授权安全地向群组写入受保护 数据。这种情况的一个例子是内容保护方案,其中一种装置的撤销应 该使得该装置不可能呈现新的内容但仍然可能与其它装置共享旧的内 容。因而具有正确特权的实体必须维护旧的和新的密钥来参与所有通 信。

在所有这些情况中,存在一个关于用不同密钥加密数据之管理的 效率问题。假定有这种类型的大量密钥更新,其中旧的密钥仍然有效, 就可能会出现严重的存储问题,特别在小型装置中,诸如移动电话, 便携式音乐播放装置,等等,其中存储空间是有限的。

这种问题的一种尝试解决方案是用下一代密钥代替当前密钥并且 用最新代密钥对先前加密的数据重新加密,因而将密钥存储减少到最 新密钥。然而,这种方案增加了重新加密的计算与分发成本,如果大 量数据被加密,这种成本可能非常巨大。此外,它没有解决上述群组 通信情况,例如当一个被排除的成员不再能够安全地写数据的情况, 因为它不能访问最新的密钥并且其它成员使用最新密钥代替了旧的密 钥。另一个可用于通信环境的尝试要求所有装置总是去访问最新密 钥。如上面所指出的,当在密钥更新期间装置关闭或不能联系密钥发 行者时,这是不实际的。

本发明的概述

本发明克服了现有技术安排中这些以及其它缺陷。

本发明总的目的是使得密钥的有效更新以及任一上代密钥的使用 成为可能,而同时仅仅需要存储一个密钥。

本发明的一个具体目的是为群组实体提供通过使用任何一代的密 钥来进行通信而同时只需在每个实体中存储一个密钥的装置。

附随的专利权利要求书中定义的本发明实现了这些以及其它目 的。

本发明的一个基本概念是在各个代的密码学密钥之间规定一种关 系,使得较先代的密钥可以有效地从较后代的密钥中得出,但反过来 则不能,即在没有额外信息的情况下不可能从先代密码中导出后代密 码。

本发明一般地涉及信息环境(诸如通信环境)中对密码学密钥信 息各代的管理,包括密钥生产方生成并向密钥消费方分发密钥信息。 在密钥更新时,新密钥代的密钥信息从密钥生产方被分发到密钥消费 方。按照本发明的一个基本想法是在密钥消费方用新密钥代的密钥信 息代替旧密钥代的密钥信息,并且如果需要,重复地应用预定的单向 密钥导出函数来从新密钥代的密钥信息中导出至少一代老密钥的密钥 信息。以这种方式,可以极大地减少密钥消费方的存储需求。实际上, 密钥消费方的接收实体真正需要存储的唯一密钥是最新代密钥。旧的 密钥是使用密钥导出函数有效地导出的。作为一个例子,密钥导出函 数可以是密钥学散列函数或类似的单向函数。

优选地,从预定一代的密钥信息开始,诸如从初始时仅仅只有生 产方知道的主密钥代或任何中间密钥代的密钥信息开始,密钥生产方 通过迭代地应用预定单向密钥导出函数的一个实例,来生成要被分发 的新密钥代的密钥信息。在这种情况中,生产方典型地生成并存储一 个随机的“主密钥”,并且迭代地应用密钥导出函数来为所考虑的应 用“后向地”导出足够多的密钥代。通过以给定次数n迭代地应用一 个单向导出函数,可以从主密钥中导出第一密钥代。为了生成下一密 钥代,密钥生产方只要n-1次应用密钥导出函数,以此类推。这意味 着生产方仅仅需要存储主密钥以及当前的代数。

备选地,密钥生产方从较老的密钥代的密钥信息开始,通过应用 一个预定单向密钥导出函数的陷阱门函数,来生成新密钥代的密钥信 息。为此可以使用一种基于公钥加密系统的函数(这是具有所谓陷阱 门的单向函数)。消费方仅仅知道公钥,而生产方可以使用私钥作为 陷阱门来在密钥代链中“前进”。

在一个典型的应用中,密钥生产方包括一个发行密钥信息的密钥 发行服务器,所述密钥信息被至少一个通信装置和受保护数据的提供 者所共享。

本发明对于群组密钥管理特别有用,其中密钥消费方包括整个一 组装置或实体。一般而言,每组实体实现所述预定单向密钥导出函数 的一个实例,从而使得能够访问新密钥代的群组装置不仅能够基于新 密钥代通信(例如从内容提供者共享受保护的内容),而且能够基于 老密钥代通信。

通过向群组中剩余的未被排除的装置分发晚于被排除装置可用的 密钥代,本发明能够有效地区分被排除的装置与实体,要记住,所述 单向密钥导出函数有效地防止会导出更晚的密钥代。

密钥导出函数的其它输入参数包括一个接入码,诸如受信任的管 理员/所有者/用户知道的个人身份号码(PIN)。有利地,所述单向导 出函数接着以这样一种方式被实现,使得只有预定接入码形式的额外 数据被施加到密钥导出函数时,才会生成有关的密钥信息。另外还有 一个参数可以是代数本身,为每个密钥代有效地创建一个新的密钥导 出函数。

应当理解:通过迭代地应用单向密钥导出函数导出的密钥信息可 以直接对应于密码学密钥或备选地,可被变换成这样一个密钥。所述 密钥信息还可以被变换成一组密钥,每个密钥实际上从上一代密钥导 出。

本发明可被用于各种不同的应用,包括但不局限于数字内容分发 系统中的数字版权管理,在线游戏,局域网或个人区域网(LAN/PAN) 中的文件共享,存储转发应用以及保护在线会话。

本发明提供下述优点:

-允许密钥代的有效存储:接收实体唯一需要存储的密钥是最近 的一代。

-允许密钥被有效地生成:有效函数的迭代。

-允许群组实体使用任何密钥代进行通信:通过选择足够早的密 钥代,群组中任何当前或先前实体都可访问。使用更晚的密钥提供了 对于被排除实体可选的区别对待。

-不需要确保接收中间密钥更新:在群组场合下的密钥更新过程 中,有些实体可能会错过了特定密钥代的更新。借助本发明,不需要 了解任何错失的中间更新,因为所有以前的更新都能够从更晚代的密 钥有效地导出。

-生产者可以实现并利用本发明,而与本发明的实现以及消费者 的使用无关。

-允许策略无关的实现:不同的密钥发行者可用拥有不同的撤销 或密钥有效期策略,而不会影响装置的实现。

-选择性访问早先的密钥代:通过区分其它参数,本发明允许受 限的访问以前的密钥代。

通过阅读下面的本发明之实施例的说明,将能体会到本发明提供 的其它优点。

附图简要说明

通过参考下面结合附图的说明,将能够最好地理解本发明以及本 发明的更多目标及优点,其中:

图1是一个示意图,显示了示范信息环境中一般的密钥生产和密 钥消费角色;

图2A说明了一种按照本发明之优选实施例在密钥生产方产生各个 密钥代的方法;

图2B说明了一种按照本发明之备选实施例在密钥生产方产生各个 密钥代的方法;

图3说明了一种按照本发明之优选实施例在密钥消费方导出老密 钥代的方法;

图4说明了一种场景,其中一个密钥生产者借助常规的密钥管理 发行了供一组装置共享的秘密密钥;以及

图5说明了一种场景,其中一个密钥生产者借助按照本发明之优 选实施例的密钥管理发行了供一组装置共享的秘密密钥。

本发明实施例的详细描述

下面描述的实施例仅仅作为例子给出,并且应当理解本发明不局 限于此。保持这里所公开并申明的基本的基础原则的更多实施例,变 化,或改进都在本发明范围之内。

在所有附图中,相同的参考字符将被用于对应或相似的要素。

参考图1,考虑一种信息环境,这里示例说明了一种通信系统的范 围,具有至少一个秘密密钥发行者S,诸如密钥发行服务器,至少一个 内容或服务提供者P,以及至少一个潜在的接受者R。使用背景一节中 的术语,S是“生产者”,P和R是“消费者”。假定任何S与P和R 具有一个先验的安全(例如机密的)信道。一个目标是让提供者P使 用S所提供的信息安全有效地将数据传输到接收者R。另一个目标是有 效地管理S,P和R中的秘密信息。S和P,S和R之间的安全信道用于 密钥分发以及相关信息,诸如密钥代,密钥策略,包括有效期,范围 等等。S和P的角色可以重合。秘密密钥发行者的角色可以不同于秘密 密钥创建者的角色(见下文;已经生成了主密钥以及可选地密钥代的 一方),但是对于本领域的技术人员来说,这种区别是很自然的,因 而不需要在本发明中显式地强调。

为了更好的理解本发明,以一些示范场景的描述作为开始可能是 有用的。

场景1

S已经生成了第一代秘密密钥k1,它被安全地分发到P和R。P使 用k1保护数据x1并发送给R,然后R使用秘密密钥k1在数据x1上执 行适当操作(解密,检验等)。在密钥更新时,下一代秘密密钥k2被 分发给P和R,并且使用提供更大可信度的新密钥对后续来自P的数据 进行保护。为了更高代密钥,重复该过程。旧密钥仍然可被用于这样 的情形,即有需要的消费者不能访问(物理地或逻辑地)新密钥。经 过许多次密钥更新后,生产者和消费者面临着潜在的大量有效密钥以 及用不同密钥加密的数据,这些密钥及数据都需要被安全地存储并管 理。

对于密钥和数据的分发,可能存在几种不同的过程和顺序,正如 本领域技术人员所知道的,诸如:

1.首先k1被发送给R。当R向P请求数据x1时,k1从S发送给 P而用k1保护的x1则从P发送给R。在密钥更新时,k2被发送给R, 等。

2.当R从P请求数据x1时,k1从S发送给P,而用k1保护的x1 则从P发送给R。接着k1被分发给R。当R从P请求x1时,如果已经 有一次密钥更新,k2从S发送给P,等。

场景2

在这个例子中,P和S重合。在上一个例子中,数据可以被保护并 与密钥分发独立地被分发,例如,在存储转发环境中。在这个例子中, S(=P)和R想要建立一个安全通信会话,其密钥更新允许多个平行的 会话。可选地被嵌在S和R之间的信令协议中,S在安全信道上向R发 送第一代会话密钥k1。使用所述第一代会话密钥,S和R能够不使用 安全信道而安全地交换数据(因而执行密钥分层:先验安全信道比数 据信道高一层)。当一个新的会话被启动时,所述安全信道被用于密 钥更新。由于旧的会话密钥仍然可被并行地使用,将会潜在地存在多 个会话密钥需要安全地管理。

场景3

具有多于一个潜在接收者的情况特别有趣,并在本场景中详加研 究。通过示例的方式,假定一种场景,其中,我们具有一个群组,也 被称为社区C,包括一组实体或装置,d1,d2,...,dN,一个秘密密钥 发行服务器SC,它发行供该组装置共享的秘密密钥和为该社区提供受 保护的数据的提供者PC。假定PC和SC协作,使得SC能够向PC通知当前 有效的共享秘密密钥。涉及的第三种也是最后一种角色是各装置的社 区中的用户/所有者/管理员UC。所述秘密密钥发行者是密钥生产者, 其它是密钥消费者。S,P和U的角色不一定是截然不同的。

为了符号的简单性,我们不显式地包括对社区的依赖性,虽然通 常假定存在这种依赖性。另外,为了示范场景的简单性同时不失去一 般性,我们假定只有四个装置,即N=4。

为了理解并同时强调与常规密钥管理有关的一些问题,首先参考 图4中现有技术。S已经生成了第一个密钥k1,并与d1,d2,d3共享。 装置d4还不是该社区的成员。另外假定在在d1上具有用k1保护的数 据x1,在d2上具有也用k1保护的数据x2。在时间t1,装置d3自愿 地或非自愿地离开该社区。在前一种情况中,d3向S通知其离开,在 后一种情况中,S从其它来源获得该信息或单边地做出决策。S让P获 悉d3的离开,其含义是P不应该以一种d3能够访问到的方式继续向 该组装置提供新的数据。

在时间t2(t2>t1),装置d1向P请求新数据x3。在这一点,P 将知道它不能继续提供用k1保护的数据,因此它将向S请求一个新的 密钥k2,并且向d1提供用k2保护的数据x3。装置d1意识到它不拥 有k2,将求助S来获取它。在经过认证是d1之后,k2被安全地传输 给d1。如果后来d1愿意向d2提供x3,将会发生相同的事情;d2将 会意识到它不拥有k2(除非它最近从P请求了新的受保护的数据)并 联系S来获取该数据。

在时间t3(t3>t2),d2向d1传输x2。当这点发生时,有两种 可能:

a.当接收到k2时,装置d1没有删除k1,并保留k1供将来使用

b.装置d1不再知道k1

在情况a中,需要装置为所有是其成员的社区C1,...,CL存储所 有的共享秘密密钥k1,...,kM。在情况b中,需要d1联系S并请求密 钥k1。这种情况中的代价是与S之间增加的交互次数,并且要求S为 与其交互的所有社区存储所有共享秘密密钥。

类似地,假定在时间t4(t4>t3),装置d4向S注册成为该社区 的一个成员。为了令d4获得向该社区提供的所有数据,S要么直接地, 要么通过多次迭代必须能够向d4提供k1,...,kM,这再次意味着需要 在密钥发行者S中本地存储以前的密钥。 ----------------------

本发明可被应用于这些场景、混合型式、以及其它密钥/数据分发 过程。特别地,本发明的一个示范应用是数字权利管理(DRM)场景中 各个装置之间的内容共享或许可证共享,其中P可以是内容提供者,S 是许可证发行者,R是一个或多个内容消费装置。另外一个应用是个人 区域网中用于文件共享的群组密钥管理,其中可以是S=U=P。正如所指 出的,其它应用包括存储转发应用以及用于保护在线会话的应用。更 多的许多其它应用也是可能的。

按照本发明的一个基本想法涉及在密钥更新时,用新的密钥代代 替存储在密钥消费方的较老密钥代,并且如果需要,迭代地应用一个 预定的单向密钥导出函数来从新密钥代中导出至少一个老的密钥代。 这显著地减少了密钥消费方的存储需求,因为在一个最优化实现中, 只有最近的密钥代需要被存储。老的密钥是有效地使用密钥导出函数 导出的。

本发明因而基于在密钥代之间规定一种关系,使得较早期的密钥 代能被有效地从较晚期的密钥代中导出,但反之则不能。在密钥生产 方,因而至少有两种主要的可能性,以便基于预定的单向密钥导出函 数来生成密钥信息。一般而言,各个密钥代可以从某个初始或给定的 密钥信息中使用单向密钥导出函数来“后向地”产生,或者使用密钥 导出函数的陷阱门从当前密钥代“前向”导出。在前一种情况中,从 任何预定代的密钥信息开始,诸如从一个主密钥代或开始时只有生产 方知道的任何中间密钥代的密钥信息开始,后向地产生各个密钥代。

下面是本发明之第一示范实施例中某些基本步骤的要点。

1.密钥生产者优选地生成并存储一个随机主密钥kn(一个具有所 需的比特数的伪随机数)并且通过迭代地应用密钥导出函数F来为所 考虑的应用导出足够多(n)代的数据/会话密钥(图2A)。

2.为了简单起见,优选地,密钥代以逆序被枚举,从最后导出的 密钥作为第1代开始,依次类推,直到第n代,k1,k2,...,kn。

3.密钥发行者使用任何适当的密钥分发技术分发第一代密钥,例 如ISO 11770-3[7]或ANSI X9.44[8]。

4.在密钥更新时,下一代密钥被分发,同样使用任何适当的密钥 分发技术。在发送方,相关的密钥代从存储的主密钥中被有效地导出。

5.在接收方,老一代密钥代被删除并被最新一代密钥代替。如果 需要,使用预定密钥导出函数,旧密钥可被有效地导出。如果在密钥 消费方的一个实体能够访问第j代密钥kj,那么第i代密钥ki,其中 i<j,可以使用密钥导出函数F导出(图3)。

为了生成下一代密钥,密钥生产方可以简单地应用密钥导出函数 n-1次迭代,等等。这意味着生产方仅仅需要存储主密钥和当前的代 数。

用于从新密钥导出旧密钥的函数应该这样设计以使得消费者不可 能从旧密钥导出新密钥(图3)。这意味着该函数在计算上很难逆转, 或是“单向的”。诸如SHA-256([6])的密码学散列函数满足这个需 求。另外,一个有效的密钥导出函数消除了任何确定规模的问题,对 于“足够多代”的含义是允许有足够的余地。

一个基于公钥密码系统的函数(该函数是具有所谓陷阱门的单向 函数)也满足该需求,其中消费者只知道公钥。这样一个函数将使得 生产者能够使用陷阱门(私钥)来在链条中“前进”,避免了需要预 先生成以后的密钥代。

下面是本发明之第二示范实施例中一些基本步骤的要点,该实施 例基于一个具有陷阱门的单向函数,例如以合数为模的指数(注意在 这种情况中的密钥要比基于无陷阱门的单向函数的方法中的密钥更 长,这是由于已知的具有可比安全性的陷阱门单向函数有较大的输出 值)。

1.密钥生产者生成第一代密钥k1(一个具有所需比特数的伪随机 数)。

2.密钥发行者使用任何适当的密钥分发技术分发第一代密钥,例 如ISO 11770-3[7]或ANSI X9.44[8]。

3.在密钥更新时,下一代密钥被分发,同样使用任何适当的密钥 分发技术。使用一个预定的单向密钥导出函数之陷阱门FT从以前的、 老一代密钥中有效地导出相关的密钥代。

4.在接收方,老一代密钥代被删除并被最新一代密钥代替。如果 需要,可以使用预定的密钥导出函数来有效地导出旧密钥,如上所述 (图3)。

如上面所指出的,本发明一个重要的方面是规定不同代的共享密 钥k1,k2,...,kn之间的一种关系。本发明允许多种信任模型。然而, 作为一个一般的特征,如果使用第j代密钥kj的一个实体是可信的, 那么在受到某些可选的限制的情况下,该实体使用第i代密钥ki时也 是可信任的,其中i<j。

本发明涉及使用一种有效的函数,在给定第j代密钥以及其它可 能的参数作为输入时,该函数允许受信任的装置获得旧密钥k1,..., kj-1作为输出,但基于给定或获得的信息,不能够获得任何较新的密钥 km,m>j。其它输入参数可以包括受信任的管理员/拥有者/用户U所知 道的一个接入码/个人身份号码(PIN)。例如,可以由内容提供者或 中间方在例如购买一个服务或某些数字内容的时候向一个装置的用户 提供接入码。它可以被在线显示,或被安全地传输到该用户的装置, 或者甚至通过普通邮件或传真发送给用户。然后为了激活服务或获得 对数字内容的访问,该用户必须输入接入码。如果没有这个参数或者 在没有向该参数提供值时被设置为缺省值,那么该函数不能导出密钥 或会导出一个不正确的密钥。其它方案包括限制访问某个期限的密 钥,从而存在一个截止时间,超过该时间,在没有适当的代码或PIN 的情况下不可能导出任何密钥。这个参数的目标可以是限制对旧密钥 代的访问并且限制只有这些装置的受信任的管理员/拥有者/用户U能 够访问,例如,在装置被盗、丢失或卖掉的情况中。然而,另一个输 入参数可以是当前的密钥代数本身,这为每个密钥代有效地创建了一 个新的密钥导出函数。

本发明之一个示范展示在连续代之间规定了一种计算上有效的函 数F,kj-1=F(kj,...),1<j≤n,其中省略号指示了如上所述的其它 可能参数。借助这种构造,受信任的装置可以应用函数F迭代许多次 来获得任何期望的旧密钥ki,1≤i<j。

一个优选实施例使用密码学单向函数F来确保不可能获得比已知 密钥代更后的密钥代。

作为一个例子,使用了散列链的概念。令F是一个单参数的密码 学散列函数f,对于给定的输入数,该函数输出m比特的数。用n表示 相关系统所需代数的估计下界。令kn是一个m比特的随机数,并且递 归地定义kj-1=f(kj),1<j≤n。

这个例子的一个应用可以是f=SHA-256,m=256(比特)并且n远 大于一组装置中预期的撤销次数或周期性密钥更新次数。注意在任何 给定的时间点上,这个数字远大于社区中装置的数量。由于该社区是 动态的,在该社区生命周期的任何时间点上,可能会有新装置加入(并 离开或被撤销)。

作为另一个例子,使用了一个密钥导出函数的迭代。令F是一个 密钥导出函数KDF,它是单向的并且接受任意数量的输入参数。用n 表示该相关系统所需代数的估计下界。令kn是一个m比特的随机数, 并且递归地定义kj-1=KDF(kj,...),1<j≤n。

这个例子的一个应用可以是KDF=kdConcatenation(级联),m=128 (比特)并且n远大于一组装置中预期的撤销次数。

可以在[1]中找到kdConcatenation密钥导出函数的定义,并且 该函数具有如下优点:允许其它信息诸如讨论过的PIN的使用被包括 在密钥导出中:

“在合适时可使用可选的输入变量OtherInfo,例如用来限定密 钥的预期使用......”(ANSI X9.42-2000[1])

作为第三个例子,使用了散列链与单向密钥导出函数迭代使用相 结合的概念。再次,令F是一个密钥导出函数KDF,并且令f是单变量 的密码学散列函数,该函数对于给定的输入数输出m比特的数。用n 表示用于相关系统所需代数的估计下界。令kn是一个m比特的随机数, 并且递归地定义kj-1=KDF(f(kj),...),1<j≤n。

这个例子的一个应用可以是KDF=kdConcatenation,f=SHA-1, m=160(比特)并且与上面一样,n远大于一组装置中预期的撤销次数。

同样,可以在[1]中找到kdConcatenation密钥导出函数的定义, 并且该函数具有如下优点:允许其它信息被包括在密钥导出中,诸如 讨论过的PIN的使用。

一个备选实施例使用具有所谓陷阱门FT的密码学单向函数F的实 现来确保消费者不能获得比已知密钥代更后的密钥代,但同时对于生 产者,能够使用陷阱门来获得下一代密钥。实际上,这样一种函数通 常比简单的单向函数要低效。然而,一个优点是:生产者不需要预先 计算一个密钥代链,但给定当前密钥代以及陷阱门函数时,能够计算 出下一代密钥,即kj+1=FT(kj,...)。这也给出了另外一个优点:代数 不会向例如基于散列链的情况中那样受到限制(在基于散列链的情况 中,最大代数受到散列链长度的限制)。

应当理解:通过迭代地应用一般的密钥导出函数F生成的密钥信 息随后可被变换成实际的密码学密钥。这可能涉及改变密钥大小和/或 对密钥材料的其它变换。例如,使用SHA-1散列函数产生的160比特 的密钥可被映射成128比特的AES密钥。

同样地,散列链的概念可以从例如参考[1],[3],[4]中获悉,但 是在完全不同的应用领域。Micali证书撤销系统主要解决有效的撤销 检查问题,这是通过避免重复繁重的签名验证,而是暴露在散列链中 被有效地验证的逆象而实现的。[3]和[4]中描述的Lamport散列链系 统允许认证服务器为每个客户端存储元组,并且 在接收到来自客户端的认证请求时,将n-1发送给该客户端(hashn(.) 代表哈希函数n次重复的组合:hashn(x)=hash(hash(...hash (x)...))。该客户端接着计算s=hashn-1(口令)并向认证服务器发 送s。认证服务器通过检验hash(x)=hashn(口令)来对客户端进行 认证,并且如果成功,用代替该元组。

返回上面给出的示范场景1,2和3,现在可以看出如何应用本发 明。

应用到场景1:

为了完成这种场景的目标,如果S存储主密钥kn,关联的代数n 以及当前代数i则就已足够;或者如果使用陷阱门方案,那么S仅仅 需要存储当前会话密钥ki以及相应的代数i。与此无关,R仅仅需要 存储当前会话密钥ki以及相应的代数i。

应用到场景2:

使用与应用到场景1中所描述的本发明之相同实施例,如果S存 储n,kn以及当前代数i,并且如果R存储当前会话密钥ki以及代数 i,则就已足够。在密钥消费方预定单向密钥导出函数的实现使得R能 够基于任何老密钥代进行通信,即使已经丢失一个或多个以前的密钥 更新。

应用到场景3:

本发明的这个实施例涉及各装置的社区中的密钥管理,包括如何 最优化从社区中排除一个装置的问题,例如由于一个装置自愿地或非 自愿地离开社区。

本发明缓解了上述问题并且允许S以及从装置d1到dN中只有受限 的存储需求,而在同时使得新近加入的这装置能够共享旧的数据,即 使以前存在大量撤销的情况下。本发明还给出了在社区内有效地分发 新的共享密钥,并且缓解了跟踪任何丢失的先前密钥更新的需求。例 如,一旦一个装置能够访问最近的密钥代,它也能够基于任何老密钥 代进行通信并共享保护数据,即使该装置先前被关闭了一段时间并且 丢失了一个或多个先前的密钥更新。

实际上,预定单向密钥导出函数的实现使得能够访问新密钥代的 群组装置不仅使用新密钥代进行通信,还能够基于老密钥代进行通 信。实际上,这意味着这种群组装置可以在例如彼此之间进行通信, 与由任何密钥代保护的数据提供者进行通信,以及与不能访问新密钥 代但具有旧密钥代的装置进行通信。

·在时间t2,d1转向P以获取x3。P知道需要一个新的密钥,从 S获取k2,S则又接着通过在kn上应用F生成k2,应用F的次数比生 成k1的次数少1,或者备选地通过在k1上应用陷阱门函数FT。P接着 用k2保护x3并且向d2发送受保护数据x3。

·收到x3后,d1认识到它需要访问k2。装置d1因而联系S并可 能在被认证后收到k2。在这点上,d1在其内部存储器中用k2代替k1 并且记住k2的代数。

·当d1后来将x3转发给d2时,d2将以一种类似的方式,需要联 系S来获取k2,并且一旦收到时,在其内部存储器中用k2来代替k1, 并且记住其代数。

·在时间t3,d2向d1转发x2。装置d1将意识到x2受k2的上 一代k1的保护,并且将简单地应用F(k2,...)来获得k1并随后解密 x2。

·在时间t4,新装置d4注册进该区域。装置d4将从S收到k2 以及关于其代数的信息——注意S不需要发送关于早期密钥k1的信 息。由于本发明,在这点以后(以及只要d4是该社区的一个注册成员) 转发给d4的社区中任何数据对d4(但不是对d3)都是可读的。如果 所提供的数据被一个较早的密钥保护,例如k1,那d4应用F(k2,...) 来到达该密钥,这样结束了场景3。

参考文献

[1]ANSI X9.42-2000,用于金融服务业的公钥密码系统:使用 离散对数密码术的对称密钥协议,American National Standards Institute,2000。

[2]US Patent No.5,666,416,证书撤销系统,作者Micali,S。

[3]不安全通信中的口令认证,作者Lamport,L.Communications of the ACM 24,11,November 1981,pp.770-772.可从 http://research.microsoft.com/users/lamport/pubs/password. pdf获得。

[4]US Patent No.5,751,812,一种不安全网络连接上的迭代散 列函数安全口令系统之重新初始化,作者Anderson,M。

[5]应用密码学手册,pp.543-590,by A.Menezes,P.van Oorschot和S.Vanstone。

[6]Federal Information Processing Standards Publication 180-2,“安全散列标准规范”,February 2004.可从: http://csrc.nist.gov/publications/fips/fips180-2/fips180- 2withchangenotice.pdf获得。

[7]ISO/IEC 11770-3:1999,信息技术-安全技术-密钥管理-第3 部分:利用不对称技术的机理。

[8]ANSI X9.44-2003(Draft 6):用于金融服务业的公钥密码 系统:使用整数因数分解密码术的密钥建立,Draft 6,2003。

高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用