Autenticação por desafio-resposta
A Autenticação por Desafio-Resposta (CRA) é um mecanismo de segurança utilizado para verificar a identidade de uma entidade antes de conceder acesso a um sistema ou serviço. Ela funciona por meio da troca de uma série de desafios e respostas correspondentes entre a entidade autenticadora (geralmente um servidor ou host) e a entidade que busca a autenticação (geralmente um cliente ou usuário).
Na CRA, o autenticador (servidor) apresenta um desafio — que é um valor aleatório ou predeterminado — à entidade que solicita a autenticação. O cliente, então, gera uma resposta com base no desafio e em suas próprias informações secretas (como uma senha ou chaves criptográficas), utilizando um algoritmo específico. Essa resposta é enviada de volta ao servidor. O servidor, equipado com as mesmas informações secretas e o mesmo algoritmo, calcula de forma independente a resposta esperada com base no desafio que gerou. Se a resposta do cliente corresponder à resposta esperada no servidor, a autenticação é bem-sucedida; caso contrário, o acesso é negado. A autenticação por desafio-resposta ajuda a proteger contra vários tipos de ataques, como os ataques de repetição, nos quais alguém captura uma tentativa anterior de autenticação bem-sucedida e tenta reutilizá-la posteriormente.