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

文档序号:16248170发布日期:2018-12-11 23:46阅读:1839来源:国知局
基于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集群当中的核心业务数据无泄露风险,提升数据的安全等级。

以上实施例为本发明的优选实施例,并不用以限定本发明的目的,凡在本发明的精神和原则之内进行的修改和替换,均在本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1