Challenge-Handshake Authentication Protocol
# Challenge-Handshake Authentication Protocol

O Challenge-Handshake Authentication Protocol (CHAP), tradução por "protocolo de autenticação por desafio Handshake, é um protocolo usado para verificar periodicamente a identidade do host usando um "three way handshake". Isso é feito no estabelecimento da ligação inicial e pode ser repetido a qualquer momento após um link ter sido estabelecido.
A qualquer momento depois o link estar estabelecido, uma função de autenticação no servidor envia uma mensagem de "desafio" para o cliente. O cliente responde com um valor calculado usando uma função "one-way hash". O autenticador verifica a resposta em relação ao seu próprio cálculo do valor de hash esperado. Se os valores coincidirem, a autenticação será reconhecida e o link continuará; Caso contrário a conexão deve ser encerrada.
CHAP fornece proteção contra o ataque de reprodução "playback attack" através do uso de um identificador de alteração incremental e um valor de desafio variável.
O uso de repetidos desafios "challenges" destina-se a limitar o tempo de exposição a um único ataque. O autenticador controla a frequência e o tempo dos desafios.
Este método de autenticação depende de um "segredo" conhecido apenas pelo autenticador e aquele host. O segredo não é enviado através do link.
Este método é mais indicado para uso onde o mesmo segredo é facilmente acessado a partir de ambas as extremidades do link.
Passos do three way handshake:
Após a conclusão da fase de estabelecimento do link com acesso a rede bloqueada:
* O autenticador envia uma mensagem de "desafio" para o host;
* O host calcula o hash do texto de desafio utilizando a sua senha de cliente e devolve o resultado;
* O autenticador compara a resposta em relação ao seu próprio cálculo. Se os valores coincidirem, o autenticador valida o host como genuíno e desbloqueia o acesso a rede; Caso contrário, deve terminar a conexão;
* Em intervalos aleatórios, o autenticador envia um novo desafio para o host e repete os passos 1 a 3.Referências
* ↑ «Understanding and Configuring PPP CHAP Authentication». Cisco (em inglês). Consultado em 4 de fevereiro de 2017
* ↑ B., Lloyd,; W., Simpson,. «PPP Authentication Protocols». tools.ietf.org (em inglês). Consultado em 4 de fevereiro de 2017