dm-crypt - dm-crypt

dm-crypt - это подсистема прозрачного шифрования диска в ядре Linux версии 2.6 и новее, а также в DragonFly BSD . Он является частью инфраструктуры устройства отображения (dm) и использует криптографические процедуры из Crypto API ядра . В отличии от своего предшественника cryptoloop , дй-склеп был разработан для поддержки расширенных режимов работы, таких как XTS , ЖРО и ESSIV (см теории шифрования диска для получения дополнительной информации), для того , чтобы избежать водяных знаков атак . В дополнение к этому, dm-crypt решает некоторые проблемы надежности cryptoloop.

dm-crypt реализован как целевой объект сопоставления устройств и может быть наложен поверх преобразований других устройств сопоставления. Таким образом, он может шифровать целые диски (включая съемные носители ), разделы , тома программного RAID , логические тома , а также файлы . Он выглядит как блочное устройство, которое можно использовать для резервного копирования файловых систем , подкачки или как физический том LVM .

Некоторые дистрибутивы Linux поддерживают использование dm-crypt в корневой файловой системе. Эти дистрибутивы используют initrd, чтобы предложить пользователю ввести парольную фразу в консоли или вставить смарт-карту перед обычным процессом загрузки.

Фронтенды

Целевой объект отображения устройства dm-crypt полностью находится в пространстве ядра и занимается только шифрованием блочного устройства  - он не интерпретирует никакие данные. Он полагается на внешние интерфейсы пользовательского пространства для создания и активации зашифрованных томов и управления аутентификацией. В настоящее время доступны как минимум два интерфейса: cryptsetupи cryptmount.

cryptsetup

cryptsetup
Автор (ы) оригинала Яна Саут, Клеменс Фрувирт, Милан Броз
Стабильный выпуск
2.2.1 / 6 сентября 2019 г . ; 2 года назад ( 2019-09-06 )
Написано в C
Операционная система Unix-подобный
Платформа x86 , x86-64 , ARMv8 , ARMv7 , ppc64le , MIPS
Размер 7 МБ
Доступно в 16 языков
Список языков
Английский, португальский, китайский (упрощенный), чешский, датский, голландский, финский, французский, немецкий, итальянский, японский, польский, русский, испанский, шведский, украинский
Тип ПО для шифрования дисков
Лицензия Подбиблиотеки GPLv2
:
LGPLv2.1 +
Веб-сайт gitlab .com / cryptsetup / cryptsetup

Интерфейс cryptsetupкомандной строки по умолчанию не записывает никаких заголовков в зашифрованный том и, следовательно, предоставляет только самое необходимое: настройки шифрования должны предоставляться каждый раз, когда диск монтируется (хотя обычно используется с автоматическими сценариями), и только для каждого тома можно использовать одну клавишу ; симметричное шифрование ключ непосредственно вытекают из прилагаемой ключевой фразы .

Из-за отсутствия « соли » использование cryptsetup в этом режиме менее безопасно, чем в случае с Linux Unified Key Setup (LUKS). Однако простота cryptsetup делает его полезным в сочетании со сторонним программным обеспечением, например, с аутентификацией смарт-карты .

cryptsetupтакже предоставляет команды для работы с дисковым форматом LUKS. Этот формат обеспечивает дополнительные функции , такие как управление ключами и ключ растяжки ( с использованием PBKDF2 ), и запоминает зашифрована конфигурация тома после перезагрузки.

cryptmount

cryptmountИнтерфейс является альтернативой инструмента «Cryptsetup» , который позволяет любому пользователю монтировать при необходимости, без необходимости и размонтировать ую-крипту файловой систему суперпользователя привилегии после того , как устройство было настроено суперпользователь.

Функции

Тот факт, что программное обеспечение для шифрования дисков (шифрование томов), такое как dm-crypt, работает только с прозрачным шифрованием абстрактных блочных устройств, дает ему большую гибкость. Это означает, что его можно использовать для шифрования любых файловых систем на дисках, поддерживаемых операционной системой , а также пространства подкачки ; сохраняются барьеры записи, реализованные файловыми системами. Зашифрованные тома могут храниться в разделах диска , логических томах , целых дисках, а также в образах дисков с файловой поддержкой (с помощью петлевых устройств с утилитой losetup). dm-crypt также можно настроить для шифрования томов RAID и физических томов LVM .

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

При использовании режима работы цепочки блоков шифрования с предсказуемыми векторами инициализации в качестве другого программного обеспечения для шифрования диска диск уязвим для атак с использованием водяных знаков . Это означает, что злоумышленник может обнаружить наличие на диске специально созданных данных. Чтобы решить эту проблему в своих предшественниках, dm-crypt включил положения для более сложных режимов работы, специфичных для шифрования диска. Поддержка ESSIV (вектор инициализации шифруется соль сектора) была введена в Linux ядра версии 2.6.10, ЖРО в 2.6.20 и XTS в 2.6.24.

Linux Crypto API включает поддержку большинства популярных блочных шифров и хэш-функций , которые можно использовать с dm-crypt.

Поддержка зашифрованных FS включает тома LUKS, loop-AES и, начиная с ядра Linux 3.13, цель TrueCrypt называется «tcw».

Совместимость

К зашифрованным дискам dm-crypt и LUKS можно получить доступ и использовать их под MS Windows с помощью ныне несуществующего FreeOTFE (ранее DoxBox, LibreCrypt), при условии, что используемая файловая система поддерживается Windows (например, FAT / FAT32 / NTFS ). Зашифрованные файловые системы ext2 и ext3 поддерживаются с помощью Ext2Fsd или так называемой «устанавливаемой файловой системы Ext2 для Windows»; FreeOTFE также поддерживает их.

Cryptsetup / LUKS и необходимая инфраструктура также были реализованы в операционной системе DragonFly BSD.

Смотрите также

использованная литература

внешние ссылки