¿Es posible extraer secretos de un TPM sin conocer el PIN?

3

Comprendo el funcionamiento general de un TPM y, en particular, el interés de usar un PIN de inicio previo: si alguien accede a la máquina (apagada), encender la computadora no será suficiente para almacenar las claves en el TPM y por lo tanto descifrar los datos.

Me pregunto cómo el TPM utiliza este PIN. ¿Y qué tan efectivo es? Por ejemplo, sé que es posible llevar a cabo ataques físicos en el TPM, y algunos de estos ataques pueden potencialmente extraer secretos.

Pero ingenuamente, imagino que si estos secretos (digamos la clave maestra de una unidad BitLocker) están cifrados con el PIN, es prácticamente imposible obtener estos secretos sin conocer este PIN (a menos que se ataque directamente el algoritmo de cifrado subyacente). ). ¿Así es como funciona? ¿O los secretos se almacenan de forma clara y el TPM los libera simplemente después de comprobar que el PIN es correcto?

Finalmente, sé que en un escenario donde un atacante obtiene acceso físico total, siempre es posible eludir tales medidas (keylogger físico para recuperar el PIN, etc.). Pero el escenario que tengo en mente es que un atacante roba una computadora portátil que está apagada (por lo que no hay ataques DMA, ataques de arranque en frío, etc.) con un disco cifrado con la clave almacenada en el TPM con un PIN. Suponiendo que este atacante puede realizar un ataque físico (omitir las protecciones contra manipulaciones, etc.), ¿pueden recuperar los secretos sin conocer el PIN y sin interactuar con el usuario legítimo?

    
pregunta crypto-guest 19.07.2017 - 02:13
fuente

1 respuesta

2

He trabajado con TPM y HSM en el ámbito de los dispositivos y certificaciones PCI PTS PED, así que eso es lo que usaré para la base de mis respuestas. No todos funcionan del mismo modo y, por lo general, la hoja de datos no está disponible públicamente.

Por lo general, lo que he visto es que hay una especie de derivación clave que no está cifrada en el sentido estricto de los algoritmos simétricos calificados, pero tampoco es un texto claro, generalmente es el resultado de un método de derivación clave

enlace

El estándar PCI, por ejemplo, define los métodos de obtención de claves, el almacenamiento y la puesta a cero. En algún punto en la parte superior, la clave maestra no debe estar encriptada como lo señaló, pero puede almacenarse en múltiples partes, salada y picada o XORED con un pin o cualquier combinación. Un buen TPM o HSM solo debe tener la clave maestra no encriptada, y la clave maestra nunca debe usarse para ningún cifrado de datos, solo la derivación de la clave para limitar la posibilidad de descubrimiento de fuerza bruta. No es infrecuente que la clave maestra se genere internamente en la programación, de modo que la clave maestra no pueda salir nunca del dispositivo.

El único vector de ataque que conozco no proviene del propio TPM / HSM, sino del entorno en el que se utilizan. He realizado extensas pruebas de SPA / DPA profesionalmente. En este escenario, solo tiene que convencer al dispositivo para que use la clave varias veces (al menos unos pocos miles) y puede controlar las emisiones de E / M del procesador o la potencia, y realizar un análisis estadístico para determinar la clave.

Intentaré ilustrar esto, la clave maestra de nivel superior X se almacena encriptada por una clave aes 256 que el usuario ha memorizado y tiene que ingresar cada vez que descifre el sistema operativo. Hago una afirmación de 1 a 4 bits del pin utilizado. Luego genero 5000 pines diferentes que se contraen de 4 a 8 bits de los pines y dejan el resto estático. Solo se necesitan unos 4 bits para que el procesador se vea lo suficientemente aleatorio. Pongo estos 5000 pines, capturo las señales de EM y hago un seguimiento de para qué estaban los pines. Las dividí en 2 pilas, 1 pila hace un bit 1 de sbox particular y la otra bit 0 de sbox. Si hay alguna correlación estadística, sé que mi aserción de bit era correcta y puedo romper el pin bit a bit continuamente .

La mayoría de los nuevos módulos de seguridad ahora intentan mitigarlo mediante la extensión del reloj, los retrasos aleatorios y otras operaciones erróneas.

Y luego, un DPA más avanzado mira el segundo orden y las correlaciones más altas, lo que lleva exponencialmente más tiempo y la carrera continúa

Mi ejemplo es asumir que su pin es una clave completa, pero la misma teoría puede aplicarse a prácticamente cualquier algoritmo matemático.

    
respondido por el noone392 19.07.2017 - 05:25
fuente

Lea otras preguntas en las etiquetas