首页 / 专利库 / 杂项知识产权事务 / 数字版权管理 / 授权中心 / 支持撤销外包可验证多授权中心访问控制方法、云服务器

支持撤销外包可验证多授权中心访问控制方法、服务器

阅读:82发布:2020-05-13

专利汇可以提供支持撤销外包可验证多授权中心访问控制方法、服务器专利检索,专利查询,专利分析的服务。并且本 发明 属于以协议为特征的技术领域,公开了一种支持撤销外包可验证多 授权中心 访问 控制方法、 云 服务器 ,包括:系统初始化,包括全局认证中心以及其他授权中心的初始化;授权中心为用户分配属性集,并为其生成解密所需的密钥;数据拥有者对文件进行加密,其中加密过程包括外包加密,外包结果的验证以及数据拥有者的最终加密;用户向云服务商发出文件访问 请求 ,该过程包括云服务商外包解密,外包结果的验证以及用户的最终解密;撤销系统中的某些用户或某些属性。本发明具有系统访问效率高、计算开销较低、支持动态的用户权限管理等优点,可用于云存储中保障用户的隐私数据安全,降低用户的计算开销,以及动态的管理系统中用户的权限。,下面是支持撤销外包可验证多授权中心访问控制方法、服务器专利的具体信息内容。

1.一种支持撤销外包可验证多授权中心访问控制方法,其特征在于,所述支持撤销外包可验证多授权中心访问控制方法包括:全局认证中心CA及其他授权中心AA的初始化,为系统中所有授权中心和用户分配相应的身份标识,生成全局公共参数以及加密所需的密钥;授权中心为用户分配属性集,并生成解密所需的密钥;数据拥有者对文件进行加密;用户向服务商发出文件访问请求;撤销系统中的某些用户或某些属性。
2.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,所述密钥包括:存储在云端用来完成部分解密的代理密钥和由用户自己保管的用来完成最终解密的用户私钥;
加密过程包括由云服务商进行部分的加密计算,并将生成的密文发送给数据拥有者,数据拥有者再完成最终的加密;加密完成后,将密文上传至云服务商进行存储;
云服务商收到请求后,使用存储在云端的用户的代理密钥对文件进行部分解密,并将该部分解密的密文发送给用户;收到密文后,用户再使用自己的私钥进行解密,只有属性满足访问策略的用户才能成功解密密文;
当发生用户撤销时,数据拥有者将撤销用户的身份标识发送给云服务商,云服务商查找代理密钥列表,并删除该用户的代理密钥,失去了代理密钥,用户则无法解密从而恢复明文;发生属性撤销时,数据拥有者需重加密密文,同时授权中心需更新系统中其他非撤销用户的密钥;密文重加密以及密钥更新的部分工作外包给云服务商完成。
3.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,所述初始化具体包括:
(1)CA初始化,CA首先选取一个系统安全参数λ和一个属性域U,然后挑选三个阶为p的乘法循环群G1,G2和GT,g1,g2为G1,G2的生成元,双线性映射为e:G1×G2→GT,并选择两个哈希函数H:{0,1}*→Zp,F:GT→Zp;CA再选择一个随机数a∈Zp,最后生成全局公共参数:
CA会为系统中每个合法的授权中心颁发一个全局唯一的身份标识aid,为每个合法用户颁发一个全局唯一的身份标识uid;
(2)AA初始化,AAaid管理的属性集定义为 相关的授权中心集合定义为IA;AAaid首先选择两个随机数αaid,βaid∈Zp,对于属性集 中的每个属性xk,AAaid都随机选择一个唯一的版本号vk,最后计算属性公钥、授权中心公钥、授权中心私钥如下:
4.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,授权中心为用户分配属性集,并生成解密所需的密钥具体包括:
(1)AAaid首先为每个合法用户分配相应的属性集Suid,aid,然后为每个用户选择一个全局唯一的随机数zuid∈Zp,作为用户私钥,计算用户的代理密钥和用户私钥如下:
SKuid=zuid;
(2)生成的代理密钥{PxKuid,aid}将被发送给云服务商存储,云服务商执行LPxK=LPxK∪{uid,PxKuid,aid},将用户的代理密钥添加至代理密钥列表LPxK中,用户私钥SKuid则发送给相应的用户,由用户自己保管。
5.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,数据拥有者对文件进行加密具体包括:
(1)云服务商首先选择一个随机数s′∈Zp,对于i∈{1,…,l},都随机选择λi′,γi′∈Zp,计算密文如下:
输出部分加密的密文CTout={s′,C0,(Ci,1,Ci,2,λi′,γi′)i∈{1,…,l}};
(2)数据拥有者收到CTout后,将验证该结果是否正确,首先检查 是否成立;如果不成立,直接输出b=0,代表外包计算的结果不正确;否则,对i∈{1,…,l},数据拥有者计算:
ti=(aλi′-vρ(i)·γi-H(ρ(i))·γi)modp;
之后,再选取一个安全参数r,并随机选择s1,…,sl∈{0,1}r,计算:
如果 输出b=1,表示计算结果正确;否则,输出b=0,表示结果错误;
(3)数据拥有者验证了CTout正确后,将继续完成余下的加密操作,令A表示一个l×n的矩阵,l为属性的总数;函数ρ将矩阵的每行都映射成了一个属性,数据拥有者首先选择一个秘密的随机数s∈Zp和一个随机的向量 其中,y2,…,yn被用于分享s;对
于i∈{1,…,l},计算 Ai表示矩阵A的第i行;然后,再随机选择γ1,γ2,…,γl∈Zp,并计算密文如下:
其中,C′,Ci,3,Ci,4用于校正s,λi,γi;Cv用于验证外包解密的结果;最后,输出完整的密文CT={C,C′,C0,(Ci,1,Ci,2,Ci,3,Ci,4)i∈{1,…,l},Cv,(A,ρ)}。
6.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,用户向云服务商发出文件访问请求具体包括:
(1)当用户发出文件访问请求时,云服务商首先检查他的属性集合是否符合访问结构;
如果他的属性满足访问结构,则能找到一组常量wi∈Zp,使得 其中I={1,…,l},然后计算部分解密的密文如下:
解密成功后,将部分解密的密文CT′发送给用户;
(2)用户收到来自云服务商的部分解密的密文CT′后,将验证该计算结果是否正确;用户只需计算 是否成立;如果成立,输出b=1,表示计算结果正确;否则,输出b=0表示云服务商返回了一个错误的结果;
(3)用户验证了CT′正确后,用自己的私钥SKuid即可恢复明文,计算如下:
7.如权利要求1所述的支持撤销外包可验证多授权中心访问控制方法,其特征在于,撤销系统中的某些用户或某些属性具体包括:
(1)当发生用户撤销时,数据拥有者将撤销用户的身份标识uid发送给云服务商,云服务商收到用户撤销信息后,将查找代理密钥列表LPxK,并删除该uid对应的代理密钥,然后将代理密钥列表更新至L′PxK;
(2)当发生属性撤销时,数据拥有者需要重加密密文同时授权中心需更新其他非撤销用户的密钥;
首先授权中心将生成一些密钥更新材料,为后面的密钥更新做准备;uid表示所有其他非撤销用户的身份,相关的授权中心首先生成一个新的属性版本号 计算版本更新密钥为再用它为所有拥有属性 的非撤销用户计算代理更新密钥为
AAaid为被撤销的属性更新属性公钥为 并为系统中的数据拥有者广播一
条消息,使得他们能够收到更新的属性公钥; 将被发送给云服务商用来更新代理密钥PxKuid,aid, 将发送给数据拥有者;
云服务商收到代理更新密钥 后,将为所有拥有属性 的非撤销用户更新相应的代理密钥 代理密钥PxKuid,aid将被更新为:
数据拥有者收到版本更新密钥 后,计算密文更新密钥为 并将其
发送给云服务商用以重加密密文;
云服务商收到密文更新密钥 后,更新相应的密文为 重加密后的
密文将被公布如下:
8.一种应用权利要求1~7任意一项所述支持撤销外包可验证多授权中心访问控制方法的云服务器

说明书全文

支持撤销外包可验证多授权中心访问控制方法、服务器

技术领域

[0001] 本发明属于以协议为特征的技术领域,尤其涉及一种支持撤销外包可验证多授权中心访问控制方法、云服务器。

背景技术

[0002] 目前,业内常用的现有技术是这样的:随着信息技术的不断发展,人们的生活得到了巨大的改善。其中,云计算的发展势头迅猛,引起了人们的广泛关注。云计算是一个具有庞大计算能和存储能力的实体,是网络存储、虚拟化、负载均衡、分布式计算、并行计算、效用计算等传统计算技术和网络技术发展相结合的产物。它的强大之处在于,其可将计算资源通过网络动态的分发给用户。同时,用户也可将自身的数据或资源存储在云服务器中,或将一些复杂的计算任务外包给云服务商。通过这种方式,用户将不再受地理位置以及有限的计算资源的限制,此外,复杂的计算任务可以部署在远端的分布式计算机上,将计算边缘化,极大的提高了计算的效率。云存储是从云计算概念衍生和发展起来的一种数据外包服务技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作共同对外提供数据,其拥有低成本、易于使用的接口和高可扩展性的优势。对用户来说,将自身的敏感数据存储在云端并不是十分安全的。云服务商不是完全可信的,其可能由于利益与非法用户勾结,从而泄露用户的数据。数据的安全性和缺乏控制性是阻碍云存储发展的最大障碍。访问控制能够保证只有授权用户才能访问敏感数据,被认为是解决云存储安全问题的重要手段。然而传统的访问控制方案存在很多问题,它无法应用于更细粒度更灵活的访问控制环境,且需要有可信实体实施访问控制策略。基于属性加密的访问控制方案能够解决上述问题,被认为是一种适合应用于云存储环境中保护数据安全的访问控制技术。基于属性的加密机制是在基于身份的加密机制上发展而来的。2005年,Sahai和Waters最先提出了属性基加密(ABE)的概念。相比于传统的公钥加密,它是一种支持一对多的更加灵活的加密机制。在属性基加密系统中,将原来表示用户身份的标识扩展为一系列属性,密文和用户的密钥分别由访问控制策略和可描述的属性集合来标识。通过引入访问结构,可以保证只有属性集满足访问策略的用户才能成功解密密文。基于属性的加密机制极大的降低了用户加解密的计算开销,可以保证数据的机密性,适合应用于分布式环境下用户数量众多的情况。基于属性的加密分为两类:(1)密文策略的属性加密(CP-ABE):在密文策略的属性加密中,密文对应于访问控制策略,即一个加密者定义一个控制策略和一些属性,其中,这个策略用来加密密文,这些属性用来描述用户的密钥;(2)密钥策略的属性加密(KP-ABE):在密钥策略的属性加密中,密钥对应于访问控制策略,其加密过程与密文策略的加密过程相反。尽管KP-ABE与CP-ABE均能实现细粒度的访问控制,但是CP-ABE可以使数据拥有者决定具体的访问控制策略,因此CP-ABE被视为云存储中最合适的数据访问控制方案。在CP-ABE方案中,系统中的每个合法用户都被赋予了一定的属性,根据每个用户的属性集,来生成每个用户的密钥。数据拥有者先将数据明文用对称密钥加密,然后将该密钥用公钥加密方法加密,且在公钥加密的过程中,包含一个访问结构T。若某用户想要解密密文,其属性必须满足该访问结构T。数据拥有者通过设定访问结构T,来实施其访问控制策略。现有的CP-ABE方案大多基于一个授权中心,所有的密钥都由该授权中心管理和颁发。然而,在实际应用中用户可能拥有来自多个授权中心授予的属性,数据拥有者可能也会将数据共享给其他授权中心管理的用户。例如,在医疗云系统中,病人可能会将他们的病历数据共享给医生和研究人员,而医生这一属性是由医疗机构授予的,研究人员这一属性由研究所授予,他们来自不同的属性域,因此,多授权中心的CP-ABE方案更适用于云存储系统中。在属性基加密系统中,加密和解密阶段的计算开销也是不小的。将过程中的部分计算外包给云服务商是个不错的选择。然而,云服务商并不是完全可信的,它可能仅仅进行部分计算,返回一个中间值,或者故意给返回一个错误的结果。
因此,提出一种能够验证云服务商的计算结果的方法,显得尤为重要。此外,基于属性加密的访问控制技术也会带来极大的管理负担,尤其是撤销问题一直比较棘手。一方面,由于云存储系统中用户数量较为庞大,用户可能会频繁的更换。此外,用户的属性也可能会经常变更。用户可能会被授予某些新属性,也可能会被撤销一些当前属性,他对数据的访问权限也会随之变更。另一方面,当需要撤销某个用户的权限时,需要对涉及到的密文进行重加密,重加密之后的文件不能再被之前的密钥解密,所以其他受到影响的用户需要升级密钥才能解密,这使得每个用户之间不再独立,彼此互相干扰。此外,若权限撤销频繁的话,其计算负担也会很大,属性的动态性增加了密钥更新的开销和难度。大多数现有技术都不够高效,不支持云存储系统中灵活的用户和属性的撤销,因此,提出一种支持撤销外包可验证多授权中心访问控制方法很有必要。
[0003] 综上所述,现有技术存在的问题是:现有技术都不够高效,不支持云存储系统中灵活的用户和属性的撤销;计算复杂度高,开销大,撤销困难。
[0004] 解决上述技术问题的难度和意义:基于属性加密的访问控制技术也会带来极大的管理负担,尤其是撤销问题一直比较棘手。一方面,由于云存储系统中用户数量较为庞大,用户可能会频繁的更换。此外,用户的属性也可能会经常变更。用户可能会被授予某些新属性,也可能会被撤销一些当前属性,他对数据的访问权限也会随之变更。另一方面,当需要撤销某个用户的权限时,需要对涉及到的密文进行重加密,重加密之后的文件不能再被之前的密钥解密,所以其他受到影响的用户需要升级密钥才能解密,这使得每个用户之间不再独立,彼此互相干扰。此外,若权限撤销频繁的话,其计算负担也会很大,属性的动态性增加了密钥更新的开销和难度。

发明内容

[0005] 针对现有技术存在的问题,本发明提供了一种支持撤销外包可验证多授权中心访问控制方法、云服务器。
[0006] 本发明是这样实现的,一种支持撤销外包可验证多授权中心访问控制方法,所述支持撤销外包可验证多授权中心访问控制方法包括:全局认证中心CA及其他授权中心AA的初始化,为系统中所有授权中心和用户分配相应的身份标识,生成全局公共参数以及加密所需的密钥;授权中心为用户分配属性集,并生成解密所需的密钥;数据拥有者对文件进行加密;用户向云服务商发出文件访问请求;撤销系统中的某些用户或某些属性。
[0007] 进一步,所述密钥包括:存储在云端用来完成部分解密的代理密钥和由用户自己保管的用来完成最终解密的用户私钥;
[0008] 加密过程包括由云服务商进行部分的加密计算,并将生成的密文发送给数据拥有者,数据拥有者再完成最终的加密;加密完成后,将密文上传至云服务商进行存储;
[0009] 云服务商收到请求后,使用存储在云端的用户的代理密钥对文件进行部分解密,并将该部分解密的密文发送给用户;收到密文后,用户再使用自己的私钥进行解密,只有属性满足访问策略的用户才能成功解密密文;
[0010] 当发生用户撤销时,数据拥有者将撤销用户的身份标识发送给云服务商,云服务商查找代理密钥列表,并删除该用户的代理密钥,失去了代理密钥,用户则无法解密从而恢复明文;发生属性撤销时,数据拥有者需重加密密文,同时授权中心需更新系统中其他非撤销用户的密钥;密文重加密以及密钥更新的部分工作外包给云服务商完成。
[0011] 进一步,所述初始化具体包括:
[0012] (1)CA初始化,CA首先选取一个系统安全参数λ和一个属性域U,然后挑选三个阶为p的乘法循环群G1,G2和GT,g1,g2为G1,G2的生成元,双线性映射为e:G1×G2→GT,并选择两个哈希函数H:{0,1}*→Zp,F:GT→Zp。CA再选择一个随机数a∈Zp,最后生成全局公共参数:
[0013]
[0014] CA会为系统中每个合法的授权中心颁发一个全局唯一的身份标识aid,为每个合法用户颁发一个全局唯一的身份标识uid;
[0015] (2)AA初始化,AAaid管理的属性集定义为 相关的授权中心集合定义为IA;AAaid首先选择两个随机数αaid,βaid∈Zp,对于属性集 中的每个属性xk,AAaid都随机选择一个唯一的版本号vk,最后计算属性公钥、授权中心公钥、授权中心私钥如下:
[0016]
[0017]
[0018] 进一步,授权中心为用户分配属性集,并生成解密所需的密钥具体包括:
[0019] (1)AAaid首先为每个合法用户分配相应的属性集Suid,aid,然后为每个用户选择一个全局唯一的随机数zuid∈Zp,作为用户私钥,计算用户的代理密钥和用户私钥如下:
[0020]
[0021] SKuid=zuid;
[0022] (2)生成的代理密钥{PxKuid,aid}将被发送给云服务商存储,云服务商执行LPxK=LPxK∪{uid,PxKuid,aid},将用户的代理密钥添加至代理密钥列表LPxK中,用户私钥SKuid则发送给相应的用户,由用户自己保管。
[0023] 进一步,数据拥有者对文件进行加密具体包括:
[0024] (1)云服务商首先选择一个随机数s′∈Zp,对于i∈{1,…,l},都随机选择λi′,γi′∈Zp,计算密文如下:
[0025]
[0026] 输出部分加密的密文CTout={s′,C0,(Ci,1,Ci,2,λi′,γi′)i∈{1,…,l}};
[0027] (2)数据拥有者收到CTout后,将验证该结果是否正确,首先检查 是否成立;如果不成立,直接输出b=0,代表外包计算的结果不正确;否则,对i∈{1,…,l},数据拥有者计算:
[0028] ti=(aλi′-vρ(i)·γi-H(ρ(i))·γi)modp;
[0029]
[0030] 之后,再选取一个安全参数r,并随机选择s1,…,sl∈{0,1}r,计算:
[0031]
[0032]
[0033] 如果 输出b=1,表示计算结果正确;否则,输出b=0,表示结果错误;
[0034] (3)数据拥有者验证了CTout正确后,将继续完成余下的加密操作,令A表示一个l×n的矩阵,l为属性的总数;函数ρ将矩阵的每行都映射成了一个属性,数据拥有者首先选择一个秘密的随机数s∈Zp和一个随机的向量 其中,y2,…,yn被用于分享s。对于i∈{1,…,l},计算 Ai表示矩阵A的第i行;然后,再随机选择γ1,γ2,…,γl∈Zp,并计算密文如下:
[0035]
[0036] 其中,C′,Ci,3,Ci,4用于校正s,λi,γi。Cv用于验证外包解密的结果;最后,输出完整的密文CT={C,C′,C0,(Ci,1,Ci,2,Ci,3,Ci,4)i∈{1,…,l},Cv,(A,ρ)}。
[0037] 进一步,用户向云服务商发出文件访问请求具体包括:
[0038] (1)当用户发出文件访问请求时,云服务商首先检查他的属性集合是否符合访问结构;如果他的属性满足访问结构,则能找到一组常量wi∈Zp,使得 其中I={1,…,l},然后计算部分解密的密文如下:
[0039]
[0040] 解密成功后,将部分解密的密文CT′发送给用户;
[0041] (2)用户收到来自云服务商的部分解密的密文CT′后,将验证该计算结果是否正确;用户只需计算 是否成立;如果成立,输出b=1,表示计算结果正确;否则,输出b=0表示云服务商返回了一个错误的结果;
[0042] (3)用户验证了CT′正确后,用自己的私钥SKuid即可恢复明文,计算如下:
[0043]
[0044] 进一步,撤销系统中的某些用户或某些属性具体包括:
[0045] (1)当发生用户撤销时,数据拥有者将撤销用户的身份标识uid发送给云服务商,云服务商收到用户撤销信息后,将查找代理密钥列表LPxK,并删除该uid对应的代理密钥,然后将代理密钥列表更新至L′PxK;
[0046] (2)当发生属性撤销时,数据拥有者需要重加密密文同时授权中心需更新其他非撤销用户的密钥;
[0047] 首先授权中心将生成一些密钥更新材料,为后面的密钥更新做准备;uid表示所有其他非撤销用户的身份,相关的授权中心首先生成一个新的属性版本号 计算版本更新密钥为 再用它为所有拥有属性 的非撤销用户计算代理更新密钥为AAaid为被撤销的属性更新属性公钥为 并为系统中
的数据拥有者广播一条消息,使得他们能够收到更新的属性公钥; 将被发送给云服务商用来更新代理密钥PxKuid,aid, 将发送给数据拥有者;
[0048] 云服务商收到代理更新密钥 后,将为所有拥有属性 的非撤销用户更新相应的代理密钥 代理密钥PxKuid,aid将被更新为:
[0049]
[0050] 数据拥有者收到版本更新密钥 后,计算密文更新密钥为 并将其发送给云服务商用以重加密密文;
[0051] 云服务商收到密文更新密钥 后,更新相应的密文为 重加密后的密文将被公布如下:
[0052]
[0053] 本发明的另一目的在于提供一种应用所述支持撤销外包可验证多授权中心访问控制方法的云服务器。
[0054] 综上所述,本发明的优点及积极效果为:本发明考虑多授权中心的应用场景,避免了单授权中心带来的单点失效和系统瓶颈问题,丰富了用户的属性域,提高了系统的效率,更符合实际应用需求。本发明引入了计算外包,加密和解密的大部分计算均可外包给云服务商完成,极大的降低了数据拥有者加密以及用户解密的计算开销,并提高了系统的访问效率。
[0055] 本发明采用相应的外包计算验证方案,通过运行相应的验证算法,一旦云服务商返回了错误的结果,用户可以立刻察觉到,可以保证后续计算结果的正确性。新的用户和属性撤销方案,在用户撤销过程中,无需完成密文重加密和密钥更新的工作,数据拥有者只需让云服务商删除撤销用户存储在云端的代理密钥即可;在属性撤销过程中,大部分的更新和重加密计算都外包给了云服务商,用户只需完成少量计算即可。
[0056] 本发明引入了全局认证中心CA,可以分别为系统中的所有授权中心和用户分配全局唯一的身份标识aid和uid,只有属于同一uid的私钥才能用来解密,从而可以避免用户之间的共谋攻击。附图说明
[0057] 图1是本发明实施例提供的支持撤销外包可验证多授权中心访问控制方法流程图
[0058] 图2是本发明实施例提供的支持撤销外包可验证多授权中心访问控制方法实现流程图。
[0059] 图3是本发明实施例提供的用户访问数据的子流程图。
[0060] 图4是本发明实施例提供的撤销的子流程图。
[0061] 图5是本发明实施例提供的加密消耗的时间仿真图。
[0062] 图6是本发明实施例提供的解密消耗的时间仿真图。

具体实施方式

[0063] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0064] 本发明应用于云存储中支持撤销外包可验证多授权中心访问控制方法,以保障用户的隐私数据安全,降低用户的计算开销,以及动态的管理系统中用户的权限。
[0065] 如图1所示,本发明实施例提供的支持撤销外包可验证多授权中心访问控制方法包括以下步骤:
[0066] S101:系统初始化,包括全局认证中心CA以及其他授权中心AA的初始化;
[0067] S102:授权中心为用户分配属性集,并为其生成解密所需的密钥;
[0068] S103:数据拥有者对文件进行加密,其中加密过程包括外包加密,外包结果的验证以及数据拥有者的最终加密;
[0069] S104:用户向云服务商发出文件访问请求,该过程包括云服务商外包解密,外包结果的验证以及用户的最终解密;
[0070] S105:撤销系统中的某些用户或某些属性。
[0071] 下面结合附图对本发明的应用原理作进一步的描述。
[0072] 如图2所示,本发明实施例提供的支持撤销外包可验证多授权中心访问控制方法具体包括以下步骤:
[0073] 步骤1:系统初始化。
[0074] 1.1)CA初始化。CA首先选取一个系统安全参数λ和一个属性域U,然后挑选三个阶为p的乘法循环群G1,G2和GT,g1,g2为G1,G2的生成元,双线性映射为e:G1×G2→GT,并选择两个哈希函数H:{0,1}*→Zp,F:GT→Zp。CA再选择一个随机数a∈Zp,最后生成全局公共参数:
[0075]
[0076] 另外,所有授权中心和用户都需要向CA注册,从而验证自己的合法身份。CA会为系统中每个合法的授权中心颁发一个全局唯一的身份标识aid,为每个合法用户颁发一个全局唯一的身份标识uid;
[0077] 1.2)AA初始化。AAaid管理的属性集定义为 相关的授权中心集合定义为IA。AAaid首先选择两个随机数αaid,βaid∈Zp,对于属性集 中的每个属性xk,AAaid都随机选择一个唯一的版本号vk,最后计算属性公钥、授权中心公钥、授权中心私钥如下:
[0078]
[0079]
[0080] 步骤2:授权中心为用户分配属性集,并为其生成解密所需的密钥。
[0081] 2.1)AAaid首先为每个合法用户分配相应的属性集Suid,aid,然后为每个用户选择一个全局唯一的随机数zuid∈Zp,作为用户私钥。然后,计算用户的代理密钥和用户私钥如下:
[0082]
[0083] SKuid=zuid;
[0084] 2.2)生成的代理密钥{PxKuid,aid}将被发送给云服务商存储,云服务商执行LPxK=LPxK∪{uid,PxKuid,aid},将用户的代理密钥添加至代理密钥列表LPxK中。用户私钥SKuid则发送给相应的用户,由用户自己保管。
[0085] 步骤3:数据拥有者对文件进行加密。
[0086] 3.1)云服务商首先选择一个随机数s′∈Zp,对于i∈{1,…,l},都随机选择λ′i,γ′i∈Zp,计算密文如下:
[0087]
[0088] 然后,输出部分加密的密文CTout={s′,C0,(Ci,1,Ci,2,λ′i,γ′i)i∈{1,…,l}}。
[0089] 3.2)数据拥有者收到CTout后,将验证该结果是否正确。首先检查 是否成立。如果不成立,直接输出b=0,代表外包计算的结果不正确。否则,对i∈{1,…,l},数据拥有者计算:
[0090] ti=(aλi′-vρ(i)·γi-H(ρ(i))·γi)modp;
[0091]
[0092] 之后,再选取一个安全参数r,并随机选择s1,…,sl∈{0,1}r,计算:
[0093]
[0094]
[0095] 如果 输出b=1,表示计算结果正确。否则,输出b=0,表示结果错误。
[0096] 3.3)数据拥有者验证了CTout正确后,将继续完成余下的加密操作。令A表示一个l×n的矩阵,l为属性的总数。函数ρ将矩阵的每行都映射成了一个属性。数据拥有者首先选择一个秘密的随机数s∈Zp和一个随机的向量 其中,y2,…,yn被用于分享s。对于i∈{1,…,l},计算 Ai表示矩阵A的第i行。然后,再随机选择γ1,γ2,…,γl∈Zp,并计算密文如下:
[0097]
[0098] 其中,C′,Ci,3,Ci,4用于校正s,λi,γi。Cv用于验证外包解密的结果。最后,输出完整的密文CT={C,C′,C0,(Ci,1,Ci,2,Ci,3,Ci,4)i∈{1,…,l},Cv,(A,ρ)}。
[0099] 步骤4:用户向云服务商发出文件访问请求。
[0100] 如图3所示,本步骤具体实现如下:
[0101] 4.1)当用户发出文件访问请求时,云服务商首先检查他的属性集合是否符合访问结构。如果他的属性满足访问结构,则可以找到一组常量wi∈Zp,使得 其中I={1,…,l},然后计算部分解密的密文如下:
[0102]
[0103] 解密成功后,将部分解密的密文CT′发送给用户。
[0104] 4.2)用户收到来自云服务商的部分解密的密文CT′后,将验证该计算结果是否正确。用户只需计算 是否成立。如果成立,输出b=1,表示计算结果正确。否则,输出b=0表示云服务商返回了一个错误的结果。
[0105] 4.3)用户验证了CT′正确后,只需用自己的私钥SKuid即可恢复明文,计算如下:
[0106]
[0107] 步骤5:撤销系统中的某些用户或某些属性。
[0108] 如图4所示,本步骤具体实现如下:
[0109] 5.1)当发生用户撤销时,数据拥有者将撤销用户的身份标识uid发送给云服务商,云服务商收到用户撤销信息后,将查找代理密钥列表LPxK,并删除该uid对应的代理密钥,然后将代理密钥列表更新至L′PxK。
[0110] 5.2)当发生属性撤销时,数据拥有者需要重加密密文同时授权中心需更新其他非撤销用户的密钥。
[0111] 5.21)首先授权中心将生成一些密钥更新材料,为后面的密钥更新做准备。这里让uid表示所有其他非撤销用户的身份,相关的授权中心首先生成一个新的属性版本号 然后计算版本更新密钥为 再用它为所有拥有属性 的非撤销用户计算代理更新密钥为 接着,AAaid为被撤销的属性更新属性公钥为
并为系统中的数据拥有者广播一条消息,使得他们能够收到更新的属性公钥。然后,将被发送给云服务商用来更新代理密钥PxKuid,aid, 将发送给数据拥有者。
[0112] 5.22)云服务商收到代理更新密钥 后,将为所有拥有属性 的非撤销用户更新相应的代理密钥 代理密钥PxKuid,aid将被更新为:
[0113]
[0114] 5.23)数据拥有者收到版本更新密钥 后,计算密文更新密钥为并将其发送给云服务商用以重加密密文。
[0115] 5.24)云服务商收到密文更新密钥 后,更新相应的密文为重加密后的密文将被公布如下:
[0116]
[0117] 下面结合仿真对本发明的应用效果作详细的描述。
[0118] 1.仿真条件
[0119] 仿真环境是:台式机,配置是 CPU G630@270GHz 4.00GB RAM,操作系统为64位Ubuntu14.04。基于Charm工具,实现语言为Python。
[0120] 2.仿真内容与结果分析
[0121] 采用本发明方法对数据文件进行访问,结果如图5和图6所示,从图5可见,在加密过程中云服务商外包加密消耗的时间要比数据拥有者加密消耗的时间大的多,且随属性个数的增加而变长,而数据拥有者加密消耗的时间大概在0.05s左右。正是由于大部分复杂的计算都外包给了云服务商,数据拥有者只需完成少量计算即可,极大的降低了数据拥有者的计算开销。在图6中,外包解密消耗的时间也远大于用户解密消耗的时间,且随属性个数的增加而变长,而用户解密消耗的时间大概在0.03s左右,几乎为恒定值。同样的,由于大部分复杂的计算都外包给了云服务商,用户最后只需完成简单的指数运算即可,极大的降低了用户的计算开销。
[0122] 由仿真结果可知,本发明能极大的降低系统中用户的计算开销,提高系统的访问效率,这在实际应用中非常重要。
[0123] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

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

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

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈