Autenticación de tipo «desafío-respuesta»
La autenticación de desafío-respuesta (CRA) es un mecanismo de seguridad que se utiliza para verificar la identidad de una entidad antes de concederle acceso a un sistema o servicio. Funciona mediante el intercambio de una serie de desafíos y las respuestas correspondientes entre la entidad que realiza la autenticación (normalmente un servidor u host) y la entidad que solicita la autenticación (normalmente un cliente o usuario).
En la CRA, el autenticador (servidor) plantea un desafío —que es un valor aleatorio o predeterminado— a la entidad que solicita la autenticación. A continuación, el cliente genera una respuesta basada en el desafío y en su propia información secreta (como una contraseña o claves criptográficas) utilizando un algoritmo específico. Esta respuesta se envía de vuelta al servidor. El servidor, que dispone de la misma información secreta y del mismo algoritmo, calcula de forma independiente la respuesta esperada basándose en el desafío que ha generado. Si la respuesta del cliente coincide con la respuesta esperada en el servidor, la autenticación se realiza con éxito; de lo contrario, se deniega el acceso. La autenticación de desafío-respuesta ayuda a protegerse contra diversos tipos de ataques, como los ataques de repetición, en los que alguien captura un intento de autenticación anterior que ha tenido éxito e intenta reutilizarlo más tarde.