Lo que realmente sucede en “ataques de falla de bajo voltaje”

29

Entiendo que son un ataque a algoritmos criptográficos implementados en varios procesadores, pero ¿cómo funcionan? La d.ZGU "> documentos en línea son demasiado importantes para un par de espacios.

    
pregunta Ulkoma 09.10.2014 - 15:30
fuente

2 respuestas

44

Los "ataques de fallo" son algo que haces en algún hardware:

  • que está en tus manos físicas,
  • pero está protegido contra intrusiones ("a prueba de manipulaciones"),
  • y realiza cálculos con valores que no conoce pero que le gustaría ("claves criptográficas").

Ejemplo de este tipo de hardware son tarjetas inteligentes . Un escenario clásico sería: usted tiene una tarjeta inteligente para un decodificador de televisión por satélite; obtuviste la tarjeta a través de una suscripción normal a la emisora; desea hacer 3000 copias de esa tarjeta para poder revenderlas a personas que quieren TV gratis o barata. La gente hace eso.

Un ataque de fallas es cuando induces al hardware blindado a hacer las cosas mal al cambiar su entorno. Por ejemplo, intenta ejecutar la tarjeta en un horno, a una temperatura que está más allá de la temperatura de funcionamiento nominal de la tarjeta. La esperanza del atacante es que al analizar qué devuelve la tarjeta cuando falla, puede obtener una idea de los valores secretos almacenados en la tarjeta (esto es, por supuesto, muy específico de lo que calcula la tarjeta y cómo se implementan las cosas en esa tarjeta). Un ataque de falla de bajo voltaje es un ataque de falla donde la falla es inducida al alimentar al hardware con un voltaje más bajo de lo normal (en el modelo de "tarjeta inteligente", la tarjeta tiene su propia CPU, RAM y ROM, pero las señales actuales y de reloj se proporcionan externamente, es decir, están bajo el control del atacante). Por ejemplo, si la tarjeta espera 3.3V, solo le das 2V. El verdadero truco aquí es que el atacante puede reducir el voltaje solo durante períodos de tiempo muy cortos, algunos ciclos de reloj, para inducir una falla en una parte específica de la ejecución del algoritmo.

    
respondido por el Thomas Pornin 09.10.2014 - 16:05
fuente
17

Este es un ataque local y es un ataque al propio algoritmo criptográfico. Básicamente, está aprovechando el hecho de que, a bajo voltaje, es difícil distinguir entre un 0 y un 1 para confundir los algoritmos de cifrado con la información de fugas sobre la clave.

Esto es de uso limitado ya que requiere un sistema que se cargue y ejecute de manera segura con almacenamiento encriptado y que pueda alterar los niveles de energía en el dispositivo, lo cual es una situación muy limitada. Se usaría principalmente en una configuración de tipo forense o con un dispositivo robado y registrado en el que se pueda mantener la energía. La clave para que el ataque funcione es que la clave privada debe estar en uso para las operaciones de descifrado o cifrado, pero no debe ser accesible para el atacante por otros medios. Al forzar el software de cifrado y descifrado a fallar de manera controlada, se puede determinar la información sobre la clave privada.

Esto funciona porque controlar el punto de falla terminará en diferentes cambios de comportamiento en función de si los valores son 1 o 0. Dado que un 0 se representa por la ausencia de voltaje y un 1 se basa en la presencia, si disminuya la cantidad de voltaje, algunos 1s comenzarán a leer como 0s. Esto da como resultado fallas donde un valor es 1 para una condición, pero no en lugares donde un valor es 0 para una condición.

El patrón de esas fallas se puede usar para obtener información limitada sobre la clave que se está utilizando para los procesos criptográficos o, en este caso, el texto sin formato original se encripta en lugar de la propia clave y se vuelve a ejecutar. varias veces con fallas. Fueron capaces experimentalmente de recuperar el texto simple evitando que el cifrado se produjera correctamente de una manera que permitiera que se determinara el texto simple (que en realidad no requiere que se filtren la clave ni ningún otro detalle). volver a ejecutar el cifrado miles de veces para hacerlo con un éxito razonablemente alto, pero fueron capaces de realizar el ataque de manera que el dispositivo funcionó normalmente después del ataque, por lo que potencialmente podría ser encubierto si hay acceso físico no controlado al dispositivo.

    
respondido por el AJ Henderson 09.10.2014 - 16:15
fuente

Lea otras preguntas en las etiquetas