發表文章

目前顯示的是 10月, 2020的文章

[WiFi] WiFi 網路的認證: 802.1X 與 EAP (Extensible Authentication Protocol)

圖片
在上一篇文章中, 我們介紹了 RADIUS 認證協定, RADIUS 是基於 UDP 的方式建立連線, 不但無法保證資料傳輸的完整性, 也無法保證資料的安全性. 使用 UDP 的主要原因應該是在舊有有線網路的設計架構下, 將控制訊息以 UDP 傳輸, 使用者資料以 TCP 傳輸的想法, 此想法基於控制訊息短, 且具有定期重送的保護機制而形成, 使用 UDP 傳輸可以避免封包多餘的重傳, 以及訊息交換, 節省使用頻寬, 特別適用於早年頻寬有限的網路架構. 然而, 隨著網路的發展, 安全性和穩定性受到更多注意, 特別是針對無線網路, 由於在空氣中的封包可以側聽, 因此, 安全性受到更多考量. 為了增進 WiFi 網路的安全性, EAP (Extensible Authentication Protocol) 首先被提出, EAP 被定義於 RFC3748 , 為一個點對點的認證框架, 由於 EAP 的角色是框架, 而非協定, 因此有各家廠商的不同實現, 不同 EAP 的協定比較可以參考 Intel 的這篇文章: https://www.intel.com.tw/content/www/tw/zh/support/articles/000006999/network-and-i-o/wireless.html 802.1X 基於 EAP 的架構, 提出一種在區域網路 (Local Area Network, LAN) 的實作方式, 或者也可以稱為 EAPOL (EAP Over LAN), 提供 EAP 架構進行裝置與伺服器之間的資料交換, EAPOL 為一個點對點的通訊協議, 不依賴 IP 層, 可用 MAC 直接溝通, 在 EAPOL (或是 802.1X) 加入後, 整體的架構如下圖: 來自:  https://www.semanticscholar.org/paper/Extensible-Authentication-Protocol-(-EAP-)-Security-Sotillo/417b0aa1fd8d7ddb8616a018de1fbc9de039a40e 在上圖中, 可以看出來 802.1X, EAP 和 RADIUS 之間的分工, 一方面, EAP 架構下通訊的兩點為終端裝置和 RADIUS 伺服器, 補足了 RADIUS 只定義 NAS (WiFi

[WiFi] WiFi 網路的認證: RADIUS 架構

圖片
對於使用公眾 WiFi 的使用者, 連上網路之後第一件事應該就是被導到一個登入的網頁, 輸入帳密之後, 才能開始進行一般的上網瀏覽, 而此處的登入與認證程序, 通常使用 RADIUS 作為認證機制. RADIUS 全稱為: Remote Authentication Dial-In User Service, 初始定義於 RFC 2865:  https://tools.ietf.org/html/rfc2865 是一個基於 UDP 協定的通訊架構 (因此應用層要自行處理連線保證), 負責處理客戶端 (稱為NAP, Network Access Server) 的認證需求, 如下圖所示: 來自:  https://en.wikipedia.org/wiki/RADIUS 在上述的應用情境中, NAS 扮演的定義為: Initial Entry Point to a Network, 換句話說, 扮演類似 router 的角色, 做為對外網路的代理, RADIUS Server (Proxy) 的功能則是對應一分散式網路框架, 當 NAS 分屬不同地區的區域網路 router 時, 可以透過 proxy 的代理, 將各地區域網路的認證導向統一的 RADIUS Server. 事實上, 在一開始敘述的應用環境中, 使用者裝置一共認證兩次: 第一次, 連上 WiFi 網路, RADIUS 會先給予此 MAC 位址准入權限, 並將通訊導向設定的網頁伺服器, 第二次, 透過網頁伺服器送出使用者名稱與密碼 (或其他認證手段), 此時使用者才真正擁有上網的權限, 如下圖所示: 來自:  https://www.watchguard.com/help/docs/help-center/en-US/Content/en-US/Wi-Fi-Cloud/manage_wirelessmanager/configuration/wifi_access/radius_mac_auth.html RADIUS 伺服器的功能不止於此, 還可以包含使用者登入後的計費, 登入時間控管等, 甚至也可以和 VLAN 結合, 動態賦予流量不同的安全設定. 同時, 為了進一步增強 RADIUS 的安全性, RADIUS 也加入了和 EAP (Extensible Authentication Protoco