一种可信云存储环境下的密钥管理方法、装置和系统的制作方法
【专利摘要】本发明实施例提供一种可信云存储环境下的密钥管理方法、装置和系统,以对用户间的数据访问进行安全授权并精简和高效管理全局数据密钥。所述方法包括:可信客户端生成访问授权策略;可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布加密的数据和访问授权策略,以使云存储服务器根据加密的数据和访问授权策略构建密钥推导图;根据密钥推导图,可信客户端与云存储服务器交互进行生成密钥和安全分发所述生成的密钥。由于密钥推导图是云存储服务器构建,避免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务,提高了密钥管理执行上的效率,另一方面,有效减少密钥推导关系的冗余,减轻系统和用户在传输和存储方面的密钥管理代价。
【专利说明】-种可信云存储环境下的密钥管理方法、装置和系统
【技术领域】
[0001] 本发明涉及可信数据管理领域,尤其涉及一种可信云存储环境下的密钥管理方 法、装置和系统。
【背景技术】
[0002] 可信云存储即数据贡献者在本地可信前端对数据加密处理以后再外包给云存储 服务提供商(Cloud Storage Provider, CSP)进行存储、管理和维护,当用户访问数据时,首 先从CSP所在的云端获得需要的密文数据,再在可信前端进行解密从而获得明文数据。在 可信云存储环境下,数据密钥是数据安全的重要保障,因此用户必须在本地执行数据密钥 的生成和再生成。数据贡献者授权其他用户访问数据,本质上是进行数据密钥的授权共享。 而为了能够对不同用户执行有选择性的数据授权访问,不同的数据需要采用不同的密钥加 密。如此,数据密钥量将随着系统数据量的增加而迅速增多,而用户则会因为需要安全掌握 大量数据密钥而承受巨大的负担。另一方面,可信云存储环境下的数据外包不仅仅是针对 单一数据贡献者模式,还包括多数据贡献者模式。对于多数据贡献者模式,系统任何用户都 可以作为数据贡献者将数据外包给云端一侧的CSP,且任何用户间都可以进行相互的数据 访问授权,与此同时,任何用户也可以在权限范围内进行数据访问权限的转授以及数据或 数据密钥的更新。
[0003] 对如何在具有多数据贡献者和复杂数据访问授权的可信云存储环境下即多数据 贡献者模式下进行更高效、安全的密钥管理,如果仍然采用单一数据贡献者模式下的密钥 管理方法,则显然是无能为力。这是因为,如果简单采用单一数据贡献者模式下的密钥管理 方法,以每个数据贡献者为中心独立管理自己所发布数据的密钥,必然导致系统全局数据 密钥的冗余及其数量的迅速增长,进而致使全局用户必须安全传输和存储的密钥量陡增, 加大系统及用户的密钥管理代价和密钥管理安全风险。由于在可信云存储环境中,数据密 钥是数据安全的重要保障,而密钥的生成和再生成、密钥的授权共享、密钥的选择性分发等 操作会随着用户数据的增长而面临越来越多的问题和挑战,因此,一套安全、高效而且灵活 支持访问授权控制的密钥管理机制将在可信云存储环境中起到至关重要的作用。
[0004] 为了解决上述技术问题,现有技术提供的一种方法是基于逻辑层次图(Logical Hierarchical Graph, LHG)的密钥推导机制,通过基于图结构的密钥推导减少需要用户安 全传输和存储的密钥量。并在此方法基础上,利用给密钥节点附加权重可以进一步对LHG 机制中密钥推导路径进行优化。
[0005] 然而,上述现有技术提供的方法仍然仅仅着眼于单用户模式下的安全数据外包, 其所谓的优化无不是以加重用户的密钥传输和存储负担为代价。对于可信云存储环境下的 多数据贡献者模式,上述现有技术提供的方法无法支持在用户间相互的安全数据访问授权 以及用户在权限范围内进行数据访问权限的转授等功能的前提下保证全局数据密钥的精 简和高效管理。
【发明内容】
[0006] 本发明实施例提供一种可信云存储环境下的密钥管理方法、装置和系统,以对用 户间的数据访问进行安全授权并精简和高效管理全局数据密钥。
[0007] 本发明实施例提供一种可信云存储环境下的密钥管理方法,所述方法包括:可信 客户端生成访问授权策略;所述可信客户端使用一级密钥对数据进行加密后,向云存储服 务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数 据和所述访问授权策略构建密钥推导图;根据所述密钥推导图,所述可信客户端与所述云 存储服务器交互进行生成密钥和安全分发所述生成的密钥。
[0008] 本发明另一实施例提供一种可信云存储环境下的密钥管理方法,所述方法包括: 根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据, 生成全局用户访问授权策略;根据所述全局用户访问授权策略,从云存储系统用户中选取 系统密钥管理者用户群;根据所述系统密钥管理者用户群和全局用户访问授权策略,构建 密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成 密钥和安全分发所述生成的密钥。
[0009] 本发明另一实施例提供一种可信云存储环境下的密钥管理装置,所述装置包括: 访问授权策略生成模块,用于生成访问授权策略;发布模块,用于使用一级密钥对数据进行 加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务 器根据所述加密的数据和所述访问授权策略构建密钥推导图;密钥生成分发模块,用于根 据所述密钥推导图,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所 述生成的密钥。
[0010] 本发明另一实施例提供一种可信云存储环境下的密钥管理装置,所述装置包括: 第一生成模块,用于根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密 后得到的加密数据,生成全局用户访问授权策略;选取模块,用于根据所述全局用户访问授 权策略,从云存储系统用户中选取系统密钥管理者用户群;密钥推导图构建模块,用于根据 所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客 户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的 密钥。
[0011] 从上述本发明实施例可知,可信客户端根据云存储服务器构建的密钥推导图,只 负责密钥值的生成、安全分发和极少量密钥的安全传输和储存,而不承担密钥推导图的生 成等庞大的处理任务。与现有技术相比,一方面,由于密钥推导图是云存储服务器构建,避 免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务这一缺陷,提高了密钥管 理执行上的效率,另一方面,由于密钥推导图是基于全局逻辑层次图构建,因此,实现了系 统全局用户的安全访问控制,并能够有效减少密钥推导关系的冗余,从而减轻系统和用户 在传输和存储方面的密钥管理代价。
【专利附图】
【附图说明】
[0012] 为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实 施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
[0013] 图1是本发明实施例提供的可信云存储环境下的密钥管理方法流程示意图;
[0014] 图2是本发明另一实施例提供的可信云存储环境下的密钥管理方法流程示意图;
[0015] 图3是本发明实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0016] 图4是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0017] 图5是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0018] 图6_a是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图; [0019] 图6_b是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0020] 图6-c是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0021] 图7是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0022] 图8是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0023] 图9是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0024] 图10是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0025] 图ΙΙ-a是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0026] 图ΙΙ-b是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0027] 图11-c是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0028] 图ΙΙ-d是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
[0029] 图12是本发明实施例提供的可信云存储环境下的密钥管理系统结构示意图。
【具体实施方式】
[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 请参阅附图1,是本发明实施例提供的可信云存储环境下的密钥管理方法流程示 意图,其执行主体可以是可信云存储系统中的客户端,即可信客户端。附图1示例的可信云 存储环境下的密钥管理方法主要包括步骤S101、步骤S102和步骤S103,详细说明如下 :
[0032] S101,可信客户端生成访问授权策略。
[0033] 可信云存储环境下,所谓的"用户"是云存储系统用户,也是对在可信客户端一切 操作行为的执行者的统称。在本发明实施例中,云存储系统用户的几个重要角色是数据贡 献者、数据加密者和密钥管理者等,其中,数据贡献者是数据的发布人,数据加密者则属于 数据贡献者或是可以更新数据的用户,密钥管理者负责密钥值的生成和分发,任何密钥管 理者是拥有某数据访问权限的用户,但不一定是该数据的发布人即数据贡献者。如前所述, 生成密钥以及使用密钥对其所发布的数据进行加密等在可信客户端完成,因此,在本发明实 施例中,可信客户端的行为可以视为是数据贡献者、数据加密者和/或密钥管理者的行为,或 者,数据贡献者、数据加密者和/或密钥管理者的行为也可以视为是可信客户端的行为。在本 发明实施例中,数据贡献者在发布数据时对数据执行选择性访问授权,并通过访问控制表描 述具体的访问授权策略,这就是可信客户端生成访问授权策略,其中,访问控制表的每一行是 每个云存储系统用户,也包括数据贡献者自身,每一列为数据贡献者发布的各个数据。若某行 对应的云存储系统用户拥有对某列对应数据的访问权限,则该行该列对应的数据取值为1, 否则取值为〇,表Ι-a是本发明提供的云存储系统用户A的访问控制表的示例。
[0034]
[0035] 表 l_a
【权利要求】
1. 一种可信云存储环境下的密钥管理方法,其特征在于,所述方法包括: 可信客户端生成访问授权策略; 所述可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数 据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略 构建密钥推导图; 所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全 分发所述生成的密钥。
2. 如权利要求1所述的方法,其特征在于,所述可信客户端根据所述密钥推导图与所 述云存储服务器交互进行生成密钥和安全分发所述生成的密钥包括: 根据所述密钥推导图,采用加盐哈希函数随机生成节点层次为2的节点唯一密钥值; 将所述唯一密钥值采用安全传输方式传输至所述节点层次为2的节点蕴含的另一用 户。
3. 如权利要求1所述的方法,其特征在于,所述可信客户端根据所述密钥推导图与所 述云存储服务器交互进行生成密钥和安全分发所述生成的密钥包括: 所述可信客户端接收所述云存储服务器为密钥管理者所管理节点Vi生成的公开标签 值Vi. para,所述节点Vi是密钥推导图中节点层次大于2的节点;
所述可信客户端根据所述公开标签值Vi. para和密钥推导图,采用加盐哈希函数随机 生成所述节点Vi的唯一密钥值Vi. key ; 所述可信客户端使用所述节点Vi的唯一密钥值和所述节点Vi的父亲节点的密钥值
为所述节点Vi每一条边计算密钥推导关系值token ; 所述可信客户端将所述密钥推导关系值token提交至所述云存储服务器,以使所述云 存储服务器更新密钥推导关系值集合T后发布,所述T= {token (Vi, Vj) | token (Vi, Vj)=Vj. key ? h (vj. key, Vj. para),
,所述e £为节点Vi到节点Vj的单向密钥 推导关系,所述token (Vi, Vj)为所述节点Vi到节点Vj的单向密钥推导关系值,所述h (Vp key, Vj. para)是Vj. para和所述Vp key的单向哈希函数,所述Vj. para是所述云存储服务 器为密钥管理者管理的节点Vj生成的公开标签值。
4. 如权利要求1至3任意一项所述的方法,其特征在于,所述可信客户端与所述云存储 服务器交互进行生成密钥和安全分发所述生成的密钥之后还包括: 所述可信客户端根据一级密钥和所述密钥推导图或者根据由密钥管理者共享的二级 密钥和所述密钥推导图,获取所发布数据的所有密钥值; 所述可信客户端根据所述一级密钥和所发布数据的所有密钥值,生成所发布数据的转 换密钥后提交至所述云存储服务器,以使所述云存储服务器利用转换密钥对所述所发布数 据进行密钥更新。
5. -种可信云存储环境下的密钥管理方法,其特征在于,所述方法包括: 根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述 加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据; 根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群; 根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所 述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所 述生成的密钥。
6. 如权利要求5所述的方法,其特征在于,所述根据所述全局用户访问授权策略,从云 存储系统用户中选取系统密钥管理者用户群包括: 根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力; 根据所述所有云存储系统用户的数据访问能力,从所述云存储系统用户中选取能够共 同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为所述系统密 钥管理者用户群。
7. 如权利要求6所述的方法,其特征在于,所述根据所述所有云存储系统用户的数据 访问能力,从所述云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行 所有密钥的管理的最少用户集作为所述系统密钥管理者用户群包括: 根据所述所有云存储系统用户的数据访问能力,从数据访问集cap (U)中选取覆盖整 个数据集D中个数最多的集合C,所述capOX^IcapiX) & e U},所述C={Ci | CiZcapi^)}, 所述U为所有云存储系统用户的集合构成的用户集; 使用贪心算法逐个处理Ci,将满足条件的Ci对应的用户Ui添加至密钥管理者集合R, 所述密钥管理者集合R为所述系统密钥管理者用户群; 从所述cap (U)中选取覆盖剩余数据集中数据个数最多的集合,逐个执行处理; 依次迭代,直至所述密钥管理者集合R中所有用户u的cap (u)的并集覆盖所述整个数 据集D。
8. 如权利要求5所述的方法,其特征在于,所述根据所述系统密钥管理者用户群和全 局用户访问授权策略,构建密钥推导图包括: 根据所述全局用户访问授权策略,获取所有数据的访问控制表; 根据所述访问控制表和系统密钥管理者用户群,生成所述密钥推导图的初始节点集; 按照所述初始节点集中节点层次的升序自顶向下一次为每个节点v寻找满足密钥推 导条件的所有父亲节点,所述节点v是所述初始节点集中除根节点之外的任意节点; 构建所述节点v与节点v的父亲节点之间的边,以此更新所述密钥推导图中的节点集 合V和边集合E。
9. 如权利要求5至8任意一项所述的方法,其特征在于,所述根据所述系统密钥管理者 用户群和全局用户访问授权策略,构建密钥推导图之后还包括: 接收所发布数据的转换密钥,所述转换密钥根据一级密钥和所发布数据的所有密钥值 生成; 利用转换密钥对所述所发布数据进行密钥更新。
10. -种可信云存储环境下的密钥管理装置,其特征在于,所述装置包括: 访问授权策略生成模块,用于生成访问授权策略; 发布模块,用于使用一级密钥对数据进行加密后,向云存储服务器发布加密的数据和 所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建 密钥推导图; 密钥生成分发模块,用于根据所述密钥推导图与所述云存储服务器交互进行生成密钥 和安全分发所述生成的密钥。
11. 如权利要求10所述的装置,其特征在于,所述密钥生成分发模块包括: 第一密钥值生成单元,用于根据所述密钥推导图,采用加盐哈希函数随机生成节点层 次为2的节点唯一密钥值; 安全传输单元,用于将所述唯一密钥值采用安全传输方式传输至所述节点层次为2的 节点蕴含的另一用户。
12. 如权利要求10所述的装置,其特征在于,所述密钥生成分发模块包括: 接收单元,用于接收所述云存储服务器为密钥管理者所管理节点Vi生成的公开标签值 Vi. para,所述节点Vi是密钥推导图中节点层次大于2的节点; 第二密钥值生成单元,用于根据所述公开标签值Vi. para和密钥推导图,采用加盐哈希 函数随机生成所述节点Vi的唯一密钥值Vi. key ; 计算单元,用于使用所述节点Vi的唯一密钥值\和所述节点Vi的父亲节点的密钥值 为所述节点Vi每一条边计算密钥推导关系值token ; 提交单元,用于将所述密钥推导关系值token提交至所述云存储服务器,以使所述云 存储服务器更新密钥推导关系值集合T后发布,所述T= {token (Vi, Vj) | token (Vi, ν」)=ν』. key ? h (v^ key, Vj. para),
为节点Vi到节点v』的单向密钥 推导关系,所述token (Vi, Vj)为所述节点Vi到节点Vj的单向密钥推导关系值,所述h (Vp key, Vj. para)是Vj. para和所述Vp key的单向哈希函数,所述Vj. para是所述云存储服务 器为密钥管理者管理的节点Vj生成的公开标签值。
13. 如权利要求10至12任意一项所述的装置,其特征在于,所述装置还包括: 获取模块,用于根据一级密钥和所述密钥推导图或者根据由密钥管理者共享的二级密 钥和所述密钥推导图,获取所发布数据的所有密钥值; 转换密钥生成模块,用于根据所述一级密钥和所发布数据的所有密钥值,生成所发布 数据的转换密钥后提交至所述云存储服务器,以使所述云存储服务器利用转换密钥对所述 所发布数据进行密钥更新。
14. 一种可信云存储环境下的密钥管理装置,其特征在于,所述装置包括: 第一生成模块,用于根据可信客户端发布的访问授权策略和加密数据,生成全局用户 访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加 密数据; 选取模块,用于根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥 管理者用户群; 密钥推导图构建模块,用于根据所述系统密钥管理者用户群和全局用户访问授权策 略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与云存储服务器交互进行 生成密钥和安全分发所述生成的密钥。
15. 如权利要求14所述的装置,其特征在于,所述选取模块包括: 获取子模块,用于根据所述全局用户访问授权策略,获取所有云存储系统用户的数据 访问能力; 选取子模块,用于根据所述所有云存储系统用户的数据访问能力,从所述云存储系统 用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户 集作为所述系统密钥管理者用户群。
16. 如权利要求15所述的装置,其特征在于,所述选取子模块包括: 集合选取单元,用于根据所述所有云存储系统用户的数据访问能力,从数据访问集 cap(U)中选取覆盖整个数据集D中个数最多的集合C,所述Cap(U) = {cap(Ui) |Ui e U},所 述C= {Ci I Ci=cap (Ui)},所述U为所有云存储云存储系统用户的集合构成的用户集; 算法处理单元,用于使用贪心算法逐个处理Ci,将满足条件的Ci对应的用户Ui添加至 密钥管理者集合R,所述密钥管理者集合R为所述系统密钥管理者用户群; 处理单元,用于从所述cap(U)中选取覆盖剩余数据集中数据个数最多的集合,逐个执 行处理; 迭代单元,用于依次迭代,直至所述密钥管理者集合R中所有用户u的cap (u)的并集 覆盖所述整个数据集D。
17. 如权利要求14所述的装置,其特征在于,所述密钥推导图构建模块包括: 访问控制表获取单元,用于根据所述全局用户访问授权策略,获取所有数据的访问控 制表; 初始节点集生成单元,用于根据所述访问控制表和系统密钥管理者用户群,生成所述 密钥推导图的初始节点集; 父节点搜索单元,用于按照所述初始节点集中节点层次的升序自顶向下一次为每个节 点V寻找满足密钥推导条件的所有父亲节点,所述节点V是所述初始节点集中除根节点之 外的任意节点; 构建单元,用于构建所述节点V与节点V的父亲节点之间的边,以此更新所述密钥推导 图中的节点集合V和边集合E。
18. 如权利要求14至17任意一项所述的装置,其特征在于,所述装置还包括: 接收模块,用于接收所发布数据的转换密钥,所述转换密钥根据一级密钥和所发布数 据的所有密钥值生成; 密钥更新模块,用于利用转换密钥对所述所发布数据进行密钥更新。
19. 一种可信云存储环境下的密钥管理系统,其特征在于,所述系统包括可信客户端和 云存储服务器; 所述可信客户端,用于生成访问授权策略,使用一级密钥对数据进行加密后,向所述云 存储服务器发布所述加密的数据和所述访问授权策略以使所述云存储服务器根据所述加 密的数据和所述访问授权策略构建密钥推导图,根据所述密钥推导图,与所述云存储服务 器交互进行生成密钥和安全分发所述生成的密钥; 所述云存储服务器,用于根据所述可信客户端发布的访问授权策略和使用一级密钥对 数据进行加密后得到的加密数据,生成全局用户访问授权策略,根据所述全局用户访问授 权策略,从云存储系统用户中选取系统密钥管理者用户群,根据所述系统密钥管理者用户 群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图 与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
【文档编号】H04L9/00GK104144048SQ201310172480
【公开日】2014年11月12日 申请日期:2013年5月10日 优先权日:2013年5月10日
【发明者】彭智勇, 程芳权, 宋伟 申请人:华为技术有限公司, 武汉大学