dm-крипт

Программное обеспечение для шифрования дисков

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

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

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

Фронтенды

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

криптонастройка

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

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

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

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

криптомонтировать

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

Функции

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

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

При использовании режима работы цепочки блоков шифра (CBC) с предсказуемыми векторами инициализации , как и в другом программном обеспечении для шифрования дисков, диск уязвим для атак с использованием водяных знаков . Это означает, что злоумышленник может обнаружить наличие специально созданных данных на диске. Чтобы решить эту проблему в своих предшественниках, dm-crypt включил положения для более сложных, специфичных для шифрования дисков режимов работы. [1] Поддержка ESSIV (зашифрованный вектор инициализации сектора соли) была введена в ядре Linux версии 2.6.10, LRW в 2.6.20 и XTS в 2.6.24. Алгоритм шифрования дисков с широким блоком , Adiantum , был добавлен в 5.0, а его двоюродный брат на основе AES HCTR2 в 6.0.

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

Поддержка зашифрованных файловых систем включает тома LUKS (версии 1 и 2), loop-AES, TrueCrypt / VeraCrypt (начиная с ядра Linux 3.13), [13] [14] [15] и зашифрованную BitLocker NTFS (начиная с cryptsetup 2.3.0). [16] Поддержка TrueCrypt/VeraCrypt (TCRYPT) и BitLocker (BITLK) требует API шифрования пользовательского пространства ядра. [17]

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

Зашифрованные диски dm-crypt и LUKS могут быть доступны и использованы в MS Windows с использованием ныне несуществующего FreeOTFE (ранее DoxBox, LibreCrypt), при условии, что используемая файловая система поддерживается Windows (например, FAT /FAT32/ NTFS ). Зашифрованные файловые системы ext2 и ext3 поддерживаются с помощью Ext2Fsd или так называемой "Ext2 ​​Installable File System for Windows"; [18] FreeOTFE также поддерживает их.

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

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

Ссылки

  1. ^ ab Fruhwirth, Clemens (18 июля 2005 г.). "Новые методы шифрования жесткого диска" (PDF) . Венский технический университет . Получено 22 августа 2024 г. .
  2. ^ Питерс, Майк. «Шифрование разделов с использованием dm-crypt и ядра серии 2.6». Linux.com . Архивировано из оригинала 11 июля 2012 г. Получено 22 августа 2024 г.
  3. ^ abc W. Michael Petullo (2007-01-18). "Шифрование дисков в Fedora: прошлое, настоящее и будущее". Red Hat Magazine. Архивировано из оригинала 2008-10-10 . Получено 2007-04-20 .
  4. ^ "АВТОРЫ". GitLab . Получено 7 сентября 2019 г.
  5. ^ ab "docs · master · cryptsetup / cryptsetup". GitLab . Получено 10 октября 2024 г. .
  6. ^ "The cryptsetup textual domain". Проект перевода . Получено 7 сентября 2019 г.
  7. ^ "COPYING". GitLab . Получено 7 сентября 2019 г.
  8. ^ "COPYING.LGPL". GitLab . Получено 7 сентября 2019 г.
  9. ^ "Часто задаваемые вопросы по cryptsetup".
  10. ^ Клеменс Фрухвирт (2004-07-15). "TKS1 – антикриминалистическая, двухуровневая и итеративная схема настройки ключа" (PDF) . Черновик . Получено 2006-12-12 .
  11. ^ Милан Броз (24.04.2012). "[dm-crypt] Поддерживает ли dm-crypt транзакционные гарантии журналируемой файловой системы?". saout.de . Получено 08.07.2014 .
  12. ^ Микулаш Паточка (2009-06-22). "kernel/git/torvalds/linux.git". Исходное дерево ядра Linux . kernel.org . Получено 2014-07-08 .
  13. ^ "dm-crypt: Linux kernel device-mapper crypto target – IV generators". cryptsetup. 2014-01-11 . Получено 2015-04-05 .
  14. ^ "dm-crypt: Linux kernel device-mapper crypto target" . Получено 2015-04-05 .
  15. ^ "[dm-devel] [PATCH 2/2] dm-crypt: Добавить режим TCW IV для старых контейнеров CBC TCRYPT". redhat.com . Получено 2014-06-17 .
  16. ^ Trefny, Vojtech (25 января 2020 г.). Шифрование диска BitLocker в Linux (PDF) . DevConf CZ.
  17. ^ cryptsetup(8)  –  Руководство программиста Linux – Администрирование и привилегированные команды
  18. ^ "Ext2 ​​IFS для Windows". fs-driver.org . Получено 15 февраля 2015 г. .
  19. ^ Алекс Хорнунг (2010-07-23). ​​"ВНИМАНИЕ: dm, lvm, cryptsetup и initrd на главном сервере".
  • Официальные сайты dm-crypt , cryptsetup-luks и cryptmount
  • Все о dm-crypt и LUKS на одной странице (на archive.org) – страница, посвященная dm-crypt/LUKS, начиная с теории и заканчивая множеством практических примеров его использования.
Получено с "https://en.wikipedia.org/w/index.php?title=Dm-crypt&oldid=1261009941#cryptsetup"