如何保护/加密Lucene索引?
我正在研究一个桌面应用程序,它将使用卢塞恩作为搜索引擎。 该应用程序将安装在用户的机器上,索引将存储在本地硬盘上。
数据可能是保密的,所以我想保护索引免受未经授权的访问。 即使用户的机器被盗,数据也需要保证安全。
我到目前为止已经提出了两种方法:
该应用程序将分发给许多用户,所以我想尽可能简化安装。
有没有人有这方面的经验? 现在我认为最简单的方法是NTFS加密。 你怎么看?
谢谢!
查看FSDirectory.
的源代码FSDirectory.
所有的lucene磁盘IO都通过这个类。 你可以把你的加密/解密代码放在这个类中,并分发这个自定义的lucene二进制文件。
如果您使用的是对称加密,您可能会在此代码中嵌入密钥。 这可能易于反编译。
使用定制的FSDirectory,你可能会避开大部分好奇的人,他们会和Luke一起打开这个索引。 但是,你可能必须仔细考虑所有事情,才能使真正坚定的人们感到坚不可摧。
也许这有助于:https://issues.apache.org/jira/browse/LUCENE-2228。 然而,我不确定这一状况