Опубликован набор утилит Cryptsetup 2.7, предназначенных для настройки шифрования дисковых разделов в Linux при помощи модуля dm-crypt. Поддерживается работа с разделами dm-crypt, LUKS, LUKS2, BITLK, loop-AES и TrueCrypt/VeraCrypt. В состав также входят утилиты veritysetup и integritysetup для настройки средств контроля целостности данных на основе модулей dm-verity и dm-integrity.
Ключевые улучшения:
- Реализована возможность использования аппаратного механизма шифрования дисков OPAL, поддерживаемого на cамошифруемых (SED – Self-Encrypting Drives) накопителях SATA и NVMe с интерфейсом OPAL2 TCG, в которых устройство аппаратного шифрования встроено непосредственно в контроллер. С одной стороны шифрование OPAL завязано на проприетарное оборудование и не доступно для публичного аудита, но, с другой стороны, может использоваться как дополнительный уровень защиты над программным шифрованием, не приводящий к снижению производительности и не создающий нагрузку на CPU.
Для использования OPAL в LUKS2 требуется сборка ядра Linux с опцией CONFIG_BLK_SED_OPAL и включение в Cryptsetup (по умолчанию поддержка OPAL отключена). Настройка LUKS2 OPAL осуществляется по аналогии с программным шифрованием – метаданные сохраняются в заголовке LUKS2. Ключ разделяется на ключ раздела для программного шифрования (dm-crypt) и ключ разблокировки для OPAL. OPAL может использоваться как вместе с программным шифрованием (cryptsetup luksFormat –hw-opal ), так и отдельно (cryptsetup luksFormat –hw-opal-only ).
Активация и деактивация OPAL производится тем же способом (open, close, luksSuspend, luksResume), что и для устройств LUKS2. - В plain-режиме, при котором мастер-ключ и заголовок не хранятся на диске, по умолчанию задействован шифр aes-xts-plain64 и алгоритм хэширования sha256 (вместо режима CBC, имеющего проблемы с производительностью, задействован XTS, а вместо устаревшего хэша ripemd160 – sha256).
- В командах open и luksResume разрешено хранение ключа раздела в выбранном пользователем хранилище ключей в ядре (keyring). Для обращения к keyring во многие команды cryptsetup добавлена опция “–volume-key-keyring” (например ‘cryptsetup open –link-vk-to-keyring “@s::%user:testkey” tst’).
- На системах без раздела подкачки при выполнении форматирования или создания слота ключей для PBKDF Argon2 теперь используется только половина свободной памяти, что решило проблему с исчерпанием доступной памяти на системах с небольшим объёмом ОЗУ.
- Добавлена опция “–external-tokens-path” для указания каталога для внешних обработчиков токенов LUKS2 (плагинов).
- В tcrypt добавлена поддержка алгоритма хэширования Blake2 для VeraCrypt.
- Добавлена поддержка блочного шифра Aria.
- Добавлена поддержка Argon2 в реализациях OpenSSL 3.2 и libgcrypt, что позволяет обойтись без использования libargon.