Validación del certificado con 802.1x PEAP

4

Hace poco aprendí cómo funciona WPA-PSK. Si entiendo correctamente, el protocolo de enlace de 4 vías permite que el protocolo garantice la posesión mutua del PMK (y, por lo tanto, el PSK) sin enviar el PMK / PSK. De esta manera no es susceptible a un ataque de hombre en el medio.

Mi pregunta es, ¿cómo se garantiza la autenticación mutua en el caso de WPA-Enterprise? Estoy ejecutando 802.1x con FreeRadius y PEAP en mi red doméstica (solo como un proyecto de hobby) y funciona, pero no estoy seguro si entiendo cómo funciona.

Estoy usando PEAP, por lo que los clientes se autentican con nombres de usuario y contraseñas. Pero, ¿se aseguran los clientes de que la red WiFi con la que están hablando no es un intermediario? El servidor de autenticación tiene un certificado SSL / TLS, pero está autofirmado. ¿No debería instalarse en los clientes el certificado de CA raíz utilizado para firmar el certificado del servidor para que esto funcione? Este no es el caso en mi configuración, pero todos mis clientes Android se conectan bien.

Si mi entendimiento anterior es correcto, eso significaría que WPA-Enterprise con PEAP es menos seguro que WPA-PSK porque es posible un ataque de hombre en el medio para interceptar las contraseñas. Esto me parece raro. ¿Hay algún defecto en mi entendimiento?

EDITAR:

Encontré una respuesta parcial en esto artículo . Sin embargo, todavía tengo preguntas sin respuesta.

  • ¿Esto significa realmente que mi configuración de PEAP de WPA2-Enterprise es menos segura que la simple WPA2-PSK? Parece realmente contrario a la intuición porque WPA2-PSK es mucho más simple y solo requiere un secreto compartido. ¿Cómo es posible que WPA2-PSK pueda garantizar la autenticación mutua con solo un secreto compartido mientras que WPA2-Enterprise no lo es?
  • ¿Debería preocuparme por ello (y proceder a mejorar / asegurar mi configuración) o no es probable que pueda explotarse?
  • ¿Cómo puedo hacer que los clientes validen el certificado del servidor? ¿Es la única forma de instalar los certificados manualmente en todos los clientes? (En ese caso, si necesito distribuir certificados de todos modos, puedo cambiar a EAP-TLS)
  • ¿O es posible usar un certificado público al igual que con HTTPS? ¿Cómo funcionaría eso? Con HTTPS, su certificado está 'anclado' a su dominio, lo que usted ha demostrado a la CA que es suya. ¿Cómo funciona esto con los servidores RADIUS?

EDITAR:

Encontré más respuestas.

  

EAP-MS-CHAP-V2 (Microsoft Challenge-Handshake Authentication Protocol versión 2) es un método de autenticación mutua que admite la autenticación de computadora o usuario basada en contraseña. Durante el proceso de autenticación EAP-MS-CHAP v2, tanto el cliente como el servidor RADIUS deben probar que tienen conocimiento de la contraseña del usuario para que la autenticación sea exitosa. La autenticación mutua se proporciona al incluir un paquete de autenticador devuelto al cliente después de una autenticación exitosa del servidor.

(No puedo publicar más de 2 enlaces, por lo que no podré proporcionar una fuente para esta cotización)

Aquí se explica que la segunda etapa / protocolo de autenticación interno, MS-CHAPv2, también es un protocolo de autenticación mutua. Tiene sentido ahora.

Sin embargo, este artículo sugiere que MS-CHAPv2 no está ya no es seguro Dado que confío en las propiedades de autenticación mutua de MS-CHAPv2 en mi configuración de WPA2-Enterprise, ¿existen alternativas a MS-CHAPv2 que sean más seguras?

EDITAR:

Me acabo de enterar de EAP-PWD, un nuevo protocolo de autenticación EAP de una sola etapa que se supone que es más fuerte que PEAPv0 / EAP-MSCHAPv2, proporciona autenticación mutua y no necesita certificados SSL / TLS. / p>

  

EAP-PWD es altamente seguro (la contraseña nunca se transmite, incluso en forma cifrada), no requiere certificados PKI y también requiere solo 3 viajes de ida y vuelta de autenticación. Por lo tanto, se considera eficiente desplegar, por ejemplo, Eduroam y otros entornos. Requiere que la base de datos de usuarios de Radiator tenga acceso a la contraseña de texto sin formato correcta.

El único problema parece ser que todavía no se ha adoptado ampliamente. Sin embargo, Android (> 4.0) lo admite, lo que está bien. Pero todavía no pude encontrar mucha información al respecto y, por su aspecto, Windows no lo admite.

    
pregunta Compizfox 11.08.2014 - 16:50
fuente

2 respuestas

1
  

Si mi entendimiento anterior es correcto, eso significaría que WPA-Enterprise con PEAP es menos seguro que WPA-PSK porque es posible un ataque de hombre en el medio para interceptar las contraseñas. Esto me parece raro. ¿Hay algún defecto en mi entendimiento?

Sí, hubo una falla en mi comprensión. PEAP encapsula el método de autenticación interno, EAP-MSCHAPv2 en mi caso, en TLS. Si se usa correctamente, TLS proporciona autenticación de servidor. En mi caso, no se utilizó correctamente porque no se verificó el certificado público del servidor.

Sin embargo , MS-CHAPv2 también proporciona autenticación mutua. Para responder a mis propias preguntas:

  

¿Esto significa realmente que mi configuración de PEAP de WPA2-Enterprise es menos segura que la simple WPA2-PSK? Parece realmente contrario a la intuición porque WPA2-PSK es mucho más simple y solo requiere un secreto compartido. ¿Cómo es posible que WPA2-PSK pueda garantizar la autenticación mutua con solo un secreto compartido mientras que WPA2-Enterprise no lo es?

En realidad no. Ambos aseguran la autenticación mutua sin transmitir la contraseña en texto plano. Sin embargo, el único problema con MS-CHAPv2 es que es bastante antiguo y depende de DES, que ya no es tan fuerte. Se puede descifrar .

  

¿Cómo puedo hacer que los clientes validen el certificado del servidor? ¿Es la única forma de instalar los certificados manualmente en todos los clientes? (En ese caso, si necesito distribuir certificados de todos modos, puedo cambiar a EAP-TLS)

Todavía no puedo responder a esta. La verificación del certificado del servidor sin duda mejoraría la seguridad (porque se puede descifrar MS-CHAPv2) pero no tengo idea de cómo hacer esto en Android. Intenté instalar el certificado de CA en mi dispositivo Android, que fue sin problemas, pero todavía no pude seleccionarlo en la configuración de WiFi.

  

¿O es posible usar un certificado público al igual que con HTTPS? ¿Cómo funcionaría eso? Con HTTPS, su certificado está 'anclado' a su dominio, lo que usted ha demostrado a la CA que es suya. ¿Cómo funciona esto con los servidores RADIUS?

No hay idea de esto.

Alternativas

Bueno, dado que MS-CHAPv2 ya no es tan seguro, sería bueno tener algunas alternativas. Un método EAP realmente prometedor es EAP-PWD . Realmente me gustaría implementarlo, pero no hay mucho que encontrar al respecto. Android lo admite, pero FreeRADIUS solo lo hace en la rama 3.x (inestable). Y, por supuesto, la rama estable (2.x) está en Debian. Supongo que tengo que esperar un tiempo para este.

    
respondido por el Compizfox 15.08.2014 - 01:52
fuente
0
  

¿Cómo puedo hacer que los clientes validen el certificado del servidor? ¿Es la única forma de instalar los certificados manualmente en todos los clientes? (En ese caso, si necesito distribuir certificados de todos modos, puedo cambiar a EAP-TLS)

Solo tiene que instalar el certificado público de la CA en su dispositivo. Mi RADIUS utiliza un certificado de servidor auto-enrollado emitido por una CA autofirmada y funciona bien. Al importar certificados en mi Android, tuve que elegir entre "VPN y aplicaciones" y "WLAN". El último es el correcto para el certificado de CA que se utilizará para conectarse a una red wifi.

Además, aquí un pequeño consejo. He deshabilitado los protocolos débiles en mi FreeRADIUS y, por lo tanto, mis clientes no pueden conectarse a mi red WiFi sin el certificado de CA de todos modos. Así que si eso sucediera de alguna manera, estaría seguro de que alguien estaba falsificando un AP lol

    
respondido por el christopher westburry 19.04.2017 - 03:32
fuente

Lea otras preguntas en las etiquetas