EncFS спустя время

Лет десять назад я начал активно пользоваться шифрованной файловой системой EncFS. Опытом использования поделился в статье — «Шифруемся с EncFS«. Вот теперь пришло время с ней проститься. Возможно прощание затянулось, но что делать. Почему? И чем ее заменить? Читаем.

Проблемы

Проблема первая — резкое снижение популярности. В значительной мере это видно по тому, что не появляется новых приложений, снижению количества поддерживающих ее приложений и прекращению развития оставшихся (из тех которыми я использовал десять лет назад осталось только encfs4win).

Проблема вторая — разброс версий. Зарелизилась EncFS в 2003. Последняя версия (1.9.5) вышла в 2018 (GitHub). В тоже время значительная часть приложении работают на версии 1.7.4. Обратная совместимость работает, но есть нюансы.

Проблема третья — безопасность. В 2014 для версии 1.7.4 проводился аудит безопасности выявивший критические уязвимости в архитектуре. Уязвимости полностью не закрытые до сих пор. Идут разговоры о версии 2.0 но в то, что она появится надежды все меньше.

Конкуренты

В 2015 (что как бы намекает) появились сразу две конкурирующие разработки по многим параметрам превосходящие EncFS и без ее недостатков. Первую — CryFS я опробовал и даже местами начал использовать. Вторую — GoCryptFS опробовал, но не нашел ей применения. От перехода меня удерживало отсутствие поддержки для Android (обилие приложений всегда было главным плюсом EncFS) И вот появилось приложение DroidFS с поддержкой GoCryptFS и, в перспективе, CryFS.

GoCryptFS

GoCryptFS реализация EncFS на Go, но без свойственных ей уязвимостей (аудит безопасности 2017). Используемая модель шифрования дает защиту файлам от чтения и гарантирует их целостность, но не защищает от подмены более старой версией, удаления или изменения структуры каталогов. Предполагается, что это на себя берет облачное хранилище. Зато работает быстрее всех конкурентов. Имеется обратный режим (каталог с файлами при монтировании превращается в зашифрованный — полезно для бекапов). Активно развивается. Мой выбор на текущий момент.

GUI для Linux и MacOS — SiriKali кроссплатформенное приложение поддерживающее, впрочем, под каждой платформой разное. Кроме того утилита командной строки. В KDE — Plasma Vault. Для Windows есть своя реализация — cppcryptfs (требует Dokany). Для Android есть DroidFS (на F-Droid).

CryFS

CryFS (GitHub) — самый крутой вариант по заявленным возможностям. Шифрует и защищает от изменений метаданные, размеры файлов, структуру каталогов. Плата за все это — скорость работы. Генерирует множество мелких файлов, что подойдет не для каждой файловой системы. Как минимум занимаемое шифрованными файлами место больше больше чем исходниками. Реализована для Windows, Linux, macOS (приложение командной строки и GUI SiriKali, Plasma Vault). Нет реализаций для Android (обещают в DroidFS). Активно развивается. Резервный кандидат.

Cryptomator

Cryptomator — Java (JavaFX) приложение для шифрования файлов на облачных сервисах. Так сказать альтернативный взгляд на проблему. Имеются версии для Windows, macOS, Linux, Android, iOS. Топ по кроссплатформенности. Приложение коммерческое, но с открытым ядром (GitHub). Простой вариант для людей предпочитающих простые решения за деньги. Не мой.

Сравнения на на сайте CryFS и на сайте GoCryptFS.

Интеграция с облаками

На момент написания приложений реализующих эту поддержку нет за исключением Cryptomator. Придется ее как то обеспечивать самим.

Для настольных операционок это решается использованием символических ссылок, специализированного программного обеспечения, например, Rclone, систем синхронизации типа Syncthing. В Android можно воспользоваться приложением FolderSync или X-plore File Manager или их аналогами.

В первой статье этот момент я упустил, но важно при использовании командной строки не монтировать каталог в директорию DropBox (или аналогичную) чтобы избежать двойной синхронизации. Пример с сайта GoCryptFS:

$ mkdir ~/Dropbox/cipher
$ mkdir ~/plain
$ gocryptfs -init ~/Dropbox/cipher
$ gocryptfs ~/Dropbox/cipher ~/plain

EncFS в 2021

Дань памяти (возможно кому потребуется для доступа к архивам). Я пользовался следующими приложениями:

Для Windows (и macOS) есть приложение EncFSMP (GitHub) использующее Pismo в качестве замены FUSE.

Все еще существует и развивается encfs4win (последняя версия v1.11.0-beta.2). Скачать можно с GitHub или Chocolatey). Последняя версия работают на encfs версии 1.9.5 и Dokany версии 1.3.1.1000.

В Linux (и macOS) консоль, SiriKali, Plasma Vault.

Для Android — EDS Lite (F-Droid), это приложение является редакцией EDS (Encrypted Data Store) с открытым исходным кодом (GitHub). Поддерживает VeraCrypt, TrueCrypt, LUKS и EncFs. Приложение Cryptonite не разрабатывается с 2015 года все еще доступно для скачивания с Google Code (ALPHA-0.7.9) и GitHub (BETA-0.7.17).

Вот в принципе и все, что хотел сказать. Всего хорошего.

Leave a Reply