当前位置: 首页 > 面试题库 >

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

戚鸿
2023-03-14
问题内容

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

例如说:

{"message": "Hello World"}

数据加密后,将是这样 "asdasdeiurnjiluoikpourqjrqurioqurhtml" target="_blank">ioimlkhoih"

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

任何帮助/方向真的很感激。谢谢。


问题答案:

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

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


 类似资料:
  • 我有一个测试班和测试方法。这取决于数据提供程序方法。数据提供程序方法位于不同的类中,而不是测试类或其基类之一。根据TestNG文件 如果要将数据提供程序放在不同的类中,则它需要是静态方法或具有非参数构造函数的类,并且指定可以在dataProviderClass属性中找到它的类 测试类: 数据提供程序类: Eclipse的测试输出: 它似乎不起作用。我正在使用TestNG 6.9.11并尝试从mav

  • 问题内容: 我正在尝试提高将包含敏感数据的MySQL数据库的安全性。我正在努力掌握一些术语。可以让我知道我是否正确理解了这种情况: 静态加密 -似乎我可以在表级别启用它。使用密钥对表中的所有数据进行加密。如果有人持有备份文件或对服务器具有物理访问权限,则数据将受到保护。当然,这假定密钥存储在其他位置。 AES_ENCRYPT- 在向表中插入/更新数据时,可以使用。通过SELECT查询数据时,我使用

  • 我有一个应用程序,需要在配置文件中存储一些秘密密码,如数据库和ftp密码/详细信息。我环顾四周,发现了许多使用AES的加密/解密解决方案,但我似乎不知道如何在不改变密钥的情况下使其工作。这意味着我可以加密和解密(使用相同的秘密密钥),但在重启等过程中保持持久性。我似乎无法让秘密钥匙保持不变。下面的示例显示了我的工作方法: 到目前为止还不错。然而,如果我运行它一次,我可能会得到'2Vhht/L80U

  • 我使用Botan库进行加密,我的加密代码如下所示。 这段代码看起来很好,可以加密输入文件。我发布这段代码是为了确定加密是否有错误。(但我假设加密做得正确)

  • 在Java中是否有一个静态工厂方法来创建队列? 或 但无法找到对队列(或出队列)进行同样操作的方便方法。我找到的唯一解决办法是:

  • 本文向大家介绍java使用RSA加密方式实现数据加密解密的代码,包括了java使用RSA加密方式实现数据加密解密的代码的使用技巧和注意事项,需要的朋友参考一下 RSA的应用 RSA是一种非对称加密算法。现在,很多登陆表单的密码的都采用RSA加密,例如京东中的登陆使用公钥对密码进行加密 java使用RSA加密方式实现数据加密解密,需要首先产生私钥和公钥 测试代码 RSA工具类的实现 总结 以上所述是