Я работаю над настольным приложением, которое будет использовать Люцерн в качестве поисковой системы. Приложение будет установлено на машине пользователя, и индекс будет сохранен на локальном жестком диске.
Данные являются потенциально конфиденциальными, таким образом, я хотел бы защитить индекс от несанкционированного доступа. Данные должны быть безопасными, даже когда машина пользователя украдена.
2 подхода я придумал до сих пор:
Приложение будет распределено многим пользователям, таким образом, я хотел бы сохранить установку максимально простой.
У кого-либо есть опыт с этим сценарием? Прямо сейчас я думаю, что самый легкий подход был бы шифрованием NTFS. Что Вы думаете?
Спасибо!
Ознакомьтесь с исходным кодом FSDirectory.
Весь дисковый ввод-вывод люцена проходит через этот класс. Вы можете разместить свой код шифрования / дешифрования в этом классе и распространить этот пользовательский двоичный файл lucene.
Если вы используете симметричное шифрование, вы, вероятно, встроите свой ключ в этот код. Это может быть уязвимо для декомпиляции.
С помощью настраиваемого FSDirectory вы можете отразить большинство любопытных людей, которые открыли бы этот указатель с помощью Люка. Но, возможно, вам придется все продумать, чтобы сделать его нерушимым для действительно решительных людей.