Una introducción a los ataques de canal lateral de Power Analysis


Anteriormente, brindé una introducción al campo de los ataques de canal lateral en su conjunto, incluido por qué pueden representar una amenaza de seguridad significativa a nivel de hardware.

Si bien existen muchas formas diferentes de ataques de canal lateral, incluidos los electromagnéticos (EM), acústicos y temporales, sin embargo, uno de los tipos de ataque más comunes y poderosos son los ataques de canal lateral basados ​​​​en energía.

En este artículo, hablaremos sobre cómo funciona un ataque de poder y veremos formas específicas de ataques de poder que se han utilizado para romper el cifrado en el pasado.

Concepto detrás de las fijaciones Power Side Channel

Todo el concepto de ataques de canal lateral basados ​​en energía, cuya configuración típica se puede ver en la Figura 1, se basa en la suposición de que, en los dispositivos semiconductores de óxido de metal complementario (CMOS), existe una correlación entre el nivel del el consumo de energía y las operaciones que realiza el dispositivo.

Configuración de prueba para un ataque de canal lateral basado en energía.

Figura 1. Configuración de prueba para un ataque de canal lateral basado en energía. Imagen utilizada por cortesía de Wang et al.

Es decir, la potencia consumida por un circuito variará según la actividad de los transistores individuales.

Con este entendimiento, los atacantes llegaron a la conclusión de que el consumo de energía de un circuito integrado es un canal secundario. Básicamente, contiene información de fugas sobre lo que sucede dentro del IC, qué datos se procesan y qué operaciones se realizan.

La mayoría de los ataques de análisis de energía funcionan haciendo que un atacante monitoree los rieles de energía del dispositivo durante la operación (más comúnmente con un osciloscopio), buscando consumo de corriente o fluctuaciones de voltaje. Luego, el atacante tomará sus datos y realizará una serie de análisis estadísticos para correlacionar sus resultados con información sobre la operación criptográfica del dispositivo.

Con ese fin, hay tres formas principales de ataques basados ​​en el poder que vale la pena discutir:

  • Análisis de potencia simple (SPA)
  • Análisis de potencia diferencial (DPA)
  • Análisis de poder correlacional (CPA)

Ataque SPA (Análisis Simple de Energía).

El tipo más rudimentario de ataque de poder es el análisis de poder simple (SPA).

Los ataques SPA son un método de ataques de canal lateral basados ​​en energía que implican la interpretación directa y principalmente visual de las mediciones de consumo de energía de un dispositivo. Estos tipos de ataques a menudo requieren un conocimiento previo del tipo de algoritmo criptográfico que ejecuta un dispositivo para correlacionar el consumo de energía medido con las operaciones matemáticas reales.

Un ejemplo famoso de un SPA que rompe un algoritmo criptográfico es el de las tarjetas inteligentes que ejecutan RSA (Rivest-Shamir-Adleman). RSA es un algoritmo criptográfico de clave pública que opera realizando una serie de ciclos modulares de exponenciación en la clave criptográfica, cada uno de los cuales consta de una serie de operaciones de multiplicación y elevación al cuadrado. Se sabe que se realiza una operación al cuadrado en cada iteración del bucle de exponenciación, mientras que las multiplicaciones se realizan solo cuando un bit del exponente es 1.

La Figura 2 muestra un segmento de una traza de potencia en un ciclo de exponenciación modular de RSA (es decir, una serie de cuadrados y multiplicaciones).

Pérdidas de SPA de una implementación de RSA.

Figura 2. Pérdidas de SPA de una implementación de RSA. Imagen utilizada por cortesía de Kocher et al.

Como puede verse en el trazado de potencia, las operaciones de multiplicación consumen más energía que las operaciones de cuadratura, lo que da como resultado un pico más alto en el trazado de potencia. A partir de este rastro, junto con nuestro conocimiento del algoritmo RSA, podemos simplemente determinar que cada pico de potencia (es decir, una operación de multiplicación) está relacionado con un bit ‘1’ en el exponente de la clave secreta. Un ‘0’, en este caso, aparece como una protuberancia más corta sin una más alta a continuación. De esta forma, SPA puede recuperar una clave criptográfica secreta de RSA.

Ataques de análisis de potencia diferencial (DPA).

SPA funciona mejor en sistemas electrónicos muy simples, como tarjetas inteligentes, ya que la falta de funcionalidad permite que los rastros de energía se relacionen directa y visualmente con operaciones específicas. En sistemas más realistas y complejos, muchas operaciones ocurren en paralelo, todas extraídas del mismo riel de alimentación, lo que hace que sea prácticamente imposible descifrar nada visualmente.

Para sistemas más complejos, uno de los ataques de potencia más poderosos es el análisis de potencia diferencial (DPA).

DPA es un tipo de ataque de canal lateral basado en la potencia que utiliza métodos estadísticos para analizar conjuntos de medidas para identificar correlaciones dependientes de datos (Figura 3).

Los resultados de una prueba de DPA.  De arriba a abajo: la salida del primer AES S-box cuando LSB es 1, la misma salida cuando LSB es 0, la diferencia entre las salidas y la diferencia aumentada 15x.

Figura 3. Los resultados de una prueba de DPA. De arriba a abajo: la salida del primer AES S-box cuando LSB es 1, la misma salida cuando LSB es 0, la diferencia entre las salidas y la diferencia aumentada 15x. Imagen utilizada por cortesía de Kocher et al.

El método consiste en gran medida en recopilar trazas, como en SPA, dividirlas en subconjuntos individuales definidos por una función de selección y calcular la diferencia en sus medias. Si no hay correlación entre los subconjuntos, la diferencia será cero; si hay correlación entre los conjuntos, la diferencia será un número distinto de cero. En un conjunto de datos lo suficientemente grande, estas correlaciones se vuelven perceptibles independientemente de la cantidad de ruido en los datos.

Este conocimiento se puede extrapolar para descubrir claves criptográficas en algoritmos como AES (Strong Encryption Standard) y DES (Data Encryption Standard). En el caso de AES con una clave de 128 bits, tratar de adivinar la clave por fuerza bruta requeriría 2^128 intentos, lo que sería computacionalmente inviable. Sin embargo, al usar DPA, se ha demostrado que la clave se puede descifrar en solo 16*256 intentos, lo cual es trivialmente fácil.

La discusión adicional de los detalles específicos de cómo DPA rompe AES o DES está más allá del alcance de este artículo, por lo que para obtener más información, sugiero leer el trabajo de Kocher et al aquí.

Ataques de análisis de poder de correlación (CPA).

Otro tipo poderoso de ataque de poder, que en realidad es una variante de DPA, es el análisis de poder correlacional (CPA).

CPA funciona al intentar crear un modelo de energía del dispositivo para que el atacante pueda encontrar una correlación estadística entre la salida esperada y el consumo de energía del dispositivo. Cuanto más preciso sea el modelo de potencia, más fuerte será la correlación.

Un tipo de modelo de potencia ampliamente utilizado en CPA es el modelo de peso hamming, que supone que el número de bits «1» en la clave criptográfica está directamente relacionado con el consumo de energía del dispositivo durante el cifrado. Usando este modelo, el atacante proporcionará diferentes claves al dispositivo y los pesos de Hamming se comparan con los niveles de voltaje de las trazas de energía para encontrar la correlación entre los valores de la unidad de potencia modelada y la potencia real consumida.

Si se encuentra una correlación, un atacante trabaja para recopilar una gran cantidad de rastros resultantes de varias entradas de claves secretas esperadas, y la clave correcta dará como resultado el nivel más alto de correlación estadística.

Para obtener información más detallada sobre los ataques de CPA, recomiendo leer Power Analysis Attacks de Mangard et al.

En general, los ataques de canal lateral basados ​​en energía se encuentran entre las formas más poderosas de ataques a nivel de hardware conocidas hasta la fecha. Se ha demostrado que ataques como DPA y CPA violan algoritmos de encriptación que antes se pensaba que eran indestructibles, como AES y DES.