網絡安全協議
TCP/IP協議族在設計時並沒有考慮到安全性問題,信息在傳輸過程中的安全性無法保證,接收方無法確認發送方的身份,也無法判定接收到的信息是否與原始信息相同。
因此,網絡安全研究人員在鏈路層、網絡層和傳輸層開發了相應的安全補充協議,期望在各個層次上分別達到保密性、完整性和不可抵賴性的安全目標。802.1X和EAP協議用於在鏈路層上實現發送方身份認證,IPSec和SSL分別在網絡層和傳輸層利用密碼技術實現了三個基本安全目標,802.11i協議族定義無線局域網WLAN的加密和完整性檢測機制。
802.1X
IEEE 802.1X運行於網絡中的鏈路層,既可以是以太網LAN,也可以是無線以太網WLAN,具有完備的用戶認證和管理功能,基於C/S方式實現訪問控制和身份認證,在認證通過之前,802.1X只允許EAPOL報文通過交換機端口,只有認證通過后,用戶訪問網絡的報文才可以通過以太網端口。
802.1X協議的主要特點:
(1)鏈路層協議,不需要到達網絡層;
(2)使用擴展認證協議EAP實現身份認證,提供了良好的擴展性和適應性,實現了PPP認證的兼容;
(3)采用“可控端口”和“不可控端口”的邏輯功能,從而可以實現數據與認證的分離,由不可控的邏輯端口完成對用戶的認證與控制,數據報文通過可控端口進行交換,通過認證之后的報文無須封裝;
(4)可以映射不同的用戶認證等級到不同的VLAN;
(5)可以使用交換端口和無線LAN具有安全的認證接入功能。
802.1X協議具體工作流程:
(1)用戶開啟802.1X客戶端,輸入已經申請和登記的用戶名和口令,發起連接請求,客戶端發出請求認證的鏈路層幀,啟動認證過程;
(2)交換機收到請求認證幀后,響應一個請求幀,要求客戶端提供用戶名;
(3)客戶端將包含用戶名信息的數據幀發送給交換機,交換機將該幀封裝處理后發送給認證服務器;
(4)認證服務器收到幀后,與數據庫中的用戶信息比較,獲取該用戶對應的口令信息,然后使用隨機生成的加密密鑰對它進行加密處理,同時也將該加密密鑰發送給交換機,由交換機轉發給客戶端;
(5)客戶端收到由交換機轉發的加密密鑰后,用該密鑰對口令進行加密,並通過交換機轉發給認證服務器;
(6)認證服務器將收到的加密口令和第(4)步計算的加密口令信息進行對比,如果相同,則認為該用戶為合法用戶,發送認證通過的消息,並向交換機發出打開端口的指令,允許用戶訪問網絡;否則,發送認證失敗的消息,保持交換機端口的關閉狀態,只允許EAPOL認證信息通過。
Tips:
當受控的交換機端口變為授權狀態並允許訪問網絡后,連接在該端口的所有終端都可以訪問網絡,這並不符合接入控制的要求,解決該問題的方法是基於MAC的訪問控制列表ACL,將每個端口與MAC地址綁定即可。
IPSec
IPSec協議,也稱為IP安全協議,是在IP層增加的安全補充協議,通過額外的報文頭部信息實現。它包括三個方面:認證、保密和密鑰管理。
優點:
(1)在路由器和防火牆中使用IPSec時,可以對通過邊界的信息流提供強安全性。
(2)位於傳輸層之下,對所有的應用透明,即無論終端是否使用IPSec,對上層軟件和應用沒有影響。
(3)對終端用戶透明,不需要對用戶進行安全機制的培訓。
(4)可以給個人用戶提供安全性。
下表1-1列出了IPSec包含的所有協議族,其中最重要的三個協議分別為鑒別頭部協議(AH)、封裝安全載荷協議(ESP)和密鑰交換協議(IKE)。
RFC |
內容 |
2401 |
IPSec體系結構 |
2402 |
AH協議 |
2403 |
HMAC-MD5-96在AH和ESP中的應用 |
2404 |
HMAC-SHA-1-96在AH和ESP中的應用 |
2405 |
DES-CBC在ESP中的應用 |
2406 |
ESP協議 |
2407 |
IPSec DOI |
2408 |
ISAKMP協議 |
2409 |
IKE協議 |
2410 |
NULL加密算法及其在IPSec中的應用 |
2411 |
IPSec文檔路線圖 |
2412 |
OAKLEY協議 |
表 1‑1 IPSec協議族
IPSec存在兩種運行模式:傳輸模式和隧道模式。傳輸模式保護IP報文的內容,一般用於兩台主機之間的安全通信。隧道模式保護整個IP報文,當通信一方是外部網關時,通常使用隧道模式,可以用來隱藏內部主機的IP地址。
AH協議
AH協議提供數據完整性保護和發送方身份驗證,使用HMAC消息認證機制,IPSec包括兩種HMAC算法,即HMAC-MD5-96和HMAC-SHA-1-96,AH驗證整個IP報文信息,不提供加密服務,當報文驗證失敗時,將丟棄報文,不會轉發給上層協議解密。
AH協議字段位置
AH協議在IP頭部的協議字段中標記為51。
傳輸模式:
AH報文在IP頭部和數據之間插入。每個實現傳輸模式的主機無法使用私有地址,必須安裝IPSec協議,因此AH協議對終端用戶不透明。
隧道模式:
AH報文在外層IP頭部和隧道數據(原始IP頭部和數據)之間插入。內網所有用戶可以透明享受安全網關提供的IPSec服務。
AH協議的報文格式和字段含義
(1)下一個頭部:表示AH封裝的協議報文類型,如果是傳輸模式,從IP頭部的協議字段中復制,如6(TCP)、17(UDI)或50(ESP),如果是隧道模式,該值為4。
(2)認證頭部長度:以32位為單位的AH總長度,實際長度為總長度減2。
(3)安全參數索引SPI:接收方根據SPI、源IP地址和IP頭部中的協議類型值確定相應的接收SA(兩個主機之間經過協商建立的一種協定,定義眾多參數信息)。
(4)認證數據:消息認證碼,其生成算法由SA指定。
(5)序號:單調遞增的計數器,用於防止重放攻擊。
AH認證原理
認證數據時覆蓋的字段:
(1)IP頭部中無須改變的字段,如源和目標IP,而TTL之類的字段不做認證;
(2)AH中除了認證數據外的其他5個字段值;
(3)IP報文的數據部分。
如果攻擊者在傳輸過程中篡改了某個覆蓋的字段值,接收方重新計算得到的認證數據與AH中的認證數據不會相同,即可確定該報文被篡改過。
Tips
如果內網用戶經過NAT轉換,那么接收方會報告AH驗證失敗,因此AH無法與NAT共存。
ESP協議
ESP協議提供數據完整性驗證和發送方身份認證的原理與AH相同,但是ESP計算認證數據時覆蓋的字段較少,僅包括ESP頭部、數據部分和ESP尾部。另外,ESP還提供加密功能,采用對稱加密算法,常用加密算法是3DES。
ESP協議字段位置
ESP協議在IP頭部的協議字段的標記是50。
傳輸模式:
ESP頭部在IP頭部和數據之間插入,ESP尾部和消息認證碼添加在原始IP報文數據的尾部。
隧道模式:
ESP頭部在外層IP頭部和內層IP頭部之間插入,ESP尾部和消息認證碼添加在原始IP報文數據的尾部。
ESP協議的報文格式和字段含義
ESP頭部包括安全參數索引(SPI)和序列號,ESP尾部包括填充項、填充長度和下一個頭部字段:
(1)SPI:32位標識符,用來確定相應的接收SA。
(2)序號:單調遞增的計數器。
(3)填充項:可選字段,一是為了對齊加密數據,填充到4字節邊界;二是在加密數據時,保證數據加上ESP尾部的長度是分組加密的分組長度的整倍數。
(4)填充長度:指定填充項包括幾字節,范圍為0到255。
(5)下一個頭部:表示ESP封裝的協議報文類型。
(6)消息認證碼:ESP計算認證數據時生成的消息認證碼。
Tips
在隧道模式,ESP加密運算覆蓋整個內層IP報文,外層IP頭部既不加密也不驗證,不加密是因為路由器需要外層IP進行路由選擇,不驗證是使得ESP可以適用NAT轉換,所以ESP不像AH那樣會與NAT服務沖突。
AH和ESP協議可以嵌套使用,首先用ESP對原始報文進行加密,然后用AH進行完整性計算,即把AH頭插入IP頭部和ESP頭部之間,接收方首先進行完整性驗證,然后再進行解密。
協議 |
傳輸模式 |
隧道模式 |
AH |
認證IP數據、IP頭部的一部分 |
認證內層IP報文、外層IP頭部的一部分 |
不帶認證的ESP |
加密IP數據和ESP尾部 |
加密內層IP報文和ESP尾部 |
帶認證的ESP |
除加密外,認證ESP頭部、數據和ESP尾部 |
除加密外,認證ESP頭部、數據和ESP尾部 |
表格 1-2 AH和ESP功能對比
IKE協議
IPSec在保護一個IP報文之前,需要預先建立安全關聯SA。IKE是IPSec用於密鑰管理的協議,它負責自動管理SA的建立、刪除、修改和協商。
IKE的特點是它不會在網絡上直接傳遞密鑰,而是通過計算得出雙方的共享密鑰,即使攻擊者截獲用於計算密鑰的所有交換數據,也無法計算出真正的密鑰。
IKE可以動態建立SA和共享密鑰,但是它的實現非常復雜,容易成為整個系統的性能瓶頸。
IPSec應用實驗
首先,訪問服務器的測試頁面,成功;
然后在服務器上配置IPSec,目標使所有TCP連接均通過IPSec才可以連接成功;
首先打開【本地安全策略】,在【IP安全策略,在本地計算機】中創建一條新的IP安全策略;
至此,已經創建了一條新的IP安全策略,但是還未設置其屬性,選中【編輯屬性】后點擊【完成】,繼續配置安全策略的屬性;
可以看到這邊已經有一條默認的策略,我們點【添加】來設置自定義的安全策略屬性;
還沒有建立篩選器,我們添加一個新的篩選器;
選中【使用“添加向導”】后點添加,來配置篩選器的屬性;
這里為篩選器配置操作;
這里可以選擇【完整性和加密】(ESP協議)或【進保持完整性】(AH協議)或自定義完整性和加密的算法;
這里我們可以使用Kerberos V5協議或CA證書或預共享密鑰等身份驗證方法;
至此,我們的IP安全策略就配置完屬性了,我們還可以在【常規】-【設置】-【方法】里對IKE使用的算法進行配置,右鍵策略點擊【分配】后,安全策略就會被指派生效了;
當我們再次訪問測試頁面就無法訪問了;