複製鏈接
請複製以下鏈接發送給好友

可擴展認證協議

鎖定
可擴展認證協議(Extensible authentication protocol,EAP)是一個第二層處理,允許網絡對無線客户端進行認證的協議。
中文名
可擴展認證協議
外文名
Extensible authentication protocol,EAP
性    質
一個第二層處理過程
特    點
允許網絡對無線客户端進行認證

可擴展認證協議簡介

如今Internet用户都需要連接到ISP以取得網絡服務,同時也有許多個人需要將家中的個人計算機互聯起來,他們一般都有撥號電話線路或租用的電話專用線路。然而這些線路都只是提供了點到點之間的一條物理鏈路,要在物理鏈路上進行通信必須藉助於某種通信協議來對鏈路進行控制。因此出現了兩種協議: SLIP和PPP。其中SLIP有以下一些缺陷:
  • 只支持IP;
  • 不允許IP地址的動態分配;
  • 不支持用户認證。
而PPP卻為點到點數據鏈路上傳輸多協議數據報提供了一種通用方法。為了在點到點物理鏈路上建立通信,在鏈路建立階段, PPP通信鏈路的每一端都必須首先發送LCP數據包來對該數據鏈路進行配置協商。在鏈路已經建立起來後,在進入網絡層協議進行實際的數據通信之前,PPP提供了一個可選的認證階段。缺省時,認證並不是必需的。如果想要對通信鏈路進行認證,具體實現時必須在鏈路建立階段指定認證協議配置選項來説明要進行認證。起初PPP上支持的認證方式主要是PAP和CHAP,然而它們都不能擴展。對此,PPP協議現在增加了一種新的可擴展認證協議(EAP),它是PPP , 認證的一個通用認證協議 在它上面可以支持多種認證機制,也就是説它提供了在PPP上進行多種認證的底層框架其它各種具體的認證機制都是建立在它之上的。 ,具體來講, EAP在鏈路建立階段並沒有選定某一種特定的認證機制,只需説明要使用EAP , 認證即可 而把具體認證過程推遲到後面一個獨立的認證階段。在這一階段進行認證方式的協商和具體認證過程,並由認證成功與失敗的結果來決定是否進入網絡層以使網絡層數據能夠在鏈路上進行傳輸 [1] 
可擴展認證協議(Extensible authentication protocol,EAP)是一個第二層處理過程,允許網絡對無線客户端進行認證。有兩種EAP:一種用於無線網路,另一種用於LAN連接,通常稱為 EAP over LAN(EAPoL)。無線環境中的一個問題是要允許WLAN設備與AP 後面的設備進行通信。有3個標準定義了此過程:EAP,802.1x和遠程認證撥入用户服務(Remote authentication dial in user service, RADIUS )。EAP定義了標準的認證信息封裝方法,如AP用於對用户進行認證的用户名和密碼和數字證書。EAP本質上是點對點協議(PPP)的擴展,第一種EAP是EAP-MD5,它使用挑戰握手認證協議(challenge handshake authentication protocol, CHAP)進行認證,下面是一些EAP擴展(介紹其中EAP-MD5和EAP-TLS)。

可擴展認證協議EAP設計思想

圖1 圖1
設計思想:PPP主要作用於兩層,數據鏈路層和物理層。PPP根據雙方的選項協商、認證協商等來控制串行網絡設備數據鏈路是否允許某些特定的網絡層數據是否可以通過。網絡層是建立在數據鏈路層之上的,當數據鏈路層有來自物理層的數據時,它將處理得到的數據,即根據數據幀協議域的不同而對網絡協議數據進行分流,將不同協議的數據分別發往相應的上層網絡協議輸入隊列,並相應地給它們發一個軟中斷,以通知上層對輸入隊列進行處理。只需通過檢測認證過程的成功與否來決定是否將鏈路交給相應的上層網絡使用,具體如圖1所示。
下面是具體的設計與實現:首先設計一個用於EAP認證配置信息文件,PPP用此文件來獲得EAP認證的客户與服務器的認證選項信息。有PPP一個從文件中獲取各種認證選項信息的通用子程序,通過它可把與EAP認證有關的選項參數加入到的PPPLCP配置選項列表中。如果真的要進行EAP認證,則在LCP發送LCP配置包時,對方將知道要進行EAP認證。同時將EAP的通信認證過程設計為一個有限狀態自動機有限自動機的信息結構主要內容如下:
typedef struct eap_state {
int es_unit;通信接口
struct eap_auth client;客户認證信息
struct eap_auth server;服務器認證信息
…
} eap_state; 

其中認證信息主要包括通信雙方的名字、認證請求類型、請求序列號、超時值等參數。它們是控制EAP有限自動機通信協商過程的依據。
EAP認證流程機制如下:首先在用PPP,向遠程端點進行連接時在鏈路建立階段表明要使用EAP認證之後當進行到認證階段時就進,行EAP認證過程:
  • 認證一方向另一方首先發送一個身份請求並等待對方發來,相應的響應。
  • 對方在接到身份請求要求時,它應發送一個身份響應包,它們的ID必須相同。
  • ID認證方檢查包類型是否是身份響應包,且是否與發送請求時一致,如不一致則看是否到達了最大次數,如果沒到則重發身份認證請求同時可選擇性地發送一,個notification來傳遞一些通知信息,如這樣的例子:包括帶一個超時設定能(expiration)的口令,OTP0序列整數(接近),認證失敗警告等。在大多數情況下,notification不是必要的。
  • 在接到身份響應時,認證方根據身份,檢查通信實體數據庫,以查找對應的認證方式如找到則開始發送相應的認證請求。
  • 對方在接到認證請求時,首先檢查它自己是否支持認證者所要求的認證請求如不支,持,則要發送一個NAK,否認包攜帶自己允許的認證類型。如支持則發送認證響應。
  • NAK認證者檢查響應包,如是否認包,則重發對方允許的認證請求。如是上一次的認證請求的響應,則檢查它是否是它所期待的響應以決定認證成功與失敗,從而決定鏈路的打開與關閉。
  • 如上一步成功,向對方發送認證確認包,以使對方把鏈路打開,通知上層網絡控制協議進行網絡通信協議參數的協商,隨着各個網絡控制協議打開之後,PPP就把數據鏈路交給通信網絡協議,這時雙方才可以進行實際的通信。
  • PPP當所有的上層協議都不再需要使用此數據鏈路時,將發送中止鏈路請求包來結束數據鏈路。

可擴展認證協議EAP-MD5

支持使用CHAP和靜態密碼進行認證;

可擴展認證協議EAP-TLS

支持使用x.509v3數字證書進行認證;
802.1x和 RADIUS 定義瞭如何打包EAP信息,從而在網絡上傳輸這些信息。 802.1x描述了客户端(通常稱為請求者)如何將EAP信息傳輸到網絡訪問設備(認證者)。網絡訪問設備可以是AP,交換機,路由器,VPN網關等。認證者使用RADIUS 協議將這些信息傳輸到認證服務器,改服務器會確認此請求者是否可以訪問網絡。注意,認證者處通常沒有本地定義的用户憑據,它通常在認證服務器上查找此內容。 [2] 
參考資料