stringtranslate.com

Análisis de potencia

Un diagrama de análisis de potencia diferencial.
Observación de bits clave RSA mediante análisis de potencia: el pico izquierdo muestra el consumo de energía durante el paso de solo elevación al cuadrado, el pico derecho (más amplio) muestra el paso de multiplicación, lo que permite distinguir los bits de exponente 0 y 1.

El análisis de energía es una forma de ataque de canal lateral en el que el atacante estudia el consumo de energía de un dispositivo de hardware criptográfico. Estos ataques se basan en propiedades físicas básicas del dispositivo: los dispositivos semiconductores se rigen por las leyes de la física, que dictan que los cambios de voltaje dentro del dispositivo requieren movimientos muy pequeños de cargas eléctricas (corrientes). Al medir esas corrientes, es posible obtener una pequeña cantidad de información sobre los datos que se están manipulando.

El análisis de energía simple ( SPA ) implica la interpretación visual de trazas de energía o gráficos de actividad eléctrica a lo largo del tiempo. El análisis de potencia diferencial ( DPA ) es una forma más avanzada de análisis de potencia, que puede permitir a un atacante calcular los valores intermedios dentro de los cálculos criptográficos mediante el análisis estadístico de los datos recopilados de múltiples operaciones criptográficas. SPA y DPA fueron introducidos en la comunidad de criptografía abierta en 1998 por Paul Kocher , Joshua Jaffe y Benjamin Jun. [1]

Fondo

En criptografía , se utiliza un ataque de canal lateral para extraer datos secretos de algún dispositivo seguro (como una tarjeta inteligente , una "caja negra" resistente a manipulaciones o un circuito integrado ). El análisis de canal lateral suele intentar extraer de forma no invasiva claves criptográficas y otra información secreta del dispositivo. Un ejemplo sencillo de esto es el problema de los tanques alemanes : los números de serie de los tanques proporcionan detalles de los datos de producción de los tanques. En seguridad física, un ataque no invasivo sería similar a abrir cerraduras , donde un ataque exitoso no deja rastro de la presencia del atacante.

Análisis de potencia simple

El análisis de potencia simple ( SPA ) es un ataque de canal lateral que implica un examen visual de gráficos de la corriente utilizada por un dispositivo a lo largo del tiempo. Se producen variaciones en el consumo de energía a medida que el dispositivo realiza diferentes operaciones. Por ejemplo, diferentes instrucciones realizadas por un microprocesador tendrán diferentes perfiles de consumo de energía.

El flujo de código que depende de un valor secreto filtrará el flujo de código a través del monitoreo del consumo de energía (y, por lo tanto, también filtrará el valor secreto). Como ejemplo simple, considere una verificación de contraseña de la siguiente manera:

bool check_password ( const char entrada []){ const char contraseña_correcta [] = "hunter2" ;         si ( strlen ( entrada ) ! = strlen ( contraseña_correcta )) devuelve falso ;      for ( int i = 0 ; i < strlen ( contraseña_correcta ); i ++ ){ if ( entrada [ i ] ! = contraseña_correcta [ i ]) { return false ; } }                  devolver verdadero ; } 

Esta verificación de contraseña contiene potencialmente un ataque de sincronización , ya que el tiempo de ejecución no es constante. Sin embargo, es posible que la función no proporcione al usuario un resultado explotable, ya que, por ejemplo, podría haber un retraso de compensación antes de que se devuelva la respuesta. La observación del consumo de energía aclarará el número de bucles ejecutados.

De manera similar, a menudo se pueden distinguir las operaciones de elevación al cuadrado y multiplicación en las implementaciones RSA, lo que permite a un adversario calcular la clave secreta. Incluso si la magnitud de las variaciones en el consumo de energía es pequeña, los osciloscopios digitales estándar pueden mostrar fácilmente las variaciones inducidas por los datos. Los filtros de frecuencia y las funciones de promedio (como las integradas en los osciloscopios) se utilizan a menudo para filtrar componentes de alta frecuencia.

Análisis de potencia diferencial

El análisis de potencia diferencial ( DPA ) es un ataque de canal lateral que implica analizar estadísticamente las mediciones del consumo de energía de un criptosistema . El ataque aprovecha los sesgos que varían en el consumo de energía de los microprocesadores u otro hardware mientras realiza operaciones utilizando claves secretas. Los ataques DPA tienen propiedades de procesamiento de señales y corrección de errores que pueden extraer secretos de mediciones que contienen demasiado ruido para analizarlas mediante un simple análisis de potencia. Usando DPA, un adversario puede obtener claves secretas analizando mediciones de consumo de energía de múltiples operaciones criptográficas realizadas por una tarjeta inteligente u otro dispositivo vulnerable.

Análisis de potencia diferencial de alto orden.

El análisis de potencia diferencial de alto orden ( HO-DPA ) es una forma avanzada de ataque DPA. HO-DPA permite incorporar múltiples fuentes de datos y diferentes compensaciones de tiempo en el análisis. HO-DPA se practica menos que SPA y DPA, ya que el análisis es complejo y los dispositivos más vulnerables se pueden romper más fácilmente con SPA o DPA. [2]

Análisis de potencia y seguridad algorítmica.

El análisis de energía proporciona una forma de "ver el interior" del hardware, que de otro modo sería "a prueba de manipulaciones". Por ejemplo, la programación de claves de DES implica la rotación de registros de claves de 28 bits. Muchas implementaciones verifican el bit menos significativo para ver si es un 1. Si es así, el dispositivo desplaza el registro hacia la derecha y antepone el 1 en el extremo izquierdo. Si el bit es cero, el registro se desplaza hacia la derecha sin anteponer un 1. El análisis de potencia puede distinguir entre estos procesos, lo que permite a un adversario determinar los bits de la clave secreta.

Las implementaciones de algoritmos como AES y triple DES que se cree que son matemáticamente fuertes pueden ser trivialmente rompibles mediante ataques de análisis de potencia. Como resultado, los ataques de análisis de poder combinan elementos de criptoanálisis algorítmico y seguridad de implementación.

Estándares y preocupaciones prácticas de seguridad

Para aplicaciones donde los dispositivos pueden caer en posesión física de un adversario, la protección contra el análisis de energía es generalmente un requisito de diseño importante. Según se informa, también se han utilizado análisis de potencia en módulos de acceso condicional utilizados en sistemas de televisión de pago. [3]

El equipo necesario para realizar ataques de análisis de potencia está ampliamente disponible. Por ejemplo, la mayoría de los osciloscopios de almacenamiento digital proporcionan la funcionalidad de recopilación de datos necesaria y el análisis de datos normalmente se realiza utilizando PC convencionales. También se encuentran disponibles productos comerciales diseñados para laboratorios de pruebas. [4] El proyecto ChipWhisperer de código abierto fue la primera cadena de herramientas completa de hardware y software de código abierto para experimentos de análisis de energía. [5]

Prevención de ataques de análisis de potencia simples y diferenciales

Los ataques de análisis de poder generalmente no pueden ser detectados por un dispositivo, ya que el monitoreo del adversario normalmente es pasivo. Además, el ataque no es invasivo. Como resultado, los recintos físicos, las capacidades de auditoría y los detectores de ataques son ineficaces. En cambio, los ingenieros de criptosistemas deben asegurarse de que las variaciones de potencia de los dispositivos no revelen información que puedan utilizar los adversarios.

Un análisis de potencia simple puede distinguir fácilmente el resultado de las ramas condicionales en la ejecución de software criptográfico, ya que un dispositivo hace cosas diferentes (consumiendo energía diferente) dependiendo de si se toma la rama condicional. Por este motivo, se debe tener cuidado para garantizar que no haya valores secretos que afecten a las ramas condicionales dentro de las implementaciones de software criptográfico. Otras fuentes de variación, como las diferencias de microcódigo, las ramas introducidas por los compiladores y las variaciones del consumo de energía en los multiplicadores, también suelen generar vulnerabilidades SPA.

El análisis de potencia diferencial es más difícil de prevenir, ya que incluso pequeños sesgos en el consumo de energía pueden conducir a debilidades explotables. Algunas estrategias de contramedida implican modificaciones algorítmicas de modo que las operaciones criptográficas se produzcan en datos que están relacionados con el valor real mediante alguna relación matemática que sobrevive a la operación criptográfica. Un enfoque implica cegar los parámetros para aleatorizar su valor. Otras estrategias de contramedida para reducir la eficacia de los ataques DPA implican modificaciones de hardware: se ha considerado que variar la frecuencia del reloj interno del chip desincroniza las señales eléctricas, lo que conduce a mejoras algorítmicas del DPA tradicional. [6] [7]

Patentes

En la literatura académica se han propuesto muchas técnicas para prevenir ataques SPA y DPA. Mientras que los sistemas de clave pública como RSA suelen estar protegidos explotando las propiedades de las estructuras algebraicas subyacentes (en el caso de RSA, esta sería su propiedad multiplicativamente homomórfica), las primitivas con clave simétrica como los cifrados en bloque requieren métodos diferentes, por ejemplo, "enmascaramiento".

Algunas empresas, como RamBus, reclaman propiedad intelectual sobre los mecanismos de defensa de la DPA. [8]

Referencias

  1. ^ P. Kocher, J. Jaffe, B. Jun, Análisis de potencia diferencial, informe técnico, 1998; publicado posteriormente en Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes in Computer Science vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
  2. ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Introducción al análisis de poder diferencial y ataques relacionados (1998)"
  3. ^ "Página de inicio: ciberpiratería: la verdad". Archivado desde el original el 13 de noviembre de 2002.
  4. ^ "Plataforma de análisis de estaciones de trabajo DPA". Rambú .
  5. ^ ChipWhisperer: una plataforma de código abierto para la investigación de seguridad integrada en hardware
  6. ^ Xavier Charvet, Herve Pelletier, "Mejora del ataque DPA mediante transformada wavelet (2005) Archivado el 4 de marzo de 2016 en Wayback Machine "
  7. ^ Jasper van Woudenberg, Marc Witteman, Bram Bakker "Mejora del análisis de potencia diferencial mediante alineación elástica (2011)"
  8. ^ "Contramedidas autorizadas". Rambú .