【技术实现步骤摘要】
支持大规模用户群的布尔关键词可搜索加密方法
[0001]本专利技术涉及密码学
,具体涉及一种支持大规模用户群的布尔关键词可搜索加密方法。
技术介绍
[0002]为了能够提供给用户在密文数据上进行关键词搜索的能力,可搜索加密(Searchable Encryption,简称SE)技术作为一种解决方案被提出。根据不同的加密方法,可将现有的可搜索加密方案分为两种,对称可搜索加密(Symmetric Searchable Encryption,简称SSE)和公钥可搜索加密(Public
‑
key Encryption with Keyword Search,简称PEKS)。在公钥可搜索加密方案中,数据拥有者将数据上传到云服务器之前使用指定用户的公钥加密数据,之后这些用户可以使用其私钥对数据进行搜索和解密。
[0003]但是,基本的PEKS方案在一些实际的应用场景中存在局限性。比如在医疗保健系统中,患者的个人健康信息只能由一些指定身份的授权医生检索。在这种情况下,为了能在加密的数据上同时实现关键词查询和细粒度的访问控制,研究者提出了基于属性的可搜索加密方法,现有许多的工作中对此也有了相应的研究。
[0004]虽然现有的工作为基于属性的关键词搜索提供了解决方案,但是目前还没有一个方案能在面向大规模用户的前提下,同时支持灵活的访问策略匹配、用户属性的灵活性表达以及灵活的关键词搜索这三方面内容。因此,如何在如今大数据和云计算飞速发展的背景下针对上述三方面内容设计一个完善的,能够支持大规模用户的 ...
【技术保护点】
【技术特征摘要】
1.一种支持大规模用户群的布尔关键词可搜索加密方法,其特征在于,所述加密方法包括以下步骤:S1、系统初始化:可信权威机构TA根据安全参数K生成公共密钥pk以及主密钥mk,并将公共密钥pk公开发布于云服务器;S2、生成私钥:数据用户将自己的属性组织成递归属性集然后将其发送给可信权威机构TA,可信权威机构TA使用主密钥mk和递归属性集生成私钥sk,并将私钥sk发送给数据用户,其中,属性集被解析为{A0,A1,...,A
n
},A
i
表示中的第i个子属性集,假设子属性集A
i
含有m
i
个属性,其中a
i,j
表示子属性集A
i
中的第j个属性;S3、加密:数据拥有者使用系统公开密钥pk、递归关键词集合S3、加密:数据拥有者使用系统公开密钥pk、递归关键词集合和访问树为文档生成密文C,并将密文C上传至云服务器,递归关键词集合W
V
中的元素表示的是递归关键词集合中的第i
′
个子集,被解析为递归关键词名称集合和递归关键词集合W
V
具有相同的结构,集合中的元素表示的是递归关键词名称集合中的第i
′
个子集,被解析为(ρ(i
′
,1),ρ(i
′
,2),...ρ(i
′
,m
′
i
′
)),其中,m
′
i
′
表示的是第i
′
个关键词子集中关键词的数目,ρ(i
′
,j
′
)表示第i
′
个关键词子集中第j
′
个关键词的名称,w
ρ(i
′
,j
′
)
表示第i
′
个关键词子集中第j
′
个关键词的值;S4、检索令牌生成:数据用户使用步骤S2中获得的私钥,结合数据用户本地的布尔关键词值表达式B
V
,生成检索令牌TK,其中,B
V
是访问树结构,B
N
表示的是布尔关键词名称表达式,具有和B
V
相同的访问树结构,对于B
V
中的叶子结点关键词值表示为其中表示对应的关键词名称;S5、密文搜索:数据用户将步骤S4生成的检索令牌TK发送至云服务器,云服务器接收后,使用检索令牌TK和存放在云服务器上的密文C进行校验,检查密文C是否匹配,并将满足匹配条件的密文C发送给数据用户。2.根据权利要求1所述的支持大规模用户群的布尔关键词可搜索加密方法,其特征在于,所述步骤S1过程如下:S1a、可信权威机构TA使用群生成器执行生成(p,g,G,G
T
,e),其中,p是一个素数,G和G
T
为p阶的循环群,g是G的生成元,e:G
×
G
→
G
T
是一个双线性映射;S1b、可信权威机构TA选择两个抗碰撞的哈希函数H0(
·
)和H1(
·
),其中,哈希函数H0(
·
)满足以下映射:其中,是与素数p互素的所有数的集合,哈希函数H1(
·
)满足以下映射:{0,1}
*
→
G;S1c、可信权威机构TA随机选择后续用于实现私钥生成、文档加密和生成检索令牌的第一、第二、第三、第四参数β1,β2,α,并通过计算得g
α
,g
αγ
,g
1/γ
;
S1d、可信权威机构TA根据以上变量得到系统公开密钥S1d、可信权威机构TA根据以上变量得到系统公开密钥主密钥mk=<β1,β2,α>。3.根据权利要求1所述的支持大规模用户群的布尔关键词可搜索加密方法,其特征在于,所述步骤S2过程如下:S2a、可信权威机构TA为递归属性集随机选择为递归属性集的每个子集A
i
选择r
i
,其中,r是属性集用于后续和访问树进行匹配验证的参数,r
i
是属性集的子集A
i
用于后续和访问树进行匹配验证的参数,假设递归属性集共有n+1个子集,对第2到第n+1个子集,它们的参数r
i
满足令第1个子集A0的参数r0=r,是与素数p互素的所有数的集合;S2b、可信权威机构TA还需要为递归属性集中的每个属性a
i,j
选择一个参数r
i,j
用于后续的匹配计算,其中S2c、可信权威机构TA计算用于后续生成计算计算和用于后续生成和其中0≤i≤n,1≤j≤m
i
;S2d、可信权威机构TA计算用于后续生成其中1≤i≤n;S2e、可信权威机构TA根据以上变量得到数据用户的私钥并将其发送给数据用户。4.根据权利要求1所述的支持大规模用户群的布尔关键词可搜索加密方法,其特征在于,所述步骤S3过程如下:S3a、数据拥有者随机选择递归关键词集合W
V
用于进行匹配验证的参数用于进行匹配验证的参数是与素数p互素的所有数的集合,并且计算用于密文与关键词匹配验证计算的参数和用于转换结点处的转换计算的参数和用于转换结点处的转换计算的参数S3b、数据拥有者生成含有n
′
个随机参数的集合其中,s
i
′
是递归关键词集合W
V
的子集用于进行匹配验证的参数,令s0=s,是子集用于进行匹配验证的参数;S3c、数据拥有者生成一个用于后续进行匹配计算的随机参数集合其中,s
i
′
,j
′
对应关键词w
ρ(i
′
,j
′
)
;S3d、数据拥有者计算用于关键词匹配算法DecryptNodeII计算的参数和其中0≤i
′
≤n
′
,1≤j
′
≤m
′
i
′
,关键词匹配算法DecryptNodeII用于密文和检索令牌关键词匹配计算,接着计算能
使递归关键词集合的子集的s
i
′
转换成子集的s0的参数其中1≤i
′
≤n
′
;S3e、数据拥有者使用秘密分享算法有者使用秘密分享算法计算s的秘密分享,其中q
v
(0)表示结点v的秘密共享多项式中常数的值,表示访问树的叶子结点,表示根据s和访问树运行秘密分享算法;S3f、数据拥有者针对访问树的每个叶子结点v计算用于属性匹配算法DecryptNodeI计算的参数和属性匹配算法DecryptNodeI用于用户属性集和访问树匹配计算;S3g、将访...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。