¿Está utilizando TPM con contraseñas SRK / propietario bien conocidas?

11

Primero, explicaré aproximadamente cómo planeo usar el TPM:

Estoy usando algo llamado tpm-luks que almacena una clave en la NVRAM del TPM y agrega la clave a una de las llaves de LUKS. Luego, initramfs descifra la partición cifrada con LUKS usando la clave que obtiene del TPM. También utilizo tpm-luks para sellar la clave para que la clave se libere de la NVRAM TPM solo cuando los registros de PCR de TPM están en un estado determinado (por ejemplo, después de un cargador de arranque predeterminado, initramfs, linux han sido cargados). TrustedGRUB [2] se utiliza como gestor de arranque para registrar sus propios hashes en los PCR de TPM.

También planeo hacer actualizaciones remotas y desatendidas al sistema de vez en cuando (por ejemplo, actualizando el kernel que también cambiará los hashes de los archivos del kernel, etc.). Para solucionar este problema, tpm-luks proporciona una manera de pre-calcular los hashes y volver a sellar la clave usando los nuevos valores antes de reiniciar la máquina para que la clave pueda desbloquearse nuevamente con el nuevo PCR estado.

Este proceso actualmente requiere que ingrese la contraseña de propietario de TPM cada vez que hago una actualización y quiero agregar una nueva clave.

Mis preguntas son:

  1. ¿Está bien usar la contraseña conocida de 20 bytes de 0s como contraseñas de propietario / SRK? tpm-luks tiene las opciones para usar esas contraseñas conocidas para realizar estas operaciones para que no sean interactivas. Dado que el sistema está bloqueado, ¿asumo que nadie podrá explotar esto?
  2. Si no, ¿sería factible mantener las contraseñas en la partición raíz cifrada? Se confía en el sistema para el momento en que se descifra la partición raíz, por lo que debería ser seguro almacenar la contraseña allí (y acceder a ella de forma segura).
  3. ¿Sería mejor mantener las contraseñas en otra ubicación segura y enviarlas a la máquina si necesita realizar tales operaciones? No estoy seguro si es más seguro que la segunda opción anterior.
  4. ¿Hay alguna otra solución mejor para lograr los objetivos anteriores (almacenamiento no interactivo de claves para NVRAM TPM)?
pregunta mtahmed 18.12.2015 - 22:46
fuente

1 respuesta

4
  

¿Está bien usar la contraseña conocida de 20 bytes de 0s como la   ¿Contraseñas de propietario / SRK? tpm-luks tiene las opciones para usar los conocidos   contraseñas para realizar estas operaciones para que puedan ser   no interactivo Dado que el sistema está bloqueado, no estoy asumiendo que nadie   ¿Podrás explotar esto?

Si deja el propietario y la contraseña como valores predeterminados o conocidos, está abriendo la puerta para burlar todo el proceso de arranque seguro. Esto es más preocupante en los sistemas embebidos en el campo que están diseñados para ser resistentes a la manipulación indebida (la manipulación en este caso hace que no funcionen o caigan en un modo a prueba de fallos funcionalmente limitado).

Si utiliza un propietario / contraseña bien conocido, cualquier persona con experiencia o conocimientos podría cambiar la configuración de hardware / imagen subyacente del SO, actualizar los valores de PCR del TPM y seguir accediendo a las claves del sistema de archivos, omitiendo cualquier medida de seguridad / integridad que esté implementando. lugar.

  

Si no, ¿sería factible mantener las contraseñas en el cifrado?   partición raíz? El sistema es de confianza en el momento en que la partición raíz   se descifra por lo que debería ser seguro almacenar la contraseña allí (y   acceder a él de forma segura)?

Claro, puedo ver que esto funciona, aunque, una vez que el sistema se inicia y se considera "confiable", todavía eres susceptible de que alguien recoja las claves, lo que les permitiría retirar la unidad del sistema y descifrarla. Entonces, seguro, es seguro almacenarlo allí ... mientras está cifrado, pero luego del arranque es un riesgo. (En última instancia, esto podría resultar en la instalación de puertas traseras en 'sistemas confiables')

  

¿Sería mejor mantener las contraseñas en otra ubicación segura?   y enviarlos a la máquina si necesita realizar tales   operaciones? No estoy seguro de que sea más seguro que la segunda opción anterior.

El TPM es, literalmente, el mejor lugar para almacenar sus claves.

  

¿Hay otras soluciones mejores para lograr los objetivos?   arriba (almacenamiento no interactivo de claves para NVRAM TPM)?

Claro. Suena como si estuvieras buscando soluciones complicadas para un solo problema de herramientas: tus herramientas no te permiten automatizar la propiedad / establecer contraseñas.

Probablemente, compruebe el código del pantalón, lo construyo y lo compruebe, y luego modifico la herramienta tpm_takeownership para agregar una opción de solicitud de propietario / contraseña no interactiva y luego uso ese binario personalizado durante el proceso de actualización.

    
respondido por el Whome 11.01.2016 - 19:19
fuente

Lea otras preguntas en las etiquetas