什么是詢問握手身份驗證協(xié)議
什么是詢問握手身份驗證協(xié)議
CHAP(詢問握手身份驗證協(xié)議)是用于遠程登錄的身份驗證協(xié)議,通過三次握手周期性的校驗對端的身份,在初始鏈路建立時完成,可以在鏈路建立之后的任何時候重復(fù)進行。CHAP通常用在客戶機與服務(wù)器之間或者Web瀏覽器與Web服務(wù)器之間。詢問/響應(yīng)是一種安全機制,用于在不泄露由兩個實體共享的密碼的情況下,驗證用戶或進程的身份。它也指的是三次握手。與CHAP相關(guān)的重要概念是客戶機必須向服務(wù)器證明它知道共享密碼,但實際上并不泄露密碼(通過線路發(fā)送密碼可能將它泄露給偷聽者)。CHAP提供了這么做的機制。
當客戶機與使用CHAP的系統(tǒng)進行聯(lián)系時,該系統(tǒng)(此處稱為驗證者)通過將“詢問”發(fā)送到客戶機來響應(yīng)。詢問是對此身份驗證會話惟一的一些信息。然后,客戶機接受此信息并使用以前發(fā)布的由客戶機和驗證者共享的密碼對它加密。然后,此操作的結(jié)果返回到驗證者。驗證者具有相同的密碼并將其用作對它加密。以前發(fā)送到客戶機的信息的密鑰。它把它的加密結(jié)果與客戶機發(fā)送過來的加密結(jié)果進行比較。如果它們相同,則客戶機被認為是真實可信的。
在會話過程中始終重復(fù)該過程,以驗證正確的客戶機仍在連接中。重復(fù)這些步驟可以防止有人通過“重放”從線路上截獲的信息來“偷聽”客戶機的會話。
后面描述該例程的細節(jié),如圖C-11所示。注意:該技術(shù)不要求客戶機以開放方式通過線路將密碼發(fā)送到服務(wù)器(驗證者)。該密碼已經(jīng)由客戶機和驗證者共享,而且用它執(zhí)行各自的單獨的散列函數(shù)。
圖C-11 詢問、響應(yīng)機制
l.客戶機與驗證者連接。
2.驗證者通過向客戶機發(fā)送詢問進行響應(yīng)。
3.客戶機將共享密碼附加到詢問,并通過單向散列函數(shù)運行該組合,該散列函數(shù)創(chuàng)建不可能由當前標準回復(fù)到原始形式的消息摘要。
4.客戶機將此操作的結(jié)果返回到驗證者。
5.驗證者單獨執(zhí)行相同的操作。它組合并散列處理共享密碼和它發(fā)送到客戶機的詢問。然后,它將其結(jié)果與從客戶機收到的結(jié)果相比較。
6.如果它們匹配,則認為該客戶機真實可信。如果不匹配,則終止該連接。
CHAP通過遞增改變的標識符和可變的挑戰(zhàn)值,防止了來自端點的重放攻擊,使用重復(fù)校驗可以限制暴露于單個攻擊的時間。認證者控制驗證頻度和時間。該認證方法依賴于只有認證者和對端共享的密鑰,密鑰不是通過該鏈路發(fā)送的。
另一個重要特征是,驗證者在每次登錄時發(fā)布不同的詢問,并且隨著會話的進行,周期性地發(fā)布不同的詢問來檢測已經(jīng)被黑客接管的會話。當發(fā)送每個新的詢問時,必須用共享密碼散列處理。如果沒有共享密碼的人已經(jīng)接管會話,這將導(dǎo)致身份驗證失敗,服務(wù)器將斷開該會話。
在這種情況下,驗證者詢問客戶機——一種單向方案。客戶機也希望確定它被連接到正確的服務(wù)器,因為黑客也可能侵入會話并偽裝成服務(wù)器。解決方案是在兩個方向上都運行CHAP,但每個CHAP會話的共享密碼應(yīng)該不同。
挑戰(zhàn)握手協(xié)議的優(yōu)點在于密鑰不在網(wǎng)絡(luò)中傳送,不會被竊聽。由于使用三次握手的方法,發(fā)起連接的一方如果沒有收到“挑戰(zhàn)信息”就不能進行驗證,因此在某種程度上挑戰(zhàn)握手協(xié)議不容易被強制攻擊。但是,CHAP中的密鑰必須以明文形式存在,不允許被加密,安全性無法得到保障。密鑰的保管和分發(fā)也是CHAP的一個難點,在大型網(wǎng)絡(luò)中通常需要專門的服務(wù)器來管理密鑰。
由于CHAP可以用在許多不同的系統(tǒng)認證中,因此可以用 NAME 字段作為索引,以便在一張大型密鑰表中查找正確的密鑰,這樣也可以在一個系統(tǒng)中支持多個 NAME密鑰對,并可以在會話中隨時改變密鑰。CHAP 在大型網(wǎng)絡(luò)中不適用,因為每個可能的密鑰由鏈路的兩端共同維護。
CHAP數(shù)據(jù)分組格式和身份驗證時交換數(shù)據(jù)分組的方法會泄露關(guān)于CHAP如何工作的更多細節(jié)。交換如圖C-12所示。CHAP數(shù)據(jù)分組的大小是可變的,這取決于發(fā)送的數(shù)據(jù)分組的類型。
圖C-12 CHAP數(shù)據(jù)分組交換
CHAP數(shù)據(jù)分組中的字段如下所述:
?代碼字段 代碼字段包含一個數(shù)字值,按以下方式標識CHAP數(shù)據(jù)分組的類型:1=詢問數(shù)據(jù)分組(驗證者到客戶機),2=響應(yīng)數(shù)據(jù)分組(客戶機到驗證者),3=成功數(shù)據(jù)分組(驗證者到客戶機,身份驗證成功時),4=失敗(驗證者到客戶機,身份驗證失敗時)。驗證者在發(fā)送代碼為4的數(shù)據(jù)分組后,終止連接。
?標識符 該字段包含一個值,標識特定的身份驗證會話。所有的詢問和響應(yīng)數(shù)據(jù)分組具有相同的標識符以與其他身份驗證會話區(qū)別。
?長度 該字段包含一個值,指示CHAP數(shù)據(jù)分組的長度,包括“代碼”、“標識符”、“長度”和“數(shù)據(jù)”字段。
?數(shù)據(jù)(值) 根據(jù)數(shù)據(jù)分組代碼類型,該字段具有可變的大小,并包含以下信息: 詢問值(代碼1)字段中的該值是由驗證者生成的惟一的且不可預(yù)測的值。該值的惟一性防止攻擊者試圖用以前截取的值欺騙驗證者。
響應(yīng)值(代碼2)該值字段保存客戶機創(chuàng)建的單向散列。通過加密標識符、密鑰和詢問值的組合創(chuàng)建該散列。通常使用MD5加密來創(chuàng)建散列。
成功或失敗值(代碼3和代碼4)這些數(shù)據(jù)分組的成功或失敗值取決于執(zhí)行情況,但通常只是用戶可讀取的消息,對協(xié)議操作沒有影響。
在圖C-12中,注意如何在交換數(shù)據(jù)分組中區(qū)別代碼值和數(shù)據(jù)值。步驟3和5大約同時發(fā)生在客戶機和驗證者上,然后驗證者等待來自客戶機的散列結(jié)果,并將它們與自己的結(jié)果相比較。然后,它根據(jù)比較結(jié)果,發(fā)送成功或失敗的數(shù)據(jù)分組。
詢問/驗證方案也可以與公共密鑰一起使用來驗證用戶身份。假設(shè)甲給乙發(fā)送一個詢問,甲用乙的公共密鑰加密該詢問。乙用他的私人密鑰解密該詢問并將詢問返回給甲,以此向甲證明,他擁有與甲用于加密該詢問的公共密鑰相關(guān)的私人密鑰。另一項技術(shù)是,乙將詢問與一些其他信息組合,并用他的私人密鑰簽署它,將結(jié)果返回給甲。甲用乙的公共密鑰執(zhí)行相同的操作,并將該操作結(jié)果與它從乙那里收到的結(jié)果相比較。如果它們匹配,則甲知道乙擁有正確的密鑰。
非常好我支持^.^
(12) 100%
不好我反對
(0) 0%
相關(guān)閱讀:
- [電子說] NTLM身份驗證:揭秘Windows網(wǎng)絡(luò)安全的秘密武器 2023-09-23
- [電子說] 使用ATSHA204A和PIC16單片機對消耗品進行身份驗證 2023-09-18
- [電子說] Vivado統(tǒng)一Web安裝程序:下載和安裝過程中無法繞過用戶帳戶身份驗證階段 2023-07-11
- [電子說] 使用安全身份驗證器保護您的醫(yī)療設(shè)備端點 2023-06-30
- [嵌入式技術(shù)] 如何在Spring Security中實現(xiàn)基于API密鑰的身份驗證 2023-06-29
- [電子說] 安全身份驗證器如何確保患者安全 2023-06-29
- [電子說] 為什么身份驗證器應(yīng)該是智能鎖的鑰匙 2023-06-28
- [電子說] 無需成為密碼學(xué)專家即可實施安全身份驗證 2023-06-26
( 發(fā)表人:admin )