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
| Автор (ы) оригинала | Яна Саут, Клеменс Фрувирт, Милан Броз |
|---|---|
| Стабильный выпуск | 2.2.1 / 6 сентября 2019 г .
|
| Написано в | C |
| Операционная система | Unix-подобный |
| Платформа | x86 , x86-64 , ARMv8 , ARMv7 , ppc64le , MIPS |
| Размер | 7 МБ |
| Доступно в | 16 языков |
Список языков
Английский, португальский, китайский (упрощенный), чешский, датский, голландский, финский, французский, немецкий, итальянский, японский, польский, русский, испанский, шведский, украинский
| |
| Тип | ПО для шифрования дисков |
| Лицензия |
Подбиблиотеки GPLv2 : LGPLv2.1 + |
| Веб-сайт | gitlab |
Интерфейс 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.
Смотрите также
использованная литература
внешние ссылки
- Официальные сайты dm-crypt , cryptsetup-luks и cryptmount
- Все о dm-crypt и LUKS на одной странице (на archive.org) - странице, посвященной dm-crypt / LUKS, начиная с теории и заканчивая множеством практических примеров его использования.