TLS: transport level security , 安全傳輸層協議,用於在兩個通信應用程序之間提供保密性和數據完整性。該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。
目前基於TLS的EAP認證方法主要有三種:
(1)EAP-TLS
使用TLS握手協議作為認證方法。
TLS認證是基於client和server雙方互相驗證數字證書的,是雙向驗證方法。首先由server提供自己的證書給client,client驗證server證書通過后,提交自己的數字證書給server,交由server進行驗證。
TLS的一個缺點就是TLS傳送Identity時候是明文的,也就是說可以通過抓包看到。
TLS是基於PKT證書體系的,這是TLS的安全基礎,也是其缺點所在,PKI太龐大,太復雜。
(2)EAP-TTLS 和(3) EAP-PEAP
由於TLS需要PKI的缺點,所以誕生了TTLS 和 PEAP,這兩個協議不用建立PKI系統,而在TLS隧道內直接使用原有老的認證方法,這樣保證了安全,也減小了復雜度。
它們兩個都使用兩段式認證,在第一階段建立TLS安全隧道,通過server發送證書給client,client實現對server的認證(雖然TTLS和PEAP仍然使用證書,但是這里的證書都是服務器證書);當安全隧道一旦建立,第二階段就是協商認證方法,對client進行認證。
TTLS利用TLS安全隧道交換類似RADIUS的AVPs(Attribute-Value-Pairs),實際上這些AVPs的封裝和RADIUS都十分相似,TTLS這種AVPs有很好的擴展性,所以它幾乎支持任何認證方法,這包括了所有EAP的認證方法,以及一些老的認證方法,比如PAP、CHAP、MS-CHAP、MS-CHAPv2等,TTLS的擴展性很好,通過新屬性定義新的認證方法。
PEAP之所以叫Protected EAP,就是它在建立好的TLS隧道之上支持EAP協商,並且只能使用EAP認證方法,這里為什么要保護 EAP,是因為EAP本身沒有安全機制,比如EAP-Identity明文顯示,EAP-Success、EAP-Failed容易仿冒等,所以EAP需要進行保護 ,EAP協商就在安全隧道內部來做,保證所有通信的數據安全性。其實PEAP最大的優點就是微軟支持開發,微軟在Windows系統內集成了客戶端,微軟和Cisco都支持PEAP,但是他們的實現有所區別。
