本发明属于数据加密,具体涉及一种去中心化多授权机构可搜索密文策略属性基加密(cp-abse)方法,可适用于对检索隐私要求严格的医疗数据库,简单高效地实现对电子病例(emr)等数据进行基于属性的加密。
背景技术:
1、随着云服务、智能穿戴设备和物联网的发展,由患者历史疾病数据以及通过医疗诊断设备和智能穿戴设备采集的大数据组成的emr(电子病例)在实际应用方面拥有了基础设施的支撑。云服务可以为emr提供低成本、高性能的计算能力以及海量的存储资源,方便医疗机构和个人在云端进行资源分配和任务管理。然而,传统的云服务以明文形式存储emr,这带来了用户隐私的泄露风险。因此,在云服务环境中,对外暴露信息之前要进行加密,但是加密破坏了原有的语义信息,导致无法对emr数据进行便捷高效地利用,例如关键字搜索、统计等。为了有效利用加密数据,许多具有密文上细粒度访问控制和关键字检索功能的abse(可搜索属性基加密)方案被提出。单授权机构cp-abse(可搜索密文策略属性基加密)方案中,仅有单一的授权机构向用户分发属性和密钥,可是实际应用中,用户需要和不同授权机构打交道。例如,假设一个病人想要转到一个资源更好的医院,他将面对两个不同授权机构(即医院),如果新医院的医生能够获取客户在其他医院的emr信息,可以避免一些重复性的检查,同时可以了解更多关于患者健康情况的信息。
2、多授权机构cp-abse方案的提出缓解了这个问题,多个授权机构可以向用户授权各自的属性。如图1所示的emr共享情景中,有多个医院(即授权机构:attributeauthorities,aas)提供emr服务,患者(即用户)可以将自己的病历用公钥加密处理后上传至云服务器。当患者需要转院以获得更好的医疗资源时,emr可以安全地共享。只要符合密文中定义的访问策略,来自不同医院的医疗专家(即数据用户)就可搜索访问存储于云服务器的加密病历信息,从而对患者实施联合诊断。显然,如图2中(a)所示的单授权机构方案无法处理这样场景。
3、但是如图2中(b)所示的多授权机构cp-abse方案存在的不足是初始参数的生成和用户证书验证依赖一个中心服务器。但是在实际应用中,中心服务器的性能和故障可能会导致整体系统的崩溃。有些研究工作引入了去中心化的区块链以代替中心服务器,然而,只提升了稳健性和计算性能,其中的区块链整体仍可以被视为一个中心服务器,而真正的去中心化多授权机构方案中各授权机构无需跟第三方交互。作为上述多授权机构cp-abse方案的补充,目前已被提出的dma-cp-abe(去中心化多授权机构属性基加密)方案[1]-[5],支持任何授权机构都可以独立地为用户分发密钥和认证证书,即不再需要一个中心服务器为其他授权机构提供身份id等信息的全局认证,虽然,现有技术已经解决了部分问题,但是,在实际应用方面仍然存在挑战,例如,提供属性撤销、单关键字检索和多关键字检索功能,具体而言:
4、(1)不支持在密文中进行数据检索,包括多关键字检索。表现力强的多关键字搜索功能能够避免对每个关键字的顺序搜索和不相关结果的出现,从而在减少通信开销的同时提高了用户搜索体验。
5、(2)当用户的权限过期或访问权限发生变化时,访问控制系统应该具备及时撤销属性的功能,以上方案不支持属性撤销。
6、参考文献
7、[1]lewko a,waters b.decentralizing attribute-based encryption[c]//annual international conference on the theory and applications ofcryptographic techniques.springer,2011:568-588.
8、[2]sandor v k a,lin y,li x,et al.efficient decentralized multi-authority attribute based encryption for mobile cloud data storage[j].journalof network and computer applications,2019,129:25-36.
9、[3]datta p,komargodski i,waters b.decentralized multi-authority abefor dnf s from lwe[c]//annual international conference on the theory andapplications of cryptographic techniques.springer,2021:177-209.
10、[4]datta p,komargodski i,waters b.decentralized multi-authority abefor nc 1from bdh[j].journal of cryptology,2023,36(2):1432-1378.
11、[5]datta p,komargodski i,waters b.fully adaptive decentralized multi-authority abe[c]//annual international conference on the theory andapplications of cryptographic techniques.springer,2023:447-478.
技术实现思路
1、本发明的目的在于针对上述现有技术中的问题,提供一种去中心化多授权机构可搜索密文策略属性基加密方法,支持在密文中进行数据检索,提高检索效率,提升用户搜索体验,同时支持属性撤销,从而应对用户的权限过期或访问权限发生变化。
2、为了实现上述目的,本发明有如下的技术方案:
3、第一方面,提供一种去中心化多授权机构可搜索密文策略属性基加密方法,包括:
4、定义四个不同的实体,包括数据拥有者do、用户du、云服务器cs以及一个或多个授权机构aa,建立去中心化多授权机构属性基加密dma-cp-abe系统模型;
5、根据各实体之间的实际交互过程定义基本算法;
6、利用基本算法构造单键字检索功能和多键字检索功能,实现在密文中进行数据检索;
7、利用基本算法构造属性撤销功能,在用户的权限过期或访问权限发生变化时撤销属性。
8、作为优选,在所述去中心化多授权机构属性基加密dma-cp-abe系统模型中:
9、云服务器cs是一个半诚实的实体,它诚实地执行分配给它的任务;
10、用户du也是一个半诚实的实体,它试图通过合谋攻击访问未经授权的数据;
11、数据拥有者do和授权机构aa是完全可信的实体,诚实地执行它们的任务。
12、作为优选,在所述去中心化多授权机构属性基加密dma-cp-abe系统模型中:
13、数据拥有者do是存储在云服务器cs中的数据的拥有者,数据拥有者do负责定义访问策略,控制用户du的访问权限,并对数据进行加密、上传和管理;数据拥有者do在对数据进行加密时,生成相应的索引,并定义特定的访问策略;此外,数据拥有者do确定在实现属性撤销时应该撤销哪个属性;
14、用户du是一个实体,通过生成陷门和密钥来检索和解密数据;
15、云服务器cs支持多种服务,包括数据搜索、计算和存储,每当用户du通过陷门发起检索查询时,如果访问策略与用户du的属性匹配,并且陷门的关键字与密文的关键字相同,则云服务器cs将返回检索结果;
16、授权机构aa负责系统中公共参数和密钥的生成。
17、作为优选,根据各实体之间的实际交互过程定义的基本算法包括全局初始化设置globalsetup、授权配置authoritysetup、加密encrypt、密钥生成keygen、陷门生成trapdoorgen和查找search。
18、作为优选,利用基本算法构造单键字检索功能的步骤包括:
19、globalsetup(1λ,smax)→(gp):算法输入为安全参数1λ和线性秘密共享lsss访问策略(m,ρ)中矩阵m的最大列数smax,算法输出为全局参数gp=(p,g0,g1,g,e,h0,h1),其中,g0、g1是素数阶为p的循环群,g是g0的生成元,e:g0×g0→g1是从群g0到群g1的双线性映射函数,h0:{0,1}→zp、h1:gid×[smax]→g0是哈希函数,gid是全局标识符,满足以下条件:(gid,i)∈gid×[smax]而且0≤i<l,l是授权机构数量;
20、authoritysetup(gp,u)→(pku,mku):算法输入为授权机构索引u和全局参数gp,输出为授权机构aa生成的公钥和私钥,生成的公钥和私钥如下:
21、
22、式中,均是随机选择生成的正整数序列,大小为smax,序列中的每一个元素都属于环zp,下标u表示该序列是第u个授权机构对应的序列;p是素数,集合zp={1,2,...,p-1}是整数模p的剩余类环;
23、encrypt(gp,pt,w,(m,ρ),pku)→ct:算法的输入为全局参数gp、明文pt、关键字w、访问策略(m,ρ)和授权机构公钥pku;算法先随机生成集合和向量其中,是随机生成的正整数集合,集合中每一个元素都属于环zp,集合大小分别为l和smax-1,是一个大小为smax的向量,该向量的每个元素都属于环zp;
24、算法输出的密文如下:其中,c=enc(pt),[l]表示集合{0,1,...,l-1},enc为对称加密函数;l是授权机构数量,m是行数为l的矩阵,列数是globalsetup输入参数smax,mi:0≤i<l代表矩阵m的第i行,mi,j表示的是m的第i行第j列对应的元素;ρ是将该矩阵的每一行映射到一个属性的映射函数,ρ(i)表示的是m的第i行代表的属性,即机构的索引;
25、keygen(gp,gid,mku)→sku:算法输入为用户全局标识符gid,授权机构公钥mku和全局参数gp;算法输出是用户密钥sku={d1,u,d2,u,d3,u},式中,
26、
27、trapdoor(gp,w′,sku)→tu:算法输入为全局参数gp、关键字w′和用户密钥户sku;输出生成的陷门:tu={t1,u,t2,u,t3,u},其中其中,t∈zp是随机选择的正整数;
28、π表示累乘运算符,表示对符号后面表达式的值进行累乘,||是拼接符,将符号两边的值拼到一起;表示g的γu次方,其他相同表达形式的参数含义相同,/表示除法运算符号,将符号前面的值除以后面的值;
29、search(gp,ct,sku,tu)→c/⊥:算法输入是全局参数gp、密文ct、用户密钥sku和陷门tu;算法输出是密文c;如果用户du的属性满足访问策略,云服务器cs执行如下操作来查找包含陷门中关键字的密文:
30、
31、其中,云服务器cs检查不等式是否为真;如果为真,则返回c,否则返回空,即⊥。
32、作为优选,在所述线性秘密共享lsss访问策略(m,ρ)中,每个授权机构aa管理一个属性,授权机构数量为l,共有l个属性,m是行数为l的矩阵,列数在初始化阶段确定即globalsetup(1λ,smax)→(gp)的入参smax。
33、作为优选,利用基本算法构造多键字检索功能的步骤除了包括与构造单键字检索功能相同的全局初始化设置globalsetup、授权配置authoritysetup以及密钥生成keygen过程之外,还包括:
34、encrypt(gp,pt,w,(m,ρ),pku)→ct={ct1,ct2,...,ctζ}:算法的输入是全局参数gp、明文pt={m1,m2,...mζ}、关键字集合w={w1,w2,...,wk1}、访问策略(m,ρ)和授权机构公钥pku,其中,ζ是明文数量;算法的输出是密文ct;先随机生成:和输出的密文如下:
35、
36、其中,cn=enc(mn),enc为对称加密函数,n∈{1,2,...,ζ};
37、trapdoor(gp,w′,sku)→tu:算法的输入为全局参数gp、用户密钥户sku和关键字集合算法的输出是陷门tu;先随机选择t∈zp,输出的陷门为tu={t1,u,t2,u,t3,u},其中:
38、
39、式中,∑表示累加符号,指对符号后面表达式的值进行累加;
40、search(gp,ct,sku,tu)→cn/⊥:算法的输入是全局参数gp、密文ct、用户密钥sku和陷门tu;算法的输出是匹配的密文cn;如果用户du的属性满足访问策略,云服务器cs执行如下操作来查找包含陷门里关键字的密文:
41、
42、其中,云服务器cs检查不等式是否为真;如果为真,则返回cn,否则返回空,即⊥。
43、作为优选,利用基本算法构造属性撤销功能的步骤包括:
44、当撤销某个属性时,数据拥有者do将被撤销的属性值γu和用户全局标识符gid发送到相应的授权机构aau,收到(γu,gid)后,相应的授权机构aau执行update_keygen算法生成一个更新密钥参数uku;然后,相应的授权机构aau更新相应的用户密钥并将它们发送到数据拥有者do;同时,相应的授权机构aau将相应的更新密钥参数uku发送给云服务器cs;收到更新密钥参数uku后,云服务器cs使用更新密钥参数uku对数据进行重新加密;其中,u∈{1,2,...,l};
45、update_keygen→uku:数据拥有者do收到被撤销属性γu后,相应的授权机构aau随机选择γu′∈zp,然后生成更新密钥参数拆开表达为uku={rk1,rk2},其中rk2=(γu-γu′),γu′是从zp中随机选择的一个正整数;相应的授权机构aau将更新密钥参数uku分发给用户du和云服务器cs,实现更新密钥,重新加密数据;
46、key_update(sku,gid,uku)→sk′u:相应的授权机构aau使用更新参数rk1更新用户du的密钥组件d′1,u,并且生成更新后的密钥sk′u={d′1,u,d2,u,d3,u},其中:
47、
48、相应的授权机构aau给用户du发送更新后的密钥sk′u;
49、ciphertext_update(ct,uku)→ct′:从相应的授权机构aau收到参数rk2后,云服务器cs重新加密所有属性γu有关的密文,因此被撤销属性相关的密钥无法解密密文;云服务器cs使用γu′生成新的密文:其中:
50、
51、第二方面,提供一种去中心化多授权机构可搜索密文策略属性基加密系统,包括:
52、系统模型建立模块,用于定义四个不同的实体,包括数据拥有者do、用户du、云服务器cs以及一个或多个授权机构aa,建立去中心化多授权机构属性基加密dma-cp-abe系统模型;
53、基本算法定义模块,用于根据各实体之间的实际交互过程定义基本算法;
54、数据检索模块,用于利用基本算法构造单键字检索功能和多键字检索功能,实现在密文中进行数据检索;
55、属性撤销模块,用于利用基本算法构造属性撤销功能,在用户的权限过期或访问权限发生变化时撤销属性。
56、第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如第一方面所述的去中心化多授权机构可搜索密文策略属性基加密方法。
57、相较于现有技术,本发明至少具有如下的有益效果:
58、本发明提出的去中心化多授权机构可搜索密文策略属性基加密方法一方面支持去中心化多授权机构,在实际应用中,用户需要获得多个机构授权,以便实现数据在多个机构之间互相共享。另一方面,支持在密文中进行数据检索,在密文中实现数据检索可以避免对密文数据进行解密,检索更精准,尤其是表现力强的多关键字搜索功能避免了对每个关键字的顺序搜索和不相关结果的出现,从而在减少通信开销的同时提高了用户搜索体验。同时,支持属性撤销,当用户的权限过期或访问权限发生变化时,可以及时撤销属性的功能。
1.一种去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,包括:
2.根据权利要求1所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,在所述去中心化多授权机构属性基加密dma-cp-abe系统模型中:
3.根据权利要求1所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,在所述去中心化多授权机构属性基加密dma-cp-abe系统模型中:
4.根据权利要求1所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,根据各实体之间的实际交互过程定义的基本算法包括全局初始化设置globalsetup、授权配置authoritysetup、加密encrypt、密钥生成keygen、陷门生成trapdoorgen和查找search。
5.根据权利要求4所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,利用基本算法构造单键字检索功能的步骤包括:
6.根据权利要求5所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,在所述线性秘密共享lsss访问策略(m,ρ)中,每个授权机构aa管理一个属性,授权机构数量为l,共有l个属性,m是行数为l的矩阵,列数在初始化阶段确定即globalsetup(1λ,smax)→(gp)的入参smax。
7.根据权利要求5所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,利用基本算法构造多键字检索功能的步骤除了包括与构造单键字检索功能相同的全局初始化设置globalsetup、授权配置authoritysetup以及密钥生成keygen过程之外,还包括:
8.根据权利要求4所述的去中心化多授权机构可搜索密文策略属性基加密方法,其特征在于,利用基本算法构造属性撤销功能的步骤包括:
9.一种去中心化多授权机构可搜索密文策略属性基加密系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至8中任意一项所述的去中心化多授权机构可搜索密文策略属性基加密方法。