细粒度的关键词加密及基于布隆过滤器的安全索引方法技术

技术编号:39441261 阅读:12 留言:0更新日期:2023-11-19 16:24
本发明专利技术公开了一种细粒度的关键词加密及基于布隆过滤器的安全索引方法,包括系统初始化;生成密钥;用户对自己的每个文件依据个人需求构建关键词明文列表,用公钥加密得到密文列表;用户对自己的所有文件进行一次授权,云端对用户的每个文件生成一次授权布隆过滤器;当用户查询文件时,选择一关键词明文生成陷门,云端通过验证用户及密文的合法性,主要是通过特定测试算法对陷门与密文进行关键词内容比对,返回用户查询的文件。本发明专利技术还能通过二次授权,使所有二次授权过的用户之间进行文件互查。本发明专利技术能满足用户搜索自身数据及其他用户数据的需求和云计算中用户搜索权限细粒度划分的需求,能构建实现快速、安全的索引,提升用户体验感。升用户体验感。升用户体验感。

【技术实现步骤摘要】
细粒度的关键词加密及基于布隆过滤器的安全索引方法


[0001]本专利技术涉及一种密文搜索方法,尤其涉及一种细粒度的关键词加密及基于布隆过滤器的安全索引方法。

技术介绍

[0002]随着大数据时代的到来,云计算飞速发展,海量数据夜以继日持续产出,比如电子数据,移动定位数据等。这些数据纷乱繁杂并且海量,人们在大数据环境中处理有效信息更加困难,云存储因此问世,使得用户无需考虑本地物理存储空间不足的问题。但是由于云中数据是由外包公司进行管理,因此敏感数据的隐私性得到挑战,各类云中加密方案,密文搜索方案,以及应对海量数据的高效搜索方案应运而生。
[0003]实际应用中,每个用户都在云中存有一些加密文件,这些加密文件在需要时会被自己或其他用户检索并下载。
[0004]Boneh等人在2004年提出了公钥可搜索加密协议方案,协议实现了密文关键词检索功能。(Boneh D,Di Crescenzo G,Ostrovsky R,Persiano G.Public key encryption with keyword search.In:Camenisch LJ,Cachin C,eds.Proc.of the Advances in Cryptology—EUROCRYPT 2004.LNCS 3027,Berlin:Springer

Verlag,2004.506

522)。在他们的方案中,用户只能搜索用自己公钥加密的数据,不能搜索用其他用户公钥加密的数据,效率较低,实用性不强。
[0005]Goh在2004年提出了一种高效的安全索引构造方案,方案实现了基于布隆过滤器的高效的对称加密关键词密文安全索引构造。(Goh,Eu

jin.(2004).Secure Indexes.IACR Cryptology ePrint Archive.2003.)。在Goh的方案中,加密方式是对称加密,无法实现公钥加密数据的高效搜索,安全性难以保障,秘钥管理也十分困难。
[0006]在现有的公钥可搜索加密协议(PEKS)算法中,用户都只能搜索自身公钥加密得到的数据,无法搜索其他用户公钥加密的数据;然而基于布隆过滤器的安全索引虽然高效,但无法应用于公钥加密体系,无法满足现实生活中用户的需求。

技术实现思路

[0007]本专利技术的目的就在于提供一种解决上述问题,在不可信的云环境中,在不暴露安全索引所附带的明文信息的同时,实现用户搜索权限的细粒度化以及高效搜索,为云环境中存储加密关键词以及密文高效搜索提供一种解决方案的,细粒度的关键词加密及基于布隆过滤器的安全索引方法。
[0008]为了实现上述目的,本专利技术采用的技术方案是这样的:一种细粒度的关键词加密及基于布隆过滤器的安全索引方法,包括以下步骤;
[0009](1)系统初始化,包括步骤(1.1)

(1.2);
[0010](1.1)输入安全参数k∈Z
+
,生成系统参数params;
[0011]params=(P,Q,e,H(),H1(),H2()

,H
k
())
[0012]其中,P和Q为从加法群G1中随机选取的两个元素,H()是G
14

G1的哈希函数,H1(),H2()

,H
k
()是随机选择的k个从乘法群G
T
中的元素映射到范围是[1,L
BF
]的位置的相互独立的哈希函数,G1、G
T
的阶都是素数p(|p|=k),L
BF
为布隆过滤器的长度,Z
+
为正整数;
[0013](1.2)对每个用户,确定其在云端存储的一批文件;
[0014]对用户U,一批文件为s个,设置用户U的授权次数值tag
U
并初始化为0;
[0015]对用户U的每个文件,设置一布隆过滤器并初始化为0,其中文件i对应的布隆过滤器为
[0016](2)生成密钥:输入安全参数k∈Z
+
和系统参数params,为每个用户生成公钥和私钥;其中,用户U的公钥为pk
U
、私钥为sk
U

[0017](3)用户对自己的每个文件构建关键词明文列表,用公钥加密得到密文列表,其中用户U的文件i加密方法为包括步骤(31)

(33);
[0018](31)选取用户U的文件i,根据文件内容确定多个关键词明文;
[0019](32)对每个关键词明文,用系统参数params、用户U的公钥pk
U
生成对应的密文,其中用户U的文件i第j个密文,标记为C
U,i,j
,且,且,且分别为C
U,i,j
的第一部分密文到第四部分密文;
[0020](33)将生成的所有密文按顺序构成文件i的密文列表;
[0021](4)用户对自己的所有文件进行一次授权,云端对用户的每个文件生成一次授权布隆过滤器,其中用户U的文件i的一次授权布隆过滤器的生成方法包括步骤(41)

(46);
[0022](41)用户U生成第一授权令牌auth1
U
=(x
U

,y
U

),x

U
、y
U

为私钥sk
U
中的两个元素;
[0023](42)根据第一授权令牌为用户U的文件i中每个密文计算第一中间密文值,其中第j个密文的第一中间密文值通过下式计算;
[0024][0025](43)计算文件i中每个密文的第一表现值,其中第j个密文的第一表现值通过下式计算;
[0026][0027](44)对每个密文的表现值,用系统参数params中的H1(),H2()

,H
k
()进行哈希映射得到k个第一定位值,其中,的k个第一定位值为
[0028](45)找到中,所有位置与定位值相同的元素,将其值置为1,得到一次授权布
隆过滤器;
[0029](46)当用户U所有文件均生成一次授权布隆过滤器后,修改用户U的授权次数值tag
U
=1;
[0030](5)当用户U查询一文件时,选择一个关键词明文生成陷门TD
U
=(td
3,U
,td
4,U
);td
3,U
、td
4,U
分别为陷门第一部分和陷门第二部分,该关键词明文位于关键词明文列表中的第l个;
[0031](6)云端验证用户及密文的合法性,验证通过后返回用户查询的文件,其中对用户U的验证包括步骤(61)

(65);...

【技术保护点】

【技术特征摘要】
1.一种细粒度的关键词加密及基于布隆过滤器的安全索引方法,其特征在于:包括以下步骤;(1)系统初始化,包括步骤(1.1)

(1.2);(1.1)输入安全参数k∈Z
+
,生成系统参数params;params=(P,Q,e,H(),H1(),H2()...,H
k
())其中,P和Q为从加法群G1中随机选取的两个元素,H()是G
14

G1的哈希函数,H1(),H2()...,H
k
()是随机选择的k个从乘法群G
T
中的元素映射到范围是[1,L
BF
]的位置的相互独立的哈希函数,G1、G
T
的阶都是素数p(|p|=k),L
BF
为布隆过滤器的长度,Z
+
为正整数;(1.2)对每个用户,确定其在云端存储的一批文件;对用户U,一批文件为s个,设置用户U的授权次数值tag
U
并初始化为0;对用户U的每个文件,设置一布隆过滤器并初始化为0,其中文件i对应的布隆过滤器为(2)生成密钥:输入安全参数k∈Z
+
和系统参数params,为每个用户生成公钥和私钥;其中,用户U的公钥为pk
U
、私钥为sk
U
;(3)用户对自己的每个文件构建关键词明文列表,用公钥加密得到密文列表,其中用户U的文件i加密方法为包括步骤(31)

(33);(31)选取用户U的文件i,根据文件内容确定多个关键词明文;(32)对每个关键词明文,用系统参数params、用户U的公钥pk
U
生成对应的密文,其中用户U的文件i第j个密文,标记为C
U,i,j
,且,且,且分别为C
U,i,j
的第一部分密文到第四部分密文;(33)将生成的所有密文按顺序构成文件i的密文列表;(4)用户对自己的所有文件进行一次授权,云端对用户的每个文件生成一次授权布隆过滤器,其中用户U的文件i的一次授权布隆过滤器的生成方法包括步骤(41)

(46);(41)用户U生成第一授权令牌auth1
U
=(x
U

,y
U

),x

U
、y
U

为私钥sk
U
中的两个元素;(42)根据第一授权令牌为用户U的文件i中每个密文计算第一中间密文值,其中第j个密文的第一中间密文值通过下式计算;(43)计算文件i中每个密文的第一表现值,其中第j个密文的第一表现值通过下式计算;(44)对每个密文的表现值,用系统参数params中的H1(),H2()...,H
k
()进行哈希映射得到k个第一定位值,其中,的k个第一定位值为(45)找到中,所有位置与定位值相同的元素,将其值置为1,得到一次授权布隆过滤器;
(46)当用户U所有文件均生成一次授权布隆过滤器后,修改用户U的授权次数值tag
U
=1;(5)当用户U查询一文件时,选择一个关键词明文生成陷门TD
U
=(td
3,U
,td
4,U
);td
3,U
、td
4,U
分别为陷门第一部分和陷门第二部分,该关键词明文位于关键词明文列表中的第l个;(6)云端验证用户及密文的合法性,验证通过后返回用户查询的文件,其中对用户U的验证包括步骤(61)

(65);(61)验证用户U,若tag
U
=1则用户U合法,进行下一步,否则终止验证;(62)验证密文,对步骤(5)中的关键词明文生成密文对步骤(5)中的关键词明文生成密文计算下面等式;若等式相等,则密文合法,进行下一步,否则终止验证;(63)计算第一布隆查询值V1,(64)用系统参数params中的H1(),H2()...,H
k
()对V1进行哈希映射得到k个第一检测值H1(V1),H2(V1)...,H
k
(V1);(65)在中,查找位置与第一检测值相同的元素,若均为1,则将用户U查询的文件返回给用户U,否则终止验证。2.根据权利要求1所述的细粒度的关键词加密及基于布隆过滤器的安全索引方法,其特征在于:步骤(2)中,对用户U,公钥pk
U
和私钥sk
U
通过下式生成;pk
U
=(Q
U

,W
U
,W
U

)sk
U
=(x
U

,y
U
,y
U

)式中,sk
U
的三个元素x
U

、y
U
、y
U

为随机从中选取的三个数,是素数阶为p的整数加法群,pk
U
的三个元素Q
U

、W
U
、W
U

分别通过下式计算;Q
U

=x

【专利技术属性】
技术研发人员:廖永建曾书涵董英杰王宏伟何金霖熊欢
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1