CN104144048B - 一种可信云存储环境下的密钥管理方法、装置和系统 - Google Patents
一种可信云存储环境下的密钥管理方法、装置和系统 Download PDFInfo
- Publication number
- CN104144048B CN104144048B CN201310172480.5A CN201310172480A CN104144048B CN 104144048 B CN104144048 B CN 104144048B CN 201310172480 A CN201310172480 A CN 201310172480A CN 104144048 B CN104144048 B CN 104144048B
- Authority
- CN
- China
- Prior art keywords
- key
- cloud storage
- node
- data
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种可信云存储环境下的密钥管理方法、装置和系统,以对用户间的数据访问进行安全授权并精简和高效管理全局数据密钥。所述方法包括:可信客户端生成访问授权策略;可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布加密的数据和访问授权策略,以使云存储服务器根据加密的数据和访问授权策略构建密钥推导图;根据密钥推导图,可信客户端与云存储服务器交互进行生成密钥和安全分发所述生成的密钥。由于密钥推导图是云存储服务器构建,避免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务,提高了密钥管理执行上的效率,另一方面,有效减少密钥推导关系的冗余,减轻系统和用户在传输和存储方面的密钥管理代价。
Description
技术领域
本发明涉及可信数据管理领域,尤其涉及一种可信云存储环境下的密钥管理方法、装置和系统。
背景技术
可信云存储即数据贡献者在本地可信前端对数据加密处理以后再外包给云存储服务提供商(Cloud Storage Provider,CSP)进行存储、管理和维护,当用户访问数据时,首先从CSP所在的云端获得需要的密文数据,再在可信前端进行解密从而获得明文数据。在可信云存储环境下,数据密钥是数据安全的重要保障,因此用户必须在本地执行数据密钥的生成和再生成。数据贡献者授权其他用户访问数据,本质上是进行数据密钥的授权共享。而为了能够对不同用户执行有选择性的数据授权访问,不同的数据需要采用不同的密钥加密。如此,数据密钥量将随着系统数据量的增加而迅速增多,而用户则会因为需要安全掌握大量数据密钥而承受巨大的负担。另一方面,可信云存储环境下的数据外包不仅仅是针对单一数据贡献者模式,还包括多数据贡献者模式。对于多数据贡献者模式,系统任何用户都可以作为数据贡献者将数据外包给云端一侧的CSP,且任何用户间都可以进行相互的数据访问授权,与此同时,任何用户也可以在权限范围内进行数据访问权限的转授以及数据或数据密钥的更新。
对如何在具有多数据贡献者和复杂数据访问授权的可信云存储环境下即多数据贡献者模式下进行更高效、安全的密钥管理,如果仍然采用单一数据贡献者模式下的密钥管理方法,则显然是无能为力。这是因为,如果简单采用单一数据贡献者模式下的密钥管理方法,以每个数据贡献者为中心独立管理自己所发布数据的密钥,必然导致系统全局数据密钥的冗余及其数量的迅速增长,进而致使全局用户必须安全传输和存储的密钥量陡增,加大系统及用户的密钥管理代价和密钥管理安全风险。由于在可信云存储环境中,数据密钥是数据安全的重要保障,而密钥的生成和再生成、密钥的授权共享、密钥的选择性分发等操作会随着用户数据的增长而面临越来越多的问题和挑战,因此,一套安全、高效而且灵活支持访问授权控制的密钥管理机制将在可信云存储环境中起到至关重要的作用。
为了解决上述技术问题,现有技术提供的一种方法是基于逻辑层次图(LogicalHierarchical Graph,LHG)的密钥推导机制,通过基于图结构的密钥推导减少需要用户安全传输和存储的密钥量。并在此方法基础上,利用给密钥节点附加权重可以进一步对LHG机制中密钥推导路径进行优化。
然而,上述现有技术提供的方法仍然仅仅着眼于单用户模式下的安全数据外包,其所谓的优化无不是以加重用户的密钥传输和存储负担为代价。对于可信云存储环境下的多数据贡献者模式,上述现有技术提供的方法无法支持在用户间相互的安全数据访问授权以及用户在权限范围内进行数据访问权限的转授等功能的前提下保证全局数据密钥的精简和高效管理。
发明内容
本发明实施例提供一种可信云存储环境下的密钥管理方法、装置和系统,以对用户间的数据访问进行安全授权并精简和高效管理全局数据密钥。
本发明实施例提供一种可信云存储环境下的密钥管理方法,所述方法包括:可信客户端生成访问授权策略;所述可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图;根据所述密钥推导图,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
本发明另一实施例提供一种可信云存储环境下的密钥管理方法,所述方法包括:根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略;根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
本发明另一实施例提供一种可信云存储环境下的密钥管理装置,所述装置包括:访问授权策略生成模块,用于生成访问授权策略;发布模块,用于使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图;密钥生成分发模块,用于根据所述密钥推导图,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
本发明另一实施例提供一种可信云存储环境下的密钥管理装置,所述装置包括:第一生成模块,用于根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略;选取模块,用于根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;密钥推导图构建模块,用于根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
从上述本发明实施例可知,可信客户端根据云存储服务器构建的密钥推导图,只负责密钥值的生成、安全分发和极少量密钥的安全传输和储存,而不承担密钥推导图的生成等庞大的处理任务。与现有技术相比,一方面,由于密钥推导图是云存储服务器构建,避免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务这一缺陷,提高了密钥管理执行上的效率,另一方面,由于密钥推导图是基于全局逻辑层次图构建,因此,实现了系统全局用户的安全访问控制,并能够有效减少密钥推导关系的冗余,从而减轻系统和用户在传输和存储方面的密钥管理代价。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
图1是本发明实施例提供的可信云存储环境下的密钥管理方法流程示意图;
图2是本发明另一实施例提供的可信云存储环境下的密钥管理方法流程示意图;
图3是本发明实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图4是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图5是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图6-a是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图6-b是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图6-c是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图7是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图8是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图9是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图10是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图11-a是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图11-b是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图11-c是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图11-d是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图;
图12是本发明实施例提供的可信云存储环境下的密钥管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1,是本发明实施例提供的可信云存储环境下的密钥管理方法流程示意图,其执行主体可以是可信云存储系统中的客户端,即可信客户端。附图1示例的可信云存储环境下的密钥管理方法主要包括步骤S101、步骤S102和步骤S103,详细说明如下:
S101,可信客户端生成访问授权策略。
可信云存储环境下,所谓的“用户”是云存储系统用户,也是对在可信客户端一切操作行为的执行者的统称。在本发明实施例中,云存储系统用户的几个重要角色是数据贡献者、数据加密者和密钥管理者等,其中,数据贡献者是数据的发布人,数据加密者则属于数据贡献者或是可以更新数据的用户,密钥管理者负责密钥值的生成和分发,任何密钥管理者是拥有某数据访问权限的用户,但不一定是该数据的发布人即数据贡献者。如前所述,生成密钥以及使用密钥对其所发布的数据进行加密等在可信客户端完成,因此,在本发明实施例中,可信客户端的行为可以视为是数据贡献者、数据加密者和/或密钥管理者的行为,或者,数据贡献者、数据加密者和/或密钥管理者的行为也可以视为是可信客户端的行为。在本发明实施例中,数据贡献者在发布数据时对数据执行选择性访问授权,并通过访问控制表描述具体的访问授权策略,这就是可信客户端生成访问授权策略,其中,访问控制表的每一行是每个云存储系统用户,也包括数据贡献者自身,每一列为数据贡献者发布的各个数据。若某行对应的云存储系统用户拥有对某列对应数据的访问权限,则该行该列对应的数据取值为1,否则取值为0,表1-a是本发明提供的云存储系统用户A的访问控制表的示例。
d1 | d2 | d3 | d4 | d5 | d6 | d7 | |
A | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
B | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
C | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
D | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
E | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表1-a
假设A、B、C、D、E五个云存储系统用户中的云存储系统用户A贡献了数据d1、d2、d3、d4、d5、d6和d7,即云存储系统用户A是数据d1、d2、d3、d4、d5、d6和d7的数据贡献者,则显然云存储系统用户A对数据d1、d2、d3、d4、d5、d6和d7均有访问权限,故访问控制表表1-a中列对应的数据取值为1。进一步地,假设云存储系统用户A向云存储系统用户B授予了对数据d1、d4和d6的访问权限,而对数据d2、d3、d5和d7没有授予访问权限,因此,访问控制表表1-a中数据d1、d2、d3、d4、d5、d6和d7对应列的取值分别是1、0、0、1、0、1和0;假设云存储系统用户A向云存储系统用户C授予了对数据d2、d5和d6的访问权限,而对数据d1、d3、d4和d7没有授予访问权限,因此,访问控制表表1-a中数据d1、d2、d3、d4、d5、d6和d7对应列的取值分别是0、1、0、0、1、1和0;假设云存储系统用户A向云存储系统用户D授予了对数据d3、d4、d5、d6和d7的访问权限,对数据d1和d2没有授予访问权限,则访问控制表表1-a中数据d1、d2、d3、d4、d5、d6和d7对应列的取值分别是0、0、1、1、1、1和1;假设云存储系统用户A没有向云存储系统用户E授予对数据d1、d2、d3、d4、d5、d6和d7的访问权限,因此,访问控制表表1-a中数据d1、d2、d3、d4、d5、d6和d7对应列的取值均为0。
又如,假设A、B、C、D、E五个云存储系统用户中的云存储系统用户E贡献了数据d8、d9和d10,即云存储系统用户E是数据d8、d9和d10的数据贡献者,则显然云存储系统用户E对数据d8、d9和d10均有访问权限,故访问控制表中列对应的数据取值为1,如下表1-b所示,是本发明提供的云存储系统用户E的访问控制表的示例。
d8 | d9 | d10 | |
E | 1 | 1 | 1 |
B | 1 | 0 | 0 |
C | 0 | 1 | 0 |
D | 0 | 1 | 1 |
A | 1 | 1 | 0 |
表1-b
进一步地,假设云存储系统用户E向云存储系统用户B授予了对数据d8的访问权限,而对数据d9和d10没有授予访问权限,因此,访问控制表表1-b中数据d8、d9和d10对应列的取值分别是1、0、和0;假设云存储系统用户E向云存储系统用户C授予了对数据d9的访问权限,而对数据d8和d10没有授予访问权限,因此,访问控制表表1-b中数据d8、d9和d10对应列的取值分别是0、1、和0;假设云存储系统用户E向云存储系统用户D授予了对数据d9和d10的访问权限,而对数据d8没有授予访问权限,因此,访问控制表表1-b中数据d8、d9和d10对应列的取值分别是0、1、和1;假设云存储系统用户E向云存储系统用户A授予了对数据d8和d9的访问权限,而对数据d10没有授予访问权限,因此,访问控制表表1-b中数据d8、d9和d10对应列的取值分别是1、1、和0。
S102,可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布加密的数据和访问授权策略,以使云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图。
在本发明实施例中,每个数据贡献者在可信客户端秘密维护一个唯一的一级密钥,一级密钥可以和与密钥管理者安全共享的二级密钥一起独立安全存储在可信客户端。可信客户端或其数据贡献者或密钥管理者使用一级密钥对数据进行加密后,将加密的数据和访问授权策略一起向云存储服务器发布。云存储服务器对应于云存储服务提供商(CloudStorage Provider,CSP),云存储服务器可以根据可信客户端发布的加密的数据和访问授权策略构建密钥推导图,在本发明实施例中,云存储服务器根据可信客户端发布的加密的数据和访问授权策略构建的密钥推导图可以是基于全局逻辑层次图(Global LogicalHierarchical Graph,GLHG)的密钥推导图。云存储服务器根据可信客户端发布的加密的数据和访问授权策略构建密钥推导图简单地说明如下:云存储服务器根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略;根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。其中,根据全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群包括:根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力;根据所有云存储系统用户的数据访问能力,从云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为系统密钥管理者用户群。在根据所有云存储系统用户的数据访问能力,从云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为系统密钥管理者用户群的实施例中,可以是根据所有云存储系统用户的数据访问能力,从数据访问集cap(U)中选取覆盖整个数据集D中个数最多的集合C,其中,cap(U)={cap(ui)|ui∈U},C={ci|ci=cap(ui)},U为所有用户构成的用户集合;使用贪心算法逐个处理ci,将满足条件的ci对应的用户ui添加至密钥管理者集合R,密钥管理者集合R即系统密钥管理者用户群;从cap(U)中选取覆盖剩余数据集中数据个数最多的集合,逐个执行处理;依次迭代,直至密钥管理者集合R中所有用户ui的cap(ui)的并集覆盖整个数据集D。而根据系统密钥管理者用户群和全局用户访问授权策略,等价构建基于基于全局逻辑层次图的密钥推导图则包括:根据全局用户访问授权策略,获取所有数据的访问控制表;根据访问控制表和系统密钥管理者用户群,生成密钥推导图的初始节点集;按照初始节点集中节点层次的升序自顶向下一次为每个节点v寻找满足密钥推导条件的所有父亲节点,其中,节点v是初始节点集中除根节点之外的任意节点;构建节点v与节点v的父亲节点之间的边,以此更新密钥推导图中的节点集合V和边集合E。由于CSP并不参与密钥推导图中任何密钥值本身的生成、分发和存储,CSP或云存储服务器承担密钥推导图处理等庞大的计算和存储任务,因此,本发明实施例提供的方法保证密钥安全的前提下,避免了现有技术方法中由可信客户端承担密钥推导图处理等庞大的计算和存储任务这一缺陷,从而提高了密钥管理执行上的效率。
S103,根据密钥推导图,可信客户端与云存储服务器交互进行生成密钥和安全分发生成的密钥。
在本发明实施例中,密钥推导图虽然是由云存储服务器生成,但可以安全传输至可信客户端。密钥推导图的节点包括根节点和实节点,而每个节点都具有v.acl、v.key、v.data、v.level、v.km和v.para等六个属性,其中,v.acl指节点v蕴含的访问控制表中的用户集,v.key指节点v密钥值,并最终在v.acl所包含的用户间共享,v.data指向一个数据集,v.level表示节点v在密钥推导图中的深度,且v.level=|v.acl|,v.km指节点v密钥v.key的密钥管理者,v.para是用于推导v.key的公开标签值,之所以称之为公开标签值,是因为v.para对所有用户都公开发布;节点的六个属性中,v.key、v.km和v.para在节点v形成时初始值为空,系统通过节点维护表来对各个节点进行维护和更新操作,节点维护表的示例如下表2所示:
表2
需要说明的是,根据密钥推导图,可信客户端与云存储服务器交互进行生成的密钥中,二级密钥需要密钥管理者安全传输给该密钥其他共享用户,三级以上密钥则由其密钥管理者通过生成其密钥推导关系值并公开发布来实现其安全分发。
作为根据密钥推导图,可信客户端与云存储服务器交互进行生成密钥和安全分发生成的密钥的一个实施例,对于节点层次为2(即v.level值为2)的节点,可以根据密钥推导图,采用加盐哈希函数随机生成节点层次为2的唯一密钥值;将唯一密钥值采用安全传输方式传输至节点层次为2的节点蕴含的另一用户。该用户包含于节点属性v.acl即节点v蕴含的访问控制列表中的用户集。
作为根据密钥推导图,可信客户端与云存储服务器交互进行生成密钥和安全分发生成的密钥的另一实施例,对于密钥推导图中节点层次大于2的节点,可以通过如下步骤S1031至步骤S1034实现:
S1031,接收云存储服务器为密钥管理者所管理节点vi生成的公开标签值vi.para,节点vi是密钥推导图中节点层次大于2的节点。
如前所述,节点具有属性v.para,云存储服务器为每个节点v生成相应的公开标签值v.para后公开发布给云存储系统的所有用户,对于密钥推导图中节点层次大于2的节点也不例外。可信客户端接收云存储服务器为密钥管理者所管理节点vi生成的公开标签值vi.para,这里为了便于后续说明,密钥推导图中节点层次(即v.level值)大于2的节点使用节点vi表示。
S1032,根据公开标签值vi.para和密钥推导图,采用加盐哈希函数随机生成节点vi的唯一密钥值vi.key。
S1033,使用节点vi的唯一密钥值和节点vi的父亲节点的密钥值为节点vi每一条边计算密钥推导关系值token。
节点vi的父亲节点的密钥值可以是根据密钥推导图,对父亲节点采用加盐哈希函数随机生成的唯一密钥值。
S1034,将密钥推导关系值token提交至云存储服务器,以使云存储服务器更新密钥推导关系值集合T后发布,其中, 为节点vi到节点vj的单向密钥推导关系,token(vi,vj)为节点vi到节点vj的单向密钥推导关系值,h(vi.key,vj.para)是vi.key和vj.para的单向哈希函数,vj.para是云存储服务器为密钥管理者管理的节点vj生成的公开标签值。当云存储服务器将更新的密钥推导关系值集合T发布后,云存储系统的所有用户都可以获得节点vi到节点vj的单向密钥推导关系值即token(vi,vj),以便云存储系统用户根据token(vi,vj)推导出相应节点上的密钥值,例如,根据节点vj的公开标签值vj.para、密钥值vi.key和token(vi,vj)的表达式计算出节点vj的密钥值vj.key。
对于上述密钥推导关系值token的作用可以举例说明如下。如前所述,一级密钥是每个数据贡献者在可信客户端秘密维护的唯一密钥,由于任何密钥管理者是拥有某数据访问权限的用户,因此,密钥管理者也管理有数据的一级密钥。一级密钥是随机生成的,当密钥管理者拥有数据的一级密钥,则可根据一级密钥和密钥推导关系值token推导出二级密钥,因此,密钥管理者无需保存二级密钥,这减少了保存大量数据的密钥带来的各项开销。密钥管理者若想其他用户访问数据,可以将二级密钥以安全方式传输给该其他用户。密钥管理者也可以通过可信客户端将二级密钥和密钥推导关系值token上传给云存储服务器,由云存储服务器向其他用户发布二级密钥和密钥推导关系值token,其他用户若需要对数据加密,也可以根据二级密钥和密钥推导关系值token生成三级密钥或其他密钥。类似地,由于三级密钥或其他密钥可以根据二级密钥和密钥推导关系值token生成,因此,该其他用户也无需保存三级密钥或其他密钥。需要说明的是,密钥的推导是单向的,例如,只能从一级密钥和密钥推导关系值token推导出二级密钥,而不能从二级密钥和密钥推导关系值token推导出一级密钥,这从根本上保证了密钥管理者对数据的安全管理。
为了进一步提高密钥管理执行效率,保证密钥管理的安全性和高效性,在本发明实施例中,可信客户端与云存储服务器交互进行生成密钥和安全分发生成的密钥之后,还可以根据一级密钥和密钥推导图或者根据密钥推导图和由密钥管理者共享的二级密钥,获取所发布数据的所有密钥值,根据一级密钥和所发布数据的所有密钥值,生成所发布数据的转换密钥,将所述转换密钥提交至云存储服务器,以使所述云存储服务器利用转换密钥对所发布数据进行密钥更新。在本发明实施例中,云存储服务器可以采用代理重加密(Proxy Re-Encryption,PRE)的方法数据密钥进行更新,具体地,假设Ma是消息M经过密钥ka加密后的密文,即Encrypt(M,ka)=Ma,则云服务提供商可以利用转换密钥ka→b对密文Ma执行PRE操作,从而得到可以利用密钥kb解密的密文Mb,即其中ka→b是通过ka和kb生成。
从上述本发明实施例提供的可信云存储环境下的密钥管理方法可知,可信客户端根据云存储服务器构建的密钥推导图,只负责密钥值的生成、安全分发和极少量密钥的安全传输和存储,不承担所有密钥的储存和密钥推导图的生成等庞大的处理任务。与现有技术相比,一方面,由于密钥推导图是云存储服务器构建,避免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务这一缺陷,提高了密钥管理执行上的效率,另一方面,由于密钥推导图是基于全局逻辑层次图构建,因此,实现了系统全局用户的安全访问控制,并能够有效减少密钥推导关系的冗余,从而减轻系统和用户在传输和存储方面的密钥管理代价。
请参阅附图2,是本发明另一实施例提供的可信云存储环境下的密钥管理方法流程示意图,其执行主体可以是可信云存储系统的云存储服务器。附图2示例的可信云存储环境下的密钥管理方法主要包括步骤S201、步骤S202和步骤S203,详细说明如下:
S201,根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据。
如前所述,每个数据贡献者在可信客户端秘密维护一个唯一的一级密钥,一级密钥可以与密钥管理者安全共享的二级密钥一起独立安全存储在可信客户端。可信客户端或其数据贡献者或密钥管理者使用一级密钥对数据进行加密后,将加密的数据和访问授权策略一起向云存储服务器发布,访问授权策略采用前述实施例提供的访问控制表描述。云存储服务器根据可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略。在本发明实施例中,全局用户访问授权策略存储在全局访问控制表中,全局访问控制表是所有用户的访问控制表经扩展相应用户属性和数据属性后的集成。例如,假设全局用户为A、B、C、D、E五个云存储系统用户,云存储系统用户A的访问控制表如前述表1-a所示,云存储系统用户E的访问控制表如前述表1-b所示,则对前述表1-a和1-b示例的访问控制表集成后得到的全局访问控制表如下表3所示(这里仍然假设全局用户为A、B、C、D、E五个云存储系统用户)。
d1 | d2 | d3 | d4 | d5 | d6 | d7 | d8 | d9 | d10 | |
A | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
B | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
C | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
D | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
E | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
表3
S202,根据全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群。
作为本发明一个实施例,云存储服务器根据全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群可以是:根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力,即,云存储系统用户能够访问的数据集,根据所述所有云存储系统用户的数据访问能力,从云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为系统密钥管理者用户群。为了描述的方便,在本发明实施例中,将云存储系统用户能够访问的数据集即所有云存储系统用户的集合构成的用户集U的数据访问集采用表示cap(U),cap(U)={cap(ui)|ui∈U}(但这不应视为对本发明的限制)。
具体地,根据所述所有用户的数据访问能力,从云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为系统密钥管理者用户群包括以下步骤S2021至步骤S2024:
S2021,根据所有用户的数据访问能力,从数据访问集cap(U)中选取覆盖整个数据集D中个数最多的集合C,其中,cap(U)={cap(ui)|ui∈U},C={ci|ci=cap(ui)},所述U为所有云存储云存储系统用户的集合构成的用户集。
S2022,使用贪心算法逐个处理集合C中的ci,将满足条件的ci对应的用户ui添加至密钥管理者集合R,密钥管理者集合R即为系统密钥管理者用户群。
S2023,从数据访问集cap(U)中选取覆盖数据集D的剩余数据集中数据个数最多的集合,逐个执行处理。
S2024,依次迭代,直至密钥管理者集合R中所有用户u的cap(u)的并集覆盖整个数据集D。
经过以上步骤S2021至步骤S2024得到的密钥管理者集合R,其所有用户ui的cap(ui)的并集能覆盖整个系统数据集D,同时保证密钥管理者集合R中用户个数尽可能最少,即其目标是根据全局访问授权策略从所有云存储系统用户的集合构成的用户集U即云存储系统用户中选取出能共同拥有系统所有数据密钥访问权限的最少用户集来执行所有密钥的管理。
S203,根据系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使可信客户端根据密钥推导图与云存储服务器交互进行生成密钥和安全分发生成的密钥。
在本实施例中,可信客户端根据密钥推导图与云存储服务器交互进行生成密钥和安全分发生成的密钥的实施方式包括:接收云存储服务器为密钥管理者所管理节点vi生成的公开标签值vi.para,其中,节点vi是密钥推导图中节点层次大于2的节点;根据公开标签值vi.para和密钥推导图,采用加盐哈希函数随机生成所述节点vi的唯一密钥值vi.key;使用节点vi的唯一密钥值和节点vi的父亲节点的密钥值为所述节点vi每一条边计算密钥推导关系值token;将密钥推导关系值token提交至所述云存储服务器,以使所述云存储服务器更新密钥推导关系值集合T后发布,其中, 为节点vi到节点vj的单向密钥推导关系,token(vi,vj)为节点vi到节点vj的单向密钥推导关系值,h(vi.key,vj.para)是和vi.key和vj.para的单向哈希函数,vj.para是云存储服务器为密钥管理者管理的节点vj生成的公开标签值,进一步的说明可以参考前述附图1示例的步骤S103相关说明,此处不做赘述。
密钥推导图可以是基于全局逻辑层次图(Global Logical Hierarchical Graph,GLHG)的密钥推导图,生成基于GLHG的密钥推导图需满足以下要求:1)在基于GLHG的密钥推导图中,由父亲节点到孩子节点单向执行密钥推导,因此推导路径由父亲节点单向指向孩子节点;2)孩子节点的每个父亲节点的acl值都包含于孩子节点的acl值,且孩子节点的所有父亲节点的acl值并集等于孩子节点的acl值;3)孩子节点的km值包含于父亲节点acl值。作为本发明一个实施例,云存储服务器根据系统密钥管理者用户群和全局用户的访问授权策略,等价构建基于全局逻辑层次图的密钥推导图,具体可以采用以下步骤S2031至步骤S2034:
步骤S2031,根据全局用户访问授权策略,获取所有数据的访问控制表。
步骤S2032,根据访问控制表和系统密钥管理者用户群,生成密钥推导图的初始节点集。
系统密钥管理者用户群即前述实施例中的密钥管理者集合R,也即从云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集。在本发明实施例中,密钥推导图的节点包括根节点、实节点和虚节点,而每个节点都具有v.acl、v.key、v.data、v.level、v.km和v.para等六个属性,其中,v.acl指节点v蕴含的访问控制表中的用户集,v.key指节点v密钥值,并最终在v.acl所包含的用户间共享,v.data指向一个数据集,v.level表示节点v在密钥推导图中的深度,且v.level=|v.acl|,v.km指节点v密钥v.key的密钥管理者,v.para是用于推导v.key的公开标签值,之所以称之为公开标签值,是因为v.para对所有用户都公开发布;节点的六个属性中,v.key、v.km和v.para在节点v形成时初始值为空,系统通过节点维护表来对各个节点进行维护和更新操作,节点维护表的示例前述表2所示。
步骤S2033,按照初始节点集中节点层次的升序自顶向下一次为每个节点v寻找满足密钥推导条件的所有父亲节点,节点v是初始节点集中除根节点之外的任意节点。
步骤S2034,构建节点v与节点v的父亲节点之间的边,以此更新密钥推导图中的节点集合V和边集合E。
按照初始节点集中节点层次的升序自顶向下一次为每个节点v寻找满足密钥推导条件的所有父亲节点,构建节点v与节点v的父亲节点之间的边即节点密钥的推导路径。基于GLHG的密钥推导图中,需满足每个节点的父亲节点的acl值并集和该节点的acl相等且无冗余,其实现过程包括如下步骤S’1和步骤S’2:
S’1,按v.level值降序从level值为v.level-1的节点开始,自底向上逐轮迭代执行节点v的父亲节点的选取以构成父亲节点候选集合V:对于level值小于v.level的节点vi,若vi.acl包含于v.acl,且vi.acl不包含于当前父亲节点候选集合V中任一节点的acl,则添加vi至候选父亲节点集合V;
S’2,对S’1中得到的父亲节点候选集合V进行进一步处理,确定该节点v的密钥管理者v.km,要求父亲节点候选集合V中v.km所在所有节点的acl值并集能最大化覆盖v.acl。
需要说明的是,在基于GLHG的密钥推导图中,每条边e代表一个密钥推导关系,每条边e拥有四个e.id、e.start、e.end和e.token等四个属性,其中,e.id指边e对应的唯一一个编号,e.start表示边e的起点,e.end表示该边e的终点,e.token表示边e的密钥推导关系值,其中e.token在边e形成时初始值为空,系统通过密钥推导关系维护表对各条边进行维护和更新操作,密钥推导关系维护表的示例如下表4所示:
表4
进一步地,消除父亲节点候选集合V中的冗余,使最后保留的父亲节点候选集合V能够覆盖访问控制表的最少节点集合。
为了进一步提高密钥管理执行效率,保证密钥管理的安全性和高效性,在本发明实施例中,云存储服务器根据系统密钥管理者用户群和全局用户访问授权策略,等价构建基于全局逻辑层次图的密钥推导图之后,还可以接收所发布数据的转换密钥,利用转换密钥对所述所发布数据进行密钥更新,其中,所述转换密钥根据一级密钥和所发布数据的所有密钥值生成生成,具体地,可信客户端根据一级密钥和密钥推导图或者根据由密钥管理者共享的二级密钥和密钥推导图,获取所发布数据的所有密钥值,根据一级密钥和所发布数据的所有密钥值,生成所发布数据的转换密钥。在本实施例中,云存储服务器可以采用代理重加密(Proxy Re-Encryption,PRE)的方法数据密钥进行更新,具体地,假设Ma是消息M经过密钥ka加密后的密文,即Encrypt(M,ka)=Ma,则云服务提供商可以利用转换密钥ka→b对密文Ma执行PRE操作,从而得到可以利用密钥kb解密的密文Mb,即,其中ka→b是通过ka和kb生成。
从上述附图2示例的可信云存储环境下的密钥管理方法可知,云存储服务器基于全局逻辑层次图构建密钥推导图,承担密钥的储存和密钥推导图的生成等庞大的处理任务,以使可信客户端根据所述密钥推导图与云存储服务器交互进行生成密钥和安全分发所述生成的密钥。与现有技术相比,一方面,由于密钥推导图是云存储服务器构建,避免了由可信客户端承担密钥推导图处理等庞大的计算和存储任务这一缺陷,提高了密钥管理执行上的效率,另一方面,由于密钥推导图是基于全局逻辑层次图构建,因此,实现了系统全局用户的安全访问控制,并能够有效减少密钥推导关系的冗余,从而减轻系统和用户在传输和存储方面的密钥管理代价。
请参阅附图3,是本发明实施例提供的可信云存储环境下的密钥管理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图3示例的可信云存储环境下的密钥管理装置可以是可信存储系统中的可信客户端或者可信客户端中的功能模块,附图3示例的装置可以包括访问授权策略生成模块301、发布模块302和密钥生成分发模块303,其中:
访问授权策略生成模块301,用于生成访问授权策略;
发布模块302,用于使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图;
密钥生成分发模块303,用于根据所述密钥推导图,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
需要说明的是,以上可信云存储环境下的密钥管理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述可信云存储环境下的密钥管理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的发布模块,可以是使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图的硬件,例如发布器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的密钥生成分发模块,可以是具有执行前述根据所述密钥推导图,与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥功能的硬件,例如密钥生成分发器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图3示例的密钥生成分发模块301可以包括位置第一密钥值生成单元401和安全传输单元402,如附图4所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
第一密钥值生成单元401,用于根据所述密钥推导图,采用加盐哈希函数随机生成节点层次为2的节点唯一密钥值;
安全传输单元402,用于将所述唯一密钥值采用安全传输方式传输至所述节点层次为2的节点蕴含的另一用户。
附图3示例的密钥生成分发模块301可以包括接收单元501、第二密钥值生成单元502、计算单元503和提交单元504,如附图5所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
接收单元501,用于接收所述云存储服务器为密钥管理者所管理节点vi生成的公开标签值vi.para,所述节点vi是密钥推导图中节点层次大于2的节点;
第二密钥值生成单元502,用于根据所述公开标签值vi.para和密钥推导图,采用加盐哈希函数随机生成所述节点vi的唯一密钥值vi.key;
计算单元503,用于使用所述节点vi的唯一密钥值和所述节点vi的父亲节点的密钥值为所述节点vi每一条边计算密钥推导关系值token;
提交单元504,用于将所述密钥推导关系值token提交至所述云存储服务器,以使所述云存储服务器更新密钥推导关系值集合T后发布,所述所述为节点vi到节点vj的单向密钥推导关系,所述token(vi,vj)为所述节点vi到节点vj的单向密钥推导关系值,所述h(vi.key,vj.para)是vj.para和所述vi.key的单向哈希函数,所述vj.para是所述云存储服务器为密钥管理者管理的节点vj生成的公开标签值。当云存储服务器将更新的密钥推导关系值集合T发布后,云存储系统的所有用户都可以获得节点vi到节点vj的单向密钥推导关系值即token(vi,vj),以便云存储系统用户根据token(vi,vj)推导出相应节点上的密钥值,例如,根据节点vj的公开标签值vj.para、密钥值vi.key和token(vi,vj)的表达式计算出节点vj的密钥值vj.key。
附图3至附图5任一示例的可信云存储环境下的密钥管理装置还可以包括获取模块601和转换密钥生成模块602,如附图6-a至附图6-c任一示例所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
获取模块601,用于根据一级密钥和所述密钥推导图或者根据由密钥管理者共享的二级密钥和所述密钥推导图,获取所发布数据的所有密钥值;
转换密钥生成模块602,用于根据所述一级密钥和所发布数据的所有密钥值,生成所发布数据的转换密钥后提交至所述云存储服务器,以使所述云存储服务器利用转换密钥对所述所发布数据进行密钥更新。
请参阅附图7,是本发明另一实施例提供的可信云存储环境下的密钥管理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图7示例的可信云存储环境下的密钥管理装置可以是可信存储系统中的云存储服务器或者云存储服务器中的功能模块,附图7示例的装置可以包括第一生成模块701、选取模块702和密钥推导图构建模块703,其中:
第一生成模块701,用于根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据;
选取模块702,用于根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;
密钥推导图构建模块703,用于根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
需要说明的是,以上可信云存储环境下的密钥管理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述可信云存储环境下的密钥管理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的第一生成模块,可以是根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据的硬件,例如第一生成器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的密钥推导图构建模块,可以是具有执行前述根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥功能的硬件,例如密钥推导图构建器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图7示例的选取模块702可以包括获取子模块801和选取子模块802,如附图8所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
获取子模块801,用于根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力;
选取子模块802,用于根据所述所有云存储系统用户的数据访问能力,从所述云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为所述系统密钥管理者用户群。
附图8示例的选取子模块802可以包括集合选取单元901、算法处理单元902、处理单元903和迭代单元904,如附图9所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
集合选取单元901,用于根据所述所有云存储系统用户的数据访问能力,从数据访问集cap(U)中选取覆盖整个数据集D中个数最多的集合C,所述cap(U)={cap(ui)|ui∈U},所述C={ci|ci=cap(ui)},所述U为所有云存储云存储系统用户的集合构成的用户集;
算法处理单元902,用于使用贪心算法逐个处理ci,将满足条件的ci对应的用户ui添加至密钥管理者集合R,所述密钥管理者集合R为所述系统密钥管理者用户群。
处理单元903,用于从所述cap(U)中选取覆盖剩余数据集中数据个数最多的集合,逐个执行处理;
迭代单元904,用于依次迭代,直至所述密钥管理者集合R中所有用户u的cap(u)的并集覆盖所述整个数据集D。
附图7示例的密钥推导图构建模块703可以包括访问控制表获取单元1001、初始节点集生成单元1002、父节点搜索单元1003和构建单元1004,如附图10所示本发明另一实施例提供的可信云存储环境下的密钥管理装置,其中:
访问控制表获取单元1001,用于根据全局用户访问授权策略,获取所有数据的访问控制表;
初始节点集生成单元1002,用于根据访问控制表和系统密钥管理者用户群,生成密钥推导图的初始节点集;
父节点搜索单元1003,用于按照初始节点集中节点层次的升序自顶向下一次为每个节点v寻找满足密钥推导条件的所有父亲节点,节点v是所述初始节点集中除根节点之外的任意节点;
构建单元1004,用于构建所述节点v与节点v的父亲节点之间的边,以此更新密钥推导图中的节点集合V和边集合E。
附图7至附图10任一示例的可信云存储环境下的密钥管理装置还可以包括接收模块1101和密钥更新模块1102,如附图11-a至附图11-d任一示例所示本发明另一实施例提供的可信云存储环境下的密钥管理装置11,其中:
接收模块1101,用于接收所发布数据的转换密钥,所述转换密钥根据一级密钥和所发布数据的所有密钥值生成;
密钥更新模块1102,用于利用转换密钥对所述所发布数据进行密钥更新。
请参阅附图12,是本发明实施例提供的可信云存储环境下的密钥管理系统结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图12示例的可信云存储环境下的密钥管理系统包括可信客户端1201和云存储服务器1202,可信客户端1201可以是附图3至附图6任一示例的可信客户端,云存储服务器1202可以是附图7至附图11任一示例的云存储服务器,其中:
可信客户端1201,用于生成访问授权策略,使用一级密钥对数据进行加密后,向云存储服务器1202发布所述加密的数据和所述访问授权策略一起以使云存储服务器1202根据所述加密的数据和所述访问授权策略构建密钥推导图,根据所述密钥推导图,与云存储服务器1202交互进行生成密钥和安全分发生成的密钥;
云存储服务器1202,用于根据可信客户端1201发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略,根据全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群,根据系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使可信客户端1201根据密钥推导图与云存储服务器1202交互进行生成密钥和安全分发生成的密钥。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种或全部:
方法一:可信客户端生成访问授权策略;所述可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图;根据所述密钥推导图,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
方法二:根据可信客户端分布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略;根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例提供的一种可信云存储环境下的密钥管理方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (19)
1.一种可信云存储环境下的密钥管理方法,其特征在于,所述方法包括:
可信客户端生成访问授权策略;
所述可信客户端使用一级密钥对数据进行加密后,向云存储服务器发布所述加密的数据和所述访问授权策略,以使所述云存储服务器根据所述加密的数据和所述访问授权策略生成全局用户访问授权策略,以及根据所述全局用户访问授权策略从云存储系统用户中选取系统密钥管理者用户群,以及根据所述系统密钥管理者用户群和所述全局用户访问授权策略构建密钥推导图;
所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
2.如权利要求1所述的方法,其特征在于,所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥包括:
根据所述密钥推导图,采用加盐哈希函数随机生成节点层次为2的节点唯一密钥值;
将所述唯一密钥值采用安全传输方式传输至所述节点层次为2的节点蕴含的另一用户。
3.如权利要求1所述的方法,其特征在于,所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥包括:
所述可信客户端接收所述云存储服务器为密钥管理者所管理节点vi生成的公开标签值vi.para,所述节点vi是密钥推导图中节点层次大于2的节点;
所述可信客户端根据所述公开标签值vi.para和密钥推导图,采用加盐哈希函数随机生成所述节点vi的唯一密钥值vi.key;
所述可信客户端使用所述节点vi的唯一密钥值和所述节点vi的父亲节点的密钥值为所述节点vi每一条边计算密钥推导关系值token;
所述可信客户端将所述密钥推导关系值token提交至所述云存储服务器,以使所述云存储服务器更新密钥推导关系值集合T后发布,所述所述为节点vi到节点vj的单向密钥推导关系,所述token(vi,vj)为所述节点vi到节点vj的单向密钥推导关系值,所述h(vi.key,vj.para)是vj.para和所述vi.key的单向哈希函数,所述vj.para是所述云存储服务器为密钥管理者管理的节点vj生成的公开标签值。
4.如权利要求1至3任意一项所述的方法,其特征在于,所述可信客户端与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥之后还包括:
所述可信客户端根据一级密钥和所述密钥推导图或者根据由密钥管理者共享的二级密钥和所述密钥推导图,获取所发布数据的所有密钥值;
所述可信客户端根据所述一级密钥和所发布数据的所有密钥值,生成所发布数据的转换密钥后提交至所述云存储服务器,以使所述云存储服务器利用转换密钥对所述所发布数据进行密钥更新。
5.一种可信云存储环境下的密钥管理方法,其特征在于,所述方法包括:
根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据;
根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;
根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
6.如权利要求5所述的方法,其特征在于,所述根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群包括:
根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力;
根据所述所有云存储系统用户的数据访问能力,从所述云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为所述系统密钥管理者用户群。
7.如权利要求6所述的方法,其特征在于,所述根据所述所有云存储系统用户的数据访问能力,从所述云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为所述系统密钥管理者用户群包括:
根据所述所有云存储系统用户的数据访问能力,从数据访问集cap(U)中选取覆盖整个数据集D中个数最多的集合C,所述cap(U)={cap(ui)|ui∈U},所述C={ci|ci=cap(ui)},所述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后发布,所述所述为节点vi到节点vj的单向密钥推导关系,所述token(vi,vj)为所述节点vi到节点vj的单向密钥推导关系值,所述h(vi.key,vj.para)是vj.para和所述vi.key的单向哈希函数,所述vj.para是所述云存储服务器为密钥管理者管理的节点vj生成的公开标签值。
13.如权利要求10至12任意一项所述的装置,其特征在于,所述装置还包括:
获取模块,用于根据一级密钥和所述密钥推导图或者根据由密钥管理者共享的二级密钥和所述密钥推导图,获取所发布数据的所有密钥值;
转换密钥生成模块,用于根据所述一级密钥和所发布数据的所有密钥值,生成所发布数据的转换密钥后提交至所述云存储服务器,以使所述云存储服务器利用转换密钥对所述所发布数据进行密钥更新。
14.一种可信云存储环境下的密钥管理装置,其特征在于,所述装置包括:
第一生成模块,用于根据可信客户端发布的访问授权策略和加密数据,生成全局用户访问授权策略,所述加密数据是所述可信客户端使用一级密钥对数据进行加密后得到的加密数据;
选取模块,用于根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群;
密钥推导图构建模块,用于根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
15.如权利要求14所述的装置,其特征在于,所述选取模块包括:
获取子模块,用于根据所述全局用户访问授权策略,获取所有云存储系统用户的数据访问能力;
选取子模块,用于根据所述所有云存储系统用户的数据访问能力,从所述云存储系统用户中选取能够共同拥有系统所有数据密钥访问权限并执行所有密钥的管理的最少用户集作为所述系统密钥管理者用户群。
16.如权利要求15所述的装置,其特征在于,所述选取子模块包括:
集合选取单元,用于根据所述所有云存储系统用户的数据访问能力,从数据访问集cap(U)中选取覆盖整个数据集D中个数最多的集合C,所述cap(U)={cap(ui)|ui∈U},所述C={ci|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.一种可信云存储环境下的密钥管理系统,其特征在于,所述系统包括可信客户端和云存储服务器;
所述可信客户端,用于生成访问授权策略,使用一级密钥对数据进行加密后,向所述云存储服务器发布所述加密的数据和所述访问授权策略以使所述云存储服务器根据所述加密的数据和所述访问授权策略构建密钥推导图,根据所述密钥推导图,与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥;
所述云存储服务器,用于根据所述可信客户端发布的访问授权策略和使用一级密钥对数据进行加密后得到的加密数据,生成全局用户访问授权策略,根据所述全局用户访问授权策略,从云存储系统用户中选取系统密钥管理者用户群,根据所述系统密钥管理者用户群和全局用户访问授权策略,构建密钥推导图,以使所述可信客户端根据所述密钥推导图与所述云存储服务器交互进行生成密钥和安全分发所述生成的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310172480.5A CN104144048B (zh) | 2013-05-10 | 2013-05-10 | 一种可信云存储环境下的密钥管理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310172480.5A CN104144048B (zh) | 2013-05-10 | 2013-05-10 | 一种可信云存储环境下的密钥管理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104144048A CN104144048A (zh) | 2014-11-12 |
CN104144048B true CN104144048B (zh) | 2018-02-02 |
Family
ID=51853120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310172480.5A Active CN104144048B (zh) | 2013-05-10 | 2013-05-10 | 一种可信云存储环境下的密钥管理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104144048B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754055A (zh) * | 2015-04-03 | 2015-07-01 | 易云捷讯科技(北京)有限公司 | 一种多云环境下的安全云存储方法 |
CN104780174A (zh) * | 2015-04-21 | 2015-07-15 | 成都汇智远景科技有限公司 | 一种内容安全存取方法 |
CN104901949A (zh) * | 2015-04-21 | 2015-09-09 | 成都汇智远景科技有限公司 | 一种数据加密方法 |
EP3494662B1 (en) * | 2016-08-03 | 2020-09-16 | ABB Schweiz AG | Method for storing data blocks from client devices to a cloud storage system |
CN110011956B (zh) * | 2018-12-12 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN110717192B (zh) * | 2019-09-11 | 2021-05-18 | 南京工业职业技术大学 | 基于Key-Value加速器的面向大数据安全的访问控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704389B1 (en) * | 2011-11-09 | 2017-04-05 | Huawei Technologies Co., Ltd. | Method, device and system for protecting data security in cloud |
-
2013
- 2013-05-10 CN CN201310172480.5A patent/CN104144048B/zh active Active
Non-Patent Citations (3)
Title |
---|
a data outsourcing architecture combining cryptography and access control;sabrina de capitani di vimercati等;《ACM》;20071102;第4节 * |
可信数据库环境下无证书认证的可信密钥共享;程芳权等;《计算机科学与探索》;20100915;全文 * |
基于逻辑层次图的大批量复杂密钥管理服务系统;孔雪元等;《信息与电脑》;20110915;第1-3节,图第1-5幅 * |
Also Published As
Publication number | Publication date |
---|---|
CN104144048A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104144048B (zh) | 一种可信云存储环境下的密钥管理方法、装置和系统 | |
CN108390876A (zh) | 支持撤销外包可验证多授权中心访问控制方法、云服务器 | |
Wang et al. | MedShare: A privacy-preserving medical data sharing system by using blockchain | |
Ali et al. | Lightweight revocable hierarchical attribute-based encryption for internet of things | |
CN107864139A (zh) | 一种基于动态规则的密码学属性基访问控制方法与系统 | |
Raykova et al. | Privacy enhanced access control for outsourced data sharing | |
CN107359986A (zh) | 可撤销用户的外包加解密cp‑abe方法 | |
CN102891876B (zh) | 云计算环境下分布式数据加密方法及系统 | |
CN108418784A (zh) | 一种基于属性密码的分布式跨域授权和访问控制方法 | |
Wu et al. | FedBC: blockchain-based decentralized federated learning | |
JP2008527866A (ja) | 識別情報に基づく暗号鍵方法及びデバイス | |
CN108111540A (zh) | 一种云存储中支持数据共享的分层访问控制系统及方法 | |
Gong et al. | Grover algorithm-based quantum homomorphic encryption ciphertext retrieval scheme in quantum cloud computing | |
CN108632030A (zh) | 一种基于cp-abe高效且安全的细粒度访问控制方法 | |
CN108540280A (zh) | 一种资源高效的安全数据分享方法及系统 | |
CN104811448A (zh) | 一种数据安全存储方法 | |
CN106788988A (zh) | 云环境下可撤销的密钥聚合加密方法 | |
Sethia et al. | CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder. | |
CN109617855A (zh) | 基于cp-abe分层访问控制的文件共享方法、装置、设备及介质 | |
Tian et al. | Role-based Access Control for Body Area Networks Using Attribute-based Encryption in Cloud Storage. | |
Liu et al. | Dynamic attribute-based access control in cloud storage systems | |
CN107634830A (zh) | 服务器辅助的可撤销属性基加密方法、装置及系统 | |
CN104935588B (zh) | 一种安全云存储系统的分层密钥管理方法 | |
Zhang et al. | NANO: Cryptographic Enforcement of Readability and Editability Governance in Blockchain Databases | |
Shalabi et al. | Cryptographically enforced role-based access control for NoSQL distributed databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |