¿Es posible agregar una clave a un volumen de luks abierto sin proporcionar una clave actual?

2

Como dice el título, necesito saber si hay un método para agregar una clave que no requiera que el usuario vuelva a escribir la contraseña / proporcione un archivo de clave para un volumen de luks ya abierto. Realmente necesito implementarlo para que se agradezca un ejemplo.

Gilles
fuente

Respuestas:

0

No, no con sensatez, pero un adversario podría.

La cryptsetupherramienta funciona en el volumen cifrado, ya sea que esté abierto o no. Necesita recuperar la tecla de volumen fuera del volumen; para eso, necesita una forma de decodificar una de las ranuras de claves existentes (frase de contraseña o archivo de claves), o de lo contrario, debe pasarle la clave de volumen desnuda (que casi no se mantendría por ahí).

Si el volumen está montado, entonces el núcleo tiene la clave de volumen en la memoria. Pero como era de esperar, no proporciona una interfaz para recuperarlo.

Puede escribir y cargar un módulo de kernel que recupere la clave de volumen (creo que tendrá que saltar por los aros, pero desde una perspectiva de seguridad que es trivial), a menos que la carga del módulo esté deshabilitada o autenticada. Puede recuperar la clave de un volcado de memoria /dev/kmem, a menos que esté deshabilitado (espero que haya herramientas forenses disponibles para esto, aunque no puedo nombrar ninguna). Creo que ya está.

Gilles
fuente
"no proporciona una interfaz para recuperarlo" Sí lo hace. dmsetup table --showkeylo usa
Joseph Sible
0

Sí, así:

cryptsetup luksAddKey <DEVICE> --master-key-file <(dmsetup table --showkey /dev/mapper/<MAP> | awk '{print$5}' | xxd -r -p)

Sustituya <DEVICE>con el dispositivo de bloque que contiene la partición LUKS (como /dev/sda1) y <MAP>con el nombre de la asignación (como sda1_crypt).

Fuente: https://access.redhat.com/solutions/1543373

Joseph Sible
fuente