挑戰握手認證協定

CHAP:挑戰握手認證協定 (Challenge Handshake Authentication Protocol)

挑戰握手認證協定(CHAP)通過三次握手周期性的校驗對端的身份,在初始鏈路建立時完成,可以在鏈路建立之後的任何時候重複進行。

基本介紹

  • 中文名:挑戰握手認證協定
  • 外文名:Challenge Handshake Authentication Protocol
  • 簡稱:CHAP
  • 所屬領域:網路
簡介,協定結構,

簡介

CHAP:挑戰握手認證協定 (Challenge Handshake Authentication Protocol)
挑戰握手認證協定(CHAP,Challenge-Handshake Authentication Protocol)是在網路物理連線後進行連線安全性驗證的協定。它比另一種協定密碼驗證程式(PAP)更加可靠。
挑戰握手認證協定(CHAP)通過三次握手周期性的校驗對端的身份,在初始鏈路建立時完成,可以在鏈路建立之後的任何時候重複進行。
1. 鏈路建立階段結束之後,認證者向對端點傳送“challenge”訊息。
2. 對端點用經過單向哈希函式計算出來的值做應答。
3. 認證者根據它自己計算的哈希值來檢查應答,如果值匹配,認證得到承認;否則,連線應該終止。
4. 經過一定的隨機間隔,認證者傳送一個新的 challenge 給端點,重複步驟 1 到 3 。
通過遞增改變的標識符和可變的挑戰值,CHAP 防止了來自端點的重放攻擊,使用重複校驗可以限制暴露於單個攻擊的時間。認證者控制驗證頻度和時間。
該認證方法依賴於只有認證者和對端共享的密鑰,密鑰不是通過該鏈路傳送的。
雖然該認證是單向的,但是在兩個方向都進行 CHAP 協商,同一密鑰可以很容易的實現相互認證。
由於 CHAP 可以用在許多不同的系統認證中,因此可以用 NAME 欄位作為索引,以便在一張大型密鑰表中查找正確的密鑰,這樣也可以在一個系統中支持多個 NAME/ 密鑰對,並可以在會話中隨時改變密鑰。
CHAP 要求密鑰以明文形式存在,無法使用通常的不可回復加密口令資料庫。
CHAP 在大型網路中不適用,因為每個可能的密鑰由鏈路的兩端共同維護。

協定結構

CHAP 的配置選項格式如下:
8 16 32 40 bit
Type Length Authentication-Protocol Algorithm
· Type ― 3
· Length ― 5
· Authentication-Protocol ― 對於 CHAP,為 C223(Hex)。
· Algorithm ― Algorithm 欄位為八位位元組,表示使用的認證方法。
CHAP 數據包結構如下所示:
8 16 32 bit Variable
Code> Identifier Length Data . . .
· Code ― 識別 CHAP 數據包類型。CHAP 代碼具有以下幾種:1、Challenge;2、Response;3、Success;4、Failure。
· Identifier ― 用於匹配 Challenges、Responses 和 Replies 信息。
· Length ― CHAP 數據包的長度,包括 Code、Identifier、Length 和 Data 欄位。
· Data ― 0或更多八位位元組。該欄位格式取決於 Code 欄位。對於 Success 和 Failure,Data 欄位包括一個獨立執行的可變信息欄位

相關詞條

熱門詞條

聯絡我們