ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Cryptsetup 2.8, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈ Π² Linux ΡΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»Π° dm-crypt. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈ dm-crypt, LUKS, LUKS2, BITLK, loop-AES ΠΈ TrueCrypt/VeraCrypt. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ° ΡΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ veritysetup ΠΈ integritysetup Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ dm-verity ΠΈ dm-integrity.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° inline-ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π·ΠΎΠ½Π° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΎΡ Π½ΡΠΊΠΎΠΈ NVMe ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½Π° Π·ΠΎΠ½Π°ΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ±Π΅ΡΠ΅ ΠΈ Π±Π»ΠΎΠΊ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 4096 Π±Π°ΠΉΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ + 64 Π±Π°ΠΉΡΠ° Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ).
Cryptsetup ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΊΡΠΎΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ eliminiΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ»ΠΎΠΉ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° dm-integrity, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° Π²ΡΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΡΡΡΠΎ Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ Π²ΠΎΠ΄Π΅Π½Π΅ΡΠΎ Π½Π° ΠΆΡΡΠ½Π°Π» Π½Π° dm-integrity, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ, ΠΎΠΊΠ°Π·Π²Π°ΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° inline-ΡΠ΅ΠΆΠΈΠΌΠ°, ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡ 6.11. ΠΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° inline-ΡΠ΅ΠΆΠΈΠΌΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ "βintegrity-inline".
- ΠΠΎΡΡΠΈΠ³Π½Π°ΡΠ° Π΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π½Π° API Keyslot Context Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ»ΠΎΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΊΠ»ΡΡΠΎΠ²Π΅. ΠΠΎΠ²ΠΈΡΡ API ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½ΠΈ, Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΡΡΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ (reencryption).
- ΠΡΠΌ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° cryptsetup ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈΡΠ΅ "βkey-description" ΠΈ "βnew-key-description" Π·Π° ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΡΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ (reencryption), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠΎΠΊΠ΅Π½ ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π°.
- Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "repair" Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π·ΠΎΠ½ΠΈΡΠ΅ ΡΡΡ ΡΠ»ΠΎΡΠΎΠ²Π΅ Π·Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ LUKS.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° veritysetup Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ "βerror-as-corruption", ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΏΠ°Π½ΠΈΠΊΠ° ΠΏΡΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ "βrestart-on-corruption" ΠΈ "βpanic-on-corruption".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Mbed-TLS ΠΊΠ°ΡΠΎ ΠΊΡΠΈΠΏΡΠΎ-Π±Π΅ΠΊΠ΅Π½Π΄ (Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΠ΅ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ ΠΎΠΏΡΠΈΡ "βwith-crypto_backend=mbedtls").
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
