Los ataques de Side Channel aprovechan la información obtenida al observar o interactuar con un sistema de una forma distinta a la prevista por sus creadores. A menudo, esto se hace para inferir información sobre claves de cifrado u otra información secreta.
Algunos de los vectores de ataque de canal lateral más comunes son:
- tiempo
- Supervisión de energía
- análisis de manejo de errores
Los ejemplos de lo mencionado incluyen:
- Ataque de tiempo de caché AES para determinar las claves de cifrado ( muy buen documento por DJ Bernstein )
- Análisis de potencia diferencial contra DES para determinar las claves de cifrado ( documento famoso de P Kocher )
- El manejo de errores de los pasaportes RFID se explota para inferir la nacionalidad - > violación de la privacidad ( enlace )
Mientras que Wikipedia declara que:
... un ataque de canal lateral es cualquier ataque basado en información obtenida de la implementación física de un sistema de cifrado ...
Argumentaría (junto con Bernstein y otros) que las debilidades del canal lateral también pueden surgir del diseño. En el ejemplo de AES, esto se debe al hecho de que es prácticamente imposible escribir código de ejecución constante para la informática en general y mantener la eficiencia.
Así que volvamos a tu pregunta; mientras explota un ataque de canal lateral en un sistema implementado, la causa raíz de su existencia no se puede generally solo a la implementación. Tendrá que mirar un sistema específico y sus implementaciones, y puede encontrar que la respuesta a la pregunta depende en gran medida de dónde coloque el límite entre el diseño y la implementación.
(Si el diseño de AES hubiera garantizado tiempos de computación estáticos, el ataque de sincronización no hubiera sido factible en ninguna implementación correcta como ejemplo ...)
Sin embargo, puede tener diferentes implementaciones de AES que son o no vulnerables a un ataque de tiempo, para responder a su pregunta sobre los sistemas A y amp; B (el sistema A puede imponer tiempos de computación estática mientras que B no lo hace) .
Con un modelo de atacante bien definido, diría que se podría definir un algoritmo resistente al canal lateral. Por favor, aclare esa pregunta, no estoy seguro de que le haya entendido bien.
Edit: Algunas lecturas más divertidas e interesantes en este breve y fácil de leer artículo . :)