当使用 PAP 建立身份验证之后,它并没有重新进行身份验证。 这会让网络容易遭到攻击。 与一次性身份验证的 PAP 不同,CHAP 定期执行消息询问,以确保远程节点仍然拥有有效的口令值。 口令值是个变量,在链路存在时该值不断改变,并且这种改变是不可预知的。

在 PPP 链路建立阶段完成后,本地路由器会向远程节点发送一条询问消息,如图 1 所示。

远程节点将以使用单向哈希函数计算出的值作出响应,该函数通常是基于密码和询问消息的消息摘要 5 (MD5),如图 2 所示。

本地路由器根据自己计算的预期哈希值来检查响应。 如果两个值匹配,那么发起方节点确认身份验证,如图 3 所示。 如果两者的值不匹配,那么发起方节点将立即终止连接。

CHAP 通过使用唯一且不可预测的可变询问消息值提供回送攻击防护功能。 因为询问消息唯一而且随机变化,所以得到的哈希值也是随机的唯一值。 反复发送询问信息限制了暴露在任何单次攻击下的时间。 本地路由器或第三方身份验证服务器控制着发送询问信息的频率和时机。