ISSCC 2020: el chip seguro no cometerá un error en su vida, probablemente
Los PUF son bloques dentro de chips cuyas características solo se manifiestan cuando se alimentan. Se aleatorizan de manera inherente e impredecible por la variación del proceso a medida que se hacen, de una manera que hace que cada chip sea incontrolablemente único, pero una vez fabricado, la característica es invariablemente confiable.
Este PUF particular está hecho en FDSOI de 28 nm para la generación de claves seguras de 256 bits y satisface tanto AEC ‑ Q100 Grado 1 como ISO26262 ASIL-B a través de una temperatura de unión de -40 a 150 ° C.
La tasa de error clave puede ser un asombroso 1.41 × 10-64 en las peores condiciones de temperatura de voltaje de proceso (PVT), incluso después de 15 años de envejecimiento simulado a alta temperatura.
Cada bit individual de la PUF es un par de compuertas NAND conectadas de una manera que compara sus voltajes de umbral. "El umbral de voltaje de las celdas NAND tiene una distribución gaussiana", según los presentadores del documento 27.4 de ISSCC 2020, "Función físicamente inaceptable en la tecnología FDSOI de 28 nm que logra una alta confiabilidad para AEC-Q100 Grado 1 e ISO26262 ASIL-B".
Si la diferencia de umbral es menor que la amplitud de ruido local, es posible que los dispositivos no lean de manera confiable, por lo que los pares de compuerta con poca diferencia de umbral se eliminan (~ 25% de los dispositivos) mediante un verificador de validez que los mide todos varias veces a diferentes temperaturas.
La clave PUF se genera utilizando pares válidos restantes, votación mayoritaria y corrección de errores BCH (Bose-Chaudhuri-Hocquenghem).
Una tasa de error de 8,62% entre los pares corresponde al KER objetivo de 2,11 × 10-15, que corresponde a <1ppm during the lifecycle of 15 years if one key is generated every second, according to the presentation.
Para aumentar la fiabilidad:
- El chip tiene un temporizador de vigilancia que establece una alarma si la generación de claves tarda más de lo esperado
- Un código de autenticación de mensaje (MAC) derivado inicialmente de la clave PUF se almacena en la memoria no volátil; esto se compara con una clave generada por MAC después de cada generación de clave posterior para verificar la validez
- Tres registros almacenan la clave PUF generada, lo que permite la corrección por mayoría de votos
- Los flip-flops duales se utilizan a lo largo de la ruta de datos para la detección de fallas: los registros para procesar las respuestas PUF se duplican para almacenar tanto el valor normal como el valor invertido, de modo que cuando ocurre una falla en los registros, se detecta al verificar los dos valores
La clave PUF pasa la prueba de aleatoriedad NIST SP 800‑22. El consumo de energía es 0.38mW dinámico y 0.28μW estático.
1ppm>