Ataque de canal lateral (Side-channel attack)
En seguridad, un ataque de canal lateral recupera un secreto sin romper el algoritmo, midiendo lo que la implementación filtra mientras se ejecuta: el tiempo que tarda, la energía que consume, sus emisiones electromagnéticas o su efecto sobre una caché compartida. Tiene dos caras: el hardware de los dispositivos empotrados y el tiempo en el software.
Cómo funciona
Un algoritmo criptográfico puede ser matemáticamente sólido y aun así filtrar por la forma en que está implementado. Los ataques de canal lateral miden esa filtración. En hardware, un atacante con acceso físico observa la energía que consume un chip o el campo electromagnético que emite mientras realiza una operación, y como esas señales dependen de los datos que se están procesando, un análisis cuidadoso sobre muchas medidas puede recuperar una clave. En software, la filtración suele ser de tiempo: una comparación o una operación criptográfica cuya duración depende de un dato secreto permite a un atacante deducir ese dato midiendo cuánto tarda, y un recurso compartido como la caché de un procesador puede filtrar a través de fronteras que el software daba por aisladas. En todos los casos el secreto se recupera sin romper el cifrado.
Qué sale mal
El fallo es dar por hecho que un algoritmo fuerte hace fuerte a la implementación. En dispositivos empotrados, unas claves que un análisis de firmware no habría encontrado en el almacenamiento se pueden sacar igualmente de un chip mediante análisis de consumo, y por eso los diseños de garantía alta aíslan las operaciones con claves en un hardware security module construido para resistir justo esto. En software, las comparaciones de secretos que no son de tiempo constante (un token, una firma, un código de autenticación de mensaje) son un hallazgo recurrente, porque la forma natural de escribir la comprobación filtra por el tiempo. Desde el lado del atacante, el canal lateral resulta atractivo precisamente porque el objetivo defendió el algoritmo y se olvidó de la implementación.
Dónde aparece esto en una auditoría
Evaluamos la filtración de la implementación donde importa: en dispositivos, si las claves y la verificación del arranque seguro resisten la observación física y si las operaciones sensibles están protegidas por hardware; en software, si las comparaciones de secretos son de tiempo constante y si es posible filtrar por recursos compartidos. Los hallazgos se escriben contra la implementación que filtra y no contra el algoritmo, porque el algoritmo suele estar bien. La relevancia se extiende a cuánto tiempo tiene que seguir a salvo un secreto, lo que enlaza con el cifrado en reposo y con las preguntas de migración que plantea la criptografía post-cuántica. Esto forma parte de cómo evaluamos la filtración de una implementación.