CN115906106A - 一种数据访问控制方法及属性权威服务器 - Google Patents

一种数据访问控制方法及属性权威服务器 Download PDF

Info

Publication number
CN115906106A
CN115906106A CN202110990867.6A CN202110990867A CN115906106A CN 115906106 A CN115906106 A CN 115906106A CN 202110990867 A CN202110990867 A CN 202110990867A CN 115906106 A CN115906106 A CN 115906106A
Authority
CN
China
Prior art keywords
attribute authority
attribute
group
random number
servers
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.)
Pending
Application number
CN202110990867.6A
Other languages
English (en)
Inventor
贺培轩
林宇
丁保增
吴烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110990867.6A priority Critical patent/CN115906106A/zh
Publication of CN115906106A publication Critical patent/CN115906106A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种数据访问控制方法及属性权威服务器,涉及加密技术领域。该方法包括:接收客户端发送的秘钥颁发请求,秘钥颁发请求包括目标用户的统一标识符;根据统一标识符确定第一元素和第二元素,并向多属性权威系统中的其他属性权威服务器发送携带有第一元素和第二元素的第一参数消息;接收多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,根据各第二参数消息中携带的第三元素生成为目标用户颁发的第一私钥;向客户端发送第一私钥。本发明实施例提供用于提供一种高效且安全的多属性权威方案。

Description

一种数据访问控制方法及属性权威服务器
技术领域
本发明涉及加密技术领域,尤其涉及一种数据访问控制方法及属性权威服务器。
背景技术
现在的较为通用的一种多属性权威方案是,在加密的访问策略中,各个属性权威(Attribute Authority,AA)管理的属性可以随意组合,其可扩展性更高,能够适应更多的场景中。这种方案在实际落地中最重要的环节是数据加解密环节,而目前已有的加解密方案中有的方案在注重数据安全性时往往带来了额外的开销导致方案落地的效率非常差,另一种方案在注重效率性时忽视了数据安全性,又无法满足业务安全需求。
因此目前针对多属性权威方案的落地,急需提供一种高效且安全的解决方案。
发明内容
有鉴于此,本发明实施例提供了一种数据访问控制方法及属性权威服务器,用于提供一种高效且安全的多属性权威方案。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明的实施例提供了一种数据访问控制方法,应用于多属性权威系统中的第一属性权威服务器,所述方法包括:
接收客户端发送的秘钥颁发请求,所述秘钥颁发请求包括目标用户在所述多属性权威系统中的统一标识符;
根据所述统一标识符确定第一元素和第二元素,并向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息;其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的;
接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据;
根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
向所述客户端发送所述第一私钥;所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
第二方面,本发明实施例提供一种属性权威服务器,包括:
接收单元,用于接收客户端发送的秘钥颁发请求,所述秘钥颁发请求包括目标用户在所述多属性权威系统中的统一标识符;
处理单元,用于根据所述统一标识符确定第一元素和第二元素;其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的;
发送单元,用于向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息;
所述接收单元,还用于接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据;
生成单元,根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
所述发送单元,还用于向所述客户端发送所述第一私钥;所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
第三方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时,使得所述电子设备实现上述任一实施例所述的数据访问控制方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施例所述的数据访问控制方法。
第五方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施例所述的数据访问控制方法。
本发明实施例提供的数据访问控制方法中,第一属性权威服务器在接收到客户端发送的秘钥颁发请求时,首先根据秘钥颁发请求中携带的目标用户在所述多属性权威系统中的统一标识符,确定第一元素和第二元素,并向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息,然后接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,再根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥,最后向所述客户端发送所述第一私钥。因为在生成向用户发送的私钥的过程中,第一属性权威服务器只需向所述多属性权威系统中的其他属性权威服务器发送经过哈希映射处理和盲化处理确定的第一元素和第二元素,且多属性权威系统中的其他属性权威服务器只需向第一属性权威服务器发送基于所述第一元素和所述第二元素进行签名得到的签名数据,无需通过多属性权威服务器中的一个属性权威服务器或可信第三方进行参数的协商,即可实现在加密策略组合不同属性权威服务器所管理的用户属性,避免了多属性权威服务器中的一个属性权威服务器获取其它属性权威服务器的用户私钥或可信第三方获取全部属性权威服务器的用户私钥,因此本发明实施例提供了一种高效且安全的多属性权威方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据访问控制方法的场景架构图;
图2为本发明实施例提供的数据访问控制方法的步骤流程图之一;
图3为本发明实施例提供的数据访问控制方法的步骤流程图之二;
图4为本发明实施例提供的密钥生成方法的步骤流程图;
图5为本发明实施例提供的属性权威服务器的结构示意图之一;
图6为本发明实施例提供的属性权威服务器的结构示意图之二;
图7为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
以下首先对本发明实施例中所涉及的术语进行说明:
群(Group):设G为一非空集合,*为G上的二元运算,若G上满足:
1、封闭性(
Figure BDA0003232373070000051
b∈G,均满足a*b∈G);
2、结合律(
Figure BDA0003232373070000052
b,c∈G,均满足((a*b)*c=a*(b*c));
3、单位元(
Figure BDA0003232373070000053
满足a*e=e*a=a);
4、逆元(
Figure BDA0003232373070000054
满足a*a-1=a-1*a=e)成立;
则G为群;其中,
Figure BDA0003232373070000055
表示任意,
Figure BDA0003232373070000056
表示存在。
乘法循环群:(Cyclic Group):若群G中存在元素g和整数t,使得
Figure BDA0003232373070000057
满足a=gt,则G为乘法循环群。
整数模n的乘法群:又称也称模n既约剩余类,是指:在同余理论中,模n的互质同余类组成一个乘法群。例如:整数模6的乘法群为:{1,2,3,4,5}。
生成元:若群中存在元素g,使得
Figure BDA0003232373070000058
都能找到整数t满足a=gt,则g为乘法循环群的生成元。
群的阶数:群中的元素的个数为群的阶数。
第一群:一个阶数为素数q的乘法循环群;下文中将以G1表示。
第二群:整数模q的乘法群;下文中将以Zq表示。
第三群:另一个阶数为素数q的乘法循环群;下文中将以G2表示。
第四群:又一个阶数为素数q的乘法循环群,且满足第一群中的任一元素和所述第三群中的任一元素能够通过双线性函数映射为所述第四群中的元素;下文中将以GT表示。
第一生成元:第一群的生成元;下文中将以g1表示。
第二生成元:第三群的生成元;下文中将以g2表示。
双线性函数:用于将第一群中的任一元素和所述第三群中的任一元素映射为第四群中的元素的函数,下文中将以e(…)表示。
双线性函数满足以下性质:
1、双线性:
Figure BDA0003232373070000059
e(va,ub)=e(v,u)ab
2、非退化性:
Figure BDA0003232373070000061
e(v,u)≠1
3、可计算性:
Figure BDA0003232373070000062
存在多项式算法计算e(v,u)。
哈希映射函数:用于将任意值映射为第一群中的元素的函数,下文中将以H(…)表示。
第一随机数:第一属性权威服务器随机从第二群中选取的一个元素,下文中将以ak表示。
第二随机数:第一属性权威服务器随机从第二群中选取的另一个元素,下文中将以bk表示。
第三随机数:第一属性权威服务器随机从第二群中选取的又一个元素,下文中将以ck表示。
第四随机数:第一属性权威服务器随机从第二群中选取的再一个元素,下文中将以dk表示。
第五随机数:当目标用户的目标属性被撤销时,重新为目标属性选取的随机数。
第一属性集合:第一属性权威服务器所管理的全部属性组成的集合;下文中将以Sk表示。
第二属性集合:目标用户的属性中属于所述第一属性权威服务器管理的属性;下文中将以Sku表示。
第一属性集合中各个属性对应的随机数:针对第一属性集合中的各个属性从第二群中选取的元素;下文中将以
Figure BDA0003232373070000063
vx表示。
第二属性集合中各个属性对应的随机数:针对第二属性集合中的各个属性从第二群中选取的元素;下文中将以
Figure BDA0003232373070000064
vx表示。
第一属性集合中各个属性对应的元素:第二群中值为以所述第二生成元为底数以各个属性对应的随机数为指数的幂的元素;下文中将以
Figure BDA0003232373070000065
pkx表示,
Figure BDA0003232373070000066
第二属性集合中各个属性对应的元素:所述第一群中值为所述第四元素为底数以所述第四随机数和各个属性对应的随机数的乘积为指数的幕的元素,下文中将以
Figure BDA0003232373070000067
Kx表示,
Figure BDA0003232373070000068
第四元素:将目标用户在多属性权威系统中的统一标识符作为哈希映射函数的输入,从所述第一群中确定的元素。设:第四元素为E4、统一标识符为uid,则E4=H(uid)。
第一元素:所述第一群中值为以所述第四生成元为底数以所述第一随机数为指数的幂的元素。设:第一元素为E1,则
Figure BDA0003232373070000071
Figure BDA0003232373070000072
第二十三元素:所述第一群中值为以所述第一元素为底数以第三随机数为指数的幕的元素。设:第二十三元素为E23,则
Figure BDA0003232373070000073
Figure BDA0003232373070000074
第二元素:所述第一群中值为以所述第一生成元为底数以所述第一随机数为指数的幂的元素。设:第二元素为E2,则
Figure BDA0003232373070000075
第二十四元素:所述第一群中值为以所述第二元素为底数以所述第二随机数为指数的幕的元素。设:第二十四元素为E24,则
Figure BDA0003232373070000076
第二十五元素:所述第一群中值为所述第二十三元素和所述第二十四元素的乘积的元素。设:第二十五元素为E25,则
Figure BDA0003232373070000077
Figure BDA0003232373070000078
第八元素:所述第一群中值为以所述第二十五元素为底数以所述第一随机数的倒数为指数的幕的元素。设:第八元素为E8,则
Figure BDA0003232373070000079
第三元素:所述第三元素为所述多属性权威系统中的其它属性权威根据所述第一元素、所述第二元素以及所述多属性权威系统中的其它属性权威在所述第二群中随机选取的第二随机数和第三随机数,确定的元素。设:,所述多属性权威系统中的第二属性权威在所述第二群中随机选取的第二随机数为bj,所述第二属性权威在所述第二群中随机选取的第三随机数为cj,所述第二属性权威发送的第三元素为E3,则
Figure BDA0003232373070000081
第九元素:所述第一群中值为以该属性权威服务器发送的第二参数消息中携带的第三元素为底数以所述第一随机数的倒数为指数的幕的元素。设:属性权威服务器发送的第二参数消息中携带的第三元素为
Figure BDA0003232373070000082
该属性权威服务器对应的第九元素为E9,j,则:
Figure BDA0003232373070000083
第十元素:所述第一群中值为所述第八元素与各所述其它属性权威服务器对应的第九元素进行连乘的积的元素。设:第十元素为E10,则
Figure BDA0003232373070000084
第十一元素:将所述第一生成元和所述第二生成元作为所述双线性函数的输入,从所述第四群中确定的元素。设:第十一元素为E11,则E11=e(g1,g2)。
第十二元素:所述第四群中值为以所述第十一元素为底数以所述第二随机数为指数的幂的元素。设:第十二元素为E12,则
Figure BDA0003232373070000085
Figure BDA0003232373070000086
第十三元素:所述第三群中值为以所述第二生成元为底数以所述第三随机数为指数的幂的元素。设:第十三元素为E13,则
Figure BDA0003232373070000087
第十四元素:所述第三群中值为以所述第二生成元为底数以所述第四随机数的倒数为指数的幂的元素。设:第十四元素为E14,则
Figure BDA0003232373070000088
第五元素:所述第一群中值为以所述第四元素为底数以所述多属性权威系统中的其它属性权威在所述第二群中随机选取的第一随机数为指数的幂的元素。设:多属性权威系统中的第二属性权威选取的第一随机数为aj,第五元素为E5,则
Figure BDA0003232373070000089
第十五元素:所述第一群中值为以所述第五元素为底数以所述第三随机数为指数的幂的元素。设:第十五元素为
Figure BDA0003232373070000091
Figure BDA0003232373070000092
第六元素:所述第一群中值为以所述第一生成元为底数以所述多属性权威系统中的其它属性权威在所述第二群中随机选取的第一随机数为指数的幂的元素。设:设:多属性权威系统中的第二属性权威选取的第一随机数为aj,第六元素为E6,则
Figure BDA0003232373070000093
第十六元素:所述第一群中值为以所述第六元素为底数以所述第二随机数为指数的幂的元素。设:第十六元素为E16,则
Figure BDA0003232373070000094
Figure BDA0003232373070000095
第七元素:所述第一群中值为所述第十五元素和所述第十六元素的乘积的元素。设:第七元素为E7,则
Figure BDA0003232373070000096
Figure BDA0003232373070000097
第十七元素:将所述第二生成元和所述第二属性权威服务器发送的第二参数消息中携带的所述第三元素作为所述双线性函数的输入,从所述第四群中确定的元素。设:第二属性权威服务器发送的第二参数消息中携带的所述第三元素
Figure BDA0003232373070000098
第十七元素为E17,则
Figure BDA0003232373070000099
第十八元素:所述第三群中值为以所述第二生成元为底数以所述第二属性权威服务器选取的第三随机数为指数的幂的元素。设:第二属性权威服务器选取的第三随机数为cj,第十八元素为E18,则
Figure BDA00032323730700000910
第十九元素:将第十八元素和所述第一元素作为所述双线性函数的输入,从所述第四群中确定第十九元素。设:第十八元素为E19,则
Figure BDA00032323730700000911
第二十二元素:所述第四群中值为以所述第十一元素为底数以所述第二属性权威服务器从所述第二群中选取的第二随机数为指数的幂的元素。设:第二十二元素为E22,则
Figure BDA0003232373070000101
第二十元素:所述第四群中值为以第二十二元素为底数以所述第一随机数为指数的幕的元素。设:第二十元素为E20,则
Figure BDA0003232373070000102
Figure BDA0003232373070000103
第二十一元素:所述第四群中值为所述第十九元素和所述第二十元素的乘积的元素。设:第二十元素为E21,则
Figure BDA0003232373070000104
Figure BDA0003232373070000105
第一属性权威服务器的公钥:所述第十二元素、所述第十三元素、所述第十四元素以及所述第一属性集合中各个属性对应的元素;
Figure BDA0003232373070000106
第一私钥:所述第十元素、所述第四元素以及所述第二属性集合中的各个属性对应的元素;
Figure BDA0003232373070000107
Figure BDA0003232373070000108
以下对本发明实施例提供的多属性权威系统的场景架构进行说明。参照图1所示,本发明实施例提供的多属性权威系统的场景架构包括:数据存储服务器11、多个属性权威服务器12(图1中以包括2个属性权威服务器为例示出)以及至少一个客户端13(图1中以仅包括1个客户端为例示出)。
其中,客户端13与数据存储服务器11和多个属性权威服务器12之间均建立有网络链接,且可以通过网络连接向属性权威服务器12发送秘钥颁发请求以及向数据存储服务器11发送数据请求。多个属性权威服务器12中的每一个属性权威服务器12可以均独立通过本发明实施例提供的数据访问控制方法生成并公开公钥,以及生成并向客户端13发送私钥。数据存储服务器11可以根据多个属性权威服务器12公开的公钥和加密策略对明文进行加密,生成密文,以及响应于客户端13的请求信息向客户端13发送对应的密文。客户端13可以根据多个属性权威服务器12发送的私钥,获取用户秘钥,以及在从数据存储服务器11中获取密文后,通过用户秘钥对密文进行解密,获取明文。
基于上述内容,本发明实施例提供了一种应用于多属性权威系统中的第一属性权威服务器的数据访问控制方法,参照图2所示,本发明实施例提供的数据访问控制方法包括如下步骤:
S21、接收客户端发送的秘钥颁发请求。
其中,所述秘钥颁发请求包括目标用户在所述多属性权威系统中的统一标识符。
本发明实施例中不限定目标用户在所述多属性权威系统中的统一标识符的类型,以目标用户在所述多属性权威系统中的统一标识符能够唯一标识目标用户为准。示例性的,目标用户在所述多属性权威系统中的统一标识符可以为用户注册多属性权威系统时提交的手机号码、多属性权威系统为目标用户分配的唯一身份证标识号(IdentityDocument,ID)等。
S22、根据所述统一标识符确定第一元素和第二元素。
其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的。
作为本发明实施例一种可选的实施方式,根据所述统一标识符确定第一元素和第二元素的实现方式可以包括如下步骤a至步骤c:
步骤a、对所述统一标识符进行哈希映射从第一群中确定第四元素。
其中,所述第一群为乘法循环群。
可选的,对所述统一标识符进行哈希映射从第一群中确定第四元素的一种实现方式包括:
将所述统一标识符作为哈希映射函数的输入,从所述第一群中确定第四元素。
其中,所述哈希映射函数为用于将任意值哈希映射为第一群中的元素的函数,所述第一群为预配置的阶数为素数q的乘法循环群。
设:哈希映射函数为H(…),所述统一标识为uid,第四元素为E4,则有:
E4=H(uid)
步骤b、对所述第四元素进行盲化,获取所述第一元素。
可选的,对所述第四元素进行盲化,获取所述第一元素的一种实现方式包括:
从第二群中选取第一随机数;
将第一群中值为以所述第四元素为底数以所述第一随机数为指数的幂的元素作为所述第一元素。
其中,第二群为整数模q的乘法群。
设:第一随机数为ak,第一元素为E1,则有:
Figure BDA0003232373070000121
步骤c、对所述乘法循环群的生成元进行盲化,获取所述第二元素。
可选的,对所述乘法循环群的生成元进行盲化,获取所述第二元素的一种实现方式包括:
将第一群中值为以所述第一生成元为底数以所述第一随机数为指数的幂的元素确定为所述第二元素。
其中,所述第一生成元为所述第一群的生成元。
设:第二元素为E2,第一生成元为g1,则有:
Figure BDA0003232373070000122
S23、向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息。
承上所述,步骤S13即为将包括
Figure BDA0003232373070000123
Figure BDA0003232373070000124
的第一参数消息发送至多属性权威系统中的其他属性权威服务器。
S24、接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息。
其中,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据。
需要说明的是,第一属性权威服务器接收到的第二参数消息的数量是由多属性权威系统中的属性权威服务器的数量决定的,具体为:第一属性权威服务器接收到的第二参数消息的数量是多属性权威系统中的属性权威服务器的数量减一;并且由属性权威服务器进行签名是时使用的签名参数各不相同,因此不同属性权威服务器发送的第二参数消息中携带的第三元素也不相同。
S25、根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥。
作为本发明实施例一种可选的实施方式,上述步骤S15(根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥),包括:
获取各所述第二参数消息中携带的所述第三元素的乘积;
根据各所述第二参数消息中携带的所述第三元素的乘积生成为所述目标用户颁发的第一私钥。
进一步可选的,根据各所述第二参数消息中携带的所述第三元素的乘积生成为所述目标用户颁发的第一私钥的实现方式包括如下步骤Ⅰ至步骤Ⅸ:
步骤Ⅰ:确定第二十三元素。
其中,所述第二十三元素为所述第一群中值为以所述第一元素为底数以第三随机数为指数的幕的元素,所述第三随机数为从第二群中选取的随机数。
设:第二十三元素为E23,第三随机数为ck,由于第一元素
Figure BDA0003232373070000131
因此有:
Figure BDA0003232373070000132
步骤Ⅱ、确定第二十四元素。
其中,所述第二十四元素为所述第一群中值为以所述第二元素为底数以所述第二随机数为指数的幕的元素。
设:第二十四元素为E24,由于第二元素
Figure BDA0003232373070000133
因此有:
Figure BDA0003232373070000141
步骤Ⅲ、根据所述第二十三元素和所述第二十四元素,确定第二十五元素。
其中,所述第二十五元素为所述第一群中值为所述第二十三元素和所述第二十四元素的乘积的元素。
设:第二十五元素为E25,由于
Figure BDA0003232373070000142
因此有:
Figure BDA0003232373070000143
步骤Ⅳ、根据所述第二十五元素和所述第一随机数,确定第八元素。
其中,所述第八元素为所述第一群中值为以所述第二十五元素为底数以所述第一随机数的倒数为指数的幕的元素。
设:第八元素为E8,由于第二十五元素为
Figure BDA0003232373070000144
第一随机数为ak,因此有:
Figure BDA0003232373070000145
步骤Ⅴ、根据各所述其它属性权威服务器发送的第二参数消息中携带的第三元素,确定各所述其它属性权威服务器对应的第九元素。
其中,任一其它属性权威服务器对应的第九元素为所述第一群中值为以该属性权威服务器发送的第二参数消息中携带的第三元素为底数以所述第一随机数的倒数为指数的幕的元素。
设:某一其它属性权威服务器对应的第九元素为E9,j,该属性权威服务器发送的第二参数消息中携带的第三元素为
Figure BDA0003232373070000146
Figure BDA0003232373070000147
由于第一随机数为ak,因此有:
Figure BDA0003232373070000148
步骤Ⅵ、根据所述第八元素和各所述其它属性权威服务器对应的第九元素,确定第十元素。
其中,所述第十元素为所述第一群中值为所述第八元素与各所述其它属性权威服务器对应的第九元素进行连乘的积的元素。
设:第十元素为E10,由于第八元素为
Figure BDA0003232373070000151
其它属性权威服务器对应的第九元素为
Figure BDA0003232373070000152
因此有:
Figure BDA0003232373070000153
其中,
Figure BDA0003232373070000154
表示对i=1至i=n求积,n表示多属性权威系统中的属性权威服务器的总数量。
进一步的,可以将E10的表达式简化如下:
Figure BDA0003232373070000155
设:
Figure BDA0003232373070000156
则有:
E10=H(uid)c*g1 b
步骤Ⅶ、根据所述第四元素、第四随机数以及第二属性集合中的各个属性对应的随机数,确定所述第二属性集合中的各个属性对应的元素。
其中,所述第四随机数和所述第二属性集合中的各个属性对应的随机数均为从第二群中选取的随机数,第二属性集合为所述目标用户的属性中属于所述第一属性权威管理的属性组成的集合,所述第二属性集合中的各个属性对应的元素为所述第一群中值为以所述第四元素为底数以所述第四随机数和各个属性对应的随机数的乘积为指数的幕的元素。
设:第二属性集合中的属性x对应的随机数为vx,则有:
Figure BDA0003232373070000161
其中,
Figure BDA0003232373070000162
表示第二属性集合中的任意元素,Sku为第二属性集合,E4为第四元素,dk为第一属性权威从第一群Zq中选取的第四随机数,vx为第一属性权威从第一群Zq中选取的属性x对应的随机数。
步骤Ⅷ、将所述第十元素、所述第四元素以及所述第二属性集合中的各个属性对应的元素作为所述目标用户的私钥。
如上所述,第十元素E10=H(uid)c*g1 b、第四元素E4=H(uid)、第二属性集合中的各个属性对应的元素为
Figure BDA0003232373070000163
因此目标用户的私钥包括:
Figure BDA0003232373070000164
令:E10=K、E4=L,则目标用户的私钥包括:
K=H(uid)c*g1 b
L=H(uid);
Figure BDA0003232373070000165
S26、向所述客户端发送所述第一私钥。
其中,所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
本发明实施例提供的数据访问控制方法中,第一属性权威服务器在接收到客户端发送的秘钥颁发请求时,首先根据秘钥颁发请求中携带的目标用户在所述多属性权威系统中的统一标识符,确定第一元素和第二元素,并向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息,然后接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,再根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥,最后向所述客户端发送所述第一私钥。因为在生成向用户发送的私钥的过程中,第一属性权威服务器只需向所述多属性权威系统中的其他属性权威服务器发送经过哈希映射处理和盲化处理确定的第一元素和第二元素,且多属性权威系统中的其他属性权威服务器只需向第一属性权威服务器发送基于所述第一元素和所述第二元素进行签名得到的签名数据,无需通过多属性权威服务器中的一个属性权威服务器或可信第三方进行参数的协商,即可实现在加密策略组合不同属性权威服务器所管理的用户属性,避免了多属性权威服务器中的一个属性权威服务器获取其它属性权威服务器的用户私钥或可信第三方获取全部属性权威服务器的用户私钥,因此本发明实施例提供了一种高效且安全的多属性权威方案。
作为本发明实施例一种可选的实施方式,在上述实施例的基础上,本发明实施例提供的数据访问控制方法还包括:
生成并公开所述第一属性权威服务器的公钥,以便所述多属性权威系统中的其他属性权威服务器基于所述第一属性权威服务器的公钥生成为用户颁发的私钥,以及所述多属性权威系统中的文件存储服务器基于所述第一属性权威服务器的公钥对明文进行加密。
可选的,生成所述第一属性权威服务器的公钥的实现方式包括:
根据第一生成元、第二生成元、双线性函数、第二随机数、第三随机数、第四随机数以及第一属性集合中各个属性对应的随机数,生成所述第一属性权威服务器的公钥。
其中,所述第一生成元为第一群的生成元,所述第二生成元为第三群的生成元,所述双线性函数用于将第一群中的任一元素和所述第三群中的任一元素映射为第四群中的元素的函数,所述第三群和所述第四群均为预配置的乘法循环群,所述第二随机数、所述第三随机数、所述第四随机数均为从第二群中选取的随机数。
进一步的,根据第一生成元、第二生成元、双线性函数、第二随机数、第三随机数、第四随机数以及第一属性集合中各个属性对应的随机数,生成所述第一属性权威服务器的公钥的实现方式可以包括如下步骤a至步骤f:
步骤a、将所述第一生成元和所述第二生成元作为所述双线性函数的输入,从所述第四群中确定第十一元素。
设:第一生成元为g1、第二生成元为g2,e(…)为所述双线性函数第十一元素为E11,则有:
E11=e(g1,g2)
步骤b、根据所述第十一元素和所述第二随机数,确定第十二元素。
其中,所述第十二元素为所述第四群中值为以所述第十一元素为底数以所述第二随机数为指数的幂的元素。
设:第二随机数为bk,第十二元素为E12,由第十一元素E11=e(g1,g2),因此有:
Figure BDA0003232373070000181
步骤c、根据所述第二生成元和所述第三随机数,确定第十三元素。
其中,所述第十三元素为所述第三群中值为以所述第二生成元为底数以所述第三随机数为指数的幂的元素。
设:第三随机数为ck,第十三元素为E13,第二生成元为g2,则有:
Figure BDA0003232373070000182
步骤d、根据所述第二生成元和所述第四随机数,确定第十四元素。
其中,第十四元素为所述第三群中值为以所述第二生成元为底数以所述第四随机数的倒数为指数的幂的元素。
设:第四随机数为dk,第十四元素为E14,第二生成元为g2,则有:
Figure BDA0003232373070000183
步骤e、根据所述第二生成元和所述第一属性集合中各个属性对应的随机数,确定所述第一属性集合中各个属性对应的元素。
其中,所述第一属性集合包括所述第一属性权威所管理的全部属性,所述第一属性集合中各个属性对应的元素为所述第三群中值为以所述第二生成元为底数以各个属性对应的随机数为指数的幂的元素。
即,
Figure BDA0003232373070000191
其中,
Figure BDA0003232373070000192
为第一属性集合中的任意属性,Sk为第一属性集合,pkx为第一属性集合中的属性x对应的元素,g2为第二生成元,vx为第一属性集合中的属性x对应的随机数。
步骤f、将所述第十二元素、所述第十三元素、所述第十四元素以及所述第一属性集合中各个属性对应的元素确定为所述第一属性权威服务器的公钥。
如上所述,第十二元素为
Figure BDA0003232373070000193
第十三元素为
Figure BDA0003232373070000194
第十四元素为
Figure BDA0003232373070000195
第一属性集合中各个属性对应的元素为
Figure BDA0003232373070000196
因此第一属性权威服务器确定并公开的公钥为:
Figure BDA0003232373070000197
Figure BDA0003232373070000198
在上述实施例中,第一属性权威服务器需要将第一元素和第二元素发送至多属性权威系统中的其它属性权威服务器,并接收多属性权威系统中的其它属性权威服务器发送的第三元素,且实施例中各个属性权威服务器执行的步骤相同,因此本发明实施例提供的数据访问控制方法还包括:
接收所述多属性权威系统中的第二属性权威服务器发送的携带有第五元素和第六元素的第三参数消息;
对所述第五元素和所述第六元素进行签名,获取第七元素;
向所述第二属性权威服务器发送所述第七元素。
第二属性权威服务器生成第五元素的实现方式与上述实施例中第一属性权威服务器生成第五元素的实现方式类似,第二属性权威服务器生成第六元素的实现方式与上述实施例中第一属性权威服务器生成第二元素的实现方式类似,再次不再赘述。
可选的,第一属性权威服务器对所述第五元素和所述第六元素进行签名,获取第七元素的实现方式包括:如下步骤①至步骤⑤:
步骤①、根据所述第五元素和所述第三随机数,确定第十五元素。
其中,所述第十五元素为所述第一群中值为以所述第五元素为底数以所述第三随机数为指数的幂的元素。
设:第五元素
Figure BDA0003232373070000201
第三随机数为ck,第十五元素为E15,则有:
Figure BDA0003232373070000202
步骤②、根据所述第六元素和所述第二随机数,确定第十六元素。
其中,所述第十六元素为所述第一群中值为以所述第六元素为底数以所述第二随机数为指数的幂的元素。
设:第五元素
Figure BDA0003232373070000203
第二随机数为bk,第十六元素为E16,则有:
Figure BDA0003232373070000204
步骤③、根据所述第十五元素和所述第十六元素,确定第七元素。
其中,所述第七元素为所述第一群中值为所述第十五元素和所述第十六元素的乘积的元素。
设:第七元素为E7,由于
Figure BDA0003232373070000205
Figure BDA0003232373070000206
因此有:
Figure BDA0003232373070000207
至此,多属性权威系统中除第一属性权威服务器以外的属性权威服务器也可以通过本发明实施提供的数据访问控制方法生成对应的公钥和私钥。
此外,因为文件存储服务器可以获取各个属性权威服务器公开的公钥,因此文件存储服务器可以根据各个属性权威服务器公开的公钥对需要进行加密的文件进行加密。
示例性的,文件存储服务器对文件进行加密得到密文CT可以如下所示:
Figure BDA0003232373070000208
其中,CT对明文进行加密后得到的密文。τ为设定的访问策略例如:想要年龄大于18岁的女性能够解密密文获得明文,则可以使访问策略τ包括两个属性,一个属性为年龄:大于18岁,另一属性为性别:女。M为需要进行加密的明文对应的第四群中的元素。Yi为属性权威服务器i生成的第十二元素,
Figure BDA0003232373070000211
s为文件存储服务器从第二群中选取的随机数。c为多属性权威系统中各个属性权威服务器选取的第三随机数的和,rx为文件存储服务器从第二群中为属性x选取的随机数。di为管理属性x的属性权威服务器从第二群中选取第四随机数。qx(0)为属性x的秘密分享值。
又因为客户端可以获取各个属性权威服务器发送的私钥,因此客户端对应的用户的属性与访问策略中属性相匹配时,客户端可以根据各个属性权威服务器发送的私钥对需要进行解密的文件进行解密,获取明文。
示例性的,客户端对密文进行解密得到的明文可以如下所示:
Figure BDA0003232373070000212
其中,C′、Cx、Dx为密文中的值,M为解密密文得到的明文,Scu为访问策略中所包含的属性,L=H(uid),K=H(uid)c*g2 b
Figure BDA0003232373070000213
ωi为拉格朗日系数。
作为本发明实施例一种可选的实施方式,在上述步骤S15(根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥之前),本发明实施例提供的方法还包括:
验证所述其他属性权威服务器分别发送的所述第二参数消息的正确性;
若所述其他属性权威服务器分别发送的所述第二参数消息均正确,则根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
若至少一个所述其他属性权威服务器发送的所述第二参数消息错误,则输出用于提示所述第二参数消息错误的提示信息。
即,在接收到所述其它属性权威服务器发送的第二参数消息后,先验证所述其他属性权威服务器分别发送的所述第二参数消息的正确性,只有在所述其他属性权威服务器分别发送的所述第二参数消息均正确的情况下才执行上述步骤S15,否则输出用于提示所述第二参数消息错误的提示信息。
可选的,验证其他属性权威服务器分别发送的所述第二参数消息的正确性的实现方式包括:
判断所述其他属性权威服务器分别发送的所述第二参数消息中携带的所述第三元素是否满足双线性函数的双线性;
若是,则确定所述第二参数消息正确;
若否,则确定所述第二参数消息错误。
具体的,双线性函数具有以下性质:
1、双线性:
Figure BDA0003232373070000221
e(va,ub)=e(v,u)ab
2、非退化性:
Figure BDA0003232373070000222
e(v,u)≠1
3、可计算性:
Figure BDA0003232373070000223
存在多项式算法计算e(v,u)。
判断所述其他属性权威服务器分别发送的所述第二参数消息中携带的所述第三元素是否满足双线性函数的双线性,即为:将其他属性权威服务器分别发送的所述第二参数消息中携带的所述第三元素代入双线性:
Figure BDA0003232373070000224
e(va,ub)=e(v,u)ab,判断等式是否成立。
进一步可选的,判断第二属性权威服务器发送的第二参数消息中携带的所述第三元素是否满足双线性函数的双线性包括:
可选的,参照图3所示,在图2所示实施例的基础上,判断第二属性权威服务器发送的第二参数消息中携带的所述第三元素是否满足双线性函数的双线性包括:
S301、将所述第二生成元和所述第二属性权威服务器发送的第二参数消息中携带的所述第三元素作为所述双线性函数的输入,从所述第四群中确定第十七元素。
设:第二生成元为g2、第二属性权威服务器发送的第二参数消息中携带的所述第三元素为
Figure BDA0003232373070000231
第十七元素为E17,则有:
Figure BDA0003232373070000232
S302、将第十八元素和所述第一元素作为所述双线性函数的输入,从所述第四群中确定第十九元素。
其中,所述第十八元素为根据所述第二生成元和所述第二属性权威服务器选取的第三随机数在所述第三群中确定的元素。
具体的,所述第十八元素为所述第三群中值为以所述第二生成元为底数以所述第二属性权威服务器选取的第三随机数为指数的幂的元素。第一属性权威服务器可以通过第二属性权威服务器公开的公钥获取所述第十八元素。
设:第十八元素为
Figure BDA0003232373070000233
第十九元素E19,由于第一元素为
Figure BDA0003232373070000234
因此有:
Figure BDA0003232373070000235
S303、根据所述第十九元素和第二十元素,确定第二十一元素。
其中,所述第二十元素为所述第四群中值为以第二十二元素为底数以所述第一随机数为指数的幕的元素;所述第二十二元素为所述第四群中值为以所述第十一元素为底数以所述第二属性权威服务器从所述第二群中选取的第二随机数为指数的幂的元素;所述第二十一元素为所述第四群中值为所述第十九元素和所述第二十元素的乘积的元素。
设:第二属性权威服务器从所述第二群中选取的第二随机数为bj,第二十二元素为E22、第二十元素为E20、第十九元素为E19、第二十一元素为E21,则有:
Figure BDA0003232373070000236
Figure BDA0003232373070000237
Figure BDA0003232373070000238
S304、判断所述第十七元素和所述第二十一元素是否相同。
即,判断第十七元素
Figure BDA0003232373070000241
与第二十一元素
Figure BDA0003232373070000242
是否为相同的元素。
在上述步骤S304中,若第十七元素和第二十一元素相同,则执行如下步骤S305,若第十七元素和第二十一元素不相同,则执行如下步骤S306。
S305、确定所述第二参数消息正确。
S306、确定所述第二参数消息错误。
上述实施例接收所述第二属性权威服务器发送的第二参数消息之后,对先对第二参数消息的正确性进行验证,且只有在第二参数消息正确时,才会执行后续生成用户私钥的步骤流程,因此上述实施例可以避免第二参数消息错误导致的用户秘钥错误。
作为本发明实施例一种可选的实施方式,本发明实施例提供的数据访问控制法还包括:
当所述目标用户的目标属性被撤销时,从所述第二群中选取第五随机数;
根据所述第五随机数对所述第一属性权威服务器的公钥进行更新;
根据所述第五随机数对用户集合中的用户的私钥进行更新,所述用户集合包括所有包含所述目标属性的用户。
即,当所述目标用户的目标属性x被撤销时,第一属性权威服务器会重新为目标属性x选取对应的随机数vx′,将原公钥中的
Figure BDA0003232373070000243
更新为
Figure BDA0003232373070000244
发送属性更新密钥
Figure BDA0003232373070000245
所述用户集合中的用户将原私钥中的
Figure BDA0003232373070000246
更新为
Figure BDA0003232373070000247
Figure BDA0003232373070000248
需要说明的是,当第一属性权威服务器的公钥进行更新后,访问策略包括目标属性的密文需要也需进行更新。即,第一属性权威服务器发送密文更新密钥CUK=ck(vx′-vx),对访问策略包括目标属性的密文进行更新得到新的密文Cx′=Cx·Dx -CUK。具体加密方式与上文中基于更新前的第一属性权威服务器的公钥进行加密的方式类似,再此不再赘述。
基于上述内容,本发明实施例还提供了一种应用于多属性权威系统中的第一属性权威服务器的秘钥生成方法,参照图4所示,本发明实施例提供的秘钥生成方法包括如下步骤:
S41、接收配置信息。
其中,所述配置信息包括:第一群、第二群、第三群以及第四群,所述第一群、所述第三群以及所述第四群均为阶数为素数q的乘法循环群,且所述第一群中的任一元素和所述第三群中的任一元素能够通过双线性函数映射为所述第四群中的元素,所述第二群为整数模q的乘法群。
具体的,配置信息可以由多属性权威系统中的任意设备向多属性权威系统中的全部属性权威服务器发送。示例性的,可以由数据存储设备向多属性权威系统中的属性权威服务器发送配置信息,也可以属性权威服务器中的一个向其他属性权威服务器发送配置信息,本发明实施例对此不做限定,以多属性权威系统中的各个属性权威服务器可以接收到相同的配置信息为准。
S42、从所述第二群中选取第一随机数、第二随机数、第三随机数、第四随机数以及第一属性集合中的各个属性对应的随机数。
其中,所述第一属性集合包括所述第一属性权威服务器所管理的全部属性。
由于多属性权威系统中各个属性权威服务器做执行的动作完全相同,因此上述步骤S42即为:多属性权威系统中每一个属性权威服务器均从从所述第二群中选取第一随机数、第二随机数、第三随机数、第四随机数以及第一属性集合中的各个属性对应的随机数。
例如:多属性权威系统包括AAk和AAj两个属性权威服务器,则AAk选取的随机数包括:第一随机数ak、第二随机数bk、第三随机数ck、第四随机数dk,以及AAk所管理的属性中各个属性对应的随机数:
Figure BDA0003232373070000261
vx;AAj选取的随机数包括:第一随机数aj、第二随机数bj、第三随机数cj、第四随机数dj,以及AAj所管理的属性中各个属性对应的随机数:
Figure BDA0003232373070000262
vx
S43、根据第二生成元、第一生成元、所述双线性函数、所述第二随机数、所述第三随机数、所述第四随机数以及所述第一属性集合中各个属性对应的随机数,生成并公开所述第一属性权威服务器的公钥。
其中,所述第二生成元为所述第二群的生成元,所述第一生成元为所述第一群的生成元。
本发明实施例中公开所述第一属性权威服务器的公钥是指:使所述多属性权威系统中的其它设备(数据存储设备、除第一属性权威服务器以外的其它属性权威服务器等)均可以获取第一属性权威服务器的公钥。
同样,由于多属性权威系统中各个属性权威服务器做执行的动作完全相同,因此基于上述步骤S23第一属性权威服务器也可以获取多属性权威系统中的其它属性权威服务器公钥。
S44、确定第一元素和第二元素,并向所述多属性权威系统中的其它属性权威服务器发送所述第一元素和所述第二元素。
其中,所述第一元素为根据哈希映射函数、目标用户在所述多属性权威系统中的统一标识符以及所述第一随机数确定的所述第一群中的元素,所述第二元素为根据所述第一生成元和所述第一随机数确定的所述第一群中的元素;所述哈希映射函数为用于将任意值映射为所述第一群中的元素的函数。
需要说明的是,本发明实施例中的多属性权威系统可以包括任意数量的属性权威服务器,当多属性权威系统仅包括两个属性权威服务器时,第一属性权威服务器仅需要将第一元素和第二元素发送至多属性权威系统中的另一个属性权威服务器即可,当多属性权威系统包括两个以上属性权威服务器时,第一属性权威服务器需要将第一元素和第二元素发送至多属性权威系统中除第一属性权威服务器以外的每一个属性权威服务器。
作为本发明实施例一种可选的实施方式,上述步骤S24中确定第一元素的实现方式可以包括如下步骤1和步骤2:
步骤1、将所述统一标识符作为所述哈希映射函数的输入,从所述第一群中确定第四元素。
即,第四元素E4=H(uid);其中,H(…)为用于将任意值映射为第一群中的元素的哈希映射函数,uid为统一标识符。
步骤2、根据所述第四元素和所述第一随机数,确定所述第一元素。
其中,所述第一元素为所述第一群中值为以所述第四元素为底数以所述第一随机数为指数的幂的元素。
即,第一元素
Figure BDA0003232373070000271
其中,E4为第四元素、ak为第一属性权威服务器从第二群Zq中选取的第一随机数。
作为本发明实施例一种可选的实施方式,上述步骤S24中确定第二元素的实现方式可以包括:
根据所述第一生成元和所述第一随机数,确定所述第二元素。
其中,所述第二元素为所述第一群中值为以所述第一生成元为底数以所述第一随机数为指数的幂的元素。
即,第二元素
Figure BDA0003232373070000272
综上,由于第一元素
Figure BDA0003232373070000273
第二元素
Figure BDA0003232373070000274
因此第一属性权威服务器将
Figure BDA0003232373070000275
Figure BDA0003232373070000276
发送给了多属性权威系统中除自身以外的其它所有属性权威服务器。
S45、接收所述其它属性权威服务器分别发送的第三元素。
其中,所述第三元素为所述第二属性权威服务器根据所述第一元素、所述第二元素以及所述第二属性权威服务器在所述第二群中随机选取的第二随机数和第三随机数,确定的所述第一群中的元素。
可选的,第三元素可以为第一群中值为第一幂与第二幂的乘积的元素;所述第一幂的底数为所述第一元素,所述第一幂的指数为第二属性权威服务器在所述第二群中随机选取的第三随机数,所述第二幂的底数为所述第二元素,所述第二幂的指数为第二属性权威服务器在所述第二群中随机选取的第二随机数。
设:多属性权威系统中的第二属性权威服务器在所述第二群中随机选取的第二随机数为aj,第二属性权威服务器在所述第二群中随机选取的第三随机数为bj,则所述第三元素
Figure BDA0003232373070000281
Figure BDA0003232373070000282
S46、根据所述其它属性权威服务器分别发送的第三元素、所述第四随机数、所述第一随机数、所述哈希映射函数、所述统一标识符、第二属性集合中的各个属性对应的随机数,生成第一私钥。
其中,所述第二属性集合包括所述目标用户的属性中属于所述第一属性权威服务器管理的属性。
示例性的,以下以第一属性权威服务器为学校管理系统为例对本发明实施例中的第一属性集合和第二属性集合进行说明。学校管理系统所管理的属性包括:学号:001、学号:002、……、学号:850、年级:一年级、年级:二年级、年级:三年级、年级:四年级、年级:五年级、年级:六年级,班级:一班、班级:二班、班级:三班;则第一属性集合Sk为{学号:001、学号:002、……、学号:850、年级:一年级、年级:二年级、年级:三年级、年级:四年级、年级:五年级、年级:六年级,班级:一班、班级:二班、班级:三班}。目标用户的属性包括:学号:065、年级:三年级、班级:二班、性别:男、姓名:张三;由于目标用户的属性中属于第一属性集合Sk的属性包括:学号:065、年级:三年级、班级:二班,因此第一属性集合Sku为{学号:065、年级:三年级、班级:二班}。
作为本发明实施例一种可选的实施方式,上步骤S26(根据各所述第二参数消息中携带的所述第三元素、所述第四随机数、所述第一随机数、所述哈希映射函数、所述统一标识符、第二属性集合中的各个属性对应的随机数,生成第一私钥)的实现方式可以包括如下步骤Ⅰ至步骤Ⅸ:
步骤Ⅰ、根据所述第一元素和所述第三随机数,确定第二十三元素。
其中,所述第二十三元素为所述第一群中值为以所述第一元素为底数以所述第三随机数为指数的幕的元素。
即,
Figure BDA0003232373070000291
步骤Ⅱ、根据所述第二元素和所述第二随机数,确定第二十四元素。
其中,所述第二十四元素为所述第一群中值为以所述第二元素为底数以所述第二随机数为指数的幕的元素
即,第二十四元素
Figure BDA0003232373070000292
步骤Ⅲ、根据所述第二十三元素和所述第二十四元素,确定第二十五元素。
其中,所述第二十五元素为所述第一群中值为所述第二十三元素和所述第二十四元素的乘积的元素。
即,
Figure BDA0003232373070000293
步骤Ⅳ、根据所述第二十五元素和所述第一随机数,确定第八元素。
其中,所述第八元素为所述第一群中值为以所述第二十无元素为底数以所述第一随机数的倒数为指数的幕的元素。
即,第八元素
Figure BDA0003232373070000294
步骤Ⅴ、根据各所述其它属性权威服务器发送的第二参数消息中携带的第三元素,确定各所述其它属性权威服务器对应的第九元素。
其中,其中,任一其它属性权威服务器对应的第九元素为所述第一群中值为以该属性权威服务器发送的第二参数消息中携带的第三元素为底数以所述第一随机数的倒数为指数的幕的元素。
步骤Ⅵ、根据所述第八元素和所述第九元素,确定第十元素。
其中,所述第十元素为所述第一群中值为所述第八元素与各所述其它属性权威服务器对应的第九元素进行连乘的积的元素。
步骤Ⅶ、根据所述第四元素、所述第四随机数以及所述第二属性集合中的各个属性对应的随机数,确定所述第二属性集合中的各个属性对应的元素。
其中,所述第二属性集合中的各个属性对应的元素为所述第一群中值为所述第四元素为底数以所述第四随机数和各个属性对应的随机数的乘积为指数的幕的元素。
即,
Figure BDA0003232373070000301
其中,
Figure BDA0003232373070000302
表示第二属性集合中的任意元素,Sku为第二属性集合,E4为第四元素,dk为第一属性权威服务器从第二群Zq中选取的第四随机数,vx为第一属性权威服务器从第二群Zq中选取的属性x对应的随机数。
步骤Ⅷ、将所述第十元素、所述第四元素以及所述第二属性集合中的各个属性对应的元素作为第一私钥。
本发明实施例提供的数据访问控制方法中,第一属性权威服务器先接收配置信息并在配置信息中的第二群中选取第二随机数、第三随机数、第四随机数、第一随机数以及自身管理的全部属性中的各个属性对应的随机数,然后根据第二生成元、第一生成元、双线性函数、第二随机数、第三随机数、第四随机数以及第一属性集合中各个属性对应的随机数,生成并公开所述第一属性权威服务器的公钥,再确定第一元素和第二元素,并向多属性权威系统中的其它属性权威服务器发送第一元素和第二元素,接收其它属性权威服务器发送的第三元素以及根据所述第三元素、第四随机数、第一随机数、哈希映射函数、目标用户的统一标识符、第二属性集合中的各个属性对应的随机数,生成第一私钥,因此第一属性权威服务器首先可以生成包括公钥和私钥的秘钥。又因为第一属性权威服务器在生成公钥和私钥的过程中只需要向多属性权威系统中的其它属性权威服务器发送经过随机数盲化的第一元素和第二元素,而无需向多属性权威系统中的其它属性权威服务器发送生成用户秘钥的关键信息(随机数、用户的属性等信息),因此本发明实施例可以避免通过多个属性权威服务器中的一个或可信第三方进行参数协商。即,本发明实施例在多属性权威服务器的属性基加密算法中实现访问策略中不同属性权威服务器所管理的属性可以任意组合时,可以避免通过多个属性权威服务器中的一个或可信第三方进行参数协商,进而解决难找到各个属性权威服务器均认可的属性权威服务器或可信第三方的问题。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种属性权威服务器,该属性权威服务器实施例与前述方法实施例对应,为便于阅读,本属性权威服务器实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的属性权威服务器能够对应实现前述方法实施例中的全部内容。
本发明实施例提供了一种属性权威服务器。图5为该属性权威服务器的结构示意图,如图5所示,该属性权威服务器500包括:
接收单元51,用于接收客户端发送的秘钥颁发请求,所述秘钥颁发请求包括目标用户在所述多属性权威系统中的统一标识符;
处理单元52,用于根据所述统一标识符确定第一元素和第二元素;其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的;
发送单元53,用于向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息;
所述接收单元51,还用于接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据;
生成单元54,根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
所述发送单元53,还用于向所述客户端发送所述第一私钥;所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
作为本发明实施例一种可选的实施方式,所述处理单元52,具体用于对所述统一标识符进行哈希映射从第一群中确定第四元素,所述第一群为乘法循环群;对所述第四元素进行盲化,获取所述第一元素;对所述乘法循环群的生成元进行盲化,获取所述第二元素。
作为本发明实施例一种可选的实施方式,
所述接收单元51,还用于接收所述多属性权威系统中的第二属性权威服务器发送的携带有第五元素和第六元素的第三参数消息;
所述处理单元52,还用于对所述第五元素和所述第六元素进行签名,获取第七元素;
所述发送单元53,还用于向所述第二属性权威服务器发送所述第七元素。
作为本发明实施例一种可选的实施方式,
所述处理单元52,还用于生成所述属性权威服务器的公钥;
所述发送单元53,还用于公开所述属性权威服务器的公钥,以便所述多属性权威系统中的其他属性权威服务器基于所述第一属性权威服务器的公钥生成为用户颁发的私钥,以及所述多属性权威系统中的文件存储服务器基于所述第一属性权威服务器的公钥对明文进行加密。
作为本发明实施例一种可选的实施方式,
所述处理单元52,具体用于获取各所述第二参数消息中携带的所述第三元素的乘积;根据各所述第二参数消息中携带的所述第三元素的乘积生成为所述目标用户颁发的第一私钥。
作为本发明实施例一种可选的实施方式,参照图6所示,所述属性权威服务器500,还包括:验证单元55;
所述验证单元55,用于在根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥之前,验证所述其他属性权威服务器分别发送的所述第二参数消息的正确性;若所述其他属性权威服务器分别发送的所述第二参数消息均正确,则根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;若至少一个所述其他属性权威服务器发送的所述第二参数消息错误,则输出用于提示所述第二参数消息错误的提示信息。
作为本发明实施例一种可选的实施方式,所述验证单元55,具体用于判断所述其他属性权威服务器分别发送的所述第二参数消息中携带的所述第三元素是否满足双线性函数的双线性;若是,则确定所述第二参数消息正确;若否,则确定所述第二参数消息错误。
基于同一发明构思,本发明实施例还提供了一种电子设备。图7为本发明实施例提供的电子设备的结构示意图,如图7所示,本实施例提供的电子设备包括:存储器71和处理器72,所述存储器71用于存储计算机程序;所述处理器72用于在调用计算机程序时,使得所述电子设备实现上述实施例提供的数据访问控制方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述实施例提供的数据访问控制方法。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述实施例提供的数据访问控制方法。
本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种数据访问控制方法,其特征在于,应用于多属性权威系统中的第一属性权威服务器,所述方法包括:
接收客户端发送的秘钥颁发请求,所述秘钥颁发请求包括目标用户在所述多属性权威系统中的统一标识符;
根据所述统一标识符确定第一元素和第二元素,并向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息;其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的;
接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据;
根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
向所述客户端发送所述第一私钥;所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述统一标识符确定第一元素和第二元素,包括:
对所述统一标识符进行哈希映射从第一群中确定第四元素,所述第一群为乘法循环群;
对所述第四元素进行盲化,获取所述第一元素;
对所述乘法循环群的生成元进行盲化,获取所述第二元素。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述多属性权威系统中的第二属性权威服务器发送的携带有第五元素和第六元素的第三参数消息;
对所述第五元素和所述第六元素进行签名,获取第七元素;
向所述第二属性权威服务器发送所述第七元素。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:生成并公开所述第一属性权威服务器的公钥,以便所述多属性权威系统中的其他属性权威服务器基于所述第一属性权威服务器的公钥生成为用户颁发的私钥,以及所述多属性权威系统中的文件存储服务器基于所述第一属性权威服务器的公钥对明文进行加密。
5.根据权利要求1所述的方法,其特征在于,所述根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥,包括:
获取各所述第二参数消息中携带的所述第三元素的乘积;
根据各所述第二参数消息中携带的所述第三元素的乘积生成为所述目标用户颁发的第一私钥。
6.根据权利要求1所述的方法,其特征在于,在根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥之前,所述方法还包括:
验证所述其他属性权威服务器分别发送的所述第二参数消息的正确性;
若所述其他属性权威服务器分别发送的所述第二参数消息均正确,则根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
若至少一个所述其他属性权威服务器发送的所述第二参数消息错误,则输出用于提示所述第二参数消息错误的提示信息。
7.根据权利要求6所述的方法,其特征在于,所述验证其他属性权威服务器分别发送的所述第二参数消息的正确性,包括:
判断所述其他属性权威服务器分别发送的所述第二参数消息中携带的所述第三元素是否满足双线性函数的双线性;
若是,则确定所述第二参数消息正确;
若否,则确定所述第二参数消息错误。
8.一种属性权威服务器,其特征在于,包括:
接收单元,用于接收客户端发送的秘钥颁发请求,所述秘钥颁发请求包括目标用户在多属性权威系统中的统一标识符;
处理单元,用于根据所述统一标识符确定第一元素和第二元素;其中,所述第一元素和所述第二元素是经过哈希映射处理和盲化处理确定的;
发送单元,用于向所述多属性权威系统中的其他属性权威服务器发送携带有所述第一元素和所述第二元素的第一参数消息;
所述接收单元,还用于接收所述多属性权威系统中的其他属性权威服务器分别发送的携带有第三元素的第二参数消息,所述第三元素是所述其他属性权威服务器基于所述第一元素和所述第二元素进行签名得到的签名数据;
生成单元,根据各所述第二参数消息中携带的所述第三元素生成为所述目标用户颁发的第一私钥;
所述发送单元,还用于向所述客户端发送所述第一私钥;所述第一私钥用于解密与所述目标用户的属性相关的加密数据,所述加密数据是基于与所述第一私钥对应的公钥加密生成的。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时,使得所述电子设备实现权利要求1-7任一项所述的数据访问控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-7任一项所述的数据访问控制方法。
CN202110990867.6A 2021-08-26 2021-08-26 一种数据访问控制方法及属性权威服务器 Pending CN115906106A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110990867.6A CN115906106A (zh) 2021-08-26 2021-08-26 一种数据访问控制方法及属性权威服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110990867.6A CN115906106A (zh) 2021-08-26 2021-08-26 一种数据访问控制方法及属性权威服务器

Publications (1)

Publication Number Publication Date
CN115906106A true CN115906106A (zh) 2023-04-04

Family

ID=86482643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110990867.6A Pending CN115906106A (zh) 2021-08-26 2021-08-26 一种数据访问控制方法及属性权威服务器

Country Status (1)

Country Link
CN (1) CN115906106A (zh)

Similar Documents

Publication Publication Date Title
CN113014392B (zh) 基于区块链的数字证书管理方法及系统、设备、存储介质
US11431487B2 (en) Adaptive attack resistant distributed symmetric encryption
US8499149B2 (en) Revocation for direct anonymous attestation
US8429408B2 (en) Masking the output of random number generators in key generation protocols
EP2847928B1 (en) Method and system for a certificate-less authentication encryption (clae)
US8225098B2 (en) Direct anonymous attestation using bilinear maps
Moody et al. Report on pairing-based cryptography
US10673625B1 (en) Efficient identity-based and certificateless cryptosystems
US20040165728A1 (en) Limiting service provision to group members
US8661240B2 (en) Joint encryption of data
CN104821880B (zh) 一种无证书广义代理签密方法
JP3864249B2 (ja) 暗号通信システム、その端末装置及びサーバ
Chao New directions of modern cryptography
Das Secure cloud computing algorithm using homomorphic encryption and multi-party computation
US20110296188A1 (en) Authentication device, authentication method, program, and signature generation device
CN113434875A (zh) 一种基于区块链的轻量化访问方法及系统
US20050060545A1 (en) Secure provision of image data
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
Wang et al. More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles
CN115906106A (zh) 一种数据访问控制方法及属性权威服务器
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
CN109412815B (zh) 一种实现跨域安全通信的方法和系统
Bene et al. Public Key Infrastructure in the Post-Quantum Era
Wu et al. A publicly verifiable PCAE scheme for confidential applications with proxy delegation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination