1. 程式人生 > >pesonal模式和Enterprise模式,eap模組狀態機和eapol模組狀態機------內外聯絡區別

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
EAPoL幀格式中各欄位含義如下:
欄位 佔用位元組 描述

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 0001

b) EAPOL-Logoff. 值為0000 0010

Packet Body Length

2個位元組 表示Packet Body的長度

Packet Body

0/多位元組 如果Packet Type為EAP-Packet,取相應值。對於其他幀型別,該值為空。
EAPOL幀在二層傳送時,必須要有目標MAC地址,當客戶端和認證系統彼此之間不知道傳送的目標時,其目標MAC地址使用由802.1x協議分配的組播地址01-80-c2-00-00-03。

EAP協議 802.1x協議在實現整個認證的過程中,其三個關鍵部分(客戶端、認證系統、認證伺服器)之間是通過不同的通訊協議進行互動的,其中認證系統和認證伺服器之間是EAP報文。 EAP幀結構如下表所示:
欄位 位元組
Code 1
Identifier 2
Length 3-4
Data 5-N
EAP幀格式中各欄位含義如下:
欄位 佔用位元組數 描述
Code 1個位元組 表示EAP幀四種類型:1.Request;2.Response 3.Success;4.Failure
Identifier 1個位元組 用於匹配Request和Response。Identifier的值和系統埠一起單獨標識一個認證過程
Length 2個位元組 表示EAP幀的總長度
Data 0或更多位元組 表示EAP資料
其中Code的取值如下: 1:         Request 2       Response 3       Success 4       Failure
首先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)

。。。。。。

到這裡,就先說到這裡!