- 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:
- Avvio da chiavetta USB
- Usa `cryptsetup-reencrypt --decrypt
Per LUKS2:
- Avvio da chiavetta USB
- Converti tutti gli slot chiave per utilizzare parametri compatibili con LUKS1 con
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
- Converti il dispositivo LUKS2 in un dispositivo LUKS1 utilizzando
cryptsetup convert --type luks1 <device_path>
- 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.