询问握手认证协议 询问握手认证协议ChallengeHandshake Authentication ProtocolCHAP又名為挑战握手验证协议质询握手认证协议是一个用来验证用戶或網絡提供者的協議負責提供驗證服務的機構可以是互聯網服務供應商又或是其他的驗證機構通过三次握手周期性的校验对端的身份可在初始链路建立时完成时在链路建立之后重复进行 RFC 详细定义了CHAP這個協議 CHAP 用于使用次握手周期性的验证对端身份在链路建立初始化时这样做也可以在链路建立后任何时间重复验证 以下這個例子說明如果 A 要向 B 進行驗證所需進行的步驟 在連線建立之後使用者 A 會發出一個challenge信息給使用者 B 當 B 在收到這個訊息後會使用 hash function像是 MD 來計算出雜湊值 之後 B 會將這個雜湊值送回去給 A A 在收到之後也會使用自身的 hash function 將原本的challenge信息運算得到一組雜湊值 此時 A 就可以比較自己算出來的這組與收到從B來的雜湊值是否相同如果相同則通過驗證 之後 B 也可以彷照上述方法向 A 進行驗證 CHAP通过增量改变标识和challengevalue的值避免重放攻击验证的两端都需要知道challenge信息的明文但不会在互联网上传播