網路安全之接入控制
身份鑑別
定義:驗證主題真實身份與其所聲稱的身份是否符合的過程,主體可以是使用者、程序、主機。同時也可實現防重放,防假冒。
分類:單向鑑別、雙向鑑別、三向鑑別。
主題身份標識資訊:金鑰、使用者名稱和口令、證書和私鑰
Internet接入控制過程
一些基本模型
終端訪問網路資源
在一個簡化的單一線路網路中,終端訪問網路資源的過程且必需完成以下操作過程,如圖所示:
-
建立終端A與路由器的傳輸路徑。這條線路可能是公共電話網,則需要建立點對點通道;也可能是乙太網網路,則需要建立連線到該乙太網的通道路徑
-
終端A完成網路資訊配置過程**。**終端A需要配置IP地址、子網掩碼、預設閘道器地址等
-
路由器路由表建立對應路由項。
終端接入Internet
但訪問Internet網路上的資源,不是我們接一根線到路由器上就完成得了的,對Internet上的資源,終端接入Internet的過程如圖所示:
也就是說在終端A接入Internet前,必須完成使用者註冊,只能由註冊使用者開始終端A接入internet程,接入控制裝置在確定啟動終端A接入Internet的先決條件是由註冊使用者情況下,才允許終端A完成接入Internet過程和在接入控制裝置中建立路由項,這一過程需要完成身份認證。
這裡需要注意接入控制裝置和路由器的區別:
-
接入控制裝置不僅具有普通路由器的功能還包含其他功能
-
接入控制裝置可以鑑別終端A使用者身份
-
接入控制裝置為終端A動態分配IP地址(有點像DHCP的功能,不知道是不是需要在接入控制裝置中配置DHCP協議)
終端接入Internet過程
-
建立終端A到接入控制裝置之間的傳輸路徑。
-
接入控制裝置完成身份鑑別過程。確定終端A是註冊使用者。
-
動態配置終端A的網路資訊。
-
在接入控制裝置路由表中動態配置相應路由項。
PPP與接入控制
簡介
PPP(Point to Point Protocol)協議,是我們熟知的用於傳遞點對點通道資料包的資料鏈路層協議。但其實PPP協議也可作為接入控制協議。
為什麼可以用PPP作為接入控制協議?
在早期使用者使用的寬頻接入技術中,由於公共電話線路鋪設廣泛而其高頻分段的利用的空白為改造成資料傳輸路線創造了條件,ADSL(非對稱數字使用者線技術)佔到了大多數。也就是撥號上網,使用的是基於PPPoE協議的ADSL。而接入控制裝置在與終端A交換資訊(A的使用者身份標識、接入控制裝置為終端A配置的網路資訊)的過程中,由於終端A與接入控制裝置之間的傳輸路徑是點對點語音通道,因此需要將這種資訊風專場適合點對點傳輸的幀格式,PPP幀就是適合點對點語音通道傳輸的PPP幀。
PPP幀中與接入控制相關的協議
口令鑑別協議PAP(Password Authentication Protocol)
其在PPP幀中協議屬性值為0xC023
。終端A以明文方式向接入控制裝置傳送接入Internet需要的使用者名稱和口令。接入控制裝置在在收到資訊後,檢索註冊使用者資訊庫,如果使用者名稱存在且密碼匹配,則准入終端A到Internet。
挑戰握手鑑別協議CHAP(Challenge Handshake Authentication Protocol)
在PPP幀首部的協議屬性值為0xC223
。接入控制裝置會先向終端A傳送一個隨機數C,終端A會將接收到的隨機數和密碼串接,並經過MD5摘要演算法運算後,再加上使用者名稱傳送到接入控制裝置。接入控制裝置收到該訊息後,在註冊使用者資訊庫檢索到使用者的密碼和剛剛傳送的隨機數選出並經過MD5摘要演算法運算後與接收到的訊息進行比對。如果相同則准入終端A到Internet。
IP控制協議IPCP(Internet Protocol Control protocol)
其作用是為終端A動態分配IP等網路資訊。接入控制裝置為終端A分配一個全球IP地址,並且在路由表中新增一項動態路由,該項路由是將終端A的IP地址和語音通道繫結在一起的。
PPP接入控制過程
如圖所示
注:LCP也就是Link Control Protocol鏈路控制協議,用來建立、配置和測試資料鏈路連線的協議。
EAP
簡介
EAP全稱為Extensible Authentication Protocol,中文名稱拓展鑑別協議。在身份鑑別過程中,需要在鏈路上傳送鑑別資訊,但在不同的鏈路上所需要的資料鏈路層幀格式不同,比如在點對點通道上使用PPP幀,在乙太網上使用MAC幀。由於網路環境日益複雜,在終端到接入控制裝置之間可能不單單隻有一種通訊通道的情況下,為了避免鑑別協議的資料幀與通訊通道兩兩繫結的關係,EAP應運而生。
EAP就是將多種鑑別協議對應的PDU統一封裝成拓展鑑別協議EAP報文,然後將EAP報文封裝成不同型別傳輸網路對應的鏈路層幀格式。
EAP包含鑑別資料PDU,鏈路層幀格式包含EAP。
這樣,鑑別協議也就不再具有必須與資料鏈路層協議繫結的特殊性,而可以隨使用者終端或者接入控制裝置來進行指定。
EAP報文格式
-
編碼:1~4,分別對應請求報文、響應報文、成功報文和失敗報文
-
識別符號:一組請求/報文過程中,其請求報文和響應報文的標識必需相同,在相鄰兩個請求報文中,也必須採用不同的識別符號
-
長度:EAP報文總的長度
-
型別:1-身份報文;4-CHAP鑑別協議;5-OTP鑑別協議;13-TLS協議
EAP over PPP
簡介
PPP協議是點對點網路下的對應的鏈路層協議,自然也是點對點網路環境下的EAP載體協議,用於實現使用者和鑑別者之間的EAP報文傳輸。這也就是所謂的EAP over PPP。
PPP封裝EAP的報文如圖所示
也就是在PPP報文的協議欄位位置處的值為0xC227
鑑別過程
CHAP鑑別模式下的EAP over PPP報文鑑別過程如圖所示
在建立PPP鏈路的過程中,在鑑別身份之前,會約定採用EAP作為鑑別協議。在伺服器向終端A發出的EAP請求報文中其型別值就是身份。注意在終端A會送EAP響應時,會把EAP欄位的識別符號也納入到MD5的報文摘要計算之中,用以防止假冒攻擊。
EAP over LAN
簡介
假如終端使用者與接入控制裝置之間的傳輸通道不再是點對點路線,而是處於某一個乙太網中,這個時候所採用的鏈路層幀格式多半是MAC幀。
基於區域網的拓展認證協議(EAP over PPP)給出了將EAP報文封裝成LAN對應的幀格式(大都是V2版本的MAC幀)的過程。
其報文格式如下所示
在MAC幀的頭部欄位值中型別值為0x888E
(0x0800時為IP報文)。
與單純的MAC幀可以說相同也可以說不同,將版本、報文型別、報文體長度和報文體都當作MAC幀的資料時就跟v2 版本的MAC幀是完全一致的,但是這個資料部分又相比單單的EAP報文多出了幾個首部。其中一個首部欄位值分類及其意思如上圖所示。所以我們可以特地稱其為EAPOL報文。
802.1X
802.1X就是一種實現使用者身份鑑別,並開通連線進乙太網的使用者終端接入許可權埠的接入控制協議。
目前支援802.1X的區域網主要是乙太網和無線區域網。
以下是802.1X的操作模型
與後文的RAIUS協議配合使用,且在鑑別者中的埠分為受控埠和非受控埠。受控埠用於對鑑別者提供正常服務,在完成身份鑑別過程後才會開啟;非受控埠一直允許接收EAP報文,直接進行鑑別操作或對EAP報文進行轉發。也就是說,在完成使用者身份鑑別之前,該埠只能輸入輸出EAP報文和廣播幀,只有在使用者身份鑑別成功後,才可使用正常服務。
鑑別過程
鑑別過程如圖所示
相比於使用者A通過EAP over PPP完成鑑別過程,802.1X是允許雙方即鑑別者和使用者均可發起鑑別過程的,上圖是由使用者發起鑑別的過程。
乙太網接入控制過程
那麼我們在上一模組僅僅講了PPP通道中的接入控制過程,並未提及到乙太網是如何進行從乙太網接入Internet的過程,有了以上知識作為鋪墊,可以簡單敘述一下。
值得一提的是現在的乙太網交換機實現的802.1X都是基於MAC地址的,而不是基於埠。因為在一個區域網中,一個埠可能涉及到多臺主機,所以禁用埠是不現實的。只有當用戶完成使用者身份鑑別後,交換機才會將該終端的MAC地址列入接收到EAP報文的埠對應的訪問訪問控制列表,並將訪問控制設定為允許訪問。
RADIUS
Kerberos
簡介
Kerberos中存在4中角色,分別是使用者,鑑別伺服器,票據授權伺服器和應用伺服器。
統一由鑑別伺服器完成使用者身份鑑別功能,統一由票據授權伺服器完成yoghurt訪問許可權鑑別功能。