Cuando se usa el cifrado de disco completo con Ubuntu (en oposición al cifrado homedir), se usa dm-crypt con LUKS para cifrar el volumen. En el instalador (al menos en 12.04 alternativo) puede elegir entre configurarlo utilizando una frase de contraseña o un archivo de claves. Me gustaría usar una combinación de los dos; tampoco, pero requieren ambos.
¿Por qué? Porque esto mejora la seguridad (dos factores); necesitarás tener algo y necesitas saber algo para desbloquearlo. Luego, quiero colocar el archivo de claves en un pequeño dispositivo de almacenamiento extraíble (unidad flash USB) y solo enchufarlo durante el tiempo de arranque. El resultado debería ser que es necesario colocar la unidad flash correcta y proporcionar la frase de contraseña correcta para desbloquear la partición raíz.
En otras palabras, quiero que me pregunten durante el arranque la frase de contraseña a la que se cifra el archivo de clave en una unidad externa.
Veo un /usr/share/initramfs-tools/hooks/cryptgnupg
script de ayuda que puede ayudar a lograrlo, pero no tengo idea de cómo usarlo.
Sólo para evitar confusiones: estoy no pidiendo una manera de agregar un adicional clave para el volumen para desbloquearlo.
fuente
/usr/share/doc/cryptsetup/README.gnupg
. Trataré de encontrar algo de tiempo para cambiarlo para que use un archivo de claves de medios externos.Respuestas:
Hago lo mismo, sin embargo, me temo que mi respuesta no será satisfactoria, ya que por varias razones elegí un Initramfs completamente personalizado .
En lugar de
GnuPG
, que es un binario adicional que debe incluirse en Initramfs (y en el caso deGnuPG-2
uno bastante complejo), simplemente utilicé lo que ya está allí. Y eso es obviamentedm-crypt/LUKS
.Supongamos que tienes un
keyfile
. Preferiblemente uno con datos aleatorios.Agregue cifrado con LUKS (no dude en agregar la configuración de cifrado que prefiera).
Ahora tiene un archivo de claves (512 bytes) y un archivo de claves. Dado que Initramfs se comprimirá de todos modos, eso no es tan malo (aún más pequeño que
GnuPG
).Ahora puede descifrar el archivo de claves:
Y tiene 512 bytes de datos aleatorios en
/dev/mapper/lukskey
. (Puede escribirle si desea cambiarlo, por lo que podríamos haber inicializado el archivo con ceros antes).En Initramfs
init
, puede abrir el volumen real de LUKS con él (suponiendo que haya agregado la clave primero).Este enfoque hace que GnuPG sea completamente superfluo, además de que obtienes todas las ventajas de LUKS, como múltiples frases de contraseña para la clave, el cifrado de tu elección, etc. Sin mencionar un buen aviso de contraseña (en su mayoría regular) con múltiples intentos.
fuente