Estoy investigando el ataque KRACK basado en el artículo publicado y su video de YouTube.
Entiendo en gran medida los ataques propuestos en el documento, a excepción de la finalización de los apretones de manos por parte del Autenticador en relación con los siguientes 3 aspectos. Lamentablemente no pude ver cómo y por qué se hace esto en base al documento. Apreciaría mucho cualquier sugerencia o idea de cualquiera de estos puntos :).
1) Según mi entendimiento, su ataque anrdoideo es el que se muestra en la figura 5 de su artículo. Afirman que Android instaló una All-Zero-Key cuando Msg3 se retrasa por primera vez y luego se envían dos versiones de Msg3 al cliente.
- ¿Tengo razón en que pueden descifrar o reproducir solo un fotograma? Así es como se ve su ataque propuesto en la Fig. 5 y la Fig. 6 para estos casos. ¿Sería de alguna utilidad si el error All-Zero-Key no estuviera en su lugar?
- Cuando un All-Zero-Key está instalado en el lado del cliente en este momento, esto sería suficiente. Debería "cifrar" todos los marcos de datos con la clave cero, pero tener los indicadores establecidos que indiquen que el cifrado sería in situ. Supongo que el cliente también establecerá un ID de clave que coincida con la clave de sesión negociada. Sin embargo, esta clave de sesión sería la "correcta" establecida en el lado del autenticador. Entonces, ¿por qué cualquier AP aceptaría tráfico que no está debidamente protegido? En su video de Youtube, habilitan explícitamente el reenvío de paquetes, pero no entiendo cómo debería funcionar esto dado que suponen que no tienen acceso a la red. ¿El AP debería rechazar todos estos marcos cifrados incorrectamente?
2) En la Fig. 4 (¿y supongo que harían lo mismo en las Fig. 5 y 6?) la etapa 4 debería terminar el apretón de manos en el lado del autenticador. ¿Hay alguna razón específica para transmitir Enc_ptk (Msg4 (r + 2)) o por qué se transmite primero? Como solo se acepta Msg4 (r + 1) y esto solo funciona si se aceptan los contadores de repetición antiguos, no puedo entender por qué se hace esto.
3) Apretón de manos FT en la Fig. 9. Pensaría que al recibir el ReassoResp repetido en la etapa 3 recibida por el cliente, el cliente también volvería a instalar su PTK. ¿Hay alguna razón por la que esto se manejó de manera diferente que en el apretón de manos de 4 vías o se olvidaron de dibujar una caja allí? (No pude encontrar un párrafo coincidente en el estándar, ¿pero podría haber pasado por alto algo?)