Прячем данные с помощью EncFs

Наиболее простой и эффективный способ создания зашифрованного раздела (папки) для ваших файлов – это использовать fuse.

Fuse – модуль ядра, позволяющий пользователям создавать свои собственные локальные файловые системы, в своём домашнем каталоге или на USB-брелке, например.

Главное преимущество здесь в том, что можно затем открыть файловую систему носителя под другими операционными системами – особенно полезное, если вы собираетесь подключать ваш USB-брелок к другим компьютерам (а именно для этого USB-брелок и придуман).

Fuse, легкий способ

Обычно вам не нужно беспокоиться о самостоятельной установке Fuse. Практически во всех дистрибутивах последних версий, включая SUSE, Fedora, Ubuntu, Mint это предусмотрено. Для зашифрованных файловых систем и Fuse тоже существует специально разработанный инструмент.

Этот инструмент называется EncFS, и благодаря Fuse решение получается весьма эффективным и гибким. Если вы не смогли найти пакет EncFS для вашей системы (что маловероятно), сборка из исходных текстов займет столько времени, сколько вам потребуется для того, чтобы найти и установить Fuse и связанные с ним библиотеки разработчика. Вам также понадобится пакет rlog (созданный автором EncFS), который доступен по адресу http://arg0.net/wiki/EncFS.

Выглядит не особо эффектно, зато Fuse и EncFS – эффективное и мощное решение для шифрования.

После установки EncFS, для создания зашифрованного каталога достаточно просто набрать

encfs ~/crypt-raw ~/crypt

EncFS сначала спросит, хотите ли вы создать два каталога, указанные в вышеприведенной команде (crypt-raw и crypt), которые, в нашем примере, расположены в домашнем каталоге. «Реальным» каталогом является crypt-raw, содержащий зашифрованные файлы, тогда как crypt содержит виртуальную файловую систему – расшифрованную версию содержимого каталога crypt-raw.

Следующий необходимый шаг – указание желаемого режима настройки. Выбор включает

  • Expert Configuration (Для Эксперта),
  • Preconfigured For The Paranoid (Для параноика) 
  • Standard Mode (Стандартный).

В большинстве случаев стандартный режим более чем достаточен – он применяет 160-битные ключи и алгоритм шифрования SSL/Blowfish от Брюса Шнайера (Bruce Schneier).

Экспертный режим предоставляет также 256-битное AES-шифрование, надежное, как в Пентагоне.

Размер области зашифрованных данных определяется размером блока. Пусть вы хотите сохранить одиночный байт, EncFS все равно создаст зашифрованный блок указанного вами размера.

Последний шаг в построении файловой системы – установка пароля для блокировки содержимого.

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

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

Проблема в том, что если вы забудете пароль для EncFS, то нет инструментов для восстановления ваших данных. В результате, лучше проявить слабость, взяв запоминающийся пароль, а не недоступный для взлома.

Затем войдите в каталог crypt и создайте файл. Команда

touch newfile

создаст пустой файл с именем newfile, но вы можете легко скопировать в этот каталог данные, которые хотите защитить. Теперь, взглянув на содержимое каталога crypt-raw, вы увидите то же количество файлов, но их имена и содержимое будут представлять собой случайный набор символов. Эта криптограмма – результат шифрования.

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

В каталоге crypt-raw есть также скрытый файл, с именем .encfs6 (скрытый - начинается с точки), в нем содержится информация, облегчающая понимание содержимого исходной файловой системы для EncFS.

Вы можете размонтировать зашифрованную файловую систему, набрав

fusermount -u ~/crypt

Это сделает запрет на шифрование в каталог crypt-raw, и ваши файлы будут как в сейфе. Чтобы вновь получить к ним доступ, просто запустите первую команду, которую мы использовали для создания каталога.

Дополнение

По-дефолту функции монтирования доступны только root'у, поэтому чтобы разрешить обычным пользователям работать с описанным шифрованием, необходимо в файле /etc/fuse.conf раскомментировать строчку user_allow_other.


Комментарии