EAP [1] ( Protocolo de autenticación extensible en inglés , Protocolo de autenticación extensible) es un marco de autenticación que se usa a menudo en redes inalámbricas y conexiones punto a punto . El formato se describió por primera vez en RFC 3748 y se actualizó en RFC 5247 .
EAP se utiliza para seleccionar un método de autenticación, pasar claves y procesar esas claves con complementos llamados métodos EAP . Hay muchos métodos EAP, tanto definidos con EAP como publicados por proveedores individuales. EAP no define la capa de enlace, solo define el formato del mensaje. Cada protocolo que utiliza EAP tiene su propio protocolo de encapsulación de mensajes EAP.
EAP es un formato bastante popular, se usa en IEEE 802.11 ( WiFi ), se han adoptado alrededor de cien métodos EAP de IEEE 802.1X como mecanismos de autenticación oficiales en los estándares WPA y WPA2 .
Hay tres participantes principales en el proceso de autenticación:
En algunos casos, el servidor de autenticación y el autenticador pueden ser el mismo dispositivo, como los dispositivos domésticos que utilizan el método EAP-PSK. En general, el proceso de autenticación es el siguiente:
Tabla resumen de códigos de paquetes EAP:
El código | Nombre | Descripción |
---|---|---|
0 | Indefinido | No utilizado |
una | Solicitud | Utilizado para iniciar el proceso de autenticación por parte del autenticador, contiene información sobre los métodos EAP admitidos. |
2 | Respuesta | Se utiliza para confirmar que el cliente ha iniciado la autenticación. |
3 | éxito | Se utiliza para informar al cliente de una autenticación exitosa. |
cuatro | Falla | Se usa para informar fallas de autenticación al cliente. |
5 | Iniciado | Utilizado por el cliente para "pedir" al autenticador que comience el proceso de autenticación. |
Debido a que EAP es un marco de autenticación y no un mecanismo específico [2] , proporciona algunas funciones generales y negociación de métodos de autenticación (métodos EAP). Hasta el momento se han definido unos 40 métodos diferentes. Por lo general, los métodos se definen en IETF , por ejemplo: EAP-MD5 , EAP-POTP , EAP-GTC , EAP-TLS , EAP-IKEv2 , EAP-SIM , EAP-AKA y EAP-AKA' . También hay métodos y propuestas de proveedores de soluciones específicas y fabricantes de equipos. Por lo general, se utilizan métodos modernos que pueden funcionar en redes inalámbricas, por ejemplo: EAP-TLS , EAP-SIM , EAP-AKA , LEAP y EAP-TTLS . Los requisitos para los métodos utilizados en las redes inalámbricas se describen en RFC 4017 . Este estándar también describe bajo qué condiciones se puede utilizar el método de gestión de claves AAA descrito en RFC 4962.
Protocolo ligero de autenticación extensible , un método desarrollado por Cisco antes de que IEEE ratificara el estándar de seguridad 802.11i [3] . Cisco distribuyó el protocolo a través de CCX (Extensiones certificadas de Cisco) como parte del protocolo 802.1X y WEP dinámico debido a la falta de un estándar industrial independiente en la industria. No hay soporte incorporado para el protocolo LEAP [4] en los sistemas operativos de la familia Windows , sin embargo, el soporte del protocolo está muy extendido en los programas de clientes de terceros (la mayoría de las veces se incluye con equipos inalámbricos). La compatibilidad con LEAP en Windows se puede agregar instalando el software de cliente de Cisco que brinda compatibilidad con los protocolos LEAP y EAP-FAST. Muchos otros fabricantes de equipos WLAN también admiten el protocolo LEAP debido a su alta prevalencia.
LEAP utiliza una versión modificada del protocolo MS-CHAP , un protocolo de autenticación débilmente seguro en el que la información de usuario y contraseña se ve fácilmente comprometida ; A principios de 2004, Joshua Wright escribió un exploit para el protocolo LEAP llamado ASLEAP [5] . El hack se basa en el hecho de que, en primer lugar, todos los elementos de la solicitud y la respuesta, además del hash de la contraseña, se transmiten sin cifrar o se calculan fácilmente en función de los datos que se envían a través de la red. Esto significa que será suficiente para un atacante man-in-the-middle obtener un hash de contraseña para volver a autorizar. En segundo lugar, la generación de claves es potencialmente débil. Rellenar 5 bytes con ceros significa que la última clave tiene un espacio de claves de 2 16 . Finalmente, el mismo texto sin formato se cifra con dos claves (al enviar el hash al servidor y al responder), lo que significa que la complejidad de 2 56 es suficiente para descifrar ambas claves. Una vez que el atacante tiene todas las claves, obtiene un hash de la contraseña, que es suficiente para volver a autenticarse (más detalles en MS-CHAP ).
Cisco recomienda que los clientes que no pueden optar por no participar en LEAP utilicen contraseñas complejas, aunque las contraseñas complejas son difíciles de ingresar, recordar y hacer cumplir los requisitos de complejidad. La recomendación más reciente de Cisco es utilizar protocolos EAP más nuevos y seguros, como EAP-FAST, PEAP o EAP-TLS.
Transport Layer Security , definida en RFC 5216 , es un estándar abierto y utiliza el protocolo TLS . El método autentica tanto al cliente como al servidor (es decir, es un método de autenticación mutua). Bien respaldado por los fabricantes de equipos inalámbricos. EAP-TLS fue la primera versión estándar inalámbrica del protocolo de autenticación LAN EAP.
EAP-TLS todavía se considera uno de los estándares más seguros, siempre que el usuario comprenda el riesgo de usar credenciales falsas, y cuenta con el respaldo de casi todos los fabricantes de equipos inalámbricos y desarrolladores de software de red. Antes de abril de 2005, EAP-TLS era el único método requerido para ser compatible con la certificación WPA o WPA2 [1] .
El soporte incorporado para este método está disponible en todos los sistemas operativos de la familia Windows (a partir de Windows 2000 SP4 ), Linux y Mac OS X (desde la versión 10.3).
A diferencia de muchas otras implementaciones de TLS , como HTTPS , la mayoría de las implementaciones de EAP-TLS requieren un certificado X.509 preinstalado en el cliente, sin la capacidad de desactivar el requisito, aunque el estándar no exige esto [6] [7] . Esto puede haber evitado la propagación de puntos de acceso inalámbricos "abiertos" pero encriptados [6] [7] . En agosto de 2012 , hostapd y wpa_supplicant agregaron soporte para UNAUTH-TLS, un método de autenticación EAP nativo [8] y el 25 de febrero de 2014, agregaron soporte para WFA-UNAUTH-TLS, un método de autenticación que solo autentica el servidor [9] [10 ] . Esto le permitirá trabajar sobre EAP-TLS de la misma manera que sobre HTTPS , donde el punto de acceso inalámbrico permite la conexión libre (es decir, no requiere autenticación del cliente), pero encripta el tráfico ( IEEE 802.11i-2004 , que es, WPA2 ) y permite pasar la autenticación si es necesario. Los estándares también contienen propuestas para usar IEEE 802.11u en puntos de acceso para señalar la disponibilidad de un método EAP-TLS que autentica solo el servidor usando el protocolo IETF EAP-TLS estándar, en lugar de un método EAP de terceros [11] .
El requisito de un certificado preinstalado en el lado del cliente es una de las razones de la alta seguridad del método EAP-TLS y un ejemplo de sacrificar la comodidad en favor de la seguridad. Para romper EAP-TLS, no es suficiente comprometer la contraseña del usuario; para un ataque exitoso, el atacante también deberá tomar posesión del certificado de cliente correspondiente al usuario. La mejor seguridad se puede lograr almacenando certificados de clientes en tarjetas inteligentes . [12]
Seguridad de la capa de transporte en túnel (Seguridad de la capa de transporte a través del túnel), un método EAP que amplía las capacidades del método TLS. Fue desarrollado por Funk Software y Certicom y es bastante compatible con la mayoría de las plataformas (Windows desde la versión 8 y Windows Mobile desde la versión 8.1 [13] [14] ).
El cliente puede (pero no es obligatorio) ser autenticado por el servidor mediante un certificado PKI firmado por la CA. La autenticación de clientes opcional simplifica enormemente el procedimiento de configuración, ya que no es necesario generar e instalar un certificado individual para cada uno de ellos.
Una vez que el servidor es autenticado por el cliente mediante un certificado firmado por la CA y, opcionalmente, por el cliente-servidor, el servidor puede usar la conexión segura resultante (túnel) para autenticar aún más al cliente. El túnel permite el uso de protocolos de autenticación diseñados para canales que no están protegidos de ataques MITM y de "escuchas telefónicas". Cuando se utiliza el método EAP-TTLS, ninguna de la información utilizada para la autenticación se transmite de forma clara, lo que hace que sea aún más difícil de piratear.
Clave previamente compartida , un método definido en RFC 4764 que utiliza una clave previamente compartida para la autenticación mutua y el intercambio de claves de sesión . El método está diseñado para funcionar en redes inseguras como IEEE 802.11 y, si se autentica correctamente, proporciona una conexión bidireccional segura entre el cliente y el punto de acceso.
EAP-PSK está documentado en un RFC experimental y proporciona un método EAP liviano y extensible que no usa cifrado asimétrico . Este método requiere cuatro mensajes (el número mínimo posible) para la autenticación mutua.