IEEE 802.1X


IEEE 802.1X是一項IEEE(Institute of Electrical and Electronics Engineers基於端口的網絡訪問控制標准。制訂802.1x協議的初衷是為了解決無線局域網用戶的接入認證問題。它是IEEE 802.1網絡協議組的一部分。IEEE802 LAN協議定義的局域網並不提供接入認證,只要用戶能接入局域網控制設備 (如LAN Switch) ,就可以訪問局域網中的設備或資源。早期企業網有線LAN應用環境下並不存在明顯的安全隱患。但是隨着移動辦公及駐地網運營等應用的大規模發展,服務提供者需要對用戶的接入進行控制和配置它為連接到LAN(Local Area Network)或WLAN(Wireless Local Area Network)的設備提供了一種身份驗證機制。尤其是WLAN的應用和LAN接入在電信網上大規模開展,有必要對端口加以控制以實現用戶級的接入控制,802.lx就是IEEE為了解決基於端口的接入控制 (Port-Based Network Access Contro1) 而定義的一個標准。 IEEE 802.1X定義了基於IEEE 802.11的可擴展身份驗證協議(Extensible Authentication Protocol,EAP)的封裝,稱為“EAP over LAN”或 EAPOL。EAPOL適應其他IEEE 802 LAN 技術,例如802.1 中的IEEE 802.11無線和光纖分布式數據接口(ANSI X3T9.5/X3T12 和 ISO 9314) X-2004。EAPOL 也被修改為與802.1X-2010 中的IEEE 802.1AE(“MACsec”)和IEEE 802.1AR(安全設備身份,DevID)一起使用支持內部 LAN 段上的服務識別和可選的點對點加密。

802.1X認證過程涉及三方:請求者、認證者和認證服務器。請求者是希望連接到LAN/WLAN的客戶端設備(如筆記本電腦),也指在客戶端上運行的向身份驗證者提供憑據的軟件。身份驗證器是一種網絡設備,它在客戶端和網絡之前提供數據鏈路,並且可以允許或阻止兩者之間的網絡流量,例如以太網交換機或無線接入點。認證服務器通常是一個受信任的服務器,可以接收和響應網絡訪問請求,並且可以告訴身份驗證器是否允許連接,以及應該應用於該客戶端的連接或設置。身份驗證服務器通常運行支持(遠程身份驗證撥入用戶服務,Remote Authentication Dial-In User ServiceRADIUS和(可擴展身份驗證協議)EAP協議的軟件。在某些情況下,認證服務器軟件可能在認證器硬件上運行。

 圖1:802.1X認證過程示意圖

如圖1所示,對於 802.1X 基於端口的身份驗證,請求者必須首先向身份驗證者提供所需的憑據 - 這些憑據將由網絡管理員預先指定,並且可能包括用戶名/密碼或允許的數字證書身份驗證器將這些憑據轉發給身份驗證服務器,以決定是否授予訪問權限。如果身份驗證服務器確定憑據有效,它會通知身份驗證器,從而允許請求者(客戶端設備)訪問位於網絡受保護側的資源。

典型的身份驗證過程包括

圖2:802.1X典型認證過程
  1. 初始化  在檢測到新的請求者時,交換機(驗證器)上的端口被啟用並設置為“未授權”狀態。在這種狀態下,只允許 802.1X 流量;其他流量,例如Internet 協議(以及使用該TCPUDP),將被丟棄。
  2. 啟動  為了啟動認證,認證器將定期將 EAP-Request Identity 幀發送到本地網段上的特殊第 2 層地址 (01:80:C2:00:00:03)。請求者偵聽此地址,並在收到 EAP-Request Identity 幀后,以包含請求者標識符(如用戶 ID)的 EAP-Response Identity 幀進行響應。然后,身份驗證器將此身份響應封裝在 RADIUS 訪問請求數據包中,並將其轉發到身份驗證服務器。請求者也可以通過向認證者發送一個 EAPOL-Start 幀來啟動或重新開始認證,然后認證者將回復一個 EAP-Request Identity 幀。
  3. 協商  (技術上是 EAP 協商)身份驗證服務器向身份驗證者發送回復(封裝在 RADIUS 訪問挑戰數據包中),其中包含指定 EAP 方法的 EAP 請求(它希望請求者執行的基於 EAP 的身份驗證類型)。驗證者將 EAP 請求封裝在 EAPOL 幀中,並將其傳輸給請求者。此時,請求者可以開始使用請求的 EAP 方法,或者執行 NAK(“否定確認”)並以它願意執行的 EAP 方法進行響應。
  4. 身份驗證  如果身份驗證服務器和請求者就 EAP 方法達成一致,則在請求者和身份驗證服務器之間發送 EAP 請求和響應(由身份驗證者翻譯),直到身份驗證服務器使用 EAP-Success 消息(封裝在 RADIUS 訪問-Accept 數據包)或 EAP-Failure 消息(封裝在 RADIUS Access-Reject 數據包中)。如果認證成功,認證者將端口設置為“授權”狀態並允許正常流量,如果不成功,則端口保持在“未授權”狀態。當請求者注銷時,它會向認證者發送一條 EAPOL-logoff 消息,然后認證者將端口設置為“未授權”狀態,再次阻止所有非 EAP 流量。

EAPOL在數據鏈路層上運行,在Ethernet II中,EtherType值為0x888E如圖3所示,EAPOL 的幀格式如下表所示:

MAC Header Ethernet Type Version Packet Type Packet Body Length Packet Body FCS
12 bytes 2 bytes 1 byte 1 byte 2 bytes variable length 4 bytes

 

  • MAC Header 表示 MAC 地址,前 6 個字節是目標地址,后 6 個字節是源地址。
  • Ethernet Type 表示類型代碼,分配給 EAPoL 的是 0x888e。
  • Version 表示 802.1X 版本。
  • Packet Type 表示幀的類型,分配如下表所示:
Packet Type Assignment
0 EAP-Packet
1 EAPOL-Start
2 EAPOL-Logoff
3 EAPOL-Key
4 EAPOL-Encapsulated-ASF-Alert

 圖3:EAPOL協議字段


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM