Ataque al consumo de energía

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 26 de julio de 2015; las comprobaciones requieren 7 ediciones .

En criptografía , un ataque de energía es una forma de ataque de canal lateral en el que un criptoanalista examina el consumo de energía de un dispositivo que realiza tareas criptográficas (como una tarjeta inteligente , una caja negra a prueba de manipulaciones, un circuito integrado , etc.). Con la ayuda de un ataque de este tipo, es posible extraer claves criptográficas u otra información secreta del dispositivo sin afectarlo directamente.

Un simple ataque al consumo de energía ( ing.  Simple Power Analysis , SPA ) implica un análisis visual de gráficos de actividad eléctrica del dispositivo a lo largo del tiempo.

El ataque de análisis de potencia diferencial ( DPA ) es un  tipo de ataque más avanzado mediante el cual un criptoanalista puede calcular valores intermedios utilizados en un algoritmo criptográfico mediante el análisis estadístico de los datos recopilados durante el cálculo de varias operaciones criptográficas. SPA y DPA fueron introducidos por primera vez en 1998 por los criptógrafos Paul Kocher , Joshua Jaffe y Benjamin June . [una]

Tipos de ataques

Un simple ataque de consumo de energía

Un ataque de consumo de energía simple es un ataque de canal lateral en el que se realiza un análisis visual de la dependencia de la corriente/energía consumida por el dispositivo en el tiempo. Las desviaciones en el consumo de energía ocurren cuando el dispositivo realiza diferentes operaciones y secuencias de acciones. Por ejemplo, diferentes instrucciones ejecutadas por un microprocesador tienen diferentes efectos sobre el consumo de energía. Así, en un gráfico de consumo de energía frente al tiempo tomado de una tarjeta inteligente que ejecuta el algoritmo DES , se pueden distinguir claramente 16 rondas de cifrado. De manera similar, las operaciones de calcular el cuadrado de un número y la operación de multiplicar en implementaciones del algoritmo RSA pueden separarse visualmente entre sí, lo que abre la posibilidad de recuperar la clave secreta. Incluso si hay una pequeña diferencia en el consumo de energía, los osciloscopios digitales estándar pueden mostrar las desviaciones causadas por las diferencias en los datos procesados. Los filtros de frecuencia y las funciones de promedio que están disponibles en los osciloscopios modernos se utilizan a menudo para filtrar los componentes de alta frecuencia que interfieren con el análisis. Una de las principales desventajas de este ataque es su gran dependencia tanto de la implementación del algoritmo criptográfico como del equipo que lo ejecuta, sin posibilidad de automatizar el proceso de análisis para el caso general. [2]

Ataque diferencial de potencia

Un ataque diferencial de potencia es un ataque de canal lateral que realiza un análisis estadístico de las mediciones de consumo de energía de un criptosistema. El ataque utiliza datos sobre desviaciones en el consumo de energía del microprocesador u otros equipos obtenidos durante la ejecución de operaciones relacionadas con la clave secreta. El ataque diferencial de potencia implica el procesamiento de la señal y la corrección de errores , lo que hace posible obtener información secreta basada en mediciones que contienen demasiado ruido para un ataque simple. Con el ataque diferencial, un criptoanalista puede deducir claves secretas analizando las mediciones de consumo de energía realizadas durante múltiples operaciones criptográficas realizadas por el dispositivo bajo investigación. A diferencia de un ataque simple, un ataque diferencial no depende tanto de la implementación del criptosistema y es posible automatizar el proceso de ataque para una amplia gama de dispositivos.

Ataque diferencial de potencia de alto orden

El análisis de potencia diferencial de alto orden ( HO - DPA ) es una versión más avanzada del ataque diferencial. El ataque diferencial de alto orden brinda la capacidad de usar múltiples fuentes de mediciones y varios cambios de tiempo en el análisis. Esta versión del ataque de consumo de energía se usa con menos frecuencia que los ataques diferenciales o simples convencionales, ya que dicho análisis es mucho más difícil y la mayoría de los dispositivos se piratean con menos esfuerzo utilizando ataques diferenciales o simples convencionales. [3]

Resiliencia del algoritmo al ataque

Power Attack proporciona una forma de mirar dentro de un dispositivo que es resistente a las influencias externas. Por ejemplo, durante la fase de programación, el algoritmo DES rota registros clave de 28 bits. Muchas implementaciones verifican el bit menos significativo del registro para un "1" allí. Si es así, entonces el registro se desplaza a la derecha y se agrega un "1" al final del registro. De lo contrario, el registro se desplaza sin sumar "1". Un ataque de consumo de energía es capaz de distinguir entre estos procesos y así abre la posibilidad de recuperar la clave secreta. Las implementaciones insuficientemente robustas de algoritmos como AES o 3-DES , que se consideran matemáticamente estables, pueden ser pirateadas de manera trivial mediante ataques de consumo de energía. Por lo tanto, los ataques de consumo de energía combinan elementos de criptoanálisis algorítmico y análisis de confiabilidad de implementación.

Equipo requerido

El hardware requerido para un ataque de consumo de energía está ampliamente disponible. Por ejemplo, la mayoría de los osciloscopios digitales tienen la funcionalidad necesaria para recibir datos para su procesamiento, y los datos en sí generalmente se procesan en computadoras personales. También hay disponibles productos comerciales diseñados para laboratorios de pruebas. [4] A pesar de que los microprocesadores modernos operan a frecuencias del orden de 3 GHz , en algunas situaciones, los instrumentos de medición con una frecuencia de muestreo del orden de decenas de kHz son suficientes para un análisis exitoso. [5] La fuente de señal de consumo de energía puede ser la corriente en el canal de transferencia de energía desde la fuente de energía al dispositivo (por ejemplo, en un cable de alimentación) o el voltaje en la superficie de la carcasa, el voltaje en varias interfaces ( USB , entrada de red, VGA , etc.) e incluso radiación electromagnética .

Contramedidas

Para áreas donde los dispositivos criptográficos pueden caer en manos de un criptoanalista, la resistencia a los ataques de consumo de energía es uno de los principales requisitos del sistema. Un ataque de consumo de energía generalmente no puede ser detectado por un dispositivo criptográfico, ya que el criptoanalista suele comportarse de forma pasiva. Además de esto, este tipo de ataques no afectan directamente al sistema. Como resultado, la detección de ataques es ineficiente. En cambio, los diseñadores de criptosistemas deben asegurarse de que las fluctuaciones en el consumo de energía y los procesos que ocurren en el sistema sean independientes. Un simple ataque de consumo de energía puede distinguir libremente el resultado de una operación de bifurcación condicional, ya que el dispositivo hace cosas diferentes (y por lo tanto consume energía diferente) dependiendo de la dirección de la bifurcación. Por lo tanto, se debe asegurar que los valores secretos no participen en la determinación de la dirección de los saltos condicionales en la implementación del algoritmo. Otras fuentes de variación de energía, como las diferencias en el microcódigo, los saltos generados por el compilador, el diferente consumo de energía en las operaciones de multiplicación, también suelen generar vulnerabilidades a un simple ataque de consumo de energía. Un ataque diferencial de energía es más difícil de prevenir, ya que incluso las pequeñas fluctuaciones en el consumo de energía pueden generar una vulnerabilidad. Algunas estrategias de contramedidas utilizan modificaciones de algoritmos de modo que las operaciones criptográficas se realizan sobre datos asociados a valores reales a través de alguna transformación matemática que se conserva cuando se realiza la operación criptográfica. Un enfoque consiste en mezclar parámetros para introducir aleatoriedad en sus valores. Otras estrategias implican la modificación del hardware: el cambio de frecuencia del microprocesador se utiliza como medida de la desincronización de las señales eléctricas, lo que a su vez ha llevado a una mejora en el clásico algoritmo de ataque diferencial de potencia. [6] [7]

Véase también

Notas

  1. P. Kocher, J. Jaffe, B. Jun, " Análisis de potencia diferencial archivado el 24 de agosto de 2009 en Wayback Machine ", informe técnico, 1998; publicado más tarde en Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes In Computer Science vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
  2. Michael Tunstall, " Attacks on Smart Cards Archivado el 23 de septiembre de 2015. »
  3. Paul Kocher, Joshua Jaffe, Benjamin Jun, " Introducción al análisis de potencia diferencial y ataques relacionados (1998) Archivado el 20 de abril de 2009 en Wayback Machine ".
  4. Estación de trabajo DPA . Fecha de acceso: 12 de diciembre de 2014. Archivado desde el original el 7 de febrero de 2009.
  5. Daniel Genkin, Itamar Pipman, Eran Tromer, " Get Your Hands Off My Laptop: Physical Side-Channel Key-Extraction Attacks On PCs Archivado el 16 de agosto de 2014 en Wayback Machine ".
  6. Xavier Charvet, Herve Pelletier, " Improving the DPA attack using wavelet transform (2005) Archivado el 4 de marzo de 2016 en Wayback Machine ".
  7. Jasper van Woudenberg, Mark Witteman, Bram Bakker " Mejora del análisis de potencia diferencial mediante alineación elástica (2011) "