- Copia de seguridad
- Reformatear
- Restaurar
cryptsetup luksRemoveKey
solo eliminaría una clave de cifrado si tuviera más de una. El cifrado aún estaría allí.
La sección C.5.3 de la Guía_de_instalación de Fedora explica cómo luksRemoveKey
obras.
Que sea "imposible" eliminar el cifrado mientras se conservan los contenidos es solo una conjetura. Lo baso en dos cosas:
- Porque el contenedor LUKS tiene un sistema de archivos o LVM o lo que sea además, simplemente eliminar la capa de cifrado requeriría el conocimiento del significado de los datos almacenados encima, que simplemente no están disponibles. Además, un requisito sería que sobrescribir una parte del volumen de LUKS con su contraparte descifrada no rompería el resto del contenido de LUKS, y no estoy seguro de si eso se puede hacer.
- Implementarlo resolvería un problema que está lo más lejos posible del propósito de LUKS, y me parece muy poco probable que alguien se tome el tiempo para hacer eso en lugar de algo más "significativo".
En primer lugar, al eliminar una frase de contraseña de una partición LUKS, debe especificar la partición del disco donde reside, como:
cryptsetup luksRemoveKey /dev/sda2
Y cuando desee el estado de un dispositivo cifrado con LUKS, debe consultar el nombre de LUKS, como lo hizo.
Pero luksRemoveKey solo elimina una de las frases de contraseña (y nunca la última). Si desea descifrar permanentemente, debe usar cryptsetup-reencrypt:
cryptsetup-reencrypt --decrypt /dev/sda2
Quitar ranuras de teclas es como olvidar una contraseña, no tiene nada que ver con mover el dispositivo LUKS y reemplazarlo por el sistema de archivos que contiene.
PUEDE eliminar de forma no destructiva el cifrado LUKS de un dispositivo, sin tener que hacer una copia de seguridad, formatear y restaurar. . cryptsetup
ha soportado esto desde la versión 1.5.0, lanzada en 2012.
Después de descifrar con éxito un dispositivo LUKS, el sistema de archivos interno queda disponible para el sistema operativo y puede montarlo directamente.
Advertencia: Esto es peligroso, haga una copia de seguridad de todos sus datos primero.
Para LUKS1:
- Arranque desde una llave USB
- Utilice `cryptsetup-reencrypt --decrypt
Para LUKS2:
- Arranque desde una llave USB
- Convertir todas las ranuras de teclas para usar parámetros compatibles con LUKS1 con
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
- Convierta el dispositivo LUKS2 en un dispositivo LUKS1 usando
cryptsetup convert --type luks1 <device_path>
- Realice el descifrado usando `cryptsetup-reencrypt --decrypt
He probado ambos y funcionan.
Las versiones actuales de cryptsetup afirman admitir el descifrado directo de dispositivos LUKS2. Este comando es cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path>
. el --header
Se requiere un argumento, porque los comandos asumen que su dispositivo usa un encabezado separado. Si lo hace, funciona e incluso puede hacer el descifrado en línea. Si no usa un encabezado separado (bastante común) e intenta proporcionar un volcado del encabezado o pasar el dispositivo de bloque como --header
valor, cryptsetup
procederá silenciosamente y cuando termine, terminará con un dispositivo LUKS2 que no tiene ranuras para llaves y sus datos desaparecerán. Esto es a partir de la versión 2.3.3 (2020), puede cambiar en futuras versiones.
Mi recomendación es usar la ruta más segura LUKS2->LUKS1->Descifrar, que puedo confirmar que hace el trabajo.