首页> 中国专利> 一种基于关键词分组倒排索引的多关键词密文排序检索方法

一种基于关键词分组倒排索引的多关键词密文排序检索方法

摘要

本发明公开了一种基于关键词分组倒排索引的多关键词密文排序检索方法。其步骤:一、数据处理与外包阶段,首先,数据拥有者生成一组密钥并共享给数据使用者;接着,对关键词进行分组,生成关键词分组集合及其对应的文档倒排列表集合;其次,生成文档向量、关键词分组向量及关键词分组倒排索引,并进行加密;将加密后的文档集合和关键词分组倒排索引外包至云服务器进行存储;二、检索阶段,首先,数据使用者生成检索陷门并发送至云服务器;然后,云服务器根据陷门在加密的关键词分组倒排索引上进行排序检索,并将其结果返回给数据使用者;最后,数据使用者通过密钥解密获得明文形式的检索结果。本发明实现安全、高效的多关键词密文排序检索功能。

著录项

  • 公开/公告号CN111966778B

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 南京邮电大学;

    申请/专利号CN202010649370.3

  • 申请日2020-07-08

  • 分类号G06F16/31(2019.01);G06F16/36(2019.01);G06F16/951(2019.01);G06F16/953(2019.01);G06F21/60(2013.01);

  • 代理机构南京苏高专利商标事务所(普通合伙) 32204;

  • 代理人曹坤

  • 地址 210003 江苏省南京市鼓楼区新模范马路66号

  • 入库时间 2022-09-06 00:36:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    授权

    发明专利权授予

说明书

技术领域

本发明涉及一种云环境下的多关键词密文排序检索方法,具体涉及一种基于关键词分组倒排索引的多关键词密文排序检索方法。

背景技术

云计算的发展促进了数据的存储和计算,越来越多的企业和个人选择将他们的数据外包到云中,以便他们可以随时随地的访问数据。同时,云服务器提供商也可以根据数据存储和计算的要求,为用户提供定制的云服务,服务商的集中式资源管理和按需付费服务模型节省了双方的成本。但是,外包数据可能涉及商业秘密或个人隐私,并且数据所有者不想将此信息公开给云服务器供应商。因此,数据拥有者通常在上传数据之前对其进行加密,尽管此方法可以保证外包数据的私密性,但它也会影响数据的可用性,例如排序检索等。因此,我们需要设计一种平衡方案以同时确保数据的安全性和可用性。

当前,可搜索加密是在云环境下实现保护隐私的排序检索的一种对策,可以在保证安全性和可用性的同时存储、检索数据。很多解决方案选择将加密文档与倒排索引一起外包云服务器中,然后根据TF-IDF向量空间模型计算待检索关键字与文档之间的相关性分数,最后获取前k个相关性分数最高的检索结果。为了保护数据隐私,为了保护隐私,通常会在外包之前需要对索引和文档进行加密。但是,再使用传统倒排索引结构进行检索时,传统倒排索引的结构特点会暴露出“冷词”、“热词”以及待检索的关键词集合等信息。因此,如何改进传统倒排索引结构来实现对加密数据的隐私保护排序检索是一个挑战。

发明内容

本发明的目的是为了解决传统倒排索引与TF-IDF向量空间模型结合起来实现多关键词密文排序检索时出现的隐私泄露问题,提供一种安全、高效的基于关键词分组倒排索引的多关键词密文排序检索方法。

本发明的技术方案是:一种基于关键词分组倒排索引的多关键词密文排序检索方法,包括数据处理与外包、检索两个阶段;

其中,(1)、所述数据处理与外包阶段具体的操作步骤如下:

(1.1)、数据拥有者生成一组密钥KEY={K,S

(1.2)、数据拥有者提取所有明文文档中的关键词组成关键词词典,并对关键词词典中的关键词进行分组,构造每个分组的关键词分组向量;

(1.3)、数据拥有者对明文文档集合进行预处理,针对每个明文文档生成其对应的文档向量,并利用密钥K对明文文档本身进行加密;

(1.4)、数据拥有者构造关键词分组倒排索引;

(1.5)、数据拥有者利用密钥S

(1.6)、数据拥有者将加密关键词分组倒排索引和加密明文文档集合发送至云服务器,将密钥共享给数据使用者;

(2)、所述检索阶段具体的操作步骤如下:

(2.1)、数据使用者根据待检索的关键词集合生成检索向量和分组过滤向量;

(2.2)、数据使用者首先用数据拥有者共享的密钥S

(2.3)、数据使用者将检索陷门发送至云服务器进行检索请求;

(2.4)、云服务器接收到发来的检索陷门后,根据步骤(1.5)中获得的加密关键词分组倒排索引,首先计算加密的关键词分组向量和检索陷门中提供的分组过滤向量的内积,将其中内积不为零的分组作为候选分组;然后计算每个候选分组所对应的倒排列表中的每个加密明文文档向量与检索向量的内积,求得文档与检索关键词之间的相关性得分,获取该倒排列表中的前k个相关性得分最高的文档;处理完所有的候选分组之后,将找到全局的前k个相关性得分最高的文档;最后,云服务器将这k个文档对应的加密明文文档文档返回给数据使用者;

(2.5)、数据使用者接收到云服务器发送的加密明文文档后,用数据拥有者共享的密钥K进行解密,最终获得明文检索结果。

进一步的,步骤(1.2)具体的操作步骤如下:

(1.2.1)、数据拥有者提取文档集合D中每个文档包含的关键词形成关键词词典W={w

(1.2.2)、数据拥有者将原始关键词词典W中的关键词进行分组,生成的关键词分组集合为KG={G

1)、W=G

2)、D=DS(G

(1.2.3)、对于关键词分组集合KG中的每一个分组G

(1.2.4)、数据拥有者生成关键词分组向量集合

进一步的,步骤(1.3)具体的操作步骤如下:

(1.3.1)、数据拥有者为原始文档集合D中的任意文档d

其中,λ是所有文档向量的前m个维度的非零值的平均值:

(1.3.2)、数据拥有者使用密钥K对文档集合D中的每个文档d

进一步的,步骤(1.4)具体的操作步骤如下:

(1.4.1)、对于文档集合D中的每个文档d

(1.4.2)、对于每一个关键词分组G

(1.4.3)、数据拥有者为每一个关键词分组G

(1.4.4)、构造关键词分组倒排索引I={I[1],I[2],…,I[s]}。

进一步的,步骤(1.5)具体的操作步骤如下:

(1.5.1)、数据拥有者使用密钥S

(1.5.2)、利用可逆矩阵M

(1.5.3)、数据拥有者使用密钥S

(1.5.4)、利用可逆矩阵M

(1.5.5)、基于(1.5.2)和(1.5.4)生成的

(1.5.6)、构造加密的关键词分组倒排索引

进一步的,步骤(2.1)具体的操作步骤如下:

(2.1.1)、数据使用者根据待检索的关键词集合Q={w

其中,μ是检索向量前m个维度的非零值中的最小值:

μ=min{V

(2.1.2)、数据使用者根据待检索关键词集合Q生成分组过滤向量VF

进一步的,步骤(2.2)具体的操作步骤如下:

(2.2.1)、数据使用者使用密钥S

(2.2.2)、数据使用者用可逆矩阵M

(2.2.3)、数据使用者用密钥S

(2.2.4)、数据使用者用可逆矩阵M

(2.2.5)、基于生成的加密分组过滤向量

本发明的有益效果是:1、提出了一种新颖的关键词分组倒排索引,由一个关键词分组对应一个倒排列表而不是传统倒排列表中一个关键词对应一个倒排列表;2、采用TF-IDF向量空间模型来计算待检索关键词和文档之间的相关性分数,不会降低检索的精度;3、通过等长划分倒排列表长度,解决了传统倒排索引结构暴露关键词的逆文档频率的问题;4、一个关键词分组对应一个倒排列表,使得在检索时可以隐藏检索关键词集合的信息;5、提出的方案实现了精确的排序检索,搜索结果的精度非常高,同时实现了数据的隐私保护。

附图说明

图1为本发明的系统架构图;

图2为本发明中数据处理与外包阶段的结构流程图;

图3为本发明中检索阶段的结构流程图。

具体实施方式

为了更清楚地说明本发明的技术方案,下面结合附图对本发明的技术方案做进一步的详细说明:

为了方便描述,现对相关符号作如下定义:

密钥KEY={K,S

如图1所述;该系统架构图描述了系统三个主体数据拥有者、数据使用者和云服务器之间相互协作,实现多关键词密文排序检索的过程;在数据处理与外包阶段,数据拥有者首先生成一组密钥,并将其共享给数据数据使用者;接下来,数据拥有者对关键词进行分组,生成关键词分组集合和相应的倒排列表;其次,数据拥有者生成文档向量和关键词分组向量;然后,数据拥有者生成关键词分组倒排索引,并使用密钥对关键词分组倒排索引和明文文档集合进行加密;最后,数据拥有者将加密后的文档和关键词分组倒排索引外包至云服务器;

在检索阶段,首先,数据使用者生成检索陷门并将其作为检索指令发送至云服务器;然后,云服务器根据加密的关键词分组倒排索引进行排序检索,并将密文检索结果返回给数据使用者;最后,数据使用者通过解密获得明文检索结果。

具体的;(1)、所述数据处理与外包阶段具体的操作步骤如下:

(1.1)、数据拥有者生成一组密钥KEY={K,S

(1.2)、数据拥有者提取所有明文文档中的关键词组成关键词词典,并对关键词词典中的关键词进行分组,构造每个分组的关键词分组向量;

(1.3)、数据拥有者对明文文档集合进行预处理,针对每个明文文档生成其对应的文档向量,并利用密钥K对明文文档本身进行加密;

(1.4)、数据拥有者构造关键词分组倒排索引;

(1.5)、数据拥有者利用密钥S

(1.6)、数据拥有者将加密关键词分组倒排索引和加密明文文档集合发送至云服务器,将密钥共享给数据使用者;

(2)、所述检索阶段具体的操作步骤如下:

(2.1)、数据使用者根据待检索的关键词集合生成检索向量和分组过滤向量;

(2.2)、数据使用者首先用数据拥有者共享的密钥S

(2.3)、数据使用者将检索陷门发送至云服务器进行检索请求;

(2.4)、云服务器接收到发来的检索陷门后,根据步骤(1.5)中获得的加密关键词分组倒排索引,首先计算加密的关键词分组向量和检索陷门中提供的分组过滤向量的内积,将其中内积不为零的分组作为候选分组;然后计算每个候选分组所对应的倒排列表中的每个加密明文文档向量与检索向量的内积,求得文档与检索关键词之间的相关性得分,获取该倒排列表中的前k个相关性得分最高的文档;处理完所有的候选分组之后,将找到全局的前k个相关性得分最高的文档;最后,云服务器将这k个文档对应的加密明文文档文档返回给数据使用者;

(2.5)、数据使用者接收到云服务器发送的加密明文文档后,用数据拥有者共享的密钥K进行解密,最终获得明文检索结果。

进一步的,步骤(1.2)具体的操作步骤如下:

(1.2.1)、数据拥有者提取文档集合D中每个文档包含的关键词形成关键词词典W={w

(1.2.2)、数据拥有者将原始关键词词典W中的关键词进行分组,生成的关键词分组集合为KG={G

1)、W=G

2)、D=DS(G

(1.2.3)、对于关键词分组集合KG中的每一个分组G

(1.2.4)、数据拥有者生成关键词分组向量集合

进一步的,步骤(1.3)具体的操作步骤如下:

(1.3.1)、数据拥有者为原始文档集合D中的任意文档d

其中,λ是所有文档向量的前m个维度的非零值的平均值:

(1.3.2)、数据拥有者使用密钥K对文档集合D中的每个文档d

进一步的,步骤(1.4)具体的操作步骤如下:

(1.4.1)、对于文档集合D中的每个文档d

(1.4.2)、对于每一个关键词分组G

(1.4.3)、数据拥有者为每一个关键词分组G

(1.4.4)、构造关键词分组倒排索引I={I[1],I[2],…,I[s]}。

进一步的,步骤(1.5)具体的操作步骤如下:

(1.5.1)、数据拥有者使用密钥S

(1.5.2)、利用可逆矩阵M

(1.5.3)、数据拥有者使用密钥S

(1.5.4)、利用可逆矩阵M

(1.5.5)、基于(1.5.2)和(1.5.4)生成的

(1.5.6)、构造加密的关键词分组倒排索引

进一步的,步骤(2.1)具体的操作步骤如下:

(2.1.1)、数据使用者根据待检索的关键词集合Q={w

其中,μ是检索向量前m个维度的非零值中的最小值:

μ=min{V

(2.1.2)、数据使用者根据待检索关键词集合Q生成分组过滤向量VF

进一步的,步骤(2.2)具体的操作步骤如下:

(2.2.1)、数据使用者使用密钥S

(2.2.2)、数据使用者用可逆矩阵M

(2.2.3)、数据使用者用密钥S

(2.2.4)、数据使用者用可逆矩阵M

(2.2.5)、基于生成的加密分组过滤向量

本方案主要可以应用到医疗数据的保存与检索等场景中;医院每天会产生大量的病历等医疗数据,受场地、设备以及管理成本等因素的影响,将这些医疗数据存储到云服务器中是最经济、可靠的数据存储方案。将数据存储到云端,可以随时随地访问到这些数据,也有助于智慧医疗体系的建立;但是,这些数据涉及到患者的隐私,所以数据必须加密后再存储到云服务器中;而使用我们的方案就可以提供安全高效的实现数据的存储与检索服务。

最后,应当理解的是,本发明中所述实施例仅用以说明本发明实施例的原则;其他的变形也可能属于本发明的范围;因此,作为示例而非限制,本发明实施例的替代配置可视为与本发明的教导一致;相应地,本发明的实施例不限于本发明明确介绍和描述的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号