- Záloha
- Přeformátovat
- Obnovit
cryptsetup luksRemoveKey
by odstranil šifrovací klíč pouze v případě, že byste jich měli více. Šifrování by tam stále bylo.
Fedora Installation_Guide Sekce C.5.3 vysvětluje jak luksRemoveKey
funguje.
To, že je „nemožné“ odstranit šifrování a přitom zachovat obsah, je jen kvalifikovaný odhad. Zakládám to na dvou věcech:
- Protože kontejner LUKS má souborový systém nebo LVM nebo cokoli kromě toho by pouhé odstranění šifrovací vrstvy vyžadovalo znalost významu dat uložených nad ním, která jednoduše nejsou k dispozici. Požadavkem by také bylo, aby přepsání části svazku LUKS jeho dešifrovaným protějškem neporušilo zbytek obsahu LUKS, a nejsem si jistý, zda to lze provést.
- Jeho implementace by vyřešila problém, který je asi tak vzdálený od účelu LUKS, jak jen můžete, a považuji za velmi nepravděpodobné, že by si na to někdo udělal čas namísto něčeho „smysluplnějšího“. li>
Za prvé, když odebíráte přístupovou frázi z oddílu LUKS, musíte určit oddíl disku, kde se nachází, například:
cryptsetup luksRemoveKey /dev/sda2
A když chcete stav ze zařízení šifrovaného LUKS, musíte se odkázat na název LUKS, jako jste to udělali vy.
Ale luksRemoveKey odstraní pouze jedno z přístupových frází (a nikdy to poslední). Pokud chcete trvale dešifrovat, musíte použít cryptsetup-reencrypt:
cryptsetup-reencrypt --decrypt /dev/sda2
Odstranění klíčových slotů je jako zapomenutí hesla, nemá to nic společného s přesunem nahrazujícího zařízení LUKS souborovým systémem uvnitř něj.
Můžete nedestruktivně odstranit šifrování LUKS ze zařízení, aniž byste museli zálohovat, přeformátovat a obnovovat. . cryptsetup
podporuje to od verze 1.5.0, vydané v roce 2012.
Po úspěšném dešifrování zařízení LUKS se souborový systém uvnitř stane dostupný pro OS a můžete jej připojit přímo.
Upozornění: To je nebezpečné, nejprve si zálohujte všechna svá data.
Pro LUKS1:
- Zavedení z klíče USB
- Použijte `cryptsetup-reencrypt --decrypt
Pro LUKS2:
- Zavedení z klíče USB
- Převeďte všechny klíčové sloty tak, aby používaly parametry kompatibilní s LUKS1 s
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
- Převeďte zařízení LUKS2 na zařízení LUKS1 pomocí
cryptsetup convert --type luks1 <device_path>
- Proveďte dešifrování pomocí `cryptsetup-reencrypt --decrypt
Testoval jsem oba a fungují.
Aktuální verze cryptsetup tvrdí, že podporují přímé dešifrování zařízení LUKS2. Tento příkaz je cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path>
. --header
argument je povinný, protože příkazy předpokládají, že vaše zařízení používá oddělenou hlavičku. Pokud tak učiníte, funguje to a může dokonce provést dešifrování online. Pokud nepoužíváte oddělenou hlavičku (docela běžné) a pokusíte se buď poskytnout výpis hlavičky, nebo předat samotné blokové zařízení jako --header
hodnota, cryptsetup
bude tiše pokračovat a až skončí, skončíte se zařízením LUKS2, které nemá žádné sloty pro klíče a vaše data budou pryč. Toto je od verze 2.3.3 (2020), v budoucích verzích se to může změnit.
Moje doporučení je použít bezpečnější cestu LUKS2->LUKS1->Dešifrovat, u které mohu potvrdit, že to funguje.