CN108984627A - 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 - Google Patents

基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 Download PDF

Info

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
Application number
CN201810634649.7A
Other languages
English (en)
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.)
SF Technology Co Ltd
SF Tech Co Ltd
Original Assignee
SF Technology Co Ltd
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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201810634649.7A priority Critical patent/CN108984627A/zh
Publication of CN108984627A publication Critical patent/CN108984627A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • 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)
  • 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目前是以明文方式存储文档的,因此,业务系统在使用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所述方法的步骤。
CN201810634649.7A 2018-06-20 2018-06-20 基于Elasticsearch的加密文档的搜索方法、系统、设备和存储介质 Pending CN108984627A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国电子科技网络信息安全有限公司 大数据平台安全索引系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王雅山: "云存储平台中加密数据的多关键字排序搜索技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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