Authentication

將 Strongswan 與 eap-mschapv2 一起使用時,如何在 ipsec.secrets 中儲存雜湊值?

  • November 16, 2017

eap-mschapv2用作身份驗證方法。它需要將純文字密碼儲存在ipsec.secrets. 即我有這樣的密碼:

user : EAP "mypassword"

我想使用這樣的東西:

user : EAP "34819d7beeabb9260a5c854bc85b3e44"

是否可以更改身份驗證方法,以便我僅在伺服器上儲存雜湊值,而客戶端將能夠通過純文字密碼對自己進行身份驗證?

經典的基於質詢-響應的 EAP 方法(尤其是那些由 s​​trongSwan 支持的方法)需要訪問明文密碼來驗證客戶端的響應(EAP-MSCHAPv2 實際上是一個例外,見下文)。IKEv2 有基於密碼的挑戰-響應認證方案,不需要儲存明文密碼(基於零知識密碼證明),例如 AugPAKE ( RFC 6628 ) 或 PACE ( RFC 6631 ),以及一些 EAP 方法,例如 EAP- EKE(RFC 6124)也允許這樣做,但 strongSwan 目前不支持其中任何一個。

另一種方法是使用EAP-GTC,它傳輸一個明文密碼,允許伺服器根據散列驗證密碼(例如,通過使用PAM)。問題在於大多數客戶不支持該方法。

對於 EAP-MSCHAPv2,實際上可以將密碼儲存為 NT-Hash(UTF16 編碼密碼的 MD4 雜湊),請參閱ipsec.secrets的NTLM 關鍵字文件。但這並沒有增加太多的安全性。

引用自:https://serverfault.com/questions/883744