Что касается того, как хранить документы в зашифрованном виде, смотрите здесь: http://daniellang.net/document-level-encryption-in-ravendb/
Шифрование индексов на высоком уровне (выше lucene) имеет много серьезных проблем, и я уверен, что вы не хотите этого делать. Запросы диапазона не будут работать, порядок будет нарушен, полнотекстовый поиск невозможен и т. Д.
Обратите внимание, что по умолчанию ворон хранит поля внутри люцена без хранения полей. Это означает, что, хотя вы можете использовать их в запросах, вы не можете получить их значение обратно в качестве результата поиска. Тем не менее, я понимаю, что в очень безопасных средах этого может быть недостаточно, поскольку их можно извлечь каким-то образом .
Так что, если вам действительно нужен такой высокий уровень безопасности, я предлагаю вам выбрать один из следующих вариантов:
- Не использовать индексы
- Шифрование папки индекса на сервере ravens на уровне файловой системы (например, с использованием TrueCrypt)
- Расширьте RavenDB, чтобы она использовала собственную реализацию FSDirectory lucene, которая использует симметричный алгоритм для всех дисковых операций ввода-вывода