互聯網協議以TCP/IP最為人們所熟知,大多數通信協議(如TCP、 UDP、 ICMP、 IGMP 等)皆是以IP報文來傳送。而IP報文本身沒有集成任何安全特性,也就是說,IP數據包在公共網絡中傳輸可能會面臨被偽造、竊取或篡改的風險。
由此可見,利用IP協議來傳輸資料是非常不可靠的,IPsec協議可以解決Internet網絡傳輸不安全的問題。本文將介紹IPsec協議的基本概念、工作原理和應用場景,幫助初學者更好地全面了解IPsec協議及其在網絡安全中的作用。
IPsec(IP Security)協議定義了 IP 網絡流量安全服務的體系結構,并在 IP 層提供安全性的框架,提供數據驗證、數據完整性和機密性。通信雙方通過IPsec建立一條IPsec隧道,IP數據包通過IPsec隧道進行加密傳輸,有效保證了數據在不安全的網絡環境中傳輸的安全性。
| IPsec應用(資料來源:Stallings 2011)
IPsec簡史
80 年代初,Internet 協議開發時,安全性在優先級列表中等級并不高。然而,隨著互聯網用戶數量的持續增長,網絡需要更高的安全性。1993年12月,John Ioannidis等人在哥倫比亞大學和AT&T貝爾實驗室研究了軟件IP加密協議swIPe協議。
1994 年 7 月,Trusted Information Systems(TIS)的科學家徐崇偉繼續這項研究,增強了 IP 協議,提出了一些關鍵性的想法和方案,例如基于IKE(Internet Key Exchange)協議的密鑰交換機制等,這些方案和想法為IPsec協議的發展奠定了基礎。IPsec由IETF在一系列針對各種組件和擴展的征求意見文檔中正式標準化。
1995年,IETF推出了第一版IPsec協議,主要用于IPv6。1998年,IETF發布了第二版IPsec協議,主要用于IPv4。第二版IPsec協議簡化了協議的實現,增加了更多的加密和身份驗證算法,提高了安全性。2005年,IETF發布了第三版IPsec協議,第三版IPsec協議引入了新的加密算法,例如AES和SHA-256,提高了安全性和性能。
| IPsec 架構(資料來源:Worthman 2015)
IPsec 體系架構的關鍵組件包括:
>安全關聯 ( SA ):指定通信主機可識別的安全屬性。主機需要兩個SA才能安全通信,每個方向一個。在傳輸受保護的數據包之前,雙方就具體的安全保護措施、加密算法、要應用的密鑰和要保護的具體流量類型達成一致。
>IPsec 協議: AH(身份驗證標頭)和ESP(封裝安全載荷)協議用于身份驗證。它們包含數據源證明、數據完整性和反重放保護。第三個協議IKE(Internet 密鑰交換)是一種混合協議,用于在實際數據傳輸開始之前進行對等身份驗證和密鑰交換過程。
>IPsec 模式:兩種協議(AH和ESP)都支持傳輸模式和隧道模式。
IPsec 的主要安全協議
構成 IPsec 的三個主要協議是:AH (身份驗證標頭)、ESP(封裝安全載荷) 和IKE (互聯網密鑰交換)。
>身份驗證標頭 ( AH ):AH是一個擴展標頭,用于提供數據完整性、身份驗證和防重放,但不提供加密。反重放保護可確保部分序列完整性,防止未經授權的數據包傳輸。AH不提供數據機密性。
| IP包頭
>封裝安全載荷( ESP ):ESP由封裝的標頭和尾部組成,提供機密性、數據源身份驗證、無連接完整性、抗重放服務(部分序列完整性的一種形式)和有限的流量機密性。
>Internet 密鑰交換 ( IKE ):IETF特定的密鑰管理協議,用于交換和協商安全策略。支持手動或動態關聯密鑰管理。也可以在 IPsec 之外使用。
| AH和ESP包結構(資料來源:Kosem 2018)
IPsec 隧道模式與傳輸模式
對于身份驗證,AH和ESP都支持兩種使用模式:傳輸模式和隧道模式。驗證可以應用于除IP報頭之外的數據包內容(傳輸模式)或整個原始數據包(隧道模式)。
傳輸模式
傳輸模式涵蓋大部分原始數據包,用于端到端通信(例如客戶端和服務器之間的通信)。該模式不改變IP報頭,只是將IP協議字段改為51(AH)或50(ESP),重新計算IP報頭的校驗和。
使用傳輸模式時,IPsec 僅加密 IP 負載,不加密IP 報頭。除非使用單獨的隧道協議(例如 GRE),否則中間路由器能夠看到每個數據包的最終目的地。因此,這種模式最適合主機到主機架構的實現,因為可以在兩個端點之間進行直接通信,并且不必更改 IP 報頭中的 IP 地址。傳輸模式通過 AH 或 ESP 標頭提供對 IP 負載的保護。
| 傳輸模式下的 IPsec ESP 封裝
優點:提供端到端加密;與隧道模式相比開銷最小;更大的MTU(最大傳輸單元)。
缺點:要求在入侵防御系統 (IPS) 實體上實施 IPsec;NAT穿越難度更大(TCP checksum invalidation)。
隧道模式
隧道模式覆蓋整個原始數據包,在該模式下,AH 或 ESP在封裝數據包時會創建一個新的 IP 報頭,原始IP報頭被隱藏,新的 IP 報頭包含所涉及端點的源和目標 IP 地址。這種模式可用于VPN網關之間或主機與VPN網關之間的通信。
| 隧道模式下的 IPsec ESP 封裝
優點:與現有的 VPN 網關更兼容;無需在 IPS 實體上實施 IPsec;更容易穿越NAT。
缺點;更多開銷;較小的MTU 。
例如,給定一個 OSI 網絡模型,傳輸模式將加密傳輸層及以上的所有內容。使用隧道模式,網絡層及以上的所有內容都將被加密。
IPsec是如何工作的?
IPsec的工作原理大致可以分為5個階段:識別“感興趣流”啟動 IPsec 進程;IKE階段1;IKE階段2;數據傳輸;IPSec 隧道終止。
>第 1 步:識別“感興趣流”
網絡設備接收到報文后,通常會將報文的五元組等信息和IPsec策略進行匹配來判斷報文是否需要保護。需要通過IPsec隧道傳輸的流量通常被稱為“感興趣流”。
?
>第 2 步:IKE 階段 1
IKE全稱Internet Key Exchange,IKE 階段 1 的基本目的是驗證 IPsec 對等體,并在它們之間建立安全通道以啟用 IKE 交換。IKE 階段 1 執行以下功能:
驗證和保護 IPsec 對等體的身份
在對等點之間協商匹配的 IKE SA 策略以保護 IKE 交換
執行經過身份驗證的 Diffie-Hellman 交換,最終結果是具有匹配的共享密鑰
設置安全隧道以協商 IKE 階段 2 參數
SA是通信雙方對某些協商要素的約定,比如雙方使用的安全協議、數據傳輸采用的封裝模式、協議采用的加密和驗證算法、用于數據傳輸的密鑰等,通信雙方之間只有建立了SA,才能進行安全的數據傳輸。
>第 3 步:IKE 階段 2
IKE 階段 2 的目的是協商 IPsec SA 以建立 IPsec 隧道。IKE 階段 2 執行以下功能:
協商受現有 IKE SA 保護的 IPsec SA 參數
建立 IPsec 安全聯盟
定期重新協商 IPsec SA 以確保安全
可選擇執行額外的 Diffie-Hellman 交換
IKE 階段 2 有一種模式,稱為快速模式。快速模式發生在 IKE 階段1建立安全隧道之后。它協商共享 IPsec 策略,派生用于 IPsec 安全算法的共享密鑰材料,并建立 IPsec SA。快速模式還用于在 IPsec SA 生存期到期時重新協商新的 IPsec SA。
>第 4 步:IPsec 加密隧道
IKE 階段 2 完成并且快速模式已建立 IPsec SA 后,就可以通過 IPsec 隧道交換信息。使用 IPsec SA 中指定的加密對數據包進行加密和解密。
加密機制保證了數據的機密性,防止數據在傳輸過程中被竊取;驗證機制保證了數據的真實可靠,防止數據在傳輸過程中被仿冒和篡改。加密驗證過程如下圖所示。
| IPsec加密驗證過程
>第 5 步:隧道終止
刪除或超時會導致 IPsec SA 終止,發生這種情況時,密鑰將被丟棄,并再次執行 IKE 階段2以生成新的 SA 和密鑰。如有必要,還會執行新的階段1協商。成功的協商會產生新的 SA 和新的密鑰。但可以在舊的 SA 到期之前建立新的 SA,以保持流量的連續性。
通常情況下,通信雙方之間的會話老化(連接斷開)即代表通信雙方數據交換已經完成,因此為了節省系統資源,通信雙方之間的隧道在空閑時間達到一定值后會自動刪除。
IPsec 的實現在 IPv4 和 IPv6 之間有何不同?
IPsec 是為IPv6開發的,然后追溯添加到 IPv4 中。在IPv6標準中,它是一個強制特性,而在IPv4中,它是可選的,必須得到外部支持。
按照設計,IPv6 更安全,可以免受IP地址掃描攻擊,因為它的地址空間很大。因此,網絡中的IP掃描技術可能無法找到存在安全漏洞的計算機。
IPv4 下的 IPsec 被廣泛應用于VPN,在網絡邊緣終止。在 IPv4 中,IPsec 通常不用于保護端到端流量,因為 IPv4 廣泛使用NAT網絡地址轉換。NAT會破壞 IPv4 標頭并破壞 IPsec。而IPv6 中不存在此限制,因此使用IPsec端到端變得更加實用。
| IPv4 和 IPv6 的安全特性比較(資料來源:霍夫曼 2021)
IPsec VPN
顧名思義,IPsec VPN 是利用 IPsec 協議確保安全的VPN 。IPsec VPN 使用加密算法來提供機密性、身份驗證和數據完整性,并使用計數器和數字排序來檢測重放的數據包。可以使用以下 VPN架構實施 IPsec VPN :
點到點
點到點 VPN指通過IPsec VPN網關連接兩個或兩個以上的網絡(或多個站點)。每個網絡應該有一個 VPN 網關,網關可以是支持 IPsec VPN 的路由器或防火墻,也可以是專門為 IPsec VPN 操作設計的單獨設備。通常使用點到點 VPN 在中央機構和分支機構之間或兩個不同的公司之間建立私有通信和數據交換。
| 站點到站點 IPsec VPN
遠程訪問
遠程訪問VPN 使用戶能夠從 VPN 客戶端連接到中央位置(例如數據中心),并訪問那里托管的資源。這種類型的 VPN 在需要支持遠程工作人員的公司中特別有用。如果有多個設備需要連接到 VPN 網關,那么每個設備上都必須有一個 VPN 客戶端。
| 遠程訪問或客戶端到站點 IPsec VPN
主機到主機
當 IT 管理員想要在遠程服務器上執行某些任務時,服務器本身提供 VPN 服務,IT 管理員的設備充當VPN 客戶端。
| 主機到主機 IPsec VPN
IPsec 與在不同OSI層的其他安全技術相比如何?
網絡服務器系統通過支持各種加密的網絡安全協議來保護網絡中的數據,這些協議的主要區別在于:
IPsec:支持網絡級對等體和數據源身份驗證、數據完整性、數據加密和保護。
SSL(安全套接字層):不像 IPsec 那樣需要預共享密鑰,使用公鑰加密來協商握手并安全交換加密密鑰。可用于繞過防火墻和基于端口的流量阻塞。
TLS(傳輸層安全):基于服務器和客戶端協商的密碼套件的加密算法。使用SSL協議。
HTTPS:使用TLS建立加密鏈接。瀏覽器和網絡服務器之間的數據傳輸被加密,防止網絡罪犯讀取或更改數據。
SNMP(簡單網絡管理協議):基于用戶的安全模型 ( USM ),根據訪問托管信息的用戶提供不同級別的安全性。使用身份驗證和數據加密來保護隱私。
OSPF(開放最短路徑優先)認證:動態路由協議。支持消息認證和OSPF路由消息的完整性。未經授權的IP資源無法在不被檢測到的情況下向網絡注入消息。確保OSPF路由網絡中路由表的完整性。
| IPsec 與SSL(資料來源:Loshin 2019)
IPsec 有什么缺點?
過度依賴公鑰:如果網絡的密鑰管理不善或密鑰的完整性受到損害,那么 IPsec 安全因素就會丟失。
性能開銷:CPU使用率高,因為所有通過服務器的數據都必須加密和解密,網絡性能會因 IPsec 開銷較大而受到影響。可能需要使用硬件設備,例如VPN集中器。
廣泛的權限訪問范圍:在基于 IPsec 的網絡中,對單個設備的訪問權限也可以為其他設備提供訪問權限。因此,如果家庭網絡中的任何設備受到威脅,它可能會影響從家庭網絡(通過 IPsec 隧道)連接的公司網絡。
實現復雜性:IPsec 包含了很多選項和高度的靈活性,這使得它很受歡迎,但相應也增加了復雜性。
網絡兼容性問題:當連接到基于 IPsec 的VPN時,由于防火墻的限制,無法連接到另一個網絡。此外,IPsec 不提供對多協議和IP多播流量的支持。
IPSec 的未來
IPsec在IP層上實現了加密、認證、訪問控制等多種安全技術,極大地提高了TCP/IP協議的安全性,在過去的幾十年中,得到了廣泛的應用。但是隨著網絡技術的不斷發展,它的未來也存在一些挑戰和變化。
IPsec需要更好地支持多種平臺和設備,并提供更靈活的安全解決方案。此外,IPsec可能需要提供更輕量級的安全方案,并具備更高效、更靈活的身份認證和密鑰管理機制。
總之,IPsec在未來仍將繼續發展和改進,并不斷適應新的安全需求和技術發展。未來的IPsec可能會更加靈活、高效和安全,并且能夠應對新的安全挑戰。
審核編輯:劉清
-
ESP
+關注
關注
0文章
184瀏覽量
34011 -
VPN技術
+關注
關注
0文章
16瀏覽量
6978 -
TCPIP協議
+關注
關注
0文章
35瀏覽量
11980 -
GRE
+關注
關注
0文章
19瀏覽量
8583
原文標題:圖解IPsec:剖析IP網絡加密安全技術
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論