dm-crypt - это подсистема прозрачного шифрования диска в ядре Linux версии 2.6 и новее, а также в DragonFly BSD . Он является частью инфраструктуры сопоставления устройств и использует криптографические процедуры из Crypto API ядра . В отличии от своего предшественника cryptoloop , дй-склеп был разработан для поддержки расширенных режимов работы, таких как XTS , ЖРО и ESSIV (см теории шифрования диска для получения дополнительной информации), для того , чтобы избежать водяных знаков атак . [1]В дополнение к этому, dm-crypt также решает некоторые проблемы надежности cryptoloop. [2]
dm-crypt реализован как целевой объект сопоставления устройств и может быть наложен поверх преобразований других устройств сопоставления. Таким образом, он может шифровать целые диски (включая съемные носители ), разделы , тома программного RAID , логические тома , а также файлы . Он выглядит как блочное устройство, которое можно использовать для резервного копирования файловых систем , подкачки или как физический том LVM .
Некоторые дистрибутивы Linux поддерживают использование dm-crypt в корневой файловой системе. Эти дистрибутивы используют initrd, чтобы предложить пользователю ввести парольную фразу в консоли или вставить смарт-карту перед обычным процессом загрузки. [3]
Внешние интерфейсы [ править ]
Целевой объект отображения устройства dm-crypt находится полностью в пространстве ядра и занимается только шифрованием блочного устройства - он не интерпретирует никакие данные. Он полагается на пользовательские интерфейсы для создания и активации зашифрованных томов и управления аутентификацией. В настоящее время доступны как минимум два интерфейса: cryptsetup
и cryptmount
.
cryptsetup [ править ]
Оригинальный автор (ы) | Яна Саут, Клеменс Фрувирт, Милан Броз [4] |
---|---|
Стабильный выпуск | 2.2.1 / 6 сентября 2019 г . [5] |
Написано в | C |
Операционная система | Unix-подобный |
Платформа | x86 , x86-64 , ARMv8 , ARMv7 , ppc64le , MIPS |
Размер | 7 МБ |
Доступно в | 16 языков [6] |
Список языков Английский, португальский, китайский (упрощенный), чешский, датский, голландский, финский, французский, немецкий, итальянский, японский, польский, русский, испанский, шведский, украинский | |
Тип | Программное обеспечение для шифрования дисков |
Лицензия | GPLv2 [7] Подбиблиотеки : LGPLv2.1 + [8] |
Интернет сайт | gitlab .com / cryptsetup / cryptsetup |
Интерфейс cryptsetup
командной строки по умолчанию не записывает какие-либо заголовки в зашифрованный том и, следовательно, предоставляет только самое необходимое: параметры шифрования должны предоставляться каждый раз при подключении диска (хотя обычно используются с автоматическими сценариями), и только для каждого тома можно использовать одну клавишу ; симметричное шифрование ключ непосредственно вытекают из прилагаемой ключевой фразы .
Из-за отсутствия « соли » использование cryptsetup в этом режиме менее безопасно, чем в случае с Linux Unified Key Setup (LUKS). [9] Однако простота cryptsetup делает его полезным в сочетании со сторонним программным обеспечением, например, с аутентификацией смарт-карты .
cryptsetup
также предоставляет команды для работы с дисковым форматом LUKS. Этот формат обеспечивает дополнительные функции , такие как управление ключами и ключ растяжки ( с использованием PBKDF2 ), и запоминает зашифрована конфигурация тома после перезагрузки. [3] [10]
cryptmount [ править ]
cryptmount
Интерфейс является альтернативой инструмента «Cryptsetup» , который позволяет любому пользователю монтировать при необходимости, без необходимости и размонтировать ую-крипту файловой систему суперпользователя привилегии после того , как устройство было настроено суперпользователь.
Особенности [ править ]
Тот факт, что программное обеспечение для шифрования дисков (шифрование томов), такое как dm-crypt, работает только с прозрачным шифрованием абстрактных блочных устройств, дает ему большую гибкость. Это означает, что его можно использовать для шифрования любых файловых систем на диске, поддерживаемых операционной системой , а также пространства подкачки ; сохраняются барьеры записи, реализованные файловыми системами. [11] [12] Зашифрованные тома могут храниться на дисковых разделах , логических томах , целых дисках, а также в образах дисков с файловой поддержкой (с помощью петлевых устройствс помощью утилиты losetup). dm-crypt также можно настроить для шифрования томов RAID и физических томов LVM .
dm-crypt также может быть настроен для обеспечения предзагрузочной аутентификации через initrd , таким образом шифруя все данные на компьютере, за исключением загрузчика, ядра и самого образа initrd. [3]
При использовании режима работы цепочки блоков шифрования с предсказуемыми векторами инициализации в качестве другого программного обеспечения для шифрования диска диск уязвим для атак с использованием водяных знаков . Это означает, что злоумышленник может обнаружить наличие на диске специально созданных данных. Чтобы решить эту проблему в своих предшественниках, dm-crypt включил положения для более сложных, специфичных для шифрования дисков режимов работы. [1] Поддержка 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». [13] [14] [15]
Совместимость [ править ]
К зашифрованным дискам dm-crypt и LUKS можно получить доступ и использовать их под MS Windows с помощью ныне несуществующего FreeOTFE (ранее DoxBox, LibreCrypt), при условии, что используемая файловая система поддерживается Windows (например, FAT / FAT32 / NTFS ). Зашифрованные файловые системы ext2 и ext3 поддерживаются с помощью Ext2Fsd или так называемой «устанавливаемой файловой системы Ext2 для Windows»; [16] FreeOTFE также поддерживает их.
Cryptsetup / LUKS и необходимая инфраструктура также были реализованы в операционной системе DragonFly BSD. [17]
См. Также [ править ]
- Сравнение программного обеспечения для шифрования дисков
Ссылки [ править ]
- ^ a b Клеменс Фрувирт (18 июля 2005 г.). «Новые методы шифрования жесткого диска» (PDF) . Венский технологический университет . Проверено 20 апреля 2007 . Цитировать журнал требует
|journal=
( помощь ) - ^ Майк Питерс (2004-06-08). «Шифрование разделов с использованием dm-crypt и ядра серии 2.6» . Архивировано из оригинала на 2012-07-11 . Проверено 20 февраля 2012 . Цитировать журнал требует
|journal=
( помощь ) - ^ a b c В. Майкл Петулло (18 января 2007 г.). «Шифрование дисков в Fedora: прошлое, настоящее и будущее» . Журнал Red Hat . Проверено 20 апреля 2007 .
- ^ «АВТОРЫ» . GitLab . Проверено 7 сентября 2019 .
- ^ «Примечания к выпуску Cryptsetup 2.2.1» . GitLab . Проверено 7 сентября 2019 .
- ^ "Текстовый домен cryptsetup" . Переводческий проект . Проверено 7 сентября 2019 .
- ^ «КОПИРОВАНИЕ» . GitLab . Проверено 7 сентября 2019 .
- ^ "COPYING.LGPL" . GitLab . Проверено 7 сентября 2019 .
- ^ "FAQ по cryptsetup" .
- ^ Клеменс Фрувирт (2004-07-15). «TKS1 - Двухуровневая схема установки ключей для защиты от криминалистики» (PDF) . Проект . Проверено 12 декабря 2006 .
- ^ Милан Броз (2012-04-24). "[dm-crypt] Поддерживает ли dm-crypt гарантии транзакций журналируемой файловой системы?" . saout.de . Проверено 8 июля 2014 .
- ^ Микулаш Паточка (2009-06-22). "ядро / гит / торвальдс / linux.git" . Дерево исходных текстов ядра Linux . kernel.org . Проверено 8 июля 2014 .
- ^ "dm-crypt: криптографическая цель устройства отображения ядра Linux - генераторы IV" . cryptsetup. 2014-01-11 . Проверено 5 апреля 2015 .
- ^ "dm-crypt: криптографическая цель устройства отображения ядра Linux" . Проверено 5 апреля 2015 .
- ^ "[dm-devel] [PATCH 2/2] dm-crypt: добавить режим TCW IV для старых контейнеров CBC TCRYPT" . redhat.com . Проверено 17 июня 2014 .
- ^ «Ext2 IFS для Windows» . fs-driver.org . Проверено 15 февраля 2015 года .
- ↑ Алекс Хорнунг (23 июля 2010). «ГОЛОВА: dm, lvm, cryptsetup и initrd на мастере» .
Внешние ссылки [ править ]
- Официальные сайты dm-crypt , cryptsetup-luks и cryptmount
- Все о dm-crypt и LUKS на одной странице (на archive.org) - странице, посвященной dm-crypt / LUKS, начиная с теории и заканчивая множеством практических примеров ее использования.