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

密码学密钥代的有效管理

阅读:1035发布:2020-05-14

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

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

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

-每当需要时,在密钥消费方迭代地应用一个预定的单向密钥导出函数来从新密钥代的密钥信息导出至少一个老密钥代的密钥信息,及其中,所述密钥生产方通过迭代地应用所述预定的单向密钥导出函数的实例,从一个预定密钥代的密钥信息开始,来生成所述新密钥代的密钥信息;或者所述密钥生产方通过应用所述预定的单向密钥导出函数的陷阱门函数,从任何较老的密钥代的密钥信息开始,来生成所述新的密钥代的密钥信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-每当需要时用于在密钥消费方迭代地应用一个预定的单向密钥导出函数来从新密钥代的密钥信息导出至少一个较老的密钥代的密钥信息的装置,及其中,还包括如下装置:该装置用于在密钥生产方通过迭代地应用所述预定的单向密钥导出函数的一个实例,从一个预定密钥代的密钥信息开始,生成所述新密钥代的密钥信息;或者还包括如下装置:该装置用于在密钥生产方通过应用所述预定的单向密钥导出函数的陷阱门函数,从任何较老的密钥代的密钥信息开始,生成所述新密钥代的密钥信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-每当需要时,用于迭代地应用一个预定的单向密钥导出函数来从所述新密钥代的密钥信息导出至少一个较老的密钥代的密钥信息的装置,及其中,所述密钥生产实体通过迭代地应用所述预定的单向密钥导出函数的实例,从一个预定密钥代的密钥信息开始,来生成所述新密钥代的密钥信息;或者所述密钥生产实体通过应用所述预定的单向密钥导出函数的陷阱门函数,从任何较老的密钥代的密钥信息开始,来生成所述新的密钥代的密钥信息。

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

说明书全文

技术领域

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

背景技术

信息安全是当今信息技术社会中一个非常重要的领域。
密码学密钥管理作为许多信息安全技术的基础,扮演着一个非常基础的角色,除了别的之外,所述信息安全技术包括机密性,实体认证,数据完整性以及数字签名。对于密码学一般的介绍,特别是密钥管理的介绍,我们分别参考[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,hashn(口令)>,并且在接收到来自客户端的认证请求时,将n-1发送给该客户端(hashn(.)代表哈希函数n次重复的组合:hashn(x)=hash(hash(...hash(x)...))。该客户端接着计算s=hashn-1(口令)并向认证服务器发送s。认证服务器通过检验hash(x)=hashn(口令)来对客户端进行认证,并且如果成功,用<n-1,hashn-1(口令)>代替该元组。
返回上面给出的示范场景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 StandardsInstitute,2000。
[2]US Patent No.5,666,416,证书撤销系统,作者Micali,S。
[3]不安全通信中的口令认证,作者Lamport,L.Communicationsof 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.vanOorschot和S.Vanstone。
[6]Federal Information Processing Standards Publication180-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结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用