EAP和EAPoL

EAP和EAPOL資料

1.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

2.EAPoL協議

802.1x協議定義了一種報文封裝格式,這種報文稱爲EAPoL(EAP overLANs局域網上的擴展認證協議)報文,主要用於在客戶端和認證系統之間傳送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 幀的發送方所支持的協議版本號。本規範使用值爲00000001

Packet Type

1個字節

表示傳送的幀類型,如下幾種幀類型:

a) EAP-Packet. 值爲 0000 0000

b)EAPOL-Start.值爲00000001

b) EAPOL-Logoff.值爲0000 0010

Packet Body Length

2個字節

表示Packet Body的長度

Packet Body

0/多字節

如果PacketType爲EAP-Packet,取相應值。對於其他幀類型,該值爲空。

EAPOL幀在二層傳送時,必須要有目標MAC地址,當客戶端和認證系統彼此之間不知道發送的目標時,其目標MAC地址使用由802.1x協議分配的組播地址01-80-c2-00-00-03。

 

首先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用戶認證服務器迴應計費開始請求報文。用戶上線完畢
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章