Ejecutando Python para desbloquear el cifrado completo del disco de Luks

Ejecutando Python para desbloquear el cifrado completo del disco de Luks

Deseo utilizar el cifrado completo del disco usando Luks en ubuntu 14.04. Sin embargo, deseo utilizar mi propio script de Python para llevar a cabo la funcionalidad de generar la clave de descifrado durante el inicio del dispositivo, que luego envía a Lukes para permitirle descifrar.

Idealmente, me gustaría "resultado del script de Python" + "el usuario ingresa la clave de descifrado", que luego se pasa a Lukes para permitir que el dispositivo descifre. Luego puedo implementar mi propia funcionalidad en Python para crear un "segundo factor" que permita que el dispositivo descifre.

He buscado por ahí, pero realmente no he encontrado la respuesta a mi pregunta. ¿Puedes ayudar o dar algún consejo?

Gracias.

Respuesta1

Si utiliza cifrado de disco completo para su sistema de archivos raíz, tendrá que resolver el problema de que el intérprete de Python normalmente no está disponible al inicio del arranque. Necesitará varios megabytes de espacio adicional en disco sin cifrar para almacenar, por ejemplo, /usr/bin/python2.7y un montón de cosas esenciales, /usr/lib/python2.7y tendrá que desarrollar varias modificaciones para /boot/initrdque esto funcione.

El proceso de arranque se invoca /scripts/local-top/cryptrootdesde la raíz initrd. Esto normalmente llama a la herramienta plymouth ask-for-password --prompt. Esto se utiliza para solicitar al usuario la frase de contraseña antes de iniciar la interfaz gráfica de usuario. Esta frase de contraseña a su vez se canaliza a cryptsetup.

Si aún desea continuar con este enfoque, puede/debe usar un archivo de configuración en el directorio de configuración /etc/initramfs-tools/para configurar un nuevo valor propio cryptkeyscripten lugar de piratear el script /usr/share/initramfs-tools/scripts/local-top/cryptrootdirectamente. Esto hará que la instalación de actualizaciones de distribución del sistema operativo sea menos engorrosa en el futuro.

Para obtener más información, consulte la documentación de los paquetes initramfs-tools, cryptsetup y plymouth y eche un vistazo al script de shell que cryptrootmencioné anteriormente.

información relacionada