2013-09-30 112 views
2

我一直在閱讀關於認證方法的一些信息。 我已閱讀有關RADIUS和有關EAP。 我只是不明白他們之間的聯繫。RADIUS和EAP如何結合?

RADIUS是一種認證協議,它使用共享密鑰和其他方法進行安全認證,而EAP更多是一種通用協議。我知道EAP本身並不做任何事情(它只是一個框架),並且使用更具體的類型(如EAP-TLS)來執行身份驗證。

我只是不明白,如果認證過程與客戶端 - >認證者 - >認證服務器,應該選擇其中一個協議,或者如果他們以某種方式組合。

我相信我只是完全錯誤,並希望如果有人只是簡要地解釋我缺少的東西。

謝謝!

回答

9

概述

How EAP is carried in 802.1X

EAP總是由另一協議承載。請求者(認證用戶設備)和NAS(網絡訪問服務器)之間最常見的傳輸是IEEE-802.1X EAPOL(EAP Over LAN),PPP(點對點協議)和IKEv2。

對於NAS與RADIUS服務器之間的鏈接,EAP數據包在253字節的邊界上被分段並分成多個EAP-Message屬性。如何通過RADIUS傳輸EAP由RFC3579定義。

NAS通常不會在EAP對話上窺探。對於提供隱私的EAP方法(例如EAP-TLS,EAP-PEAP和EAP-TTLS),無論如何snooping都不會有效,因爲在請求方和RADIUS服務器之間將建立TLS隧道。

認證

當NAS從請求者接收到EAP分組時,它將剝離封裝(EAPOL/PPP/IKEv2協議)和片段的EAP數據轉換成253字節的塊。然後它會將EAP數據塊作爲多個EAP-Message屬性插入到RADIUS Access-Request數據包中。 NAS然後將RADIUS Access-Request數據包發送到RADIUS服務器。

RADIUS服務器使用EAP-Message屬性作爲它應該執行EAP驗證的指示,就像它使用用戶密碼作爲它應該執行PAP和CHAP密碼的提示一樣,它應該提示它應該執行CHAP。

RADIUS服務器將按照它們收到的順序連接EAP-Message屬性(這就是爲什麼代理不重新排序EAP-Message屬性很重要)並將連接數據傳遞給初始化EAP狀態機。

然後,EAP代碼將制定其響應並將其編碼爲EAP數據包,將該數據包拆分爲EAP-Message屬性,然後將這些屬性通過RADIUS Access-Challenge數據包發送回NAS。

狀態屬性也將在挑戰中發送。該狀態屬性將被NAS包括在下一個訪問請求中。狀態屬性允許RADIUS服務器在多輪訪問請求/訪問挑戰之間恢復E​​AP身份驗證狀態。它通常用作正在進行的EAP會話存儲的關鍵。

當NAS接收到Access-Challenge時,它將重新組裝EAP-Message屬性,將EAP數據封裝在EAPOL/PPP/IKEv2中,並將封裝的數據發送回請求者。

訪問 - 請求/訪問 - 挑戰交換的多輪與作爲翻譯者的NAS發生。

當RADIUS服務器有足夠的信息做出接受或拒絕用戶的決定時,它將發回一個包含EAP-Success/EAP-Failure的EAP-Message,RADIUS服務器將把它發送回NAS在Access-Accept或Accept-Reject數據包中。 RFC3579要求在Access-Accept數據包中返回EAP-Successes,並且在Access-Reject數據包中返回EAP-Failures。

當需要將密鑰資料分發給NAS和請求方時,NAS的密鑰資料在MS-MPPE-Recv-Key和MS-MPPE-Send-Key RADIUS屬性中提供,包含在Access -接受。申請人將在EAP方法進展期間接收(或派生)相同的密鑰資料。 EAP方法之間這種密鑰材料的派生方式不同。

總之,RADIUS可以被看作是傳輸和控制(對於NAS)協議,並且EAP可以被看作是在RADIUS頂部運行的實際認證/授權協議。

希望這會有所幫助!