Resumen
- El punto de acceso puede retransmitir legítimamente el mensaje 3 del intercambio de cuatro vías cuando no recibe el mensaje 4. Los clientes vulnerables volvían a instalar la misma clave de sesión al recibir esa copia auténtica.
- El atacante no averiguaba la contraseña Wi-Fi ni la clave negociada. Reiniciaba el número de paquete y el contador antirrepetición vinculados a una clave que seguía siendo secreta.
- La corrección no eliminó la tolerancia a pérdidas: el cliente todavía puede responder al mensaje repetido, pero cada clave nueva solo se instala una vez y su estado no retrocede.
El intercambio de cuatro vías de WPA2 tiene que completar una operación sobre un medio donde las tramas se pierden. Tras recibir el mensaje 3, el cliente instala la clave temporal por pares y contesta con el mensaje 4. Si esa respuesta se desvanece, el punto de acceso no sabe que el cliente terminó. Volver a enviar el mensaje 3 es, por tanto, una medida de fiabilidad, no una señal de intrusión.
La vulnerabilidad aparecía al confundir la repetición de la conversación con la repetición de su efecto. En el ataque presentado por Mathy Vanhoef y Frank Piessens en CCS 2017, un adversario dentro del alcance inalámbrico establece una posición de intermediario basada en canales, impide que llegue el mensaje 4 y entrega al cliente una retransmisión genuina del mensaje 3. La autenticidad de la trama no estaba en duda. Lo que fallaba era la semántica local que volvía a ejecutar la instalación.
Instalar una clave incluía más que guardar un secreto. Algunas pilas reiniciaban el nonce empleado como número de paquete de transmisión y también el contador de repeticiones recibidas. Con ello, una clave todavía secreta podía volver a operar con valores que ya había usado. La sesión conservaba su identidad criptográfica, pero perdía la dirección temporal que hacía seguros sus paquetes.
Por eso KRACK no fue una técnica para recuperar la contraseña. Cambiar las credenciales no modifica el comportamiento de instalación. Tampoco hubo un efecto universal. Con CCMP, el trabajo original mostró repetición y posibilidades de descifrado, pero no la falsificación directa de cualquier trama Wi-Fi. TKIP y GCMP podían permitir además falsificaciones. Manipular TCP o HTTP requería tráfico oportuno y pasos adicionales.
En determinados usos de wpa_supplicant sobre Linux y Android, la reinstalación podía terminar con una clave temporal compuesta por ceros. Era una variante particularmente grave, no el comportamiento común a todo dispositivo WPA2. El impacto dependía del cifrado, del sentido del tráfico, del tipo de intercambio y de las decisiones concretas del programa.
El hallazgo también señaló un límite de las garantías formales disponibles. Los modelos citados protegían el secreto de la clave y la autenticación de la sesión, pero no representaban cuándo se instalaba la clave ni qué ocurría si ese evento se repetía. La prueba del protocolo y la máquina de estados ejecutada habían dejado una operación diferente dentro de sus respectivos perímetros.
La solución central fue separar dos permisos. Ante una retransmisión válida del mensaje 3, el cliente puede volver a enviar el mensaje 4. No puede reinstalar la clave de sesión. Una implementación puede negarse a reiniciar contadores cuando se configura una clave ya usada, o conceder a cada clave fresca una única instalación durante una ejecución del intercambio.
La modificación no altera el formato de los mensajes. Un cliente corregido sigue comunicándose con un punto de acceso antiguo porque la retransmisión y la respuesta permanecen. Solo se convierte en irreversible la transición local que debía serlo desde el principio. Eso permite que operadores independientes adopten la protección sin esperar una actualización simultánea de toda la red.
El inventario de correcciones, sin embargo, no cabía en una sola versión. VU#228519 de CERT/CC agrupó la familia de CVE desde CVE-2017-13077 y distinguió varios intercambios. El aviso de hostapd y wpa_supplicant separó estaciones, puntos de acceso, transición rápida 802.11r, claves de grupo, controladores y firmware. Android asignó las correcciones al nivel de parche de 2017-11-06, con la advertencia de que algunos componentes necesitaban además cambios del fabricante del chipset.
El seguimiento de 2018 aportó una prueba importante de madurez. La mayoría de los fabricantes examinados había distribuido arreglos, pero todavía aparecieron defectos residuales y una evasión de menor impacto para claves de grupo. La publicación de un boletín no sustituye la verificación del producto que está encendido.
La regla que deja KRACK es aplicable más allá de Wi-Fi: autenticar un mensaje demuestra quién lo emitió, no que sea seguro ejecutar dos veces la acción que representa.
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
