GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit šifrování LUKS?

  • 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:

  1. Zavedení z klíče USB
  2. Použijte `cryptsetup-reencrypt --decrypt

Pro LUKS2:

  1. Zavedení z klíče USB
  2. Převeďte všechny klíčové sloty tak, aby používaly parametry kompatibilní s LUKS1 s cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
  3. Převeďte zařízení LUKS2 na zařízení LUKS1 pomocí cryptsetup convert --type luks1 <device_path>
  4. 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.


Linux
  1. CentOS / RHEL 6:Jak zcela odstranit vícecestný mapovač zařízení (dm-multipath)

  2. CentOS / RHEL :Jak odstranit šifrované zařízení LUKS

  3. Jak odstranit všechny kontejnery Docker

  1. Jak odeberu zařízení mezipaměti z bcache?

  2. Jak zjistit USB verze 1.1 nebo 2.0

  3. Jak vrátit zpět odstranění apt-get?

  1. Jak nainstalovat ovladač zařízení v systému Linux

  2. Jak zašifrovat oddíl pomocí DM-Crypt LUKS na Linuxu

  3. Jak odinstalovat Sbt?