詢問握手認證協議

詢問握手認證協議 （ Challenge - Handshake Authentication Protocol ， CHAP ） ， 又名爲挑戰握手驗證協議 ， 質詢握手認證協議是一個用來驗證用戶或網絡提供者的協議 。 負責提供驗證服務的機構 ， 可以是互聯網服務供應商 ， 又或是其他的驗證機構 。 通過三次握手週期性的校驗對端的身份 ， 可在初始鏈路建立時完成時 ， 在鏈路建立之後重複進行 。 RFC 1994詳細定義了CHAP這個協議 。 CHAP 用於使用3次握手週期性的驗證對端身份 。 在鏈路建立初始化時這樣做 ， 也可以在鏈路建立後任何時間重複驗證 。 以下這個例子說明 ， 如果 A 要向 B 進行驗證 ， 所需進行的步驟 ： 在連線建立之後 ， 使用者 A 會發出一個 “ challenge ” 信息給使用者 B 。 當 B 在收到這個訊息後 ， 會使用 hash function ， 像是 MD5 來計算出雜湊值 。 之後 B 會將這個雜湊值送回去給 A 。 A 在收到之後 ， 也會使用自身的 hash function 將原本的 “ challenge ” 信息運算 ， 得到一組雜湊值 。 此時 A 就可以比較 ： 自己算出來的這組與收到 ( 從B來 ) 的雜湊值是否相同 ， 如果相同 ， 則通過驗證 。 之後 B 也可以彷照上述方法 ， 向 A 進行驗證 。 CHAP通過增量改變標識和 “ challenge - value ” 的值避免重放攻擊 。 驗證的兩端都需要知道 “ challenge ” 信息的明文 ， 但不會在互聯網上傳播 。