認證方式探討 EAP-MSCHAPV2
MSCHAP方式是,首先服務器發一個challenge給用戶,用戶向RADIUS發一個用MD4加密的(password,challenge)給RADIUS(叫response),radius的MSCHAP模塊向LDAP詢問NTPASSWORD,然后自己再用challenge和NTPASSWORD,來計算一個response,兩個response相比較完成驗證.如果LDAP無法給出NTPASSWORD或送出SHA加密的NTPASSWORD,MS-CHAP就無法驗證了.唯一可行的辦法是把LDAP的SCHEMA中加入NTPASSWORD域,并明文存放,才能滿足MS-CHAP的要求.
PEAP-MSCHAPV2流程:
? 1、創建一個連接后,AP發送一個EAP-Request/Identity消息給客戶端。
? 2、客戶端回復一個EAP-Response/Identity消息,包含客戶端的標識,通常是名字。
? 3、AP把這個消息傳遞給Radius服務器。從現在開始,邏輯通信就從Radius服務器到無線客戶端了,AP,AC是一個中介設備。
? 4、Radius服務器發送一個EAP-Request/Start PEAP消息給客戶端。
? 5、無線客戶端和Radius服務器發送一系列的TLS消息通過協商建立的隧道。Raiuds服務器發送一個證書鏈讓客戶端認證。最后,Radius服務器已經認證了無線客戶端。兩端都決定使用的加密信息。
? 在PEAP TLS隧道創建后,采用MS-CHAPV2認證。
? 6、Radius服務器發送一個EAP-Request/Identity消息。
? 7、無線客戶端發送一個EAP-Response/Identity 消息,消息包用戶名。
? 8、Radius服務器發送一個EAP-Request/EAP-MS-CHAP-V2挑戰消息,包含挑戰字符串。
? 9、無線客戶端回復一個EAP-Response/EAP-MS-CHAPV2回復消息,包含對這個挑戰的應答和一個自己的挑戰。
? 10、Radius服務器發送一個EAP-Request/EAP-MS-CHAPV2成功的消息,指出無線客戶端的回應是正確的,且包含無線客戶端的挑戰字符串。
? 11、無線客戶端回應一個EAP-Response/EAP-MS-CHAPV2的ACK消息,指示Radius服務器的回應消息是正確的。
? 12、Radius服務器發送一個EAP-Success消息。
EAP -TLS是一個IETF標準。TLS即傳輸層安全(Transport Layer Security),也稱為SSL。它原本是一種傳輸層的安全協議,主要實現兩個功能:身份鑒別與信息加密。TLS可實現基于證書的單向身份鑒別(只鑒別服務器)和雙向身份鑒別(同時鑒別客戶端與服務器)。TLS在完成身份鑒別的同時,還交換密鑰信息,通過密鑰信息可導出會話密鑰用于信息加密。
需要指出的是,在這里TLS并不是作為一個安全傳輸層協議跑在TCP/IP層之上,而是將TLS的Handshake Record直接嵌套在EAP數據包中,作為EAP Request/Response的數據來傳送,通過TLS的Handshake Record完成單向或雙向的身份鑒別。EAP-TLS只利用了TLS的身份鑒別功能,并沒有利用TLS建立的加密通道。
為了能夠進一步利用 TLS建立的安全通道交換EAP身份鑒別信息,IETF隨后出臺了PEAP(Protected EAP Protocol)標準草案。PEAP不但通過EAP Request/Response數據包傳送TLS的Handshake Record完成身份鑒別,并且完成身份鑒別后進一步通過TLS的Data Record再傳送EAP身份鑒別協議。
對于密鑰:
der? “專有編碼規則”文件。.der 文件包含證書的二進制表示,包含其公共密鑰,但不包含其專用密鑰。它與 .arm 文件非常相似,除了表示是二進制的,而非 ASCII。
.p12? "PKCS 12" 文件,其中 PKCS 代表“公共密鑰密碼術標準 (Public-Key CryptographyStandards)”。.p12 文件包含證書的二進制表示,包含其公共密鑰和專用密鑰。一個 .p12 文件中也可能包含多個證書;例如,證書、發出證書的 CA 的證書、CA 證書的發出者以及他的發出者等等。因為 .p12 文件包含專用密鑰,它是受口令保護的。