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.