Cryptsetup 2.8: нові можливості для шифрування дисків у Linux
Cryptsetup 2.8: Нові можливості та покращення для шифрування дисків у Linux
Випущено новий набір утиліт Cryptsetup 2.8, призначених для налаштування шифрування дискових розділів у Linux за допомогою модуля dm-crypt. Нова версія пропонує низку важливих покращень, спрямованих на підвищення продуктивності та безпеки зашифрованих даних.
Cryptsetup підтримує роботу з розділами dm-crypt, LUKS, LUKS2, BITLK, loop-AES і TrueCrypt/VeraCrypt. До складу також входять утиліти veritysetup та integritysetup для налаштування контролю цілісності даних на основі модулів dm-verity і dm-integrity.
Ключові покращення в Cryptsetup 2.8
Розробники представили кілька важливих нововведень, що розширюють функціональність шифрування дисків:
Підтримка inline-режиму для NVMe-накопичувачів
Додано підтримку inline-режиму, який дозволяє використовувати розширені сектори з додатковою областю для зберігання метаданих. Такі сектори підтримуються деякими NVMe-накопичувачами, що можуть розміщувати в секторі, окрім області з даними, ще й блок метаданих.
Наприклад, можна використовувати 4096 байт під дані та 64 байт під метадані. Cryptsetup може використовувати область метаданих у секторі для зберігання службової інформації. Це усуває необхідність залучення додаткового шару на базі dm-integrity.
В результаті можна обійтися без ведення журналу dm-integrity, що є вузьким місцем і негативно впливає на продуктивність. В ядрі Linux можливості, необхідні для роботи inline-режиму, присутні починаючи з випуску 6.11. Для включення inline-режиму додано опцію “–integrity-inline”.
Удосконалений API для управління ключами
Доведено до готовності API Keyslot Context для маніпуляцій зі слотами ключів. Новий API дозволив розширити функціональність багатьох існуючих команд такими функціями як:
- Активація токенів
- Відновлення роботи з призупиненим зашифрованим пристроєм
- Виконання повторного шифрування (reencryption)
Додаткові покращення у Cryptsetup 2.8
В утиліту cryptsetup додано опції “–key-description” і “–new-key-description” для прикріплення опису до ключів. Це полегшує ідентифікацію та управління різними ключами.
З’явилася можливість відновлення призупиненої операції повторного шифрування, використовуючи токен і ключі розділу. Завдяки цьому процес шифрування став більш стійким до збоїв.
В реалізацію команди “repair” додано перевірку пошкодження областей зі слотами ключів LUKS. Це підвищує надійність відновлення даних у випадку пошкоджень.
У команду veritysetup додано опцію “–error-as-corruption”, при якій будь-які помилки обробляються як пошкодження даних. Це дозволяє налаштувати перезавантаження або перехід у стан panic при помилках у випадку використання опцій “–restart-on-corruption” та “–panic-on-corruption”.
Додано опціональну можливість використання бібліотеки Mbed-TLS як криптографічного бекенду (вмикається при збірці з опцією “–with-crypto_backend=mbedtls”). Це розширює варіанти налаштування криптографічних алгоритмів.
Ознайомитися з повним списком змін можна на офіційній сторінці випуску.