Posible falla de autenticación mutua

2

Estoy tomando este ejemplo de autenticación mutua de Wikipedia:

Server sends a unique challenge value sc to the client
Client generates unique challenge value cc
Client computes cr = hash(cc + sc + secret)
Client sends cr and cc to the server
Server calculates the expected value of cr and ensures the client responded correctly
Server computes sr = hash(sc + cc + secret)
Server sends sr
Client calculates the expected value of sr and ensures the server responded correctly
where

sc is the server generated challenge
cc is the client generated challenge
cr is the client response
sr is the server response

Estoy tratando de ver si hay un posible problema de seguridad aquí. Suponiendo que estemos usando una función hash fuerte y una clave simétrica AES, ¿cree que existe una falla de seguridad aquí?

    
pregunta Pedro Kali 21.03.2017 - 01:36
fuente

1 respuesta

0

Creo que el servidor debería autenticarse primero. El problema ahora es que se puede engañar al cliente para que se autentique ante un tercero que, a su vez, se autentique activamente en el servidor, que se completará al final del servidor, incluso si falla al final del cliente. El hombre del medio podría continuar con las acciones, incluso si el cliente ha fallado y se ha desconectado hace mucho tiempo.

La mejor manera aquí es tener el remitente para enviar sc, AND hash (sc, hash (secreto)) al cliente en el primer paso. En el segundo paso, antes de que el cliente genere cc, comprobará que el hash coincida con el valor esperado.

Al hacer doble hash del secreto, obtienes seguridad adicional.

De lo contrario, la comunicación sale como se indica. Entonces será muy seguro, ya que el cliente se negará a iniciar la autenticación si el hash generado por el servidor no coincide.

    
respondido por el sebastian nielsen 21.03.2017 - 02:11
fuente

Lea otras preguntas en las etiquetas