Как обеспечить прозрачный доступ к зашифрованным файлам без их полного расшифрования? Всем привет!
Я пишу небольшое приложение на Java похожее на TrueCrypt, оно представляет из себя контейнер с зашифрованными файлами пользователя.
Есть проблема с получением доступа к зашифрованным файлам. На данный момент я использую такой поход:
1. При подключении контейнера полностью расшифровываю все файлы в обычную папку.
2. Монтирую папку как диск.
3. Наблюдаю за событиями в папке с расшифрованными файлами используя WatchService.
4. Например, при добавление нового файла зашифровываю его и сохраняю в контейнер.
5. После отключения контейнера удаляю все расшифрованные файлы и отключаю папку.
Хотелось бы найти решение, которое позволило бы расшифровывать только те файлы, которыми хочет воспользоваться пользователь, например предоставляя пользователю доступ только к названиям файлов, а когда пользователь хочет использовать файл расшифровать только один файл.
Требования такие: использовать только нативный проводник, т. е. Не изобретать свой файловый менеджер, решение должно быть кросплатформенным.
На данный момент есть идея реализовать протокол FTP или WebDAV и смонтировать их как сетевой диск.
Есть ли более простое и элегантное решение?

21 Авг 2019 в 07:14
243 +1
0
Ответы
1

Для обеспечения прозрачного доступа к зашифрованным файлам без их полного расшифрования можно использовать концепцию lazy decryption. Этот подход предполагает, что файлы расшифровываются только в момент обращения к ним.

Один из способов реализации lazy decryption - использование виртуальной файловой системы. Вы можете создать виртуальную файловую систему, которая будет предоставлять доступ к зашифрованным файлам, но не расшифровывать их сразу. Когда пользователь обращается к файлу для чтения или записи, файл автоматически расшифровывается в памяти и предоставляется пользователю.

Для реализации виртуальной файловой системы вам может пригодиться библиотека Java Native Access (JNA) или Java Native Interface (JNI), которые позволяют взаимодействовать с нативными библиотеками операционной системы. С их помощью вы сможете создать драйвер файловой системы, который будет работать с зашифрованными файлами.

Также вы можете обратить внимание на существующие библиотеки и инструменты для работы с зашифрованными файлами, такие как Apache Commons Crypto или Bouncy Castle. Эти библиотеки могут упростить работу с шифрованием и расшифрованием файлов.

Использование протоколов FTP или WebDAV также может быть хорошим решением, так как они позволяют предоставить доступ к зашифрованным файлам через стандартные сетевые протоколы.

Надеюсь, эти рекомендации помогут вам найти более простое и элегантное решение для обеспечения прозрачного доступа к зашифрованным файлам.

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир