¿Mensaje de contraseña antes de en- / descifrado para evitar ataques de canal lateral en FPGA?

1

Cuando estamos utilizando un FPGA para el cifrado de archivos, contenedores o discos completos, necesitamos ingresar una contraseña para el proceso de cifrado / descifrado. ¿Cómo podemos evitar ataques de canal lateral para robar la contraseña de un FPGA robado?

  • Considerando sin tal 'contraseña de iniciación' un atacante con el acceso físico solo necesitaría que el FPGA lo encendiera y escuchara ¿Las operaciones de hardware criptográfico para romper la clave?
  • En cuanto a los ataques de canal lateral, ¿hay una preferencia entre ¿Algoritmos simétricos frente a algoritmos asimétricos utilizados en FPGA para proteger los datos?
  • ¿Existen implementaciones de referencia de código fuente abierto disponibles para ¿FPGA con código fuente revisado? ¿Puedes recomendar un sitio web o comunidad con respecto a las implementaciones de criptografía FPGA, ya sea simétricas y algoritmos asimétricos.
pregunta user3200534 11.02.2014 - 15:16
fuente

2 respuestas

3

"FPGA" es principalmente una pista falsa aquí.

Ataques de canal lateral intentan explotar fugas de elementos de datos secretos cuando un sistema usa dichos elementos. Las fugas pueden ocurrir de varias formas físicas, como el consumo de energía, el tiempo de procesamiento, las ondas de radio emitidas ...

SI:

  • tienes un sistema que contiene un elemento secreto;
  • Y ese sistema puede filtrar información cuando usa el elemento secreto;
  • PERO el sistema se negará a trabajar hasta que un propietario autorizado haya sido debidamente autenticado;

ENTONCES, los ataques de canal lateral no se aplicarán incluso si el dispositivo está bajo el control físico del atacante: el atacante no podrá hacer que el dispositivo pierda el secreto porque el dispositivo simplemente se negará a ejecutar las operaciones que podría filtrarse.

SIN EMBARGO, todo esto es relativo a algunas suposiciones básicas que no son necesariamente ciertas:

  • Esto supone que el mecanismo de autenticación no se puede romper, aunque el atacante puede ejercer uno a voluntad.
  • Esto también supone que el dispositivo es a prueba de manipulaciones : incluso si el dispositivo se niega a utilizar el secreto, todavía lo contiene . El atacante tiene acceso físico al dispositivo y puede intentar separarlo y saquear su contenido directamente. Un FPGA no es necesariamente a prueba de manipulaciones. Dado que es un chip físico, puede haber sido protegido y mejorado con características de resistencia a la manipulación, pero eso no es un hecho. Algunos FPGA afirman resistencia a la manipulación indebida, hasta cierto punto (el Diablo está en el detalles, como de costumbre).

En cuanto a las implementaciones de FPGA de código abierto, no están tan extendidas como sus contrapartes de software, pero también hay una tendencia creciente para eso. Consulte, por ejemplo, OpenCores , que trata de agregar información sobre los diseños de código abierto disponibles para FPGA y ASIC.

    
respondido por el Tom Leek 12.02.2014 - 16:01
fuente
0

Me pregunto cómo exactamente la contraseña entra en juego con el cifrado en sí. Tienes (al menos) dos opciones aquí.

  • La clave de descifrado se deriva de la contraseña

Esto no le daría ninguna ventaja a un atacante. Si él roba el dispositivo, la clave de descifrado es tan desconocida como la contraseña. Por lo tanto, no hay forma de que la clave de descifrado se pueda filtrar porque simplemente no está en el dispositivo.

  • La contraseña se usa para desbloquear el dispositivo que ya contiene la clave de cifrado

Aquí la clave de descifrado se almacena dentro del dispositivo. Así que hay manera de extraerlo. En primer lugar, puede abrir el dispositivo con ácido o lo que sea que haga el trabajo y leer la clave. Esto obviamente no es demasiado simple.

También puede haber posibilidades de recuperar la contraseña, dependiendo de la implementación de la verificación de la contraseña. Si comparas Byte by Byte, los ataques de tiempo pueden ser posibles.

  

¿Considerando que, sin esa 'contraseña de inicio', un atacante con acceso físico solo tendría que encender el FPGA y escuchar las operaciones del hardware de cifrado para descifrar la clave?

Esto podría no ser necesario en absoluto. Dependiendo de la implementación, puede ser suficiente dejar que el dispositivo cifre los ceros para recuperar el pad que se usa para el cifrado.

Cuando el dispositivo está 'desbloqueado', es posible recuperar la clave con un ataque de canal lateral. Si la implementación se realiza sin protección, un análisis de potencia simple o diferencial puede recuperar la clave bit a bit o byte por byte.

  

Con respecto a los ataques de canal lateral, ¿existe una preferencia entre los algoritmos simétricos y los asimétricos utilizados en FPGA para proteger los datos?

No hay preferencia. Los ataques de canal lateral pueden recuperar claves de ambos tipos.

  

¿Hay implementaciones de referencia de código fuente abierto disponibles para FPGA con código fuente revisado?

No que yo sepa.

  

¿Puede recomendar un sitio web o una comunidad con respecto a las implementaciones de criptografía FPGA, ya sean algoritmos simétricos o asimétricos?

En realidad no. Las implementaciones resistentes de canal lateral son un buen punto de partida para su propio negocio. Son de gran valor.

    
respondido por el fr00tyl00p 12.02.2014 - 19:48
fuente

Lea otras preguntas en las etiquetas