CN108984627A - 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 - Google Patents
基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN108984627A CN108984627A CN201810634649.7A CN201810634649A CN108984627A CN 108984627 A CN108984627 A CN 108984627A CN 201810634649 A CN201810634649 A CN 201810634649A CN 108984627 A CN108984627 A CN 108984627A
- Authority
- CN
- China
- Prior art keywords
- document
- elasticsearch
- encrypted
- encrypted document
- inverted index
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的一种基于Elasticsearch的加密文档的搜索方法,包括如下步骤:对文档进行分词;根据所述分词生成倒排索引;对所述文档进行加密;将欲搜索的内容分解,并通过倒排索引搜索到对应的分词;根据搜索到的分词查找到包含该分词的加密文档。对涉及使用到Elasticsearch作为搜索引擎的系统通过本方法对数据进行加密,从而保证存放在Elasticsearch集群当中的核心业务数据无泄露风险,提升数据的安全等级。
Description
技术领域
本发明涉及数据安全技术领域。
背景技术
Elasticsearch是一款开源的优良的分布式搜索引擎,越来越多的公司把自己的核心业务数据存储于Elasticsearch集群来实现企业级搜索功能。但是由于Elasticsearch目前是以明文方式存储文档的,因此,业务系统在使用Elasticsearch带来的便携搜索功能的同时,对于核心业务数据的风险性也相应增大了。
大部分业务系统通过http方式访问Elasticsearch集群,面临http被劫持的风险,即使是走https协议,在证书泄露的情况下,Elasticsearch集群数据简直可以说是完全暴露在了用户的面前。
Elasticsearch集群运维人员可以查询核心业务数据,核心业务数据完全暴露在运维人员的面前,虽然可以通过监控,掌握运维人员的操作步骤,来达到约束运维人员的作用,但是相较于此,仍然无法直接对其进行约束。
目前,大部分业务系统的业务数据都是存储于Elasticsearch服务器本地文件系统,当Elasticsearch文档文件直接从服务器被复制走,再在其它Elasticsearch集群恢复,那么数据同样会存在被泄露的风险。
发明内容
为了解决上述问题,本发明提供了一种基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质,解决Elasticsearch文档数据安全性问题,使其能支持存储通过加密机制加密后的数据,同时又保证不影响Elasticsearch本身所具备的文档检索功能。
本发明提供的一种基于Elasticsearch的加密文档的搜索方法,包括如下步骤:对文档进行分词;根据所述分词生成倒排索引;对所述文档进行加密;将欲搜索的内容分解,并通过倒排索引搜索到对应的分词;根据搜索到的分词查找到包含该分词的加密文档。
本发明的基于Elasticsearch的加密文档的搜索方法,获取加密文档后,对所述加密文档进行解密,得到完整的搜索结果。
优选地,所述倒排索引包括有序的数据字典。
优选地,所述数据字典包括单词和所述单词出现的频次。
优选地,所述倒排索引还包括所述单词对应的文件位置。
优选地,通过加解密机对文档进行加密和解密。
本发明还包括一种基于Elasticsearch的加密文档的搜索系统,其包括索引生成模块、加密模块和搜索模块,所述索引生成模块对文档进行分词,生成倒排索引;加密模块对所述文档进行加密;搜索模块根据所述倒排索引对文档进行搜索。
优选地,本发明的基于Elasticsearch的加密文档的搜索系统,还包括解密模块,对搜索到的加密文档进行解密。
本发明还包括一种设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序;当所述一个或多个处理器执行所述一个或多个程序时,实现上述方法的步骤。
本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质,通过修改Elasticsearch分词模块源码,在生成倒排索引之后,通过加密机制对文档进行加密后再存储起来,在修改源码的过程中,不破坏倒排索引生成逻辑模块,从而最终保证不会影响Elasticsearch文档检索功能的正常使用。
对涉及使用到Elasticsearch作为搜索引擎的系统通过本方法对数据进行加密,从而保证存放在Elasticsearch集群当中的核心业务数据无泄露风险,提升数据的安全等级。
附图说明
下面参考附图描述本发明的优选实施例,附图为了说明本发明的优选实施例而不是为了限制本发明的目的。附图中,
图1为本发明实施例的基于Elasticsearch的加密文档的搜索方法的流程框图。
具体实施方式
本发明的具体实施方式用来具体说明本发明,但并不局限于该具体实施方式。
图1为本发明实施例的基于Elasticsearch的加密文档的搜索方法的流程框图。
如图1所示,本实施例的基于Elasticsearch的加密文档的搜索方法,包括如下步骤:
步骤S1,对文档进行分词生成倒排索引。
对数据库中新增的未经加密处理的原始文档进行分词,生成倒排索引。倒排索引包括有序的数据字典,数据字典包括单词和所述单词出现的频次。倒排索引还包括与单词对应的文件位置。
当搜索时,首先将搜索的内容分解,然后在数据字典里找到对应的单词,从而查找到与搜索相关的文件内容。
例如,表1中的文档与其对应的数据字典和文件位置关系示例。
表1文档与其对应的数据字典和文件位置关系示例表
从表1中可以看出,生成倒排索引时,倒排索引包括数据字典和与单词对应的文件位置。在表1中的文档有文件1、文件2和文件3,将所有文档中的单词拆分,并统计各个单词出现的次数,并记录每个单词所出现的文件位置。例如,单词“is”在所有文档中共出现了三次,统计其频次为3,其出现的文件位置分别为文件1、文件2和文件3。因此,在当搜索单词“is”时,可搜索到包含单词“is”的文件1、文件2和文件3。
步骤S2,对文档进行加密。
在生成倒排索引之后,通过加密算法对该文档进行加密处理。根据不同的业务场景可选择不同的加密机制。加密后的文档再存储到数据库或其他存储介质中,由于加密是在文档数据分完词后对整条数据进行加密,索引中的单词并未进行加密,单词存储于计算机内存中,索引表因此可以正常提供检索服务。
步骤S3,将欲搜索的内容分解,并通过倒排索引搜索到对应的分词。
当需要搜索时,将欲搜索的内容分解成各个关键词,通过Elasticsearch倒排索引搜索该关键词,可搜索到内存中存在的对应的分词。
步骤S4,根据搜索到的分词查找到包含该分词的加密文档。
本实施例的基于Elasticsearch的加密文档的搜索方法,获取加密文档后,还可以包括步骤S5,对搜索到的加密文档进行解密,得到完整的搜索结果。
本实施例中,可以通过加解密机对文档进行加密和解密。可以根据文档数据大小选择设置加解密机的数量。例如,采用性能为20万TPS的加解密机,当数据每天增加超过300M时,可以临时增加一台加解密机。
在实际的搜索服务中,文档数据库每天更新新增加的文档,并对新文档进行分词生成倒排索引,之后通过加解密机对文档整个文档加密,并将加密文档存储于数据库中,并对数据库中的加密文档和倒排索引进行数据同步。用户根据欲搜索的内容,将搜索的关键词发送搜索请求。Elasticsearch搜索到倒排索引中相应的单词,及该单词对应的加密文档,反馈给用户。如该用户是正常的搜索用户,则反馈给用户的加密文档通过加解密机解密后,反馈给用户完整的搜索文档。如果该用户为非法用户,则其搜索到的结果为加密文档,对于完整的文档内容,该非法用户无法查看,保证了数据的安全。
本发明还包括一种基于Elasticsearch的加密文档的搜索系统,其包括分词模块、加密模块和搜索模块,分词模块对文档进行分词生成倒排索引;加密模块对所述文档进行加密;搜索模块根据所述倒排索引对文档进行搜索。
分词模块对数据库中新增的未经加密处理的原始文档进行分词,生成倒排索引。倒排索引包括有序的数据字典,数据字典包括单词和所述单词出现的频次。倒排索引还包括与单词对应的文件位置。
当搜索时,首先将搜索的内容分解,然后在数据字典里找到对应的单词,从而查找到与搜索相关的文件内容。
在分词模块生成倒排索引之后,加密模块通过加密算法对该文档进行加密处理。
本发明的基于Elasticsearch的加密文档的搜索系统,还包括解密模块,对搜索到的加密文档进行解密。
本发明还包括一种设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序;当所述一个或多个处理器执行所述一个或多个程序时,实现上述基于Elasticsearch的加密文档的搜索方法的步骤。
本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于Elasticsearch的加密文档的搜索方法的步骤。
以上实施例的基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质,通过修改Elasticsearch分词模块源码,在生成倒排索引之后,通过加密机制对文档进行加密后再存储起来,在修改源码的过程中,不破坏倒排索引生成逻辑模块,从而最终保证不会影响Elasticsearch文档检索功能的正常使用。
对涉及使用到Elasticsearch作为搜索引擎的系统通过本方法对数据进行加密,从而保证存放在Elasticsearch集群当中的核心业务数据无泄露风险,提升数据的安全等级。
以上实施例为本发明的优选实施例,并不用以限定本发明的目的,凡在本发明的精神和原则之内进行的修改和替换,均在本发明的保护之内。
Claims (10)
1.一种基于Elasticsearch的加密文档的搜索方法,其特征在于,包括如下步骤:
对文档进行分词生成倒排索引;
对所述文档进行加密;
将欲搜索的内容分解,并通过倒排索引搜索到对应的分词;
根据搜索到的分词查找到包含该分词的加密文档。
2.根据权利要求1所述的基于Elasticsearch的加密文档的搜索方法,其特征在于,获取加密文档后,还包括
对所述加密文档进行解密,得到完整的搜索结果。
3.根据权利要求1或2所述的基于Elasticsearch的加密文档的搜索方法,其特征在于,所述倒排索引包括有序的数据字典。
4.根据权利要求3所述的基于Elasticsearch的加密文档的搜索方法,其特征在于,所述数据字典包括单词和所述单词出现的频次。
5.根据权利要求4所述的基于Elasticsearch的加密文档的搜索方法,其特征在于,所述倒排索引还包括所述单词对应的文件位置。
6.根据权利要求1或2所述的基于Elasticsearch的加密文档的搜索方法,其特征在于,通过加解密机对文档进行加密和解密。
7.一种基于Elasticsearch的加密文档的搜索系统,其特征在于,包括分词模块、加密模块和搜索模块,
所述分词模块对文档进行分词,生成倒排索引;
所述加密模块对所述文档进行加密;
所述搜索模块根据所述倒排索引对文档进行搜索。
8.根据权利要求7所述的基于Elasticsearch的加密文档的搜索系统,其特征在于,还包括解密模块,对搜索到的加密文档进行解密。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序;
当所述一个或多个处理器执行所述一个或多个程序时,实现如权利要求1或2所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810634649.7A CN108984627A (zh) | 2018-06-20 | 2018-06-20 | 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810634649.7A CN108984627A (zh) | 2018-06-20 | 2018-06-20 | 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108984627A true CN108984627A (zh) | 2018-12-11 |
Family
ID=64540880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810634649.7A Pending CN108984627A (zh) | 2018-06-20 | 2018-06-20 | 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984627A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737839A (zh) * | 2019-10-22 | 2020-01-31 | 京东数字科技控股有限公司 | 短文本的推荐方法、装置、介质及电子设备 |
CN113127479A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种Elasticsearch索引的加载方法、装置、计算机设备和存储介质 |
CN114443728A (zh) * | 2022-01-04 | 2022-05-06 | 广州粤建三和软件股份有限公司 | 一种基于Elasticsearch的检测报告搜索方法及装置 |
CN115238689A (zh) * | 2022-09-21 | 2022-10-25 | 南京中孚信息技术有限公司 | 分词分句索引处理方法、文档检索方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055192A1 (en) * | 2004-10-25 | 2011-03-03 | Infovell, Inc. | Full text query and search systems and method of use |
CN105678189A (zh) * | 2016-01-15 | 2016-06-15 | 上海海事大学 | 加密数据文件存储和检索系统及方法 |
CN106203171A (zh) * | 2016-06-03 | 2016-12-07 | 中国电子科技网络信息安全有限公司 | 大数据平台安全索引系统及方法 |
-
2018
- 2018-06-20 CN CN201810634649.7A patent/CN108984627A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055192A1 (en) * | 2004-10-25 | 2011-03-03 | Infovell, Inc. | Full text query and search systems and method of use |
CN105678189A (zh) * | 2016-01-15 | 2016-06-15 | 上海海事大学 | 加密数据文件存储和检索系统及方法 |
CN106203171A (zh) * | 2016-06-03 | 2016-12-07 | 中国电子科技网络信息安全有限公司 | 大数据平台安全索引系统及方法 |
Non-Patent Citations (1)
Title |
---|
王雅山: "云存储平台中加密数据的多关键字排序搜索技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737839A (zh) * | 2019-10-22 | 2020-01-31 | 京东数字科技控股有限公司 | 短文本的推荐方法、装置、介质及电子设备 |
CN113127479A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种Elasticsearch索引的加载方法、装置、计算机设备和存储介质 |
CN114443728A (zh) * | 2022-01-04 | 2022-05-06 | 广州粤建三和软件股份有限公司 | 一种基于Elasticsearch的检测报告搜索方法及装置 |
CN115238689A (zh) * | 2022-09-21 | 2022-10-25 | 南京中孚信息技术有限公司 | 分词分句索引处理方法、文档检索方法、设备及存储介质 |
CN115238689B (zh) * | 2022-09-21 | 2022-12-06 | 南京中孚信息技术有限公司 | 分词分句索引处理方法、文档检索方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Searchable encryption over feature-rich data | |
US9881164B1 (en) | Securing data | |
US11238032B1 (en) | Systems and methods for cryptographically-secure queries using filters generated by multiple parties | |
US10025951B2 (en) | Systems and methods for implementing an encrypted search index | |
CN108984627A (zh) | 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 | |
US11232216B1 (en) | Systems and methods for generation of secure indexes for cryptographically-secure queries | |
US9875370B2 (en) | Database server and client for query processing on encrypted data | |
US9852306B2 (en) | Conjunctive search in encrypted data | |
US10509768B2 (en) | Method and system for secure data storage and retrieval from cloud based service environment | |
US8234283B2 (en) | Search reporting apparatus, method and system | |
US20150039903A1 (en) | Masking query data access pattern in encrypted data | |
CN102855448B (zh) | 一种字段级数据库加密装置 | |
US10095719B2 (en) | Method and system to perform secure Boolean search over encrypted documents | |
Awad et al. | Chaotic searchable encryption for mobile cloud storage | |
EP3497613B1 (en) | Protected indexing and querying of large sets of textual data | |
CN111737720B (zh) | 数据处理方法、装置及电子设备 | |
US10120870B2 (en) | System and method for searching distributed files across a plurality of clients | |
Khan et al. | Secure ranked fuzzy multi-keyword search over outsourced encrypted cloud data | |
US20210111879A1 (en) | Key management for encrypted data | |
CN110990877A (zh) | 一种基于greenplum的医疗影像文件分段加解密系统及方法 | |
CN110635908B (zh) | 一种用于电子合同的支持亿万级密钥的管理方法 | |
Peng et al. | LS-RQ: A lightweight and forward-secure range query on geographically encrypted data | |
JP2014528680A (ja) | デジタルコンテンツ伝送の方法、システムおよび装置 | |
JPWO2017168798A1 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
Ho et al. | Speed up querying encrypted data on outsourced database |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |