Cómo escribir scripts del kernel para la seguridad del inicio

Cómo escribir scripts del kernel para la seguridad del inicio

Estoy tratando de aprender sobre el procedimiento de arranque cuando trato con particiones cifradas LUKS (específicamente, cuando la raíz todavía está cifrada) para poder implementar rutinas de descifrado personalizadas (por ejemplo: aceptar una contraseña solo si se mantiene presionado CTRL+C; desbloquear una partición no raíz primero para ejecutar scripts cifrados usando ID de hardware como claves, etc.). No hay ningún propósito real detrás de esto más allá de aprender cosas nuevas (y lanzarse al fondo cuando las cosas no tienen mucho sentido).

Soy muy nuevo en esto y no sé dónde debería buscar para saber si lo que quiero hacer es posible. Al principio pensé que aprendercómo utilizar archivos de llave USBPodría ser un buen punto de entrada, pero luego leí "... I had no way to provide the keyfile for unlocking the root partition at boot..."y pensé que probablemente estaba ladrándole al árbol equivocado.

Mi entendimiento actual es que, en este punto, el kernel se está ejecutando pero, debido a que la partición raíz está cifrada, no tengo acceso a la mayoría de las funciones o directorios estándar. Esto me lleva a suponer que simplemente necesitaría hablar con el núcleo directamente... y aquí es donde me pierdo.

Actualmente estoy trabajando en Ubuntu 18.04, pero puedo cambiar a 16.04 si eso me facilitara la vida. También estoy jugueteando dentro de una instancia de VirtualBox antes de subirme a una computadora portátil para verificar las soluciones (si encuentro alguna), simplemente porque es más fácil y rápido.

Gracias de antemano, cualquier ayuda o idea será muy apreciada.

información relacionada