En informática , el Protocolo de autenticación por desafío mutuo ( CHAP ) es un protocolo de autenticación utilizado originalmente por el Protocolo punto a punto (PPP) para validar usuarios. CHAP también se incluye en otros protocolos de autenticación como RADIUS y Diameter .
Casi todos los sistemas operativos de red admiten PPP con CHAP, al igual que la mayoría de los servidores de acceso a la red . CHAP también se utiliza en PPPoE para autenticar usuarios de DSL.
Como el PPP envía datos sin cifrar y "sin cifrar", CHAP es vulnerable a cualquier atacante que pueda observar la sesión PPP. Un atacante puede ver el nombre del usuario, el desafío CHAP, la respuesta CHAP y cualquier otra información asociada con la sesión PPP. El atacante puede entonces montar un ataque de diccionario fuera de línea para obtener la contraseña original. Cuando se utiliza en PPP, CHAP también proporciona protección contra ataques de repetición por parte del par mediante el uso de un desafío generado por el autenticador, que normalmente es un servidor de acceso a la red .
Cuando se utiliza CHAP en otros protocolos, se puede enviar sin cifrar o se puede proteger con una capa de seguridad como Transport Layer Security (TLS). Por ejemplo, cuando se envía CHAP a través de RADIUS utilizando el Protocolo de datagramas de usuario (UDP), cualquier atacante que pueda ver los paquetes RADIUS puede montar un ataque de diccionario fuera de línea , como con PPP.
CHAP requiere que tanto el cliente como el servidor conozcan la versión en texto simple de la contraseña, aunque la contraseña en sí nunca se envía a través de la red. Por lo tanto, cuando se utiliza en PPP, CHAP proporciona una mayor seguridad en comparación con el Protocolo de autenticación de contraseñas (PAP), que es vulnerable por ambas razones.
Beneficios del CHAP
Cuando el par envía un CHAP, el servidor de autenticación lo recibirá, obtendrá la contraseña "conocida como correcta" de una base de datos y realizará los cálculos CHAP. Si los hashes resultantes coinciden, se considerará que el usuario está autenticado. Si los hashes no coinciden, se rechazará el intento de autenticación del usuario.
Dado que el servidor de autenticación debe almacenar la contraseña en texto sin cifrar, es imposible utilizar distintos formatos para la contraseña almacenada . Si un atacante robara la base de datos completa de contraseñas, todas ellas serían visibles "sin cifrar" en la base de datos.
Como resultado, si bien CHAP puede ser más seguro que PAP cuando se utiliza a través de un enlace PPP, impide un almacenamiento más seguro "en reposo" que con otros métodos como PAP .
Variantes
MS-CHAP es similar a CHAP pero utiliza un algoritmo hash diferente y permite que cada parte autentique a la otra.
Ciclo de trabajo
CHAP es un esquema de autenticación utilizado originalmente por servidores de Protocolo Punto a Punto (PPP) para validar la identidad de clientes remotos. CHAP verifica periódicamente la identidad del cliente mediante un protocolo de enlace de tres vías . Esto sucede en el momento de establecer el enlace inicial (LCP) y puede volver a suceder en cualquier momento posterior. La verificación se basa en un secreto compartido (como la contraseña del cliente). [1]
- Una vez completada la fase de establecimiento del enlace, el autenticador envía un mensaje de "desafío" al par.
- El par responde con un valor calculado utilizando una función hash unidireccional en el desafío y el secreto combinados.
- El autenticador verifica la respuesta con su propio cálculo del valor hash esperado. Si los valores coinciden, el autenticador confirma la autenticación; de lo contrario, debe finalizar la conexión.
- En PPP, el autenticador puede enviar un nuevo desafío a intervalos aleatorios al par y repetir los pasos 1 a 3. Sin embargo, cuando se utiliza CHAP en la mayoría de las situaciones (por ejemplo, RADIUS ), este paso no se realiza.
Paquetes CHAP
El ID elegido para el desafío aleatorio también se utiliza en los paquetes de respuesta, éxito y fracaso correspondientes. Un nuevo desafío con un nuevo ID debe ser diferente del último desafío con otro ID. Si se pierde el éxito o el fracaso, se puede enviar la misma respuesta nuevamente y se activa la misma indicación de éxito o fracaso. Para MD5 como hash, el valor de respuesta es MD5(ID||secret||challenge), el MD5 para la concatenación de ID, secreto y desafío. [2]
Véase también
- Lista de protocolos de autenticación
- Protocolo de autenticación de contraseña
- Autenticación de desafío-respuesta
- Función hash criptográfica
Referencias
- ^ Forouzan (2007). Comunicaciones de datos y redes 4E Sie. McGraw-Hill Education (India) Pvt Limited. págs. 352–. ISBN 978-0-07-063414-5. Recuperado el 24 de noviembre de 2012 .
- ^ "Comprensión y configuración de la autenticación PPP CHAP". Nota técnica de Cisco . 2005. Consultado el 14 de agosto de 2011 .