我正在开发一款将使用Lucerne作为搜索引擎的桌面应用。该应用程序将安装在用户的计算机上,索引将存储在本地硬盘上。
数据可能是保密的,因此我希望保护索引免受未经授权的访问。即使用户的机器被盗,数据也需要是安全的。
到目前为止,我已经提出了两种方法:该应用程序将分发给许多用户,因此我希望尽可能简化安装。
有没有人有这种情况的经验?现在我认为最简单的方法是NTFS加密。你觉得怎么样?
谢谢!
答案 0 :(得分:8)
查看FSDirectory.
的源代码lucene的所有磁盘IO都通过此类。您可以将加密/解密代码放在此类中,并分发此lucene的自定义二进制文件。
如果您使用对称加密,则可能会将密钥嵌入此代码中。这可能容易受到反编译的影响。
使用自定义FSDirectory,您可以避开大多数将使用Luke打开此索引的好奇人物。但是,你可能需要仔细考虑所有事情才能让真正坚定的人们牢牢抓住它。
答案 1 :(得分:3)
也许这会有所帮助:https://issues.apache.org/jira/browse/LUCENE-2228。我不确定状态
答案 2 :(得分:2)
答案 3 :(得分:0)
如果您加密索引存储,我不确定您以后会如何搜索它,您可能希望使用对称可搜索加密和非对称可搜索加密技术,可以保证您甚至在远程磁盘上搜索操作而不实际解密它。