Выпуск Cryptsetup 2.7 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ дискового ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ OPAL

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ 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 <device>), Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ (cryptsetup luksFormat —hw-opal-only <device>). Активация ΠΈ дСактивация 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 <device> —link-vk-to-keyring «@s::%user:testkey» tst’).
  • На систСмах Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ форматирования ΠΈΠ»ΠΈ создания слота ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для PBKDF Argon2 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° свободной памяти, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с исчСрпаниСм доступной памяти Π½Π° систСмах с нСбольшим ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ ΠžΠ—Π£.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—external-tokens-path» для указания ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² LUKS2 (ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²).
  • Π’ tcrypt Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Blake2 для VeraCrypt.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π° Aria.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Argon2 Π² рСализациях OpenSSL 3.2 ΠΈ libgcrypt, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· использования libargon.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru