pesonal模式和Enterprise模式,eap模組狀態機和eapol模組狀態機------內外聯絡區別
一、pesonal模式和Enterprise模式
從上邊兩幅圖中,可以分析出:
pesonal模式:是與具體的EPA Method無關的,只是與EOPOL和EOP相關。
Enterprise模式:是需要呼叫具體的EPA Method,並且與EOPOL和EOP也相關。
二、eap模組狀態機和eapol模組狀態機
1、EAP協議與EAPOL協議
EAPOL協議: 802.1x協議定義了一種報文封裝格式,這種報文稱為EAPoL(EAP over LANs區域網上的擴充套件認證協議)報文,主要用於在客戶端和認證系統之間傳送EAP協議報文,以允許EAP協議報文在LAN上傳送。 標準EAPoL幀結構如下表所示:欄位 | 位元組 |
PAE Ethernet Type |
1-2 |
Protocol Version |
3 |
Packet Type |
4 |
Packet Body Length |
5-6 |
Packet Body |
7-N |
欄位 | 佔用位元組 | 描述 |
PAE Ethernet Type |
2個位元組 | 表示協議型別,802.1x分配的協議型別為888E |
Protocol Version |
1個位元組 |
表示EAPOL 幀的傳送方所支援的協議版本號。本規範使用值為0000 0001 |
Packet Type |
1個位元組 |
表示傳送的幀型別,如下幾種幀型別:
a) EAP-Packet. 值為 0000 0000 b)EAPOL-Start.值為0000 0001b) EAPOL-Logoff. 值為0000 0010 |
Packet Body Length |
2個位元組 | 表示Packet Body的長度 |
Packet Body |
0/多位元組 | 如果Packet Type為EAP-Packet,取相應值。對於其他幀型別,該值為空。 |
EAP協議 802.1x協議在實現整個認證的過程中,其三個關鍵部分(客戶端、認證系統、認證伺服器)之間是通過不同的通訊協議進行互動的,其中認證系統和認證伺服器之間是EAP報文。 EAP幀結構如下表所示:
欄位 | 位元組 |
Code | 1 |
Identifier | 2 |
Length | 3-4 |
Data | 5-N |
欄位 | 佔用位元組數 | 描述 |
Code | 1個位元組 | 表示EAP幀四種類型:1.Request;2.Response 3.Success;4.Failure |
Identifier | 1個位元組 | 用於匹配Request和Response。Identifier的值和系統埠一起單獨標識一個認證過程 |
Length | 2個位元組 | 表示EAP幀的總長度 |
Data | 0或更多位元組 | 表示EAP資料 |
首先EAPOl是Extensible Authentication Protocolover LAN的縮寫。 下面再說EAPOl的由來是基於802.1x網路訪問認證技術: 802.1x協議起源於802.11協議,後者是IEEE的無線區域網協議, 制訂802.1x協議的初衷是為了解決無線區域網使用者的接入認證問題。IEEE802LAN協議定義的區域網並不提供接入認證,只要使用者能接入區域網控制 裝置 (如LANS witch) ,就可以訪問區域網中的裝置或資源。這在早期企業網有線LAN應用環境下並不存在明顯的安全隱患。但是隨著移動辦公及駐地網運營等應用的大規模發展,服務提供者需要對使用者的接入進行控制和配置。尤其是WLAN的應用和LAN接入在電信網上大規模開展,有必 要對埠加以控制以實現使用者級的接入控制,802.lx就是IEEE為了解決基於埠的接入控制 (Port-Based Network Access Contro1) 而定義的一個標準。 IEEE 802.1X是根據使用者ID或裝置,對網路客戶端(或埠)進行鑑權的標準。該流程被稱為“埠級別的鑑權”。它採用RADIUS(遠端認證撥號使用者服務)方法,並將其劃分為三個不同小組:請求方、認證方和授權伺服器。 820.1X 標準應用於試圖連線到埠或其它裝置(如Cisco Catalyst交換機或Cisco Aironet系列接入點)(認證方)的終端裝置和使用者(請求方)。認證和授權都通過鑑權伺服器(如Cisco Secure ACS)後端通訊實現。IEEE 802.1X提供自動使用者身份識別,集中進行鑑權、金鑰管理和LAN連線配置。 如上所屬,整個802.1x 的實現設計三個部分,請求者系統、認證系統和認證伺服器系統。一下分別介紹三者的具體內容: 請求者系統 請求者是位於區域網鏈路一端的實體,由連線到該鏈路另一端的認證系統對其進行認證。請求者通常是支援802.1x認證的使用者終端裝置,使用者通過啟動客戶端軟體發起802.lx認證,後文的認證請求者和客戶端二者表達相同含義。 認證系統 認證系統對連線到鏈路對端的認證請求者進行認證。認證系統通常為支援802. Lx協議的網路裝置,它為請求者提供服務埠,該埠可以是物理埠也可以 是邏輯埠,一般在使用者接入裝置 (如LAN Switch和AP) 上實現802.1x認證。倎文的認證系統、認證點和接入裝置三者表達相同含義。 認證伺服器系統 認證伺服器是為認證系統提供認證服務的實體,建議使用RADIUS伺服器來實現認證伺服器的認證和授權功能。 請求者和認證系統之間執行802.1x定義的EAPO (Extensible Authentication Protocolover LAN)協議。當認證系統工作於中繼方式時,認證系統與認證伺服器之間也執行EAP協議,EAP幀中封裝認證資料,將該協議承載在其它高層次協議中(如 RADIUS),以便穿越複雜的網路到達認證伺服器;當認證系統工作於終結方式時,認證系統終結EAPoL訊息,並轉換為其它認證協議(如 RADIUS),傳遞使用者認證資訊給認證伺服器系統。 認證系統每個物理埠內部包含有受控埠和非受控埠。非受控埠始終處於雙向連通狀態,主要用來傳遞EAPoL協議幀,可隨時保證接收認證請求者發出的EAPoL認證報文;受控埠只有在認證通過的狀態下才開啟,用於傳遞網路資源和服務。 整個802.1x的認證過程可以描述如下 (1) 客戶端向接入裝置傳送一個EAPoL-Start報文,開始802.1x認證接入; (2) 接入裝置向客戶端傳送EAP-Request/Identity報文,要求客戶端將使用者名稱送上來; (3) 客戶端迴應一個EAP-Response/Identity給接入裝置的請求,其中包括使用者名稱; (4) 接入裝置將EAP-Response/Identity報文封裝到RADIUS Access-Request報文中,傳送給認證伺服器; (5) 認證伺服器產生一個Challenge,通過接入裝置將RADIUS Access-Challenge報文傳送給客戶端,其中包含有EAP-Request/MD5-Challenge; (6) 接入裝置通過EAP-Request/MD5-Challenge傳送給客戶端,要求客戶端進行認證 (7) 客戶端收到EAP-Request/MD5-Challenge報文後,將密碼和Challenge做MD5演算法後的Challenged-Pass-word,在EAP-Response/MD5-Challenge迴應給接入裝置 (8) 接入裝置將Challenge,Challenged Password和使用者名稱一起送到RADIUS伺服器,由RADIUS伺服器進行認證 (9)RADIUS伺服器根據使用者資訊,做MD5演算法,判斷使用者是否合法,然後迴應認證成功/失敗報文到接入裝置。如果成功,攜帶協商引數,以及使用者的相關業務屬性給使用者授權。如果認證失敗,則流程到此結束; (10) 如果認證通過,使用者通過標準的DHCP協議 (可以是DHCP Relay) ,通過接入裝置獲取規劃的IP地址; (11) 如果認證通過,接入裝置發起計費開始請求給RADIUS使用者認證伺服器; (12)RADIUS使用者認證伺服器迴應計費開始請求報文。使用者上線完畢
2、EAP模組與EAPOL模組
RFC4137將和SUPP SM相關的模組分為三層:
最上層:EAP Method(EM)層,實現了具體的EAP方法;
中間層:SUPP SM層,實現了Supplican狀態機;
最底層:Lower Layer(LL),用於接受和傳送EAP包。
(1)SUPP SM層 與 EAP Method(EM)層 、Lower Layer(LL)的互動
LL層接收到資料包後,將該資料包交給SUPP SM層處理。
SUPP SM層 ,如果該資料包需要EM層處理(例如具體的驗證演算法需要EM完成),則SUPP SM層交給EM層。
EM處理完的結果將由SUPP SM轉交給LL去傳送。
(2)SUPP SM層與LL層互動變數
1)LL層收到EAP資料包後,將其儲存在eapReqData變數中,然後設定eapReq變數為TRUE。這個變數的改變對SUPP SM層來說是一個
觸發訊號(signal)。SUPP SM可能會發生狀態改變。
2)SUPP SM層從eapReqData中取出資料後進行處理。如果有需要回復的資料,則設定eapResp值為TRUE,否則,設定eapNoResp值
為TRUE。回覆資料儲存愛eapRespData中。LL層將傳送此回覆包。
3)如果SUPP SM完成身份驗證後,它將設定eapSuccess或eapFailure變數以告知LL層其驗證結果。eapSuccess為TRUE,表明驗證成功。
eapFailure為TRUE,則驗證失敗。
(3)SUPP SM有13個狀態(P196)
(4)最底層:Lower Layer(LL)。其實,也就是EAPOL層,也就是802.1X模組。
SUPP PACP狀態機:四個(根據程式碼)。
Port Timers SM(PT SM)
The Key Receiver SM(TKR SM)
PAE SM(P206)
Backend SM(BE SM)(P208)
。。。。。。
到這裡,就先說到這裡!