elasticsearch 全文搜索引擎与安全
我们有数以百万计的敏感文档(docx、pfd、xlsx等)由客户上传到我们的应用程序中。在我们的应用程序中,我们在这些文档中使用Sphinx进行全文搜索。流程如下:
elasticsearch 全文搜索引擎与安全,
elasticsearch,solr,lucene,devops,sphinx,
elasticsearch,Solr,Lucene,Devops,Sphinx,我们有数以百万计的敏感文档(docx、pfd、xlsx等)由客户上传到我们的应用程序中。在我们的应用程序中,我们在这些文档中使用Sphinx进行全文搜索。流程如下: 通过应用程序表单上传 来自文档的纯文本抓取器 将文档存储到加密的S3存储桶 将纯文本存储到MySQL数据库中 从MySQL DB明文到存储在SSD上的Sphinx索引的索引器 由于安全性和性能问题,我们必须完全重建上述流。MySQL数据库中的纯文本是这个解决方案中最大的“禁忌”,但我们必须分析市场上任何可能的解决方案。文档的安全和加
任何有搜索引擎和文档全文搜索解决方案经验的人,我都很乐意听取您的意见。特别是sphinx,有XMLPipe(或TSVPipe)索引器方法。这是indexer执行脚本并为输出编制索引的地方,而不是读取“数据库” 这样就可以让一个脚本下载加密的数据,解密并输出内容。即,解密后的数据从不直接“存储” 或者可以在mysql中使用本机加密进行类似的操作 数据可以在数据库中加密,在索引过程中“即时”解密 还要注意的是,虽然搜索索引实际上没有加密,但它是一个“反向索引”,因此,虽然理论上可以从中重建单词,但它只是原始单词,而不是原始形式的完整文档。 如果你愿意牺牲一些结果的准确性,也许可以启用无故障索引。这就意味着我们甚至不能重建文件。知道每个文档中的单词,但不知道实际的顺序
或者可以使用dict=crc,它不存储实际单词,只存储单词的散列版本。这使得重建非常困难(但并非完全不可能)。因为需要计算彩虹表来重建文档。有多家公司专门为这些需求开发解决方案,例如个人健康信息。日立的Credeon就是这样一家供应商: