¿Puedo guardar una contraseña o clave LUKS (u otro cifrado) en el TPM?

2

La especificación es bastante compleja. El software es bastante sensible, por lo que lo mantengo en un volumen cifrado. Mi suposición fue SecureBoot con mi propia clave de plataforma para garantizar que solo se ejecute mi cargador de arranque firmado, y luego mantener cifrado el disco primario (o incluso solo los datos con el software).

El problema, por supuesto, es la clave de descifrado. ¿Puedo almacenarlo (enlazarlo o sellarlo) en el TPM, de modo que solo sea ​​descifrable en esta plataforma?

Con SecureBoot asegurando que solo mi arranque no modificado se esté ejecutando, mi arranque leyendo la clave de descifrado de TPM, y alguna forma de sensor que hace que se borre el firmware (o que se restablezca el TPM) si se abre, debería tener una caja moderadamente segura. Esto no detendrá a un actor gubernamental, pero debería detener el craqueo casual.

¿Puedo usar el TPM para esto? ¿Cómo voy a hacerlo?

deitch
fuente
¿Podría explicar un poco mejor sus primeras oraciones? No estoy bien versado en este campo de ninguna manera, pero lo encuentro un poco ambiguo.
jhaagsma
Me lo imaginé. Tomé mucha lectura de las especificaciones y preguntas frecuentes, pero lo entendí.
deitch

Respuestas:

1

La respuesta corta es sí. Aquí está mi diseño.

  • SecureBoot habilitado
  • PK y todas las demás teclas reemplazados con mis propias claves únicas
  • UEFI protegido por una contraseña increíblemente larga para evitar cambios no autorizados
  • El disco de arranque tiene una pequeña partición grub del gestor de arranque que no está encriptada
  • El archivo .uefi de arranque está firmado digitalmente por mi clave privada
  • El arranque .uefi está configurado para descifrar otra partición cifrada con LUKS en el disco, recuperando la clave de TPM
  • La clave se carga en TPM para que coincida con el estado actual exacto de ROM + UEFI + partición de arranque + alerta de chasis cerrado no activado + periféricos + grub

De esta manera, solo se cargará mi sistema operativo; si realiza el más mínimo cambio, no podrá recuperar la clave de descifrado (porque los hash no coincidirán).

deitch
fuente