Otro enfoque para este problema en particular es usar el TPM para almacenar una clave de cifrado, pero la defensa depende del usuario para que sea efectiva. Una solución rudimentaria basada en RHEL7 es tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).
La forma en que funciona es en el arranque, cada paso del proceso de arranque mide el siguiente y almacena esta medición en los PCR en el TPM. Una vez que se completa el proceso de arranque, tpm-luks verifica el estado de los PCR contra una configuración de "bien conocido". Si se encuentra en una configuración "conocida", el TPM abrirá la clave LUKS y tpm-luks pasará estos datos para desbloquear la partición LUKS raíz.
Debido a que todo lo importante se mide con un hash criptográfico, esencialmente no hay forma de que una criada malvada reemplace su GRUB / kernel / ramdisk para recopilar nefastamente su frase de contraseña FDE. Como una ventaja adicional, ¡no necesitas una frase de contraseña FDE en absoluto! En teoría, podría eliminar por completo la frase de contraseña legible para humanos y confiar completamente en tpm-luks, pero si sigue esa ruta, probablemente sea una buena idea almacenar su encabezado LUKS y mantenerlo como una copia de seguridad.
Como mencioné, esto requiere cierta diligencia en el usuario. Si ha dejado la computadora desatendida y se le presenta una solicitud de frase de contraseña, probablemente sea una mala idea escribirla hasta que haya realizado algunas investigaciones. En ese punto, debe iniciar en un entorno de CD en vivo y echar un vistazo para ver si hay un error en tpm-luks, o si la /boot
partición realmente se alteró. Todavía está dejando la /boot
partición sin cifrar, pero si se modifica algo importante, el disco principal nunca se descifra.