¿La autenticación CHAP sigue siendo segura?

4

Suponiendo que se utiliza el algoritmo de hashing predeterminado MD5, ¿la autenticación CHAP sigue siendo segura?

Aprecio que el MD5 se considere roto en términos de resistencia a la colisión, pero también entiendo que en ciertos escenarios de uso, el MD5 todavía es técnicamente seguro (por ejemplo, HMAC-MD5).

Debo decir que aprecio que casi siempre es una buena idea usar un algoritmo que se sepa que es seguro en todos los casos, en lugar de intentar seleccionar y elegir cuando un algoritmo parcialmente roto puede y no puede usarse. de forma segura Esto es más una curiosidad intelectual.

    
pregunta dbr 19.06.2016 - 23:00
fuente

2 respuestas

1

MD5 está roto con respecto a la creación de colisiones. Eso significa que es posible construir un mensaje M1 de tal manera que también pueda generar un mensaje M2 para que H (M1) = H (M2). Para esto, los mensajes M1 y M2 se deben preconstruir de una determinada manera.

Así que en el caso de CHAP M1 sería el único | combinación de contraseña. Las vulnerabilidades de interés para un atacante son encontrar la contraseña o crear un valor hash sin saber la contraseña . Desafortunadamente para el atacante, la vulnerabilidad de MD5 no filtra información sobre la entrada, sigue siendo una función unidireccional. Tampoco le permite construir un valor X donde X = H (nonce | contraseña) con solo el nonce como entrada.

Entonces, básicamente, CHAP es tan (in) seguro como lo era antes. Consulte la publicación de Niklas para obtener más información sobre problemas con el esquema. La vulnerabilidad de MD5 es la menor de las preocupaciones sobre este esquema de autenticación.

    
respondido por el Maarten Bodewes 23.06.2016 - 12:33
fuente
2

Depende de lo que quieras decir con "seguro" :)

CHAP:

  1. La solicitud de autenticación del cliente envía su nombre de usuario al servidor
  2. El servidor responde con un nonce
  3. El cliente calcula el hash (nonce | contraseña) y lo envía al servidor
  4. El servidor verifica la contraseña

Contras:

  1. Todos los datos se transmiten en texto claro, es decir, es posible que un atacante escuche a escondidas y fuerza el hash fuera de línea
  2. El servidor debe almacenar la contraseña en texto simple
respondido por el Niklas Adolfsson 20.06.2016 - 07:14
fuente

Lea otras preguntas en las etiquetas