El análisis diferencial de fallos (DFA) es un tipo de ataque de canal lateral activo en el campo de la criptografía , específicamente del criptoanálisis . El principio consiste en inducir fallos (condiciones ambientales inesperadas) en las operaciones criptográficas para revelar sus estados internos.
Si tomamos como ejemplo una tarjeta inteligente que contiene un procesador integrado , algunas condiciones ambientales inesperadas que podría experimentar incluyen estar sujeta a altas temperaturas, recibir voltaje o corriente de suministro no compatibles , estar excesivamente overclockeado , experimentar campos eléctricos o magnéticos fuertes o incluso recibir radiación ionizante que influya en el funcionamiento del procesador. Cuando se estresa de esta manera, el procesador puede comenzar a generar resultados incorrectos debido a la corrupción de datos físicos , lo que puede ayudar a un criptoanalista a deducir las instrucciones que está ejecutando el procesador o cuál es el estado interno de sus datos. [1] [2]
En el caso de DES y Triple DES , se necesitan aproximadamente 200 bits invertidos una sola vez para obtener una clave secreta . [3] DFA también se ha aplicado con éxito al cifrado AES . [4]
Se han propuesto muchas contramedidas para defenderse de este tipo de ataques. La mayoría de ellas se basan en esquemas de detección de errores. [5] [6]
Un ataque de inyección de fallas implica someter a tensión a los transistores responsables de las tareas de cifrado para generar fallas que luego se utilizarán como entrada para el análisis. La tensión puede ser un pulso electromagnético (pulso EM o pulso láser ).
La inyección de fallas en la práctica consiste en utilizar una sonda electromagnética conectada a un pulsador o a un láser que genera una perturbación de una duración similar al tiempo de ciclo del procesador (del orden de un nanosegundo). La energía transferida al chip puede ser suficiente para quemar ciertos componentes del mismo, por lo que el voltaje del pulsador (unos cientos de voltios) y la posición de la sonda deben calibrarse con precisión. Para una mayor precisión, los chips suelen desencapsularse (erosionarse químicamente para exponer el silicio desnudo). [7]