Cuando el ataque se describió por primera vez en 2003 (el oráculo del "mal relleno" a través del análisis de tiempo), el escenario de ataque previsto era un cliente de correo electrónico (por ejemplo, Outlook Express) que se conectaba regularmente (por ejemplo, una vez por minuto) al servidor para saberlo. si ha llegado algún correo nuevo (no se le puede notificar al correo nuevo cuando se usa el protocolo POP usted tiene que votar). Dado que cada conexión comenzaría con la misma fase de autenticación, la contraseña de destino se encuentra en un emplazamiento determinista y reproducible en el flujo, y dado que Outlook Express es notoriamente malo en el informe de errores (es decir, es silencioso o simplemente actualiza un antiguo error emergente que el usuario ha sido entrenado para ignorar), entonces fue una buena configuración para el ataque.
Un punto importante que se debe hacer es que dichos ataques deben ocurrir cerca del punto descifrado , donde los "datos interesantes" (la contraseña) están a punto de ser descifrados. En el escenario del servidor de correo, esto está cerca del servidor , no del cliente.
El "Lucky Thirteen" agrega dos nuevos puntos de datos:
-
Señala que la defensa común contra los ataques de tiempo (es decir, cuando el relleno es incorrecto, actúa como si fuera bueno y, no obstante, calcular el MAC) puede perder un poco (porque el "relleno supuesto" no lo hace tener la longitud exacta del "buen relleno"). Cuando el ataque inicial de 2003 utilizó retrasos de aproximadamente 1 milisegundo, la nueva fuga es aproximadamente mil veces más corta, aproximadamente 1 microsegundo.
-
Demuestra que en condiciones de laboratorio (100 Mbits / s Ethernet con un solo interruptor entre el objetivo y el atacante, millones de medidas) son posibles medidas de hasta aproximadamente 1 microsegundo.
El primer punto es, por supuesto, interesante. Sin embargo, afirmaría que el segundo punto tiene este defecto fundamental: si el atacante puede acercarse al objetivo, entonces puede ganar de muchas otras maneras. De hecho, los ataques de tiempo tratan de extraer información de un sistema cerrado a través de fugas de datos basadas en el tiempo. Los criptógrafos tendemos a concentrarnos en la capa criptográfica, porque ese es nuestro trabajo, y la criptografía tiene que ver con la concentración de secretos : la "clave" es la esencia del secreto y un objetivo muy valioso. Sin embargo, el objetivo principal del cifrado es proteger los datos confidenciales y cualquier procesamiento de datos confidenciales puede filtrar parte de ellos a través del tiempo .
En una pila completa de procesamiento de datos, la capa SSL / TLS permanece entre la pila TCP / IP de bajo nivel y la "aplicación" que utiliza los datos confidenciales de varias maneras. Como el descifrado se produce en TLS, la capa TCP / IP solo ve fragmentos cifrados y, por lo tanto, no tiene nada que filtrar. Sin embargo, sería demasiado optimista, al borde de lo absurdo, creer que las fugas pueden ocurrir solo en la capa TLS. El código de aplicación completo es potencialmente vulnerable a los ataques de tiempo. Si bien un ataque a TLS en sí es más interesante, afirmo que los ataques al código de la aplicación son mucho más propensos a ser devastadores.
Para resumir, el ataque de los "trece afortunados" es interesante pero no muy realista. Con respecto a los ataques de tiempo, la capa TLS es solo la punta del iceberg. Abusar un poco más de la metáfora, preocuparse por los "trece afortunados" es un poco como preocuparse por la corrosión a bordo del Titanic: una preocupación válida de una manera abstracta, pero no tan apremiante como otras cuestiones relacionadas con la navegación.