GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere la crittografia LUKS?

  • Backup
  • Riformatta
  • Ripristina

cryptsetup luksRemoveKey rimuoverebbe una chiave di crittografia solo se ne avessi più di una. La crittografia sarebbe ancora lì.

La Fedora Installation_Guide Section C.5.3 spiega come luksRemoveKey lavori.

Che sia "impossibile" rimuovere la crittografia mantenendo i contenuti è solo un'ipotesi plausibile. Lo baso su due cose:

  • Perché il contenitore LUKS ha un filesystem o LVM o qualsiasi cosa inoltre, la semplice rimozione del livello di crittografia richiederebbe la conoscenza del significato dei dati memorizzati su di esso, che semplicemente non sono disponibili. Inoltre, un requisito sarebbe che la sovrascrittura di una parte del volume LUKS con la sua controparte decrittografata non danneggerebbe il resto del contenuto LUKS e non sono sicuro che ciò possa essere fatto.
  • Implementarlo risolverebbe un problema che è il più lontano possibile dallo scopo di LUKS, e trovo molto improbabile che qualcuno si prenda il tempo per farlo invece di qualcosa di più "significativo".

Innanzitutto, quando si rimuove una passphrase da una partizione LUKS, è necessario specificare la partizione del disco in cui risiede, ad esempio:

cryptsetup luksRemoveKey /dev/sda2

E quando vuoi lo stato da un dispositivo crittografato LUKS, devi fare riferimento al nome LUKS, come hai fatto.

Ma luksRemoveKey rimuove solo una delle passphrase (e mai l'ultima). Se vuoi decifrare in modo permanente, devi usare cryptsetup-reencrypt:

cryptsetup-reencrypt --decrypt /dev/sda2

Rimuovere gli slot chiave è come dimenticare una password, non ha nulla a che fare con lo spostamento della sostituzione del dispositivo LUKS con il file system al suo interno.

PUOI rimuovere in modo non distruttivo la crittografia LUKS da un dispositivo, senza dover eseguire il backup, riformattare e ripristinare. . cryptsetup lo supporta dalla versione 1.5.0, rilasciata nel 2012.

Dopo aver decrittato con successo un dispositivo LUKS, il filesystem all'interno diventa disponibile per il sistema operativo e puoi montarlo direttamente.

Avviso: Questo è pericoloso, prima esegui il backup di tutti i tuoi dati.

Per LUKS1:

  1. Avvio da chiavetta USB
  2. Usa `cryptsetup-reencrypt --decrypt

Per LUKS2:

  1. Avvio da chiavetta USB
  2. Converti tutti gli slot chiave per utilizzare parametri compatibili con LUKS1 con cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
  3. Converti il ​​dispositivo LUKS2 in un dispositivo LUKS1 utilizzando cryptsetup convert --type luks1 <device_path>
  4. Esegui la decrittazione utilizzando `cryptsetup-reencrypt --decrypt

Ho provato entrambi e funzionano.

Le versioni correnti di cryptsetup affermano di supportare la decrittazione diretta dei dispositivi LUKS2. Questo comando è cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path> . il --header argomento è obbligatorio, perché i comandi presuppongono che il dispositivo utilizzi un'intestazione separata. Se lo fai, funziona e può persino eseguire la decrittazione online. Se non usi un'intestazione separata (abbastanza comune) e provi a fornire un dump dell'intestazione o a passare il dispositivo a blocchi stesso come --header valore, cryptsetup procederà silenziosamente e al termine, ti ritroverai con un dispositivo LUKS2 che non ha slot per i tasti e i tuoi dati andranno perduti. Questo è dalla versione 2.3.3 (2020), potrebbe cambiare nelle versioni future.

Il mio consiglio è di utilizzare il percorso più sicuro LUKS2->LUKS1->Decifra, che posso confermare fa il lavoro.


Linux
  1. Come rimuovere Telegram?

  2. 10 esempi di Linux cryptsetup per la gestione delle chiavi LUKS (come aggiungere, rimuovere, modificare, reimpostare la chiave di crittografia LUKS)

  3. CentOS / RHEL:come eliminare il dispositivo crittografato LUKS

  4. Come rimuovo una connessione socket CLOSE_WAIT

  5. Come rimuovere tutti i contenitori Docker

Come rimuovere una directory in Linux

Come rimuovere un alias di dominio

Come rimuovere il repository remoto Git

Come disinstallare SBT?

Come crittografare un'unità flash USB in Ubuntu – Crittografia LUKS con cryptsetup

Come annullare apt-get remove?