詢問握手認證協議

用來驗證用戶或網路提供者的協議

詢問握手認證協議(Challenge-Handshake Authentication Protocol,CHAP),又名為挑戰握手驗證協議質詢握手認證協議是一個用來驗證用戶或網絡提供者的協議。負責提供驗證服務的機構,可以是網際網路服務供應商,又或是其他的驗證機構。通過三次握手周期性的校驗對端的身份,可在初始鏈路建立時完成時,在鏈路建立之後重複進行。

Challenge-Handshake Authentication Protocol」的各地常用譯名
中國大陸質詢握手認證協議、握手認證協議、挑戰握手驗證協議、詢問握手認證協議
臺灣挑戰握手鑑別協定、詰問交握鑑別協定、交手鑑別協定

RFC 1994詳細定義了CHAP這個協議。

CHAP 用於使用3次握手周期性的驗證對端身份。在鏈路建立初始化時這樣做,也可以在鏈路建立後任何時間重複驗證。

以下這個例子說明,如果 A 要向 B 進行驗證,所需進行的步驟:

  1. 在連線建立之後,使用者 A 會發出一個「challenge」信息給使用者 B。
  2. 當 B 在收到這個訊息後,會使用 hash function,像是 MD5 來計算出雜湊值。
  3. 之後 B 會將這個雜湊值送回去給 A。
  4. A 在收到之後,也會使用自身的 hash function 將原本的「challenge」信息運算,得到一組雜湊值。
  5. 此時 A 就可以比較:自己算出來的這組與收到(從B來)的雜湊值是否相同,如果相同,則通過驗證。
  6. 之後 B 也可以彷照上述方法,向 A 進行驗證。

CHAP通過增量改變標識和「challenge-value」的值避免重放攻擊。驗證的兩端都需要知道「challenge」信息的明文,但不會在網際網路上傳播。

參看

參考文獻