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

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

Info

Publication number
CN111966778B
CN111966778B CN202010649370.3A CN202010649370A CN111966778B CN 111966778 B CN111966778 B CN 111966778B CN 202010649370 A CN202010649370 A CN 202010649370A CN 111966778 B CN111966778 B CN 111966778B
Authority
CN
China
Prior art keywords
keyword
vector
grouping
retrieval
document
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
Application number
CN202010649370.3A
Other languages
English (en)
Other versions
CN111966778A (zh
Inventor
戴华
杨茂虎
吉浩宇
杨庚
黄海平
姜莹莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202010649370.3A priority Critical patent/CN111966778B/zh
Publication of CN111966778A publication Critical patent/CN111966778A/zh
Application granted granted Critical
Publication of CN111966778B publication Critical patent/CN111966778B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于关键词分组倒排索引的多关键词密文排序检索方法
技术领域
本发明涉及一种云环境下的多关键词密文排序检索方法,具体涉及一种基于关键词分组倒排索引的多关键词密文排序检索方法。
背景技术
云计算的发展促进了数据的存储和计算,越来越多的企业和个人选择将他们的数据外包到云中,以便他们可以随时随地的访问数据。同时,云服务器提供商也可以根据数据存储和计算的要求,为用户提供定制的云服务,服务商的集中式资源管理和按需付费服务模型节省了双方的成本。但是,外包数据可能涉及商业秘密或个人隐私,并且数据所有者不想将此信息公开给云服务器供应商。因此,数据拥有者通常在上传数据之前对其进行加密,尽管此方法可以保证外包数据的私密性,但它也会影响数据的可用性,例如排序检索等。因此,我们需要设计一种平衡方案以同时确保数据的安全性和可用性。
当前,可搜索加密是在云环境下实现保护隐私的排序检索的一种对策,可以在保证安全性和可用性的同时存储、检索数据。很多解决方案选择将加密文档与倒排索引一起外包云服务器中,然后根据TF-IDF向量空间模型计算待检索关键字与文档之间的相关性分数,最后获取前k个相关性分数最高的检索结果。为了保护数据隐私,为了保护隐私,通常会在外包之前需要对索引和文档进行加密。但是,再使用传统倒排索引结构进行检索时,传统倒排索引的结构特点会暴露出“冷词”、“热词”以及待检索的关键词集合等信息。因此,如何改进传统倒排索引结构来实现对加密数据的隐私保护排序检索是一个挑战。
发明内容
本发明的目的是为了解决传统倒排索引与TF-IDF向量空间模型结合起来实现多关键词密文排序检索时出现的隐私泄露问题,提供一种安全、高效的基于关键词分组倒排索引的多关键词密文排序检索方法。
本发明的技术方案是:一种基于关键词分组倒排索引的多关键词密文排序检索方法,包括数据处理与外包、检索两个阶段;
其中,(1)、所述数据处理与外包阶段具体的操作步骤如下:
(1.1)、数据拥有者生成一组密钥KEY={K,S1,M11,M12,S2,M21,M22},其中K用于加密明文文档的密钥;S1和S2是随机向量,M11、M12、M21和M22是随机可逆矩阵;
(1.2)、数据拥有者提取所有明文文档中的关键词组成关键词词典,并对关键词词典中的关键词进行分组,构造每个分组的关键词分组向量;
(1.3)、数据拥有者对明文文档集合进行预处理,针对每个明文文档生成其对应的文档向量,并利用密钥K对明文文档本身进行加密;
(1.4)、数据拥有者构造关键词分组倒排索引;
(1.5)、数据拥有者利用密钥S1、M11和M12对(1.2)中生成的关键词分组向量进行加密,再利用S2、M21和M22对(1.3)生成的明文文档向量进行加密,构造成加密的关键词分组倒排索引;
(1.6)、数据拥有者将加密关键词分组倒排索引和加密明文文档集合发送至云服务器,将密钥共享给数据使用者;
(2)、所述检索阶段具体的操作步骤如下:
(2.1)、数据使用者根据待检索的关键词集合生成检索向量和分组过滤向量;
(2.2)、数据使用者首先用数据拥有者共享的密钥S1、M11和M12对分组过滤向量进行加密,接着使用S2、M21和M22对检索向量进行加密,最后将其和检索需要返回的明文文档数量k结合起来生成安全的检索陷门;
(2.3)、数据使用者将检索陷门发送至云服务器进行检索请求;
(2.4)、云服务器接收到发来的检索陷门后,根据步骤(1.5)中获得的加密关键词分组倒排索引,首先计算加密的关键词分组向量和检索陷门中提供的分组过滤向量的内积,将其中内积不为零的分组作为候选分组;然后计算每个候选分组所对应的倒排列表中的每个加密明文文档向量与检索向量的内积,求得文档与检索关键词之间的相关性得分,获取该倒排列表中的前k个相关性得分最高的文档;处理完所有的候选分组之后,将找到全局的前k个相关性得分最高的文档;最后,云服务器将这k个文档对应的加密明文文档文档返回给数据使用者;
(2.5)、数据使用者接收到云服务器发送的加密明文文档后,用数据拥有者共享的密钥K进行解密,最终获得明文检索结果。
进一步的,步骤(1.2)具体的操作步骤如下:
(1.2.1)、数据拥有者提取文档集合D中每个文档包含的关键词形成关键词词典W={w1,w2,…,wm},然后使用具有m′个虚拟关键词的虚拟关键词集合W′={wm+1,wm+2,…,wm+m′}对词典进行扩充,扩充后的词典为W+W′={w1,w2,…,wm,wm+1,wm+2,…,wm+m′};
(1.2.2)、数据拥有者将原始关键词词典W中的关键词进行分组,生成的关键词分组集合为KG={G1,G2,…,Gs},其分组依据是按照每个分组所对应的文档个数|DS(Gi)|进行等长划分,即|DS(G1)|=|DS(G2)|=…=|DS(Gs-1)|=ε,|DS(Gs)|≤ε;则划分后的分组满足以下公式:
1)、W=G1∪G2∪...∪Gs
2)、D=DS(G1)∪DS(G2)∪...∪DS(Gs)
Figure GDA0003635644490000031
(1.2.3)、对于关键词分组集合KG中的每一个分组Gi,生成其相应的(m+m′)维度的关键词分组向量
Figure GDA0003635644490000032
向量
Figure GDA0003635644490000033
中每一维的值计算方法如下:
Figure GDA0003635644490000034
(1.2.4)、数据拥有者生成关键词分组向量集合
Figure GDA0003635644490000035
进一步的,步骤(1.3)具体的操作步骤如下:
(1.3.1)、数据拥有者为原始文档集合D中的任意文档di生成其对应的文档向量
Figure GDA0003635644490000036
是一个(m+m′)维度的向量,其每一维的值为:
Figure GDA0003635644490000037
其中,λ是所有文档向量的前m个维度的非零值的平均值:
Figure GDA0003635644490000038
(1.3.2)、数据拥有者使用密钥K对文档集合D中的每个文档di进行加密,生成加密明文文档
Figure GDA0003635644490000039
生成的所有加密明文文档构成密文文档集合
Figure GDA00036356444900000310
Figure GDA00036356444900000311
进一步的,步骤(1.4)具体的操作步骤如下:
(1.4.1)、对于文档集合D中的每个文档dj,数据拥有者为其生成一个倒排项
Figure GDA00036356444900000312
其中
Figure GDA00036356444900000313
(1.4.2)、对于每一个关键词分组Gi∈KG,数据拥有者为其生成一个倒排列表
Figure GDA00036356444900000314
(1.4.3)、数据拥有者为每一个关键词分组Gi生成一个关键词分组倒排索引记录
Figure GDA00036356444900000315
其中
Figure GDA00036356444900000316
(1.4.4)、构造关键词分组倒排索引I={I[1],I[2],…,I[s]}。
进一步的,步骤(1.5)具体的操作步骤如下:
(1.5.1)、数据拥有者使用密钥S1将步骤(1.2)中生成的关键词分组向量集合VG中每一个关键词分组向量
Figure GDA00036356444900000317
分割成
Figure GDA00036356444900000318
Figure GDA00036356444900000319
分割公式如下:
Figure GDA0003635644490000041
(1.5.2)、利用可逆矩阵M11和M12对向量
Figure GDA0003635644490000042
Figure GDA0003635644490000043
进行加密,生成加密的关键词分组向量
Figure GDA0003635644490000044
(1.5.3)、数据拥有者使用密钥S2将(1c)生成的文档向量
Figure GDA0003635644490000045
分割成
Figure GDA0003635644490000046
Figure GDA0003635644490000047
分割公式如下:
Figure GDA0003635644490000048
(1.5.4)、利用可逆矩阵M21和M22对向量
Figure GDA0003635644490000049
Figure GDA00036356444900000410
进行加密,生成加密的文档向量
Figure GDA00036356444900000411
(1.5.5)、基于(1.5.2)和(1.5.4)生成的
Figure GDA00036356444900000412
Figure GDA00036356444900000413
生成加密的倒排列表
Figure GDA00036356444900000414
和加密的KGI索引记录
Figure GDA00036356444900000415
(1.5.6)、构造加密的关键词分组倒排索引
Figure GDA00036356444900000416
进一步的,步骤(2.1)具体的操作步骤如下:
(2.1.1)、数据使用者根据待检索的关键词集合Q={w1,w2,…,wq}生成检索向量VQ,所述VQ是一个(m+m′)维向量,其每一维度的取值为:
Figure GDA00036356444900000417
其中,μ是检索向量前m个维度的非零值中的最小值:
μ=min{VQ[j]|VQ[j]≠0∧j∈{1,2,…,m}};
(2.1.2)、数据使用者根据待检索关键词集合Q生成分组过滤向量VFQ,VFQ是一个(m+m′)维向量,其每一维度的值为:
Figure GDA00036356444900000418
进一步的,步骤(2.2)具体的操作步骤如下:
(2.2.1)、数据使用者使用密钥S1将VFQ分割成VF′Q和VF″Q两个向量,分割公式如下:
Figure GDA00036356444900000419
(2.2.2)、数据使用者用可逆矩阵M11和M12对向量VF′Q和VF″Q进行加密,得到加密的分组过滤向量
Figure GDA00036356444900000420
(2.2.3)、数据使用者用密钥S2将VQ分割成V′Q和V″Q两个向量,分割公式如下:
Figure GDA0003635644490000051
(2.2.4)、数据使用者用可逆矩阵M21和M22对向量V′Q和V″Q进行加密,得到加密的检索向量
Figure GDA0003635644490000052
(2.2.5)、基于生成的加密分组过滤向量
Figure GDA0003635644490000053
和加密检索向量
Figure GDA0003635644490000054
数据使用者生成检索陷门
Figure GDA0003635644490000055
其中k表示为检索需返回的文档数量。
本发明的有益效果是:1、提出了一种新颖的关键词分组倒排索引,由一个关键词分组对应一个倒排列表而不是传统倒排列表中一个关键词对应一个倒排列表;2、采用TF-IDF向量空间模型来计算待检索关键词和文档之间的相关性分数,不会降低检索的精度;3、通过等长划分倒排列表长度,解决了传统倒排索引结构暴露关键词的逆文档频率的问题;4、一个关键词分组对应一个倒排列表,使得在检索时可以隐藏检索关键词集合的信息;5、提出的方案实现了精确的排序检索,搜索结果的精度非常高,同时实现了数据的隐私保护。
附图说明
图1为本发明的系统架构图;
图2为本发明中数据处理与外包阶段的结构流程图;
图3为本发明中检索阶段的结构流程图。
具体实施方式
为了更清楚地说明本发明的技术方案,下面结合附图对本发明的技术方案做进一步的详细说明:
为了方便描述,现对相关符号作如下定义:
密钥KEY={K,S1,M11,M12,S2,M21,M22},其中K为用于加密明文文档的对称加密密钥,S1和S2为随机向量,M11、M12、M21和M22为随机可逆矩阵;D={d1,d2,…,dn}为明文文档集合,
Figure GDA0003635644490000056
为它的加密形式,n表示文档的个数;W={w1,w2,…,wm}为文档集合所提取的关键词所组成的关键词词典,W′={wm+1,wm+2,…,wm+m′}为用于扩充的虚拟关键词集合,W+W′={w1,w2,…,wm,wm+1,wm+2,…,wm+m′}为扩充后的词典,m′为虚拟关键词的个数,m表示关键词字典的长度,m+m′表示扩充后的关键词字典的长度;ε表示每个关键词分组对应的倒排列表长度;KG={G1,G2,…,Gs}为关键词分组集合,{DS(Gi)|Gi∈KG}为包含关键词分组Gi中任意个关键词的文档集合;VG=
Figure GDA0003635644490000061
为关键词分组向量集合,
Figure GDA0003635644490000062
为相应的(m+m′)维关键词分组向量,
Figure GDA0003635644490000063
是它的加密形式,
Figure GDA0003635644490000064
Figure GDA0003635644490000065
为使用密钥S1
Figure GDA0003635644490000066
进行分割形成两个向量;
Figure GDA0003635644490000067
为(m+m′)维文档向量,λ是所有文档向量的前m个维度的非零值的平均值,
Figure GDA0003635644490000068
是它的加密形式,
Figure GDA0003635644490000069
Figure GDA00036356444900000610
为使用密钥S2
Figure GDA00036356444900000611
进行分割形成两个向量;I={I[1],I[2],…,I[s]}为关键词分组倒排索引,
Figure GDA00036356444900000612
为它的加密形式;
Figure GDA00036356444900000613
为关键词分组Gi的关键词分组倒排索引记录,
Figure GDA00036356444900000614
为它的加密形式;
Figure GDA00036356444900000615
Figure GDA00036356444900000616
为倒排列表,
Figure GDA00036356444900000617
为它的加密形式;
Figure GDA00036356444900000618
为倒排项;Q={w1,w2,…,wq}为待检索的关键词集合,VQ根据Q生成的(m+m′)维检索向量,μ是检索向量前m个维度的非零值中的最小值,
Figure GDA00036356444900000619
是它的加密形式,V′Q和V″Q为使用密钥S2对VQ进行分割形成两个向量;VFQ是根据Q生成的分组过滤向量,
Figure GDA00036356444900000620
是它的加密形式,VF′Q和VF″Q为使用密钥S1对VFQ进行分割形成两个向量;
Figure GDA00036356444900000621
Figure GDA00036356444900000622
为检索陷门,其中k为检索需返回的文档数量。
如图1所述;该系统架构图描述了系统三个主体数据拥有者、数据使用者和云服务器之间相互协作,实现多关键词密文排序检索的过程;在数据处理与外包阶段,数据拥有者首先生成一组密钥,并将其共享给数据数据使用者;接下来,数据拥有者对关键词进行分组,生成关键词分组集合和相应的倒排列表;其次,数据拥有者生成文档向量和关键词分组向量;然后,数据拥有者生成关键词分组倒排索引,并使用密钥对关键词分组倒排索引和明文文档集合进行加密;最后,数据拥有者将加密后的文档和关键词分组倒排索引外包至云服务器;
在检索阶段,首先,数据使用者生成检索陷门并将其作为检索指令发送至云服务器;然后,云服务器根据加密的关键词分组倒排索引进行排序检索,并将密文检索结果返回给数据使用者;最后,数据使用者通过解密获得明文检索结果。
具体的;(1)、所述数据处理与外包阶段具体的操作步骤如下:
(1.1)、数据拥有者生成一组密钥KEY={K,S1,M11,M12,S2,M21,M22},其中K用于加密明文文档的密钥;S1和S2是随机向量,M11、M12、M21和M22是随机可逆矩阵;
(1.2)、数据拥有者提取所有明文文档中的关键词组成关键词词典,并对关键词词典中的关键词进行分组,构造每个分组的关键词分组向量;
(1.3)、数据拥有者对明文文档集合进行预处理,针对每个明文文档生成其对应的文档向量,并利用密钥K对明文文档本身进行加密;
(1.4)、数据拥有者构造关键词分组倒排索引;
(1.5)、数据拥有者利用密钥S1、M11和M12对(1.2)中生成的关键词分组向量进行加密,再利用S2、M21和M22对(1.3)生成的明文文档向量进行加密,构造成加密的关键词分组倒排索引;
(1.6)、数据拥有者将加密关键词分组倒排索引和加密明文文档集合发送至云服务器,将密钥共享给数据使用者;
(2)、所述检索阶段具体的操作步骤如下:
(2.1)、数据使用者根据待检索的关键词集合生成检索向量和分组过滤向量;
(2.2)、数据使用者首先用数据拥有者共享的密钥S1、M11和M12对分组过滤向量进行加密,接着使用S2、M21和M22对检索向量进行加密,最后将其和检索需要返回的明文文档数量k结合起来生成安全的检索陷门;
(2.3)、数据使用者将检索陷门发送至云服务器进行检索请求;
(2.4)、云服务器接收到发来的检索陷门后,根据步骤(1.5)中获得的加密关键词分组倒排索引,首先计算加密的关键词分组向量和检索陷门中提供的分组过滤向量的内积,将其中内积不为零的分组作为候选分组;然后计算每个候选分组所对应的倒排列表中的每个加密明文文档向量与检索向量的内积,求得文档与检索关键词之间的相关性得分,获取该倒排列表中的前k个相关性得分最高的文档;处理完所有的候选分组之后,将找到全局的前k个相关性得分最高的文档;最后,云服务器将这k个文档对应的加密明文文档文档返回给数据使用者;
(2.5)、数据使用者接收到云服务器发送的加密明文文档后,用数据拥有者共享的密钥K进行解密,最终获得明文检索结果。
进一步的,步骤(1.2)具体的操作步骤如下:
(1.2.1)、数据拥有者提取文档集合D中每个文档包含的关键词形成关键词词典W={w1,w2,…,wm},然后使用具有m′个虚拟关键词的虚拟关键词集合W′={wm+1,wm+2,…,wm+m′}对词典进行扩充,扩充后的词典为W+W′={w1,w2,…,wm,wm+1,wm+2,…,wm+m′};
(1.2.2)、数据拥有者将原始关键词词典W中的关键词进行分组,生成的关键词分组集合为KG={G1,G2,…,Gs},其分组依据是按照每个分组所对应的文档个数|DS(Gi)|进行等长划分,即|DS(G1)|=|DS(G2)|=…=|DS(Gs-1)|=ε,|DS(Gs)|≤ε;则划分后的分组满足以下公式:
1)、W=G1∪G2∪…∪Gs
2)、D=DS(G1)∪DS(G2)∪…∪DS(Gs)
Figure GDA0003635644490000071
(1.2.3)、对于关键词分组集合KG中的每一个分组Gi,生成其相应的(m+m′)维度的关键词分组向量
Figure GDA0003635644490000081
向量
Figure GDA0003635644490000082
中每一维的值计算方法如下:
Figure GDA0003635644490000083
(1.2.4)、数据拥有者生成关键词分组向量集合
Figure GDA0003635644490000084
进一步的,步骤(1.3)具体的操作步骤如下:
(1.3.1)、数据拥有者为原始文档集合D中的任意文档di生成其对应的文档向量
Figure GDA0003635644490000085
是一个(m+m′)维度的向量,其每一维的值为:
Figure GDA00036356444900000824
其中,λ是所有文档向量的前m个维度的非零值的平均值:
Figure GDA0003635644490000086
(1.3.2)、数据拥有者使用密钥K对文档集合D中的每个文档di进行加密,生成加密明文文档
Figure GDA0003635644490000087
生成的所有加密明文文档构成密文文档集合
Figure GDA0003635644490000088
Figure GDA0003635644490000089
进一步的,步骤(1.4)具体的操作步骤如下:
(1.4.1)、对于文档集合D中的每个文档dj,数据拥有者为其生成一个倒排项
Figure GDA00036356444900000810
其中
Figure GDA00036356444900000811
(1.4.2)、对于每一个关键词分组Gi∈KG,数据拥有者为其生成一个倒排列表
Figure GDA00036356444900000812
(1.4.3)、数据拥有者为每一个关键词分组Gi生成一个关键词分组倒排索引记录
Figure GDA00036356444900000813
其中
Figure GDA00036356444900000814
(1.4.4)、构造关键词分组倒排索引I={I[1],I[2],…,I[s]}。
进一步的,步骤(1.5)具体的操作步骤如下:
(1.5.1)、数据拥有者使用密钥S1将步骤(1.2)中生成的关键词分组向量集合VG中每一个关键词分组向量
Figure GDA00036356444900000815
分割成
Figure GDA00036356444900000816
Figure GDA00036356444900000817
分割公式如下:
Figure GDA00036356444900000825
(1.5.2)、利用可逆矩阵M11和M12对向量
Figure GDA00036356444900000818
Figure GDA00036356444900000819
进行加密,生成加密的关键词分组向量
Figure GDA00036356444900000820
(1.5.3)、数据拥有者使用密钥S2将(1c)生成的文档向量
Figure GDA00036356444900000821
分割成
Figure GDA00036356444900000822
Figure GDA00036356444900000823
分割公式如下:
Figure GDA0003635644490000091
(1.5.4)、利用可逆矩阵M21和M22对向量
Figure GDA0003635644490000092
Figure GDA0003635644490000093
进行加密,生成加密的文档向量
Figure GDA0003635644490000094
(1.5.5)、基于(1.5.2)和(1.5.4)生成的
Figure GDA0003635644490000095
Figure GDA0003635644490000096
生成加密的倒排列表
Figure GDA0003635644490000097
和加密的KGI索引记录
Figure GDA0003635644490000098
(1.5.6)、构造加密的关键词分组倒排索引
Figure GDA0003635644490000099
进一步的,步骤(2.1)具体的操作步骤如下:
(2.1.1)、数据使用者根据待检索的关键词集合Q={w1,w2,…,wq}生成检索向量VQ,所述VQ是一个(m+m′)维向量,其每一维度的取值为:
Figure GDA00036356444900000910
其中,μ是检索向量前m个维度的非零值中的最小值:
μ=min{VQ[j]|VQ[j]≠0∧j∈{1,2,…,m}};
(2.1.2)、数据使用者根据待检索关键词集合Q生成分组过滤向量VFQ,VFQ是一个(m+m′)维向量,其每一维度的值为:
Figure GDA00036356444900000911
进一步的,步骤(2.2)具体的操作步骤如下:
(2.2.1)、数据使用者使用密钥S1将VFQ分割成VF′Q和VF″Q两个向量,分割公式如下:
Figure GDA00036356444900000912
(2.2.2)、数据使用者用可逆矩阵M11和M12对向量VF′Q和VF″Q进行加密,得到加密的分组过滤向量
Figure GDA00036356444900000913
(2.2.3)、数据使用者用密钥S2将VQ分割成V′Q和V″Q两个向量,分割公式如下:
Figure GDA00036356444900000914
(2.2.4)、数据使用者用可逆矩阵M21和M22对向量V′Q和V″Q进行加密,得到加密的检索向量
Figure GDA0003635644490000101
(2.2.5)、基于生成的加密分组过滤向量
Figure GDA0003635644490000102
和加密检索向量
Figure GDA0003635644490000103
数据使用者生成检索陷门
Figure GDA0003635644490000104
其中k表示为检索需返回的文档数量。
本方案主要可以应用到医疗数据的保存与检索等场景中;医院每天会产生大量的病历等医疗数据,受场地、设备以及管理成本等因素的影响,将这些医疗数据存储到云服务器中是最经济、可靠的数据存储方案。将数据存储到云端,可以随时随地访问到这些数据,也有助于智慧医疗体系的建立;但是,这些数据涉及到患者的隐私,所以数据必须加密后再存储到云服务器中;而使用我们的方案就可以提供安全高效的实现数据的存储与检索服务。
最后,应当理解的是,本发明中所述实施例仅用以说明本发明实施例的原则;其他的变形也可能属于本发明的范围;因此,作为示例而非限制,本发明实施例的替代配置可视为与本发明的教导一致;相应地,本发明的实施例不限于本发明明确介绍和描述的实施例。

Claims (7)

1.一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于:包括数据处理与外包、检索两个阶段;
其中,(1)、所述数据处理与外包阶段具体的操作步骤如下:
(1.1)、数据拥有者生成一组密钥KEY={K,S1,M11,M12,S2,M21,M22},其中K用于加密明文文档的密钥;S1和S2是随机向量,M11、M12、M21和M22是随机可逆矩阵;
(1.2)、数据拥有者提取所有明文文档中的关键词组成关键词词典,并对关键词词典中的关键词进行分组,构造每个分组的关键词分组向量;
(1.3)、数据拥有者对明文文档集合进行预处理,针对每个明文文档生成其对应的文档向量,并利用密钥K对明文文档本身进行加密;
(1.4)、数据拥有者构造关键词分组倒排索引;
(1.5)、数据拥有者利用密钥S1、M11和M12对(1.2)中生成的关键词分组向量进行加密,再利用S2、M21和M22对(1.3)生成的明文文档向量进行加密,构造成加密的关键词分组倒排索引;
(1.6)、数据拥有者将加密关键词分组倒排索引和加密明文文档集合发送至云服务器,将密钥共享给数据使用者;
(2)、所述检索阶段具体的操作步骤如下:
(2.1)、数据使用者根据待检索的关键词集合生成检索向量和分组过滤向量;
(2.2)、数据使用者首先用数据拥有者共享的密钥S1、M11和M12对分组过滤向量进行加密,接着使用S2、M21和M22对检索向量进行加密,最后将其和检索需要返回的明文文档数量k结合起来生成安全的检索陷门;
(2.3)、数据使用者将检索陷门发送至云服务器进行检索请求;
(2.4)、云服务器接收到发来的检索陷门后,根据步骤(1.5)中获得的加密关键词分组倒排索引,首先计算加密的关键词分组向量和检索陷门中提供的分组过滤向量的内积,将其中内积不为零的分组作为候选分组;然后计算每个候选分组所对应的倒排列表中的每个加密明文文档向量与检索向量的内积,求得文档与检索关键词之间的相关性得分,获取该倒排列表中的前k个相关性得分最高的文档;处理完所有的候选分组之后,将找到全局的前k个相关性得分最高的文档;最后,云服务器将这k个文档对应的加密明文文档返回给数据使用者;
(2.5)、数据使用者接收到云服务器发送的加密明文文档后,用数据拥有者共享的密钥K进行解密,最终获得明文检索结果。
2.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(1.2)具体的操作步骤如下:
(1.2.1)、数据拥有者提取文档集合D中每个文档包含的关键词形成关键词词典W={w1,w2,…,wm},然后使用具有m′个虚拟关键词的虚拟关键词集合W′={wm+1,wm+2,…,wm+m′}对词典进行扩充,扩充后的词典为W+W′={w1,w2,…,wm,wm+1,wm+2,…,wm+m′};
(1.2.2)、数据拥有者将原始关键词词典W中的关键词进行分组,生成的关键词分组集合为KG={G1,G2,…,Gs},其分组依据是按照每个分组所对应的文档个数|DS(Gi)|进行等长划分,即|DS(G1)|=|DS(G2)|=…=|DS(Gs-1)|=ε,
|DS(Gs)|≤ε;则划分后的分组满足以下公式:
1)、W=G1∪G2∪…∪Gs
2)、D=DS(G1)∪DS(G2)∪…∪DS(Gs)
Figure FDA0003651196110000021
(1.2.3)、对于关键词分组集合KG中的每一个分组Gi,生成其相应的(m+m′)维度的关键词分组向量
Figure FDA0003651196110000022
向量
Figure FDA0003651196110000023
中每一维的值计算方法如下:
Figure FDA0003651196110000024
(1.2.4)、数据拥有者生成关键词分组向量集合
Figure FDA0003651196110000025
3.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(1.3)具体的操作步骤如下:
(1.3.1)、数据拥有者为原始文档集合D中的任意文档di生成其对应的文档向量
Figure FDA0003651196110000026
Figure FDA0003651196110000027
是一个(m+m′)维度的向量,其每一维的值为:
Figure FDA0003651196110000028
其中,λ是所有文档向量的前m个维度的非零值的平均值:
Figure FDA0003651196110000029
(1.3.2)、数据拥有者使用密钥K对文档集合D中的每个文档di进行加密,生成加密明文文档
Figure FDA00036511961100000210
生成的所有加密明文文档构成密文文档集合
Figure FDA00036511961100000211
Figure FDA00036511961100000212
4.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(1.4)具体的操作步骤如下:
(1.4.1)、对于文档集合D中的每个文档dj,数据拥有者为其生成一个倒排项
Figure FDA0003651196110000031
其中
Figure FDA0003651196110000032
(1.4.2)、对于每一个关键词分组Gi∈KG,数据拥有者为其生成一个倒排列表
Figure FDA0003651196110000033
(1.4.3)、数据拥有者为每一个关键词分组Gi生成一个关键词分组倒排索引记录
Figure FDA0003651196110000034
其中
Figure FDA0003651196110000035
(1.4.4)、构造关键词分组倒排索引I={I[1],I[2],…,I[s]}。
5.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(1.5)具体的操作步骤如下:
(1.5.1)、数据拥有者使用密钥S1将步骤(1.2)中生成的关键词分组向量集合VG中每一个关键词分组向量
Figure FDA0003651196110000036
分割成
Figure FDA0003651196110000037
Figure FDA0003651196110000038
分割公式如下:
Figure FDA0003651196110000039
(1.5.2)、利用可逆矩阵M11和M12对向量
Figure FDA00036511961100000310
Figure FDA00036511961100000311
进行加密,生成加密的关键词分组向量
Figure FDA00036511961100000312
(1.5.3)、数据拥有者使用密钥S2将(1.3)生成的文档向量
Figure FDA00036511961100000313
分割成
Figure FDA00036511961100000314
Figure FDA00036511961100000315
分割公式如下:
Figure FDA00036511961100000316
(1.5.4)、利用可逆矩阵M21和M22对向量
Figure FDA00036511961100000317
Figure FDA00036511961100000318
进行加密,生成加密的文档向量
Figure FDA00036511961100000319
(1.5.5)、基于(1.5.2)和(1.5.4)生成的
Figure FDA00036511961100000320
Figure FDA00036511961100000321
生成加密的倒排列表
Figure FDA00036511961100000322
和加密的基于关键词分组倒排索引记录
Figure FDA00036511961100000323
(1.5.6)、构造加密的关键词分组倒排索引
Figure FDA00036511961100000324
6.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(2.1)具体的操作步骤如下:
(2.1.1)、数据使用者根据待检索的关键词集合Q={w1,w2,…,wq}生成检索向量VQ,所述VQ是一个(m+m′)维向量,其每一维度的取值为:
Figure FDA00036511961100000325
其中,μ是检索向量前m个维度的非零值中的最小值:
μ=min{VQ[j]|VQ[j]≠0∧j∈{1,2,…,m}};
(2.1.2)、数据使用者根据待检索关键词集合Q生成分组过滤向量VFQ,VFQ是一个(m+m′)维向量,其每一维度的值为:
Figure FDA0003651196110000041
7.根据权利要求1所述的一种基于关键词分组倒排索引的多关键词密文排序检索方法,其特征在于,步骤(2.2)具体的操作步骤如下:
(2.2.1)、数据使用者使用密钥S1将VFQ分割成VF′Q和VF″Q两个向量,分割公式如下:
Figure FDA0003651196110000042
(2.2.2)、数据使用者用可逆矩阵M11和M12对向量VF′Q和VF″Q进行加密,得到加密的分组过滤向量
Figure FDA0003651196110000043
(2.2.3)、数据使用者用密钥S2将VQ分割成V′Q和V″Q两个向量,分割公式如下:
Figure FDA0003651196110000044
(2.2.4)、数据使用者用可逆矩阵M21和M22对向量V′Q和V″Q进行加密,得到加密的检索向量
Figure FDA0003651196110000045
(2.2.5)、基于生成的加密分组过滤向量
Figure FDA0003651196110000046
和加密检索向量
Figure FDA0003651196110000047
数据使用者生成检索陷门
Figure FDA0003651196110000048
其中k表示为检索需返回的文档数量。
CN202010649370.3A 2020-07-08 2020-07-08 一种基于关键词分组倒排索引的多关键词密文排序检索方法 Active CN111966778B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010649370.3A CN111966778B (zh) 2020-07-08 2020-07-08 一种基于关键词分组倒排索引的多关键词密文排序检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010649370.3A CN111966778B (zh) 2020-07-08 2020-07-08 一种基于关键词分组倒排索引的多关键词密文排序检索方法

Publications (2)

Publication Number Publication Date
CN111966778A CN111966778A (zh) 2020-11-20
CN111966778B true CN111966778B (zh) 2022-07-29

Family

ID=73361923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010649370.3A Active CN111966778B (zh) 2020-07-08 2020-07-08 一种基于关键词分组倒排索引的多关键词密文排序检索方法

Country Status (1)

Country Link
CN (1) CN111966778B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779597B (zh) * 2021-08-19 2023-08-18 深圳技术大学 加密文档的存储和相似检索方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951411B (zh) * 2017-03-24 2019-10-15 福州大学 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法
CN109739945B (zh) * 2018-12-13 2022-11-08 南京邮电大学 一种基于混合索引的多关键词密文排序检索方法
CN109885640B (zh) * 2019-01-08 2021-05-11 南京邮电大学 一种基于α叉索引树的多关键词密文排序检索方法

Also Published As

Publication number Publication date
CN111966778A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
Xia et al. Towards privacy-preserving content-based image retrieval in cloud computing
Zhang et al. SE-PPFM: A searchable encryption scheme supporting privacy-preserving fuzzy multikeyword in cloud systems
Ding et al. Privacy-preserving multi-keyword top-$ k $ k similarity search over encrypted data
Lu et al. Enabling search over encrypted multimedia databases
Murugesan et al. Providing privacy through plausibly deniable search
CN109063509A (zh) 一种基于关键词语义排序的可搜索加密方法
CN108363689B (zh) 面向混合云的隐私保护多关键词Top-k密文检索方法及系统
CN109739945B (zh) 一种基于混合索引的多关键词密文排序检索方法
Wang et al. Towards efficient privacy-preserving encrypted image search in cloud computing
CN109885650B (zh) 一种外包云环境隐私保护密文排序检索方法
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
Boucenna et al. Secure inverted index based search over encrypted cloud data with user access rights management
Handa et al. A cluster based multi-keyword search on outsourced encrypted cloud data
Yang et al. Cloud information retrieval: Model description and scheme design
CN111966778B (zh) 一种基于关键词分组倒排索引的多关键词密文排序检索方法
Mittal et al. Privacy preserving synonym based fuzzy multi-keyword ranked search over encrypted cloud data
Zhao et al. Privacy-preserving personalized search over encrypted cloud data supporting multi-keyword ranking
Mayan et al. Semantic based multi lexical ranking technique for an effective search in protected cloud
CN114528370A (zh) 动态多关键字模糊排序搜索方法及系统
Manasrah et al. A privacy-preserving multi-keyword search approach in cloud computing
CN106777233A (zh) 基于云计算的支持隐私保护的个性化搜索系统
Li et al. Diverse multi-keyword ranked search over encrypted cloud data supporting range query
Gampala et al. An efficient Multi-Keyword Synonym Ranked Query over Encrypted Cloud Data using BMS Tree
Xu et al. Achieving fine-grained multi-keyword ranked search over encrypted cloud data
Hsieh et al. Semantic multi-keyword search over encrypted cloud data with privacy preservation

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
CB02 Change of applicant information

Address after: 210003, 66 new model street, Gulou District, Jiangsu, Nanjing

Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS

Address before: No. 186, software Avenue, Yuhuatai District, Nanjing, Jiangsu Province, 210023

Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant