The Cable GuyWindows 中的 EAPHost

Joseph Davies

此專欄中的 Windows Server "Longhorn" 測試版相關資訊有可能變更。

存取用戶端連上受保護的網路時,必須使用交涉的驗證方法,向驗證伺服器驗明正身。舉例來說,存取用戶端和驗證伺服器可能同意使用特定的密碼驗證通訊協定,例如 Microsoft Challenge Handshake 驗證

通訊協定第 2 版 (MS-CHAP v2)。不過,當存取用戶端和驗證伺服器使用內建及硬式編碼的驗證方法時,就很難加入新的通訊協定。

可延伸驗證通訊協定 (EAP) 是一種結構型架構,為常用的受保護網路存取技術 (例如以 IEEE 802.1X 為主的無線網路) 以及點對點通訊協定 (又稱 PPP,例如撥接和 VPN) 的驗證方法提供擴充性。EAP 並不同於 MS-CHAP v2 這種驗證方法,而是存取用戶端和驗證伺服器上的一種架構,允許網路廠商開發並輕易安裝新的驗證方法,也就是所謂的 EAP 方法。如需有關 EAP 的詳細背景資訊,請參閱 Microsoft EAP 網頁,網址是 microsoft.com/eap。

雖然 Microsoft® Windows® 自 Windows 2000 以來就一直支援 EAP,但是 Windows XP 和 Windows Server® 2003 中的 EAP 架構在 EAP 方法和請求者 (亦即可在特定類型的連結層上使用 EAP 的軟體元件) 方面卻有著擴充性的限制。Windows Vista™ 以及 Windows Server 日後版本 (代號 "Longhorn") 中的 EAPHost 架構解決了這些限制,讓協力網路廠商能夠更輕鬆地針對新請求者和 EAP 方法擴充 Windows。

Windows Server 2003 和 Windows XP 中的 EAP 支援

Windows Server 2003 和 Windows XP 將 EAP 用於以 802.1X 進行驗證的無線或有線連線,以及以 PPP 為主的連線,例如撥號或以 VPN 為主的遠端存取或站台間連線。換句話說,這些作業系統包含了遵守 RFC 2284 的 EAP 實作,也包含了 IEEE 802.1X 及 PPP 請求者 (Supplicant)。[圖 1] 顯示了 Windows XP 和 Windows Server 2003 的 EAP 及請求者架構。不過,要注意的是 Windows XP Service Pack2 (SP2) 與 Windows Server 2003 SP1 中的 EAP 實作並不支援 RFC 3748 (EAP 目前的網際網路標準) 及其他 EAP RFC。

[圖 1] Windows XP 及 Windows Server 2003 的 EAP 和請求者架構

[圖 1]** Windows XP 及 Windows Server 2003 的 EAP 和請求者架構 **

EAP API 提供了在 Windows XP 和 Windows Server 2003 中擴充驗證的途徑。雖然協力廠商可開發和安裝新 EAP 方法,但內建 PPP 及 802.1X 請求者並無法使用所有已安裝的 EAP 方法。比方說,廠商可建立一套新的指紋掃描 EAP 驗證方法,但該方法可能無法用於無線連線。

由於內建請求者有限制,有些協力廠商軟體和硬體廠商便自行開發請求者,而這些請求者通常會取代及停用內建請求者和整個 EAP 架構。然而這種替代方案卻帶來了一些問題。首先,取代內建請求者和 EAP 架構會造成開發上的支出,而導致延遲。此外,假使企業客戶不自行開發請求者,便需要負擔授權以及安裝協力廠商產品的每基座成本。

EAPHost 的功能

EAPHost 提供以下新功能:

支援其他 EAP 方法: EAPHost 支援安裝及使用 EAP 登錄 (位於 www.iana.org/assignments/eap-numbers) 上所列各項 EAP 方法,以及其他常見的驗證方法,像是由 Cisco Systems, Inc. 所開發和提供的 Lightweight EAP (LEAP)。

網路探索: EAPHost 支援網路探索,如 RFC 4284 中所定義。

遵循 RFC 3748: EAPHost 遵守 EAP State Machine,並解決了 RFC 3748 中指定的許多安全性弱點。過去,請求者必須實作自己的狀態機器。此外,EAPHost 也支援如「擴充的 EAP 類型」(包括廠商特定 EAP 方法) 的功能。

EAP 方法並存: EAPHost 允許同一個 EAP 方法的多項實作同時存在。例如,您可以安裝並選擇 Microsoft 版本的受保護的 EAP (PEAP) 以及 Cisco Systems, Inc. 版本的 PEAP。

模組化請求者架構: EAPHost 支援一種模組化請求者架構,不需要像在舊版中得取代整個 EAP 實作,即可輕易地新增請求者。

對於 EAP 方法廠商,EAPHost 支援已針對 Windows XP 和 Windows Server 2003 開發的 EAP 方法,也支援一種比較簡單的方法針對 Windows Vista 和 Windows Server "Longhorn" 開發新 EAP 方法。EAPHost 同時還提供比較清楚的 EAP 類型分類,供內建 IEEE 802.1X 請求者使用。

對於請求者廠商,EAPHost 可支援其他新連結層的請求者。由於 EAPHost 已與網路存取保護 (NAP) 整合,因此新請求者並不需要感知 NAP。若要加入 NAP,新請求者只需要登錄一個連線識別元,以及一個回呼函數來通知請求者重新驗證便可。有關 NAP 的詳細資訊,請參閱本期《Technet Magzine》中 John Morello 的《安全性監控》專欄,以及 NAP 網頁,網址是 microsoft.com/nap。如需有關如何開發 EAP 方法或 EAPHost 的請求者的詳細資訊,請參閱<可延伸驗證通訊協定主機>,網址是 msdn2.microsoft.com/aa364249.aspx。

EAPHost 和 EAP 基礎結構架構

EAPHost 架構是由 EAPHost 的 EAP 基礎結構架構、EAP 對等 (驗證用戶端) 上的 EAPHost 架構,以及驗證伺服器上的 EAPHost 架構所組成。[圖 2] 顯示執行 Windows Vista 或 Windows Server "Longhorn" 的電腦上 EAPHost 的 EAP 基礎結構架構。在這些作業系統上,EAP 對等具有一個請求者層 (例如 802.1X 的內建請求者)、用於 EAP 對等的全新 EAPHost 架構 (方便請求者和 EAP 方法的通訊和管理),以及一個 EAP 方法層來執行驗證。

[圖 2] EAPHost 的 EAP 基礎結構架構

[圖 2]** EAPHost 的 EAP 基礎結構架構 **(按影像可放大)

Windows Server "Longhorn" 的驗證伺服器具有網路原則伺服器 (NPS)、用於驗證伺服器的全新 EAPHost 架構,以及一個 EAP 方法層。NPS 過去在 Windows Server 2003 中稱為網際網路驗證服務 (IAS),它是一種遠端驗證撥入使用者服務 (RADIUS) 伺服器和 Proxy,也是 NAP 的原則伺服器。

EAP 對等上的請求者是使用一種像是 PPP 或 802.1X 的連結層技術,來收發 EAP 對等與傳遞驗證者 (一種網路存取伺服器,如無線存取點或遠端存取伺服器) 連結之間的 EAP 訊息。傳遞驗證者及驗證伺服器上的 NPS 是使用 RADIUS 來收發傳遞驗證者與 NPS 以 IP 為主的網路之間的 EAP 訊息。

在 EAP 對等與驗證伺服器交涉好使用特定的 EAP 方法後,邏輯通訊便由 EAP 對等與驗證伺服器上交涉的方法之間傳送的 EAP 訊息組成。

[圖 3] 顯示在執行 Windows Vista 或 Windows Server "Longhorn" 的 EAP 對等上的 EAPHost 架構。此架構包含請求者、EAPHost 元件、EAP 方法管理元件,以及 NAP 元件。

[圖 3] EAP 對等上的 EAPHost 架構

[圖 3]** EAP 對等上的 EAPHost 架構 **(按影像可放大)

Windows Vista 和 Windows Server "Longhorn" 包括 802.1X 請求者,用於以 802.1X 為主的無線和有線連線。對於撥號或以 VPN 為主的遠端存取或站台間連線,則會調查 PPP 請求者是否有針對這兩種作業系統進一步發行更新。您也可以新增其他由協力廠商所開發的請求者。EAPHost API 允許請求者使用 EAP 進行連線。如需詳細資訊,請參閱 msdn2.microsoft.com/aa364249.aspx 上的文件。

EAPHost 元件包括 EAP Client State Machine/Protocol Validator,這會維護 EAP 對等狀態機器 (見 RFC 3748) 並驗證 EAP 訊息。另外也包括了 EAP Method Manager,這會管理不同的 EAP 方法 (不管它們與 EAPHost 相容與否),並且有助於將 EAP 方法提供給請求者和服務使用。最後還有 EAP Library Manager,這可使 EAP 方法庫的載入和卸載作業更順當。

EAP 方法元件包括:

內建 EAP 方法。 其中包括 PEAP、EAP-傳輸層安全性 (TLS),以及 EAP-MS-CHAP-V2。

兩個主 API。 這些裝載著非 EAPHost 相容的 EAP 方法 (舊版 EAP API),以及與協力廠商 EAPHost 相容的 EAP 方法 (EAPHost Method API)。

舊版轉譯程式方法。 這會轉譯寫入舊版 EAP API 與 EAPHost Method API 之間非 EAPHost 相容的 EAP 方法。

EAP Method Proxy Manager . 這裝載了協力廠商 EAP 方法,無論它們是否與 EAPHost 相容。

EAP Method API 是用於與 EAPHost 相容之 EAP 方法的全新 API。EAP 方法會將 EAP Method API 中定義的 API 匯出。EAPHost 會載入 EAP 方法並呼叫匯出的 API 函數。

NAP 元件包括下列項目:

EAP NAP EC Messenger . 此元件可加速 EAPHost NAP 強制用戶端 (EC) 及 EAPHost 其他元件之間 NAP 相關資料的通訊,例如健康和事件的狀態。

EAPHost NAP EC . 這會與其他 NAP 元件互動,在 802.1X 驗證的連線不符合 NAP 系統健康需求時,提供健康驗證並強制限制存取。

NAP 代理程式。 這會維護用戶端目前的健康狀態,並加速已安裝 NAP EC 及 System Heath Agents (SHA) 層之間的通訊。每個 SHA 都是針對一或多項系統健康需求加以定義。

[圖 3] 所示,協力廠商可開發新請求者及與 EAPHost 相容的新 EAP 方法。您也可以使用現有針對 Windows Server 2003 或 Windows XP 開發的 EAP 方法。

[圖 4] 顯示執行 Windows Server "Longhorn" 和 NPS 之驗證伺服器上的 EAPHost 架構。此架構與支援 EAP 方法的 EAP 對等的架構是一樣的。驗證伺服器並沒有請求者,反而是具有 NPS,此 NPS 是利用 EAPHost API 來使用及設定 EAP 方法。在 EAP 元件當中,維護 EAP 驗證伺服器狀態機器與驗證傳入 EAP 訊息的工作是由 EAP Server State Machine/Protocol Validator 負責。

[圖 4] 驗證伺服器上的 EAPHost 架構

[圖 4]** 驗證伺服器上的 EAPHost 架構 **(按影像可放大)

驗證伺服器上的 EAPHost 允許協力廠商軟體廠商開發和安裝與 EAPHost 相容的新 EAP 方法,並支援已針對 Windows XP 和 Windows Server 2003 開發的 EAP 方法。

針對 EAP 對等和驗證伺服器,EAPHost 還提供 EAPHost UI Proxy API (未顯示於 [圖 3] 及 [圖 4] 中),與 EAPHost 相容的方法可用它來顯示需要使用者互動的對話方塊。EAPHost UI Proxy API 允許協力廠商加入他們自己的對話方塊,以獲得更順暢的使用者體驗。

結論

Windows Server "Longhonr" 和 Windows Vista 中的 EAPHost 更新了 Windows 內的 EAP 實作,以達最新的網際網路標準,並提供一套全新的模組化架構,以便透過 EAP 驗證方法和請求者來擴充 Windows。網路廠商不需要取代整個 Windows EAP 實作,便可透過開發寫入 EAPHost API 的新請求者,以及寫入 EAPHost Method API 的新驗證方法,來擴充 Windows 中現有的使用者體驗。EAPHost 同樣還支援針對 Windows Server 2003 及 Windows XP 開發的 EAP 方法。

適用於 Windows XP 的 EAPHost

Microsoft 預計針對 Windows XP SP2 發行一項更新,當中包含 EAPHost 架構、對 RFC 3748 的支援,以及用於有線 802.1X 連線且以 EAPHost 為主的請求者。有了此更新後,針對 Windows Vista 開發的 EAPHost 請求者也能用在 Windows XP SP2 上。有關這項更新的最新資訊,請參閱 NAP 產品小組的部落格,網址是 blogs.technet.com/nap

Joseph Davies 是 Microsoft 的技術文件作家,從 1992 年開始教導和編寫 Windows 網路方面的主題。他出過五本 Microsoft Press® 的書,同時也是每個月 TechNet Cable Guy 專欄的作家。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.