ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ ΡΡΠΈΠ»ΠΈΡ 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 ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΠΎΡΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ Π½Π° Π±Π°Π·Π΅ 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Β» ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π»ΡΠ±ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ panic ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΉ Β«βrestart-on-corruptionΒ» ΠΈ Β«βpanic-on-corruptionΒ».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Mbed-TLS Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΡΠΈΠΏΡΠΎ-Π±ΡΠΊΠ΅Π½Π΄Π° (Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ Β«βwith-crypto_backend=mbedtlsΒ»).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
