802.1x基於端口的接入控制協議

1.802.1x認證系統基礎

  IEEE 802.1X是由IEEE制定的關於用戶接入網絡的認證標準,全稱是“基於端口的網絡接入控制”。它於2001年正式頒佈,最初是爲有線網絡設計,之後爲了配合無線網絡的接入進行修訂改版,並於2004年完成。

   具體的802.1x認證功能必須在設備端口上進行配置,對端口上接入的用戶設備通過認證來控制對網絡資源的訪問。802.1x認證系統採用網絡應用系統典型的Client/Server(C/S)結構,包括三個部分:客戶端(Client)、設備端 (Device)和認證服務器(Server),如圖18-2所示。它與圖18-1中的NAC模型結構一一對應。

l  客戶端:局域網用戶終端設備,但必須是支持EAPOL(Extensible Authentication Protocol over LAN,局域網可擴展認證協議)的設備(如PC機,無線終端設備),可通過啓動客戶端設備上安裝的802.1x客戶端軟件發起802.1x認證。

圖18-2 802.1x認證系統結構

l  設備端:支持802.1x協議的網絡設備(如交換機),對所連接的客戶端進行認證。它爲客戶端提供接入局域網的端口,可以是物理端口,也可以是邏輯端口(如Eth-Trunk口)。

l  認證服務器:爲設備端802.1x協議提供認證服務的設備,是真正進行認證的設備,實現對用戶進行認證、授權和計費,通常爲RADIUS服務器。

1. 802.1x認證受控/非受控端口

   在設備端爲客戶端提供的接入端口被劃分爲兩個邏輯端口:受控端口和非受控端口。“非受控端口”可看成爲EAP(可擴展認證協議)端口,不進行認證控制,始終處於雙向連通狀態,主要用來傳遞在通過認證前必需的EAPOL協議幀,保證客戶端始終能夠發出或接收認證報文。

   “受控端口”可以看作爲普通業務端口,是需要進行認證控制的。它有“授權”和“非授權”兩種狀態(相當於在該端口上有一個控制開關):在授權狀態下處於 雙向連通狀態(控制開關閉合),可進行正常的業務報文傳遞;在非授權狀態下處於打開狀態(控制開關打開),禁止任何業務報文的傳遞。設備端利用認證服務器 對客戶端進行認證的結果(Accept或Reject)來實現對受控端口的授權/非授權狀態進行控制。

802.1x認證的觸發方式

    在華爲S系列交換機中,802.1x的認證過程可以由客戶端主動發起,也可以由設備端主動發起。在“客戶端主動觸發方式”中,由客戶端主動向設備端發送 EAPOL-Start(EAPOL開始)報文來觸發認證;而“設備端主動觸發方式”中用於支持不能主動發送EAPOL-Start報文的客戶端,例如 Windows XP自帶的802.1x客戶端。

     在“設備端主動觸發方式”中又有兩種以下具體的觸發方式:

l  DHCP報文觸發:設備在收到用戶的DHCP請求報文後主動觸發對用戶的802.1x認證,僅適用於客戶端採用DHCP方式自動分配IP地址的情形。因爲DHCP請求報文是以廣播方式發送的,所以在同一網段中的設備都可以收到,故設備端不一定就是擔當DHCP服務器的設備。

l  源MAC地址未知報文觸發:當設備收到源MAC地址未知的報文時主動觸發對用戶的802.1x認證。若設備端在設置的時長內沒有收到客戶端的響應,則重發該報文。

3. 802.1x的認證方式

   無論是哪種觸發方式,802.1x認證系統都是使用EAP協議來實現客戶端、設備端和認證服務器之間認證信息的交換。在客戶端與設備端之間使用的是基於以太局域網的EAPOL格式封裝EAP報文,然後承載於以太網數據幀中進行交互;而設備端與RADIUS服務器之間的EAP報文可以使用以下兩種方式進行交互:

l  EAP中繼:來自客戶端的EAP報文到達設備端後,直接使用EAPOR(EAP over RADIUS)格式封裝在RADIUS報文中,再發送給RADIUS服務器,則RADIUS服務器來從封裝的EAP報文中獲取客戶端認證信息,然後再對客戶端進行認證。

   這種認證方式的優點是設備端的工作很簡單,不需要對來自客戶端的EAP報文進行任何處理,只需要用EAPOR對EAP報文進行封裝即可,根本不管客戶端的認證信息。同時在這種認證方式中,設備端與RADIUS服務器之間可支持多種EAP認證方法,例如MD5-Challenge、EAP-TLS、 PEAP等,但要求服務器端也支持相應的認證方法。

l  EAP終結:來自客戶端的EAP報文在設備端進行終結,然後由設備端將從EAP報文中提取的客戶端認證信息封裝在標準的RADIUS報文(不再是EAPOR格式) 中,與RADIUS服務器之間採用PAP(Password Authentication Protocol,密碼驗證協議)或CHAP(Challenge Handshake Authentication Protocal,質詢握手驗證協議)方式對客戶端進行認證(當然在RAIUDS服務器端必須配置合法用戶的用戶名和密碼信息)。

      這種認證方式的優點是現有的RADIUS服務器基本均可支持PAP和CHAP認證,無需升級服務器,但設備端的工作比較繁重,因爲在這種認證方式中, 設備端不僅要從來自客戶端的EAP報文中提取客戶端認證信息,還要通過標準的RAIUDS協議對這些信息進行封裝,且不能支持除MD5- Challenge之外的其它EAP認證方法。

18.1.2 802.1x認證原理

    前面說了,在802.1x認證過程中,設備端與RADIUS服務器之間支持EAP中繼和EAP終結兩種認證方式。下面均以客戶端主動發起認證爲例進行介紹這兩種認證方式的工作原理。

1. EAP中繼認證原理

   在EAP中繼認證的過程中,設備端起一箇中繼代理的角色,用於通過EAPOR封裝和解封裝的過程轉發客戶端和認證服務器之間的交互報文。整個認證過程是先進行用戶名認證,然後再進行對應的密碼認證,具體如下(對應圖18-3中的序號)

圖18-3 EAP中繼認證流程

   (1)當用戶訪問網絡時自動打開802.1x客戶端程序,根據提示輸入已經在RADIUS服務器中創建的用戶名和密碼,發起連接請求。因爲端口最初的狀態是未授權狀態,所以此時端口除了IEEE 802.1x協議包外不能接收和發送任何包。此時,客戶端程序將向設備端發出認證請求幀(EAPOL-Start),啓動認證過程。

    (2)設備端在收到客戶端的認證請求幀後,將發出一個Identity(標識)類型的EAP請求幀(EAP-Request/Identity),要求用戶的客戶端程序發送上一步用戶所輸入的用戶名。

   (3)客戶端程序在收到設備端的Identity請求幀後,將用戶名信息通過Identity類型的EAP響應幀(EAP-Response/Identity)發送給設備端,響應設備端發出的請求。

   (4)設備端將客戶端發送的Identity響應幀中的EAP報文原封不動地使用EAPOR格式封裝在RADIUS報文( RADIUS Access-Request)中,發送給認證服務器進行處理。

   (5)RADIUS服務器收到設備端發來的RADIUS報文後從中提取用戶名信息後,將該信息與數據庫中的用戶名列表中對比,找到該用戶名對應的密碼信息,並用隨機生成的一個MD5 Challenge消息對密碼進行加密處理,然後將此MD5 Challenge消息同樣通過EAPOR格式封裝以RADIUS Access-Challenge報文發送給設備端。

   (6)設備端在收到來自RADIUS服務器的EAPOR格式的Access-Challenge報文後,通過解封裝,將其中的MD5 Challenge消息轉發給客戶端。

   (7)客戶端在收到由設備端傳來的MD5 Challenge消息後,用該Challenge消息對密碼部分進行加密處理,然後生成EAP-Response/MD5 Challenge報文,併發送給設備端。

   (8)設備端又將此EAP-Response/MD5 Challenge報文以EAPOR格式封裝在RADIUS報文( RADIUS Access-Request)中發送給RADIUS服務器。

   (9)RADIUS服務器將收到的已加密的密碼信息後,與第(5)步在本地經過加密運算後的密碼信息進行對比,如果相同則認爲爲合法用戶,並向設備端發送認證通過報文(RADIUS Access-Accept)。

   (10)設備收到RADIUS Access-Accept報文後,經過EAPOR解封裝再以EAP-Success報文向客戶端發送,並將端口改爲授權狀態,允許用戶通過端口訪問網絡。

   (11)用戶在線期間設備端會通過向客戶端定期發送握手報文,對用戶的在線情況進行監測。

   (12)客戶端收到握手報文後向設備發送應答報文,表示用戶仍然在線。缺省情況下,若設備端發送的兩次握手請求報文都未得到客戶端應答,設備端就會讓用戶下線,防止用戶因爲異常原因下線而設備無法感知。

   (13)客戶端可以發送EAPOL-Logoff幀給設備端,主動要求下線。

    (14)在設備端收到客戶端發來的EAPOL-Logoff幀後,把端口狀態從授權狀態改變成未授權狀態,並向客戶端發送EAP-Failure報文,確認對應客戶端下線。

2. EAP終結認證原理

    EAP終結方式與EAP中繼方式的認證流程相比,主要不同在於步驟(4)中用來對用戶密碼信息進行加密處理的MD5 challenge是由設備端生成(而不是由RADIUS服務器生成),之後設備端會把用戶名、MD5 challenge和客戶端加密後的密碼信息一起送給RADIUS服務器,進行相關的認證處理。具體流程如圖18-4所示。

圖18-4 EAP終結認證流程

3. MAC旁路認證

     在802.1x認證過程中,設備端會首先觸發用戶採用802.1x認證方式,但若用戶長時間內沒有進行802.1x認證(如圖18-5所示),則以用戶 的MAC地址作爲用戶名和密碼上送認證服務器進行認證。MAC旁路認證可使802.1x認證系統中無法安裝和使用802.1x客戶端軟件的終端,例如打印 機等,以自身MAC地址作爲用戶名和密碼進行認證。

圖18-5  MAC旁路認證流程


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章