MS-CHAP微軟版本的挑戰握手認證協議(CHAP)。這個協議有兩個版本,MS-CHAPv1(在RFC 2433中定義)和MS-CHAPv2(在RFC 2759中定義)。MS-CHAPv2在Windows NT 4.0 SP4中引入,後來被加到Windows 98(通過"Windows 98 Dial-Up Networking Security Upgrade Release")和Windows 95(通過"Dial Up Networking 1.3 Performance & Security Update for MS Windows 95"升級)中去。Windows Vista不再支持MS-CHAPv1。

MS-CHAP被當做一個認證協定,在VPN/PPP中使用。它還被當做用來提供WiFi安全的RADIUS服務器的一個認證選項,後者使用WPA企業版協議。此後,它更被用作受保護可擴展身份驗證協議(PEAP)的主要安全選項。

與CHAP相比,MS-CHAP:

  • 在LCP選項3中協商CHAP算法為0x80(MS-CHAPv2為0x81)
  • 提供了一個認證者控制的密碼變更機制
  • 提供了一個認證者控制的認證重試機制
  • 定義了在失敗報文消息域中返回的失敗碼

MS-CHAPv2通過在響應報文中攜帶對端挑戰以及在成功報文中攜帶認證者響應來實現雙向認證。

安全弱點及密碼分析

目前已經在MS-CHAPv2中找到了一些弱點,其中有一些大幅降低了野蠻攻擊的複雜度,使得在現代的硬件上變得可行。

2012年,破解MS-CHAPv2的複雜度被降低到與破解一個DES密鑰相同:

參考資料