静态加密数据时ElasticSearch的工作方式

时间:2019-04-03 17:45:09

标签: elasticsearch encryption

我的数据存储在DynamoDB中。为了启用全文本搜索,我正在使用Lambda函数将其转发到ES索引。但是,我希望在不影响搜索效率的情况下尽可能对数据进行加密。但是我不确定我的搜索在这里如何工作。静态加密数据后,我找不到任何文档/文章如何在内部进行搜索。

说例如:

{"message": "Hello World"} 

数据加密后,将类似于"asdasdeiurnjiluoikpourqjrqurioqurioimlkhoih"

当我发送“获取请求”以搜索“ Hello World”时。这种反应如何。

非常感谢您的帮助/指示。谢谢。

1 个答案:

答案 0 :(得分:1)

没有简单的答案。如果希望对数据进行适当的加密和适当的保护,则任何可能的解决方案都会削弱安全性。首先,请仔细考虑用例:

  1. 全文搜索需要哪些属性?也许可以将它们分开,以便它们不会形成个人可识别的信息,并且您可以通过它们进行全文搜索。这样可以将这些内容保留在Elasticsearch(或任何具有全文索引的RDB中)中。
  2. 您期望导致使用全文本索引的典型搜索查询是什么?也许您可以将其范围缩小为使用数据块进行精确匹配(例如,通过“ john”进行搜索并找到“ John Smith”,因为它可能有两个块:“ john”和“ smith”)–这些块则可以正确加密,因此对于给定的条目,您只需找到其中一个即可。
  3. 根据系统风险分析的确切数据保护要求是什么?也许允许您使用应用程序内加密,并在使用加密保留静态数据时使用纯文本数据的内存索引。

以下是与您的主题相关的问题,可能也有帮助: