询问握手认证协议

用來驗證用戶或網路提供者的協議
(重定向自挑战握手认证协议

询问握手认证协议(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”信息的明文,但不会在互联网上传播。

參看

参考文献