複製鏈接
請複製以下鏈接發送給好友

挑戰握手認證協議

鎖定
CHAP:挑戰握手認證協議 (Challenge Handshake Authentication Protocol)
挑戰握手認證協議(CHAP)通過三次握手週期性的校驗對端的身份,在初始鏈路建立時完成,可以在鏈路建立之後的任何時候重複進行。
中文名
挑戰握手認證協議
外文名
Challenge Handshake Authentication Protocol
簡    稱
CHAP
所屬領域
網絡

目錄

挑戰握手認證協議簡介

CHAP:挑戰握手認證協議 (Challenge Handshake Authentication Protocol)
挑戰握手認證協議(CHAP,Challenge-Handshake Authentication Protocol)是在網絡物理連接後進行連接安全性驗證的協議。它比另一種協議密碼驗證程序(PAP)更加可靠。 [1] 
挑戰握手認證協議(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 字段包括一個獨立執行的可變信息字段
參考資料