CN117763593B - 隐藏模式的多关键词对称可搜索加密方法、终端及服务器 - Google Patents
隐藏模式的多关键词对称可搜索加密方法、终端及服务器 Download PDFInfo
- Publication number
- CN117763593B CN117763593B CN202410194234.8A CN202410194234A CN117763593B CN 117763593 B CN117763593 B CN 117763593B CN 202410194234 A CN202410194234 A CN 202410194234A CN 117763593 B CN117763593 B CN 117763593B
- Authority
- CN
- China
- Prior art keywords
- keyword
- document
- search
- query
- hidden
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000013598 vector Substances 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 4
- 230000002441 reversible effect Effects 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 14
- 238000002474 experimental method Methods 0.000 description 11
- 239000000243 solution Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 235000020004 porter Nutrition 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种隐藏模式的多关键词对称可搜索加密方法、终端及服务器,属于数据加密技术领域。给定安全参数,生成密钥;将密钥和数据库作为输入,为本地数据库中每个文档独立生成安全索引;将密钥和查询关键词作为输入,生成查询陷阱门,且在生成陷阱门时引入假阳性和假阴性;将安全索引和陷阱门传输至云服务器,以使云服务器在安全索引上计算每个文档与陷阱门的相似度得分,得到相似度最高的个加密文档。生成搜索陷阱时引入了假阴性和假阳性,进而混淆访问模式和搜索模式,即使在不同时间使用相同的内部关键词进行搜索,搜索陷阱门也会不同,进而隐藏访问模式和搜索模式,防止访问模式和搜索模式泄漏,提升了数据访问的安全性。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及一种隐藏模式的多关键词对称可搜索加密方法、终端及服务器。
背景技术
移动设备已成为我们生活中不可或缺的一部分,用户越来越依赖它们轻松存储和访问个人或企业数据。随着个人和企业数据量的不断激增,仅靠移动设备存储数据已远远不够。作为一项成熟的服务,云计算和云存储也已在移动终端中得到广泛应用。然而,由于大部分数据都以明文形式存储在云服务器上,这些服务器上不断泄露的数据引发了人们对云数据隐私的严重担忧。为了保护敏感数据免遭未经授权的访问,现有技术提出了对称可搜索加密(SSE)方案,使授权用户能够放心地在驻留在云服务器上的加密文档中进行安全搜索。在一般的SSE方案中,数据所有者首先用对称加密算法为每个明文文档生成一个加密文档,并根据每个文档的关键字在本地生成一个加密索引。上传到服务器存储后,授权用户可根据想要查询的关键字生成搜索陷阱门,并将其发送到云服务器。服务器可匹配索引并为用户检索相应文档,用户可在本地解密。
然而,许多现有的SSE方案无法隐藏查询统计信息,因此,即使发送给云服务器的安全索引和陷阱门是加密的,云服务器也能分析出哪些文档包含特定的关键字(即访问模式),以及哪两次搜索包含相同的关键字(即搜索模式)。
虽然大多数云服务器都能提供自适应安全,但半诚信的云服务器仍能恢复查询和文档的底层关键字。通过泄漏访问模式,云服务器可以通过一些背景信息恢复文档中包含的关键字。通过泄露搜索模式,云服务器可以从用户的搜索习惯中推断出关键词。例如,通过文件注入攻击,它可以实现70%的高关键词恢复准确率,仍存在模式泄露的问题。
发明内容
本发明的目的在于克服现有技术的问题,提供了一种隐藏模式的多关键词对称可搜索加密方法、终端及服务器。
本发明的目的是通过以下技术方案来实现的:一种隐藏模式的多关键词对称可搜索加密方法,该方法以用户端作为执行主体,包括以下步骤:
S1:接收安全参数,随机生成两个维度为/>的可逆矩阵/>和一个/>位向量/>,得到由三元组/>组成的密钥/>;
S2:将密钥和本地数据库/>作为输入,其中 />,表示N个文档构成的数据库,为本地数据库/>中每个文档/>(/>)独立生成安全索引/>;
S3:将密钥和查询关键词/>作为输入,生成查询陷阱门/>,且在生成陷阱门/>时引入假阳性和假阴性,假阳性为检索到缺少关键词/>的文档,假阴性为检索不到包含关键词/>的文档;
S4:将所有文档的安全索引/>和陷阱门/>传输至云服务器,以使云服务器使用安全索引/>和陷阱门/>进行搜索,在安全索引/>上计算每个文档/>与陷阱门/>的相似度得分,进而得到相似度最高的/>个加密文档/>。
在一示例中,所述为本地数据库中每个文档独立生成安全索引包括以下子
步骤:
S21:首先为每个文档初始化一个长度为/>的文档布隆过滤器Vi:/>,其中BF为布隆过滤器生成函数;再提取文档中频率大于阈值的k个关键词/>;
S22:提取关键词词根,再将词根转换为二进制向量;
S23:从p-stable LSH函数族中选择独立的LSH函数,并通过LSH函数为二进制向量dc提取哈希值;
S24:将文档布隆过滤器Vi扩展为维向量/>,再生成两个长度/>的向量/>和/>;
S25:对于每个文档,安全索引/>的建立过程为/>。
在一示例中,所述生成查询陷阱门包括以下子步骤:
S31:初始化一个长度为的查询布隆过滤器/>:/>;
S32:提取关键词词根,再将词根转换为二进制向量;
S33:从LSH函数族/>中选择独立的LSH函数,并通过LSH函数为二进制向量/>提取哈希值;
S34:对于每个查询,按照几何分布引入假阳性,以混淆真阳性,/>表示假阳性概率;
S35:将查询布隆过滤器扩展为/>维向量/>,再生成两个长度为/>的向量和/>;
S36:搜索陷阱门的生成过程为。
在一示例中,所述方法以云服务器作为执行主体时,还包括:
接收安全索引和陷阱门/>,在安全索引/>上计算每个文档/>与陷阱门/>的相似度得分,进而得到相似度最高的/>个加密文档/>。
在一示例中,所述相似度的计算表达式为:
;
其中, ,/>分别为可逆矩阵/>的转置矩阵;/>,/>分别为可逆矩阵的逆矩阵;/>表示正态分布/>中的随机数,其中/>表示均值,/>表示标准差;/>为/>中的非零随机数;/>为去除0的实数中的随机数;/>为正整数中的随机数。
需要进一步说明的是,上述各示例对应的技术特征可以相互组合或替换构成新的技术方案。
本发明还包括一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述以用户端作为执行主体任一示例或多个示例形成的所述隐藏模式的多关键词对称可搜索加密方法的步骤。
本发明还包括一种云服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述以云服务器作为执行主体任一示例或多个示例形成的所述隐藏模式的多关键词对称可搜索加密方法的步骤。
与现有技术相比,本发明有益效果是:
1.在一示例中,本发明生成搜索陷阱时引入了假阴性和假阳性,进而混淆访问模式和搜索模式,即使在不同时间使用相同的内部关键词进行搜索,搜索陷阱门也会不同,进而隐藏访问模式和搜索模式,防止访问模式和搜索模式泄漏,提升了数据访问的安全性。
2.在一示例中,本发明先提取关键词词根,然后将词根转换为二进制向量,通过p-stable Hash插入到布隆过滤器中,使布隆过滤器包含了多个关键词的信息,进而支持多关键字搜索,结合在生成搜索陷阱时引入随机性,实现了隐藏模式的多关键词搜索。同时,将多个关键词压缩为二进制向量然后插入布隆过滤器,使得固定长度的布隆过滤器能够包含所有查询关键词信息,即搜索陷门的长度是固定不变的,不会随着搜索关键词的增加而增加,大大节约了计算与通信开销。
3.在一示例中,本发明使用安全索引和陷阱门进行搜索时,搜索算法是计算相关性分数然后排序,每次返回的文档数量是固定的(用户手动设置),不会存在根据文档数量泄露信息的情况,具有良好计数攻击抵御性能。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本发明一示例中的方法流程图;
图2为本发明优选示例中的方法流程图;
图3为本发明与现有算法的频率攻击对照实验结果图;
图4为本发明与现有算法的图攻击对照实验结果图;
图5为本发明计算开销实验结果图;
图6为本发明通信开销实验结果图;
图7为本发明搜索准确度实验结果图。
具体实施方式
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述的方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,使用序数词 (例如,“第一和第二”、“第一至第四”等 )是为了对物体进行区分,并不限于该顺序,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明一种隐藏模式的多关键词对称可搜索加密(MFSSE)方法,可应用于工业互联网中机器的运行日志,监控数据,分析数据,以及设备,材料的采购数据都可以存放在云服务器上,并可以得到安全的检索。在医联网中,病人的医疗数据,医生的诊断数据,处方,以及亲属等敏感信息也可以通过MFSSE存放到云服务器,并体统检索能力。再诸如金融领域,保险行业有关于资金的大量敏感数据,或者是个人的隐私,MFSSE都能提供用户可靠的加密后搜索的服务。
本发明方法主要思想是在生成搜索陷阱时引入随机性,从而为每个查询生成新的
混淆。因此,对于好奇的云服务器而言,辨别两个查询是否包含相同的关键字是一项具有挑
战性的任务。本发明方法涉及的算法包括、、和。通过输入安全参数来输出密钥;将密钥和数据库作为输入,为数据库
生成一组安全索引;以密钥和查询关键字为输入,生成查询陷阱门;以
安全索引和陷阱门为输入,返回排序后相似度最高的前文档。具体来说,本发明在中,引入了假阴性和假阳性来混淆访问模式和搜索模式。
在一示例中,如图2所示,一种隐藏模式的多关键词对称可搜索加密方法,该方法执行主体为用户端(数据所有者)时,包括以下步骤:
S1:接收安全参数,随机生成两个维度为/>的可逆矩阵/>和一个/>位向量/>,得到由三元组/>组成的密钥/>;
S2:将密钥和本地数据库/>作为输入,其中/> ,表示N个文档构成的数据库,为本地数据库中每个文档/>(/>)独立生成安全索引/>;
S3:将密钥和查询关键词作为输入,生成查询陷阱门/>,且在生成陷阱门时引入假阳性和假阴性,假阳性为检索到缺少关键词/>的文档(服务器返回包含关键词的文档),假阴性为检索不到包含关键词/>的文档(服务器返回不包含请求关键词的文档);
S4:将所有文档的安全索引/>和陷阱门/>传输至云服务器,以使云服务器使用安全索引/>和陷阱门/>进行搜索,在安全索引/>上计算每个文档/>与陷阱门/>的相似度得分,进而得到相似度最高的/>个加密文档/>。
本示例中,在生成搜索陷阱时引入了假阴性和假阳性,进而混淆访问模式和搜索模式,即使在不同时间使用相同的内部关键词进行搜索,搜索陷阱门也会不同,进而隐藏访问模式和搜索模式,防止访问模式和搜索模式泄漏,提升了数据访问的安全性。
在一示例中,为本地数据库中每个文档/>独立生成安全索引/>包括以下子步骤:
S21:对于一个数据库而言,首先为数据库中的每个文档/>初始化一个长度为/>的文档布隆过滤器V i :/>,用于存储所有关键词信息,BF为布隆过滤器生成函数;再提取文档中频率大于阈值的k个关键词/>;其中,阈值基于历史经验进行设置,比如阈值为3,此时将文档中出现次数大于3的词组作为关键词进行提取。
S22:提取关键词词根,再将词根转换为二进制向量;
S23:从p-stableLSH函数族中选择个独立的LSH函数后,通过使用个独立同分
布LSH函数为提取个哈希值,并将文档布隆过滤器V i 中的相应位设置为1,实现对文档布隆
过滤器V i 空间的初始化;其中,LSH为位置敏感哈希(Local sensitive hash),p-stableLSH
是LSH其中的一种;表示布隆过滤器里设置的LSH函数数量;dc表示一个初始化为全0,长度
为26*k的二进制向量。
S24:将文档布隆过滤器V i 扩展为维向量/>,再生成两个长度/>的向量/>和/>;
S25:对于每个文档,安全索引/>的建立过程为/>。
步骤S22中,的词根称为,本示例通过波特词根算法(Porter Stemming
Algorithm)得出。例如,考虑以下单词search、searches、searching和searched都具有相似
的意思,它们的共同词根是"search"''。二进制向量dc初始化为全0,长度为390。需要注意
的是,尽管词干相同,但英文关键词可能有不同的表达形式。例如,"search"、"searchs"、"
searching"和"searched"等词都表达了"search"的相似含义,但它们又有细微差别。因此,
如果搜索的关键词是"searching",而索引的关键词是"search",那么由于这两个词之间存
在明显的差异,找到"searching"的可能性就会降低。为克服这一难题,本发明将同根词的
关键词统一为一致的形式,即应用词干算法。通过使用波特词干算法,能够给确定"搜索"一
词的词根形式,然后识别相关文件。
进一步地,文档中的每个词干关键词被转换成一个单词向量。例如,关键词"
search"可以转化为,其中表示该关键词的第一个字母是"s",同
样表示第二个字母是"e"。根据单词向量,对于每个遍历参数,中间变量
的计算公式为,其中是的编码函数;然后,
将的相应位置设为1,dc[c]=1。
步骤S24中,的前维与V i 相同,中的-th条目设置为正态分布
中的随机数,而-th条目设置为1,其中表示均值,表示标准差;因此,等于。本示例中,优选取最小值,便于获得高精度的检索文档。在此,本示例设置。
进一步地,是一个()-bit向量,由组成。对于中的,它会选择一个随
机数。如果,那么;否则。
在本发明示例中,关键字二进制向量的长度设置为,是因为字母表中有26
个字母,词根的长度一般不超过15,而390=26*15。实际上,的长度可以根据用户的不同
要求进行修改。在将关键词转换为单词向量的过程中,不仅记录了单词的每个字母,还保留
了顺序维度,因此在本发明示例中,相同字母异序词没有映射到同一向量,这是现有技术无
法解决的技术问题。本发明通过该转换,即使是拼写错误的单词也能被编码成一个与准确
单词高度相似的向量(用欧氏距离量化)。这种排列方式满足了有效使用LSH功能的先决条
件。
在一示例中,生成查询陷阱门包括以下子步骤:
S31:初始化一个长度为的搜索布隆过滤器,用于存储查询关键词的
相关信息;
S32:将每个查询关键词转换为概率为p(接近1)的二进制向量,具体实现方式与步骤S22相同;
S33:利用与步骤S23中相同的个函数为获取个哈希值,并将查询布隆
过滤器中的相应位设置为1,实现对查询布隆过滤器空间的初始化;
S34:对于每个查询,按照几何分布引入假阳性,以混淆真阳性,表示假
阳性概率;需要说明的是,只有当假阳性概率接近1时,由几何分布生成的假阳性数量
才不会大到导致无效查询。
S35:将布隆过滤器扩展为维向量向量,其中为中的
非零随机数,为去除0的实数中的随机数,为正整数中的随机数;再生成两个长度为的向量和;对于中的,它会选择一个随机数,如果,那么;否则;
S36:搜索陷阱门的生成过程为,它将被一次性发送到云服务
器进行搜索。
在一示例中,在云服务器接收搜索陷阱门后,会将陷阱门用于匹配安全索
引中的加密文档,包括:
依次在安全索引上计算每个文档与陷阱门的相似度得分,并在排序后返回相
似度最高的个文档;获得的相似度分数将被汇总和排序,并向用户端返回与最高分数
相对应的加密文档。
在一示例中,相似度计算表达式为:
需要注意的是,在搜索过程中,相似度计算结果中的随机参数,如、、、等,不
会改变每个文档的相关性得分在最终计算结果中的相对位置,以此保证本发明方案的合理
性。
将上述示例进行组合,得到本发明优选示例,具体实施流程如图1所示,此时步骤S1’-S3’的执行主体为用户端,步骤S4’的执行主体为云服务器,具体包括:
S1’::用户端接收安全参数,随机生成两个维度为的可逆矩阵和一个位向量,得到由三元组组
成的密钥;
S2’::用户端将密钥和数据库作为输入,为本地数据
库中每个文档独立生成安全索引;
S3’::用户端将密钥和查询关键词作
为输入,生成查询陷阱门,且在生成陷阱门时引入假阳性和假阴性,假阳性为检索到
缺少关键词的文档(服务器返回包含关键词的文档),假阴性为检索不到包含关键词
的文档(服务器返回不包含请求关键词的文档);
S4::云服务器使用安全索引和陷阱门进行搜索,在安全
索引上计算每个文档与陷阱门的相似度得分,并在排序后返回相似度最高的个文
档;获得的相似度分数将被汇总和排序,并向用户端返回与最高分数相对应的加密文档。
本发明还可通过考虑文档中出现的关键词频率实现更精确的匹配。在中生成的布隆过滤器中,可以生成一个新的数组,并用文档中每个相应
关键词的频率替换1,而不是将元素设置为1。此修改方式能够更好地满足用户需求,优先处
理关键词相关性更高的文档。简言之,对于两个文档和,如果它们包含相同的关键词,
并且中的关键词相关性得分高于中的关键词,那么在搜索结果中的优先级就会高
于。
为说明本发明MFSSE的性能,现进行综合实验。这些实验使用了A公司电子邮件数
据集(Enron Email Data Set),这是一个包含30109封电子邮件的真实世界数据库。实验设
置是在配备英特尔酷睿i72.70GHz处理器和16GB内存的Linux服务器上使用Python实现的。
为了计算矩阵求逆,使用了Numerical Recipes提供的程序库。实验中,关键参数设置如下:
关键词数量k=15,相似度得分最高的文档数量K=50,为的LSH组件指定了和,表示构造一个p-stable哈希族时的分母,为常数。对于Bloom过滤器(BF),确保误
报率保持在0.001的范围内。本示例中,确定BF的最佳LSH哈希函数数量约为,而BF的最佳长度约为。
(1)频率攻击:它可以利用查询频率信息和搜索模式有效地恢复查询。
(2)IKK攻击:利用关键字共现数据以及访问和搜索模式恢复查询的方法已被用于评估CLRZ方案的有效性。
(3)计数攻击:该方法最初以查询响应量为导向,为每个查询构建潜在关键词集。随后,利用共现信息对这些集合进行改进,不断缩小选择范围,直到只剩下一个可行的分配。
(4)图攻击:利用关键词共现信息,该方法在没有任何关于查询或数据集的基础信息的情况下也能有效运行。
首先研究MFSSE在频率攻击下的安全性。在该实验中,随机选取了一个由250关键词组成的关键词集,并从GoogleTrends中获取了连续50周的查询频率,然后构建了一个50乘以250的矩阵M用于存储频率信息,其中表示客户端在第i周查询了第j个关键词。本实验中分别模拟了CLRZ(G. Chen, T. H. Lai, M. K. Reiter, and Y. Zhang,“Differentially private access patterns for searchable symmetric encryption(可搜索对称加密的差分私有访问模式)”)、OSSE( Obfuscated Symmetric SearchableEncryption,混淆可搜索对称加密)和MFSSE,其中客户端每周查询100、300和1000次。
进一步地,固定概率p=0.9999,并改变上述三种方案中的假阳性概率q值和查询次数。图3显示了上述三种方案在10次运行中的平均攻击精度。可以看出,与CLRZ和OSSE相比,本发明MFSSE在应对频率攻击时取得了更好的性能。这是因为本发明MFSSE能够独立混淆每次查询的访问模式。
本次实验还利用PATH算法进行了图匹配攻击。为了实施这种攻击,将A公司电子邮件平均随机拆分为训练集和测试集。然后只向对手提供训练集进行分析。与IKK相比,这是一种更真实的情况。图4显示了在上述三种方案中,在概率p=0.9999和不同假阳性概率q值的情况下,图匹配攻击的查询恢复率在10次运行中的平均值。结果表明,本发明MFSSE比现有方案能更好地抵御这种攻击。例如,它可以很容易地达到超过的精确度来对抗CLRZ,因为这个值太大而不安全。虽然针对OSSE的攻击显著下降,低于的同时保持了较低的误报率。可以看出,MFSSE能够更好地抵御这种攻击。
需要注意的是,由于MFSSE返回的是前相关文档,因此计数攻击对本发明方案不
起作用。然而,对于大多数SSE方案(包括CLRZ和OSSE)来说,这种攻击都是有效的。
2、计算开销分析
建立索引的计算开销:要为数据库中的每篇文档构建一个可搜索的子索引
,第一步是根据文档中的关键词集生成一个布隆过滤器,然后用对每个数据向量进行
加密。加密的计算开销直接取决于中安全参数的长度。因为在中,主要的计算是生成一个子索引,包括分割过程和两个
矩阵的两次乘法。图5说明本发明构建整个索引所需的时间与数据库大小几乎成线性关
系,这是因为与构建每个子索引相关的时间成本是固定的。
搜索的计算开销:在云服务器中,执行查询的过程涉及对数据库中所有文档的相
似性得分进行计算和排序。拟议方案的查询时间如图5所示。在这里,查询时间与数据库中
的文档数量有关,但与查询关键词的数量无关。这是因为每次搜索的搜索陷阱门都要计算
每个索引的相似度得分,然后根据相似度得分排序后返回结果。因此,其匹配文档的计算复
杂度与数据库大小N成线性关系,为。
就通信开销而言,陷阱门的大小与子索引相同,而且无论查询中包含多少关键词,
安全索引的长度都保持不变。在某些多关键词搜索方案中,查询过程中的计算和通信成本
与查询关键词的数量成线性关系。图6显示通信开销与搜索次数成线性关系。可以看出,由
于Bloom过滤器的长度是恒定的,因此随着查询关键词数量的增加,本发明方案引入的开销
几乎是恒定的。因此,本发明方案提供了一个固定的通信开销,并能抵御通过时序分析
区分特定查询的基于时间的侧信道攻击。
3、搜索准确度分析
由于在生成查询陷阱门时引入了假阳性和假阴性,且每次搜索返回的文档数量固
定,因此在混淆访问模式和搜索模式的同时,返回文档的精度也会受到轻微影响。利用精度
来衡量准确性的结果,用表示,其中表示返回的包含所查询关键词的文档数,表示
返回的文档总数。在本实验中,随机选择搜索关键词,搜索了10000个的文档,并固定返回文
档的数量为。图7显示了10次运行的平均查询精度。除了第一次引入假阳性导致的精
度损失外,随着参数q从0.005增加到0.025,精度从85%略微下降到80%。这是因为无论q值是
多少,几何分布都会引入至少1个的假阳性,以此防止访问模式和搜索模式泄漏。
4、与现有SSE方案的对比
将本发明方案与现有的SSE(Symmetric Searchable Encryption,可搜索对称加
密)方案CLRZ(G. Chen, T. H. Lai, M. K. Reiter, and Y. Zhang, “Differentially
private access patterns for searchable symmetric encryption(可搜索对称加密的
差分私有访问模式)”)、SAP(SAP-SSE: Protecting Search Patterns and Access
Patterns in Searchable Symmetric Encryption,在可搜索对称加密中保护搜索模式和
访问模式)、OSSE( Obfuscated Symmetric Searchable Encryption,混淆可搜索对称加
密)和MRSE(Multi-keyword Ranked Searchable Encryption,多关键字排序检索算法)进
行比较。在本实验中,所有搜索操作都是在包含30109封不同邮件的整个安然数据库中进行
的。在CLRZ中,参数选择如下:CLRZ中进行切分后的冗余文件数m=17,k=8,p=0.99999,。同样,在OSSE中,选择p=0.9999,q=0.01,,在MRSE中选择。
表1对本发明方案和现有的提供模式保护的SSE方案进行了比较分析,分析涉及计算开销(Computation Cost)、通信开销(Communication Cost)、保护访问模式(ProtectAccess Pattern)、保护搜索模式(Protect Search Pattern)、多关键词搜索(Multi-keyword Search)。值得注意的是,本发明方案是唯一能够在保护搜索和访问模式的同时高效支持多关键词查询的解决方案。
表1 本发明与现有方案性能比较分析表
与传统的单关键词查询方案相比,CLRZ提供了更快的搜索操作,而内置的差分隐私和填充方法可能会引入冗余,从而增加存储和通信开销。虽然OSSE可以同时保护访问模式和搜索模式,但巨大的计算开销和通信开销使其不切实际。SAP方案将安全索引存储在多个不相关的云服务器上,然后执行联合查询。它能很好地保护搜索和访问模式,而计算开销则低于本发明方案。但是,上述方案不能支持多关键词搜索,而且通信开销比本发明方案高。与多关键字方案相比,MRSE泄露了搜索模式,而且无法抵御计数攻击,因为它每次都会针对相同的查询返回相同的文档。此外,本发明方案计算和通信开销更小。
现进一步说明本申请方案与MRSE的区别:
1)关键词转换方法不同:关键词转换是本发明方法的关键技术手段。在B. Wang等
人提出的云端加密数据的隐私保护多关键字模糊搜索框架中(以MRSE为例),一个关键词最
初会被转换成一个双词组。随后,这个双元组被映射成一个位的向量,每个元素代表可行双元组中的一个。如果给定关键词的双词组中存在特定的双词组,相应的元素就会
被设置为1。相反,在本发明中,保留了关键词的向量表示法,采用了基于单词的关键字转换
技术。如关键词"search"的单词组转换为,其中表示词的首字母是'
s',以此类推。对本发明MFSSE和MRSE进行了比较分析,包括不同拼写错误下的性能和其他
相关因素等各个方面。在不同拼写错误的情况下,MFSSE能使拼写错误的关键词与原始关键
词的欧几里得距离小于B.Wang等人提出的方法。错误拼写的情况如下:
a)字母缺失:假设关键字"search"被错误地拼成了"suarch"。使用本发明方法,只
需改变一个单字符串,就能将拼写错误的关键词"suarch'"转换为。因
此,正确关键词与拼写错误关键词之间的欧氏距离为。相反,在MRSE中,拼写错误的关键
词"suarch"的双词组为,改变了两个双词组,导致欧氏距离增大到2。因
此,本发明方法得出的欧氏距离较小。
b)字母颠倒:假设关键字"search"拼错为"saerch"。本发明方法将拼写错误的关
键词"saerch"转换为,从而使生成的向量与正确向量之间的欧氏距离
为2。在MRSE中,使用双语法集,那么"saerch"的双语法集是,欧氏距离为
3。
此外,本发明方法还保留了关键词的顺序维度。在MRSE中,关键词的顺序被丢弃,导致无法多次表示相同的双词组。考虑"Peaceable"这个词,它的双元组集合中包含了两个"ea"双元组实例。然而,在转换成向量的过程中,只有一个实例被考虑在内,而本发明方法保留了关键词的顺序维度,能够有效处理这一问题。
2)本发明还引入了假阴性和假阳性:在算法中,本发明方法在生成
搜索向量时以的概率将相应的位翻转为1。这部分的目标是尝试在真正包含的文档
中实现匹配,同时以较小的概率出现假阴性。此外,通过产生假阳性来隐藏真阳性。这些假
阳性是根据以参数为特征的几何分布产生的。值得注意的是,为避免假阳性数量过
多,趋近于零。通过引入假阴性和假阳性,即使搜索的关键词集相同,搜索BF也会不同,因
此每次搜索的结果都会略有波动。同时,在云服务器中使用秘钥进行的安全内积计算隐
藏了真实的文档BF和查询BF。因此,访问模式和搜索模式可以很好地混淆。
3)本发明还引入了随机参数,,,:由于云服务器计算的是每个文档和查询
的结果分数,因此它不得访问这些敏感信息。如果云服务器获得了这些有价值的信息,它就
有可能利用选定的背景知识推导出更多信息。因此,本发明为每个文档和每个查询分别加
入了一个服从正态分布的随机数,,,以保护最终的相似性结果得分,防止信息泄露。
本实施例提供了一种存储介质,与上述任一示例或多个示例组合形成的一种隐藏模式的多关键词对称可搜索加密方法具有相同的发明构思,其上存储有计算机指令,计算机指令运行时执行上述任一示例或多个示例组合形成的所述一种隐藏模式的多关键词对称可搜索加密方法的步骤。
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还包括一种终端(用户端),与上述以用户端为执行主体的任一示例或多个示例组合形成的一种隐藏模式的多关键词对称可搜索加密方法具有相同的发明构思,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述一种隐藏模式的多关键词对称可搜索加密方法的步骤。处理器可以是单核或者多核中央处理单元或者特定的集成电路,或者配置成实施本发明的一个或者多个集成电路。
在一示例中,终端即电子设备以通用计算设备的形式表现,电子设备的组件可以包括但不限于:上述至少一个处理单元(处理器)、上述至少一个存储单元、连接不同系统组件(包括存储单元和处理单元)的总线。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元执行,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元可以执行上述一种隐藏模式的多关键词对称可搜索加密方法。
存储单元可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元,还可以进一步包括只读存储单元(ROM)。
存储单元还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本示例性实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行本申请示例性实施例的方法。
本发明还包括一种云服务器,包括存储器和处理器,存储器上存储有可在处理器
上运行的计算机指令,该处理器运行计算机指令时执行上述任一示例或多个示例组合形成
的方法的步骤。
以上具体实施方式是对本发明的详细说明,不能认定本发明的具体实施方式只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替代,都应当视为属于本发明的保护范围。
Claims (6)
1.隐藏模式的多关键词对称可搜索加密方法,其特征在于,所述方法以用户端作为执行主体,包括以下步骤:
S1:接收安全参数L,随机生成两个维度为(L+2)×(L+2)的可逆矩阵{M1,M2}和一个(L+2)位向量S,得到由三元组{M1,M2,S}组成的密钥sk;
S2:将密钥sk和本地数据库作为输入,其中/>表示N个文档构成的数据库,为本地数据库/>中每个文档/>独立生成安全索引Ii,具体步骤如下:
S21:首先为每个文档初始化一个长度为L的文档布隆过滤器Vi:Vi=BF(L),其中BF为布隆过滤器生成函数;再提取文档中频率大于阈值的k个关键词/>
S22:提取关键词词根,再将词根转换为二进制向量;
S23:从p-stable LSH函数族中选择独立的LSH函数,并通过LSH函数为二进制向量dc提取哈希值;
S24:将文档布隆过滤器Vi扩展为(L+2)维向量再生成两个长度L+2的向量/>和/>
S25:对于每个文档安全索引Ii的建立过程为/>
S3:将密钥sk和查询关键词作为输入,生成查询陷阱门/>且在生成陷阱门/>时引入假阳性和假阴性,假阳性为检索到缺少关键词/>的文档,假阴性为检索不到包含关键词/>的文档;其中,生成查询陷阱门/>包括以下子步骤:
S31:初始化一个长度为L的查询布隆过滤器Q:Q=BF(L);
S32:提取关键词词根,再将词根转换为二进制向量;
S33:从p-stable LSH函数族中选择独立的LSH函数,并通过LSH函数为二进制向量dc提取哈希值;
S34:对于每个查询,按照几何分布Geo(1-q)引入假阳性,以混淆真阳性,q表示假阳性概率;
S35:将查询布隆过滤器Q扩展为(L+2)维向量再生成两个长度为L+2的向量/>和/>
S36:搜索陷阱门的生成过程为
S4:将所有文档的安全索引Ii和陷阱门/>传输至云服务器,以使云服务器使用安全索引Ii和陷阱门/>进行搜索,在安全索引Ii上计算每个文档/>与陷阱门/>的相似度得分,进而得到相似度最高的K个加密文档/>相似度的计算表达式为:
其中,分别为可逆矩阵M1,M2的转置矩阵;/>分别为可逆矩阵M1,M2的逆矩阵;δi表示正态分布N(μ,σ)中的随机数,其中μ表示均值,σ表示标准差;s为[-1,1]中的非零随机数;r为去除0的实数中的随机数;a为正整数中的随机数。
2.根据权利要求1所述的隐藏模式的多关键词对称可搜索加密方法,其特征在于,所述方法以云服务器作为执行主体时,还包括:
接收安全索引Ii和陷阱门在安全索引Ii上计算每个文档/>与陷阱门/>的相似度得分,进而得到相似度最高的K个加密文档/>
3.根据权利要求2所述的隐藏模式的多关键词对称可搜索加密方法,其特征在于,对于[0,L+1]中的j,选择一个随机数αj,如果S[j]=1,那么否则,
4.根据权利要求3所述的隐藏模式的多关键词对称可搜索加密方法,其特征在于,对于[0,L+2]中的j,选择一个随机数αj,如果S[j]=0,那么否则
5.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于:所述处理器运行所述计算机指令时执行权利要求1所述的隐藏模式的多关键词对称可搜索加密方法的步骤。
6.一种云服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于:所述处理器运行所述计算机指令时执行权利要求2所述的隐藏模式的多关键词对称可搜索加密方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410194234.8A CN117763593B (zh) | 2024-02-21 | 2024-02-21 | 隐藏模式的多关键词对称可搜索加密方法、终端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410194234.8A CN117763593B (zh) | 2024-02-21 | 2024-02-21 | 隐藏模式的多关键词对称可搜索加密方法、终端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117763593A CN117763593A (zh) | 2024-03-26 |
CN117763593B true CN117763593B (zh) | 2024-05-07 |
Family
ID=90316735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410194234.8A Active CN117763593B (zh) | 2024-02-21 | 2024-02-21 | 隐藏模式的多关键词对称可搜索加密方法、终端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763593B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796858A (zh) * | 2015-03-23 | 2015-07-22 | 电子科技大学 | 一种位置服务中基于假位置和几何学的位置隐私保护方法 |
CN112270006A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 |
EP4020265A1 (en) * | 2020-12-25 | 2022-06-29 | Shanghai Kunyao Network Science & Technology Co., Ltd. | Method and device for storing encrypted data |
CN115292737A (zh) * | 2022-10-08 | 2022-11-04 | 成都泛联智存科技有限公司 | 一种多关键词模糊搜索加密方法、系统及电子设备 |
CN117421771A (zh) * | 2023-10-30 | 2024-01-19 | 天翼安全科技有限公司 | 一种面向结构化数据的可搜索加密方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645409B2 (en) * | 2020-12-18 | 2023-05-09 | Seagate Technology Llc | Search and access pattern hiding verifiable searchable encryption for distributed settings with malicious servers |
-
2024
- 2024-02-21 CN CN202410194234.8A patent/CN117763593B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796858A (zh) * | 2015-03-23 | 2015-07-22 | 电子科技大学 | 一种位置服务中基于假位置和几何学的位置隐私保护方法 |
CN112270006A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 |
EP4020265A1 (en) * | 2020-12-25 | 2022-06-29 | Shanghai Kunyao Network Science & Technology Co., Ltd. | Method and device for storing encrypted data |
CN115292737A (zh) * | 2022-10-08 | 2022-11-04 | 成都泛联智存科技有限公司 | 一种多关键词模糊搜索加密方法、系统及电子设备 |
CN117421771A (zh) * | 2023-10-30 | 2024-01-19 | 天翼安全科技有限公司 | 一种面向结构化数据的可搜索加密方法、装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
A Practical Redactable Blockchain Framework With a Public Trapdoor;Weiqi Dai;Jinkai Liu;Yang Zhou;Kim-Kwang Raymond Choo;Xia Xie;Deqing Zou;Hai Jin;IEEE Transactions on Information Forensics and Security;20240104;第19卷;2425-2437 * |
Adversarial Sample Attack and Defense Method for Encrypted Traffic Data;Yi Ding;Guiqin Zhu;Dajiang Chen;Xue Qin;Mingsheng Cao;Zhiguang Qin;《IEEE Transactions on Intelligent Transportation Systems》;20220328;第23卷(第10期);18024-18039 * |
Privacy Preserving Index for Encrypted Electronic Medical Records;Yu-Chi Chen, Gwoboa Horng, Yi-Jheng Lin & Kuo-Chang Chen;《Journal of Medical Systems 》;20131026;第37卷;1-16 * |
Also Published As
Publication number | Publication date |
---|---|
CN117763593A (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Searchable encryption over feature-rich data | |
CN110326253B (zh) | 用于对加密数据进行模糊关键字搜索的方法和系统 | |
Fu et al. | Enabling central keyword-based semantic extension search over encrypted outsourced data | |
Kuzu et al. | Efficient similarity search over encrypted data | |
Li et al. | Fuzzy keyword search over encrypted data in cloud computing | |
US9646166B2 (en) | Masking query data access pattern in encrypted data | |
US7873840B2 (en) | System and method for order-preserving encryption for numeric data | |
EP3497613B1 (en) | Protected indexing and querying of large sets of textual data | |
Dai et al. | A privacy-preserving multi-keyword ranked search over encrypted data in hybrid clouds | |
Li et al. | Enabling efficient fuzzy keyword search over encrypted data in cloud computing | |
Pang et al. | Privacy-preserving fuzzy matching using a public reference table | |
Ge et al. | Privacy-preserving graph matching query supporting quick subgraph extraction | |
Fu et al. | A privacy-preserving fuzzy search scheme supporting logic query over encrypted cloud data | |
Gupta et al. | A learning oriented DLP system based on classification model | |
Yan et al. | Secure multi-keyword search supporting dynamic update and ranked retrieval | |
CN117763593B (zh) | 隐藏模式的多关键词对称可搜索加密方法、终端及服务器 | |
Abdulsada et al. | Efficient multi-keyword similarity search over encrypted cloud documents | |
Vatsalan et al. | Local differentially private fuzzy counting in stream data using probabilistic data structures | |
Mohammed et al. | Secure Multi-keyword Similarity Search Over Encrypted Data With Security Improvement. | |
Chakraborty et al. | BSMFS: Blockchain assisted secure multi-keyword fuzzy search over encrypted data | |
CN115310514A (zh) | 海量数据中识别目标类型数据的方法及装置 | |
TS et al. | Privacy Preserving Many-Sided Shield in Cloud Environment | |
Cao et al. | A novel fuzzy search approach over encrypted data with improved accuracy and efficiency | |
Bonomi et al. | A review of privacy preserving mechanisms for record linkage | |
Manasrah et al. | A privacy-preserving multi-keyword search approach in cloud computing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |