IEEE 802.11i-2004 , o 802.11i para abreviar, es una enmienda al IEEE 802.11 original , implementado como Wi-Fi Protected Access II (WPA2). El borrador del estándar fue ratificado el 24 de junio de 2004. Este estándar especifica los mecanismos de seguridad para redes inalámbricas , reemplazando la breve cláusula de autenticación y privacidad del estándar original por una cláusula de seguridad detallada . En el proceso, la enmienda desaprobó la privacidad equivalente a cable (WEP), que estaba rota , mientras que más tarde se incorporó al estándar IEEE 802.11-2007 publicado .
802.11i reemplaza la especificación de seguridad anterior, Wired Equivalent Privacy (WEP), que demostró tener vulnerabilidades de seguridad. Wi-Fi Protected Access (WPA) había sido introducido previamente por la Wi-Fi Alliance como una solución intermedia a las inseguridades de WEP. WPA implementó un subconjunto de un borrador de 802.11i. La Wi-Fi Alliance se refiere a su implementación interoperable aprobada de la totalidad de 802.11i como WPA2 , también llamada RSN (Robust Security Network). 802.11i hace uso del cifrado de bloques Advanced Encryption Standard (AES) , mientras que WEP y WPA utilizan el cifrado de flujo RC4 . [1]
IEEE 802.11i mejora IEEE 802.11-1999 al proporcionar una Red de Seguridad Robusta (RSN) con dos nuevos protocolos: el protocolo de enlace de cuatro vías y el protocolo de enlace de clave de grupo. Estos utilizan los servicios de autenticación y el control de acceso a puertos descritos en IEEE 802.1X para establecer y cambiar las claves criptográficas adecuadas. [2] [3] La RSN es una red de seguridad que sólo permite la creación de asociaciones de red de seguridad robusta (RSNA), que son un tipo de asociación utilizada por un par de estaciones (STA) si el procedimiento para establecer la autenticación o asociación entre ellas incluye el protocolo de enlace de cuatro vías. [4]
El estándar también proporciona dos protocolos de confidencialidad e integridad de datos RSNA, TKIP y CCMP , siendo obligatoria la implementación de CCMP ya que los mecanismos de confidencialidad e integridad de TKIP no son tan robustos como los de CCMP. [5] El objetivo principal de implementar TKIP era que el algoritmo pudiera implementarse dentro de las capacidades de la mayoría de los dispositivos antiguos que solo admitían WEP.
El proceso de autenticación inicial se lleva a cabo utilizando una clave precompartida (PSK), o siguiendo un intercambio EAP a través de 802.1X (conocido como EAPOL , que requiere la presencia de un servidor de autenticación). Este proceso garantiza que la estación cliente (STA) esté autenticada con el punto de acceso (AP). Después de la autenticación PSK o 802.1X, se genera una clave secreta compartida, llamada Pairwise Master Key (PMK). En la autenticación PSK, la PMK es en realidad la PSK, [6] que normalmente se deriva de la contraseña WiFi al pasarla por una función de derivación de clave que utiliza SHA-1 como función hash criptográfica . [7] Si se llevó a cabo un intercambio EAP 802.1X, la PMK se deriva de los parámetros EAP proporcionados por el servidor de autenticación.
El protocolo de enlace de cuatro vías [8] está diseñado para que el punto de acceso (o autenticador) y el cliente inalámbrico (o solicitante) puedan demostrarse mutuamente de forma independiente que conocen la PSK/PMK, sin revelar nunca la clave. En lugar de revelar la clave, el punto de acceso (AP) y el cliente cifran los mensajes entre sí (que solo se pueden descifrar utilizando la PMK que ya comparten) y, si el descifrado de los mensajes se realizó correctamente, esto demuestra el conocimiento de la PMK. El protocolo de enlace de cuatro vías es fundamental para la protección de la PMK frente a puntos de acceso maliciosos (por ejemplo, el SSID de un atacante que se hace pasar por un punto de acceso real), de modo que el cliente nunca tenga que decirle al punto de acceso su PMK.
La PMK está diseñada para durar toda la sesión y debe exponerse lo menos posible; por lo tanto, es necesario obtener claves para cifrar el tráfico. Se utiliza un protocolo de enlace de cuatro vías para establecer otra clave llamada clave transitoria por pares (PTK). La PTK se genera concatenando los siguientes atributos: PMK, AP nonce (ANonce), STA nonce (SNonce), dirección MAC de AP y dirección MAC de STA. Luego, el producto se somete a una función pseudoaleatoria . El protocolo de enlace también produce la GTK (clave temporal de grupo), que se utiliza para descifrar el tráfico de multidifusión y difusión.
Los mensajes reales intercambiados durante el protocolo de enlace se muestran en la figura y se explican a continuación (todos los mensajes se envían como fotogramas clave EAPOL ):
Es posible que sea necesario actualizar la clave temporal de grupo (GTK) que se utiliza en la red debido a la expiración de un temporizador preestablecido. Cuando un dispositivo abandona la red, también es necesario actualizar la GTK. Esto es para evitar que el dispositivo reciba más mensajes de multidifusión o difusión del AP.
Para gestionar la actualización, 802.11i define un protocolo de enlace de clave de grupo que consiste en un protocolo de enlace bidireccional:
CCMP se basa en el modo Contador con CBC-MAC (CCM) del algoritmo de cifrado AES. CCM combina CTR para la confidencialidad y CBC-MAC para la autenticación y la integridad. CCM protege la integridad tanto del campo de datos MPDU como de partes seleccionadas del encabezado MPDU IEEE 802.11.
RSNA define dos jerarquías clave:
La descripción de las jerarquías clave utiliza las dos funciones siguientes:
La jerarquía de claves por pares utiliza PRF-384 o PRF-512 para derivar claves específicas de la sesión a partir de una PMK, generando una PTK, que se divide en una KCK y una KEK más todas las claves temporales utilizadas por la MAC para proteger la comunicación de unidifusión.
La GTK será un número aleatorio que también se genera utilizando PRF-n, normalmente PRF-128 o PRF-256; en este modelo, la jerarquía de claves de grupo toma una GMK (clave maestra de grupo) y genera una GTK.
Subcampo | Versión del protocolo | Tipo | Subtipo | Para DS | Desde DS | Más fragmentos | Rever | Gestión de energía | Más datos | Marco protegido | Pedidos |
Pedazos | 2 bits | 2 bits | 4 bits | 1 bit | 1 bit | 1 bit | 1 bit | 1 bit | 1 bit | 1 bit | 1 bit |
"El campo Marco protegido tiene una longitud de 1 bit. El campo Marco protegido se establece en 1 si el campo Cuerpo del marco contiene información que ha sido procesada por un algoritmo de encapsulación criptográfica. El campo Marco protegido se establece en 1 solo dentro de marcos de datos de tipo Datos y dentro de marcos de administración de tipo Administración, subtipo Autenticación. El campo Marco protegido se establece en 0 en todos los demás marcos. Cuando el campo Marco protegido de 1 bit se establece en 1 en un marco de datos, el campo Cuerpo del marco se protege utilizando el algoritmo de encapsulación criptográfica y se expande como se define en la Cláusula 8. Solo se permite WEP como algoritmo de encapsulación criptográfica para marcos de administración de subtipo Autenticación". [8]
RSNA se basa en IEEE 802.1X para proporcionar servicios de autenticación y utiliza el esquema de gestión de claves IEEE 802.11