Ecryptfs

Содержание

Глоссарий

Инструментарий

Файлы

Для создания зашифрованного тома Ecryptfs необходимо использовать пользовательские утилиты из пакета ecryptfs-utils.

Порядок создания зашифрованного раздела следующий:

1. Загрузить модуль ядра ecryptfs

modprobe ecryptfs или создать файл ecryptfs.conf в /etc/modprobe.d/, добавив в него имя загружаемого модуля (ecryptfs). Во втором случае, модуль загрузится автоматически при следующем запуске.

2. Сгенерировать случайный пароль монтирования

3. Придумать пароль для контейнера

4. Упаковать пароль монтирования в криптографический контейнер

ecryptfs-wrap-passphrase $HOME/.ecryptfs/wrapped_passphrase "mount_passphrase\nwrapping_passphrase"

Контейнер будет содержаться в файле и в дальнейшем будет использован при монтировании зашифрованного тома.

5. Добавить пароль монтирования в ключницу

ecryptfs-insert-wrapped-passphrase-into-keyring $HOME/.ecryptfs/wrapped_passphrase wrapping_passphrase

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

Получить значение подписи ключа монтирования можно в любой момент командой keyctl list @u.

6. Создать каталог зашифрованных файлов

mkdir -m 700 .data-lower

7. Создать каталог доступа

mkdir -m 500 .data-upper

Файлы станут доступны после монтирования зашифрованного тома.

8. Добавить в /etc/fstab следующее

/home/user/.data-lower /home/user/.data-upper ecryptfs noauto,user,ecryptfs_sig=16242358f0079dd6,ecryptfs_fnek_sig=16242358f0079dd6,ecryptfs_cipher=blowfish,ecryptfs_key_bytes=32,ecryptfs_unlink_sigs 0 0

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

user: разрешить пользователю монтировать том;

ecryptfs_sig: подпись ключа монтирования;

ecrypts_fnek_sig: „filename encryption key signature“, подпись ключа для шифрования файловых имен;

ecryptfs_cipher: алгоритм шифрования;

ecryptfs_key_bytes: размер ключа шифрования;

ecryptfs_unlink_sigs: удалять пароль монтирования из ключницы при размонтировании тома.

9. Смонтировать том

mount -i ~/.data-upper

При выполнении данной команды пароль монтирования должен находиться в ключнице.

Файлы, добавляемые в каталог ~/.data-upper, будут зашифрованы и добавлены в каталог ~/.data-lower. При размонтировании ~/.data-upper, все файлы из него исчезнут, но их зашифрованные дубликаты останутся в ~/.data-lower.

10. Размонтировать том

umount ~/.data-upper

Пароль монтирования будет удален из ключницы и потребует повторного добавления при последующем монтировании тома.

Глоссарий

mount passphrase

пароль монтирования

stacked cryptographic file system

файловая система, устанавливаемая поверх уже существующей

wrapped passphrase

упакованный пароль

wrapping passphrase

пароль упаковщика

Инструментарий

ecryptfs-utils набор утилит для работы с Ecryptfs

ecryptfs-wrap-passphrase упаковщик пароля монтирвания

# упаковать пароль монтирования
printf "%s\n%s" "mount_passphrase" "wrapping_passphrase" | ecryptfs-wrap-passphrase $HOME/.ecryptfs/wrpapped-passphrase -

keyctl менеджер ключей

# показать пароли, хранимые в ключнице
keyctl list @u

keyutils набор утилит для работы с ключницей

lsmod средство отображения информации о загруженных модулях ядра

# перечислить загруженные модули; отфильтровать по маске; отсортировать по алфавиту
lsmod | grep ecryptfs | sort

modinfo средство отображения информации о модуле ядра

# показать информацию о модуле ecryptfs
modinfo ecryptfs

modprobe средство загрузки модулей ядра

# загрузить модуль ecryptfs
modprobe ecryptfs

Файлы

/usr/share/doc/ecryptfs-utils/README

файл с инструкцией по работе с системой шифрования

/etc/fstab

файл с перечнем информации о файловых системах, которые могут быть смонтированы, и их настройках

/etc/mtab mounted file systems table

файл со списком смонтированных файловых систем и настроек монтирования