IPSEC
之前我們講到TLS,是作業在傳輸層的安全協議

現在接觸的IPSEC是關于IP協議中的一些安全問題的保護,
ip存在的安全問題
-
檢查IP資料報內容:資料保密問題
-
偽造IP地址:來源認證問題
-
修改 IP 資料報內容:資料完整性問題
-
重放舊 IP 資料報:序列完整性問題
用于重放攻擊,一種拒絕服務攻擊
什么是IPSEC
IPsec 是一組協議,它們一起用于在設備之間建立加密連接,它有助于確保通過公共網路發送的資料安全,IPsec 通常用于設定VPN,它通過加密IP資料包以及驗證資料包的來源來作業,
在術語“IPsec”中,“IP”代表“Internet 協議”,“sec”代表“安全”,Internet 協議是 Internet 上使用的主要路由協議;它使用IP 地址指定資料的去向,IPsec 是安全的,因為它在此程序中添加了加密和身份驗證,
什么是VPN,什么是IPSEC VPN
虛擬專用網路 (VPN) 是兩臺或多臺計算機之間的加密連接,VPN 連接發生在公共網路上,但通過VPN交換的資料仍然是私有的,因為它是加密的,
VPN 使通過共享網路基礎設施(例如公共互聯網)安全地訪問和交換機密資料成為可能,例如,當員工在遠程而不是在辦公室作業時,他們經常使用 VPN 訪問公司檔案和應用程式,
許多 VPN 使用 IPsec 協議套件來建立和運行這些加密連接,但是,并非所有 VPN 都使用 IPsec,VPN 的另一個協議是SSL / TLS,它在OSI 模型中與 IPsec 不同的層運行,(OSI 模型是使Internet作業的程序的抽象表示,)

用戶可以通過登錄 VPN 應用程式或“客戶端”來訪問 IPsec VPN,這通常需要用戶在他們的設備上安裝應用程式,
VPN 登錄通常基于密碼,雖然通過 VPN 發送的資料是加密的,但如果用戶密碼被泄露,攻擊者可以登錄 VPN 并竊取這些加密資料,使用雙重身份驗證(2FA) 可以增強 IPsec VPN 的安全性,因為單獨竊取密碼將不再為攻擊者提供訪問權限,
IPSEC是如何作業的
密鑰交換: 加密需要密鑰;密鑰是一串隨機字符,可用于“鎖定”(加密)和“解鎖”(解密)訊息,IPsec 通過連接設備之間的密鑰交換設定密鑰,以便每個設備都可以解密其他設備的訊息,
包頭和包尾:通過網路發送的所有資料都被分解成更小的部分,稱為資料包,資料包既包含有效負載,即發送的實際資料,也包含標頭或有關該資料的資訊,以便接收資料包的計算機知道如何處理它們,IPsec 向包含身份驗證和加密資訊的資料包添加多個標頭,IPsec 還添加了尾部,它在每個資料包的有效負載之后而不是之前,
身份驗證: IPsec 為每個資料包提供身份驗證,就像收藏品上的真實性印章一樣,這可確保資料包來自受信任的來源而不是攻擊者,
加密: IPsec 加密每個資料包中的有效負載和每個資料包的 IP 標頭(除非使用傳輸模式而不是隧道模式 - 見下文),這使通過 IPsec 發送的資料保持安全和私密,
傳輸:加密的 IPsec 資料包使用傳輸協議通過一個或多個網路到達目的地,在這個階段,IPsec 流量與常規 IP 流量的不同之處在于它最常使用UDP作為其傳輸協議,而不是TCP,TCP(傳輸控制協議)在設備之間建立專用連接并確保所有資料包都到達,UDP,即用戶資料報協議,不設定這些專用連接,IPsec 使用 UDP,因為這允許 IPsec 資料包通過防火墻,
解密:在通信的另一端,資料包被解密,應用程式(例如瀏覽器)現在可以使用傳遞的資料,
兩種協議
AH:Authentication Header
- 資料來源認證,
- 訊息完整性,以及可選的防重放保護
ESP:Encapsulating Security Payload
- AH提供的所有服務,加上有效載荷機密性,

兩種模式
每個協議 AH/ESP 支持兩種使用模式:傳輸和隧道,
-
傳輸模式(左):保護資料包有效負載; 資料包端到端傳輸, -
隧道模式(右):保護整個資料包; 資料包通過隧道傳輸,

| IPSEC 模式 | 原理 | 加密設備是否等于通信設備 | 使用條件 | 舉例 |
|---|---|---|---|---|
| 傳輸模式 | 在原始IP頭部和IP負載之間插入一個ESP頭部,并且在最后面加上ESP尾部和ESP驗證資料部分 | 加密設備等于通信設備 | 相互通信的設備IP地址必須在其間的網路可路由 | 內部網路的主機要安全的訪問內部服務器資源, |
| 隧道模式 | 把原始IP資料包整個封裝到一個新的IP資料包中,在新的IP頭部和原始IP頭部之間插入ESP頭部,并且在最后面加上ESP尾部和ESP驗證資料部分 | 加密設備不等于通信設備 | 相互通信的設備IP地址在其間的網路是不可路由的 | 一個內部網路的主機要安全穿越internet訪問另一個內部網路的資源,如IPSEC vpn |
安全關聯(security association)
安全關聯 (SA) 是一種單向邏輯連接,為它所承載的流量提供安全服務的發送方和接收方,
為了保護兩個節點之間的雙向通信,需要兩個SA,
SA 是特定于協議的,即每個 SA 都與 AH 或 ESP 相關聯,但不能同時與兩者相關聯
SA 由三元組唯一標識:
- 安全引數索引 (SPI),[一些安全引數的索引]
- 目的地的 IP 地址(單播、多播、廣播)
- 安全協議識別符號(AH 或 ESP),
安全關聯包含以下資訊:
- 用于加密和認證的密鑰材料
- 可以使用的演算法
- 端點的身份
- 系統使用的其他引數
SA 需要用于身份驗證和加密的密鑰材料,SA 所需的密鑰材料的管理稱為密鑰管理,Internet 密鑰交換 (IKE) 協議自動處理密鑰管理,您還可以使用該ipseckey命令手動管理密鑰,IPv4 和 IPv6 資料包上的 SA 可以使用自動密鑰管理,
IPSEC架構

IKEv2
互聯網密鑰交換 (RFC 4306),用于協商 ESP 和/或 AH SA
Internet 密鑰交換版本 2 (IKEv2) 是一種基于 IPsec 的隧道協議,它允許 VPN 設備之間的安全 VPN 通信,它定義了 IPsec 安全關聯 (SA) 的協商和身份驗證程序,IKEv2 生成加密密鑰以確保您的設備和您連接的 VPN 服務器之間的安全資料流,
IKEv2 比 OpenVPN 好嗎?
IKEv2 協議比 OpenVPN 更快、更穩定,它提供了突破性的自動重新連接功能,提高了安全性和易用性,這意味著即使您的設備從一個互聯網源切換到另一個互聯網源,它也會自動恢復您的 VPN 連接,
對于有技術頭腦的人,IKEv2/IPsec 使用 AES-256-GCM 密碼進行加密,再加上 SHA2-384 以確保完整性,這與使用 3072 位 Diffie Hellmann 密鑰的完美前向保密 ( PFS ) 相結合,
IKEv2/IPSec 是眾多協議中的一個,每一個都建立和擴展了前輩的優勢,點對點隧道協議 ( PPTP ) 和第 2 層隧道協議 ( L2TP /IPsec) 等其他 VPN 協議難以平衡速度和安全性,而它們的繼任者 OpenVPN 在這兩個方面都表現出色,
OpenVPN 是目前可用的最好的 VPN 協議之一,這就是它在 NordVPN 應用程式中發揮不可或缺的作用的原因,但是,IKEv2/IPSec 在某些方面甚至超過了 OpenVPN,這在很大程度上要歸功于它的三個定義特征:
- 高速吞吐,
- 增強穩定性,
- 自動重新連接
IKEv2/IPSec 的好處
自動重新連接:當您的 VPN 連接中斷時,IKEv2/IPsec 提供高效的重新連接功能,
領先的加密演算法: IKEv2/IPSec 是一種高級協議,使用高安全性密碼進行加密,以提供最大程度的保護,
支持多種設備: IKEv2/IPsec 支持多種設備,包括以前不受支持的智能手機、連接的家居軟體和一系列路由器,
穩定性: IKEv2/IPsec 提供增強的穩定性,提供穩定的連接,并允許用戶在互聯網連接之間切換而不會失去保護,
速度:在許多 VPN 協議難以保持無縫互聯網體驗的情況下,IKEv2/IPSec 提供高速資料傳輸,并使使用 VPN 進行瀏覽成為更快、更愉快的體驗,
SPD(Security Policy Database)
將 IP 流量映射到特定策略 [“BYPASS VPN”]
每個 SPD 規則需要兩條 ACL 規則,一條定義隧道上的流量,一條定義隧道內的流量,SPD 規則適用的協議對于兩個 ACL 規則必須相同,并且與 ACL 規則一起使用的序列號必須是連續的,
| SPD Rule | Action | Address | Protocol | Sequence Number |
|---|---|---|---|---|
| BYPASS | Permit | Public address | Applicable protocol | N |
| Deny | Tunnel internal address | Applicable protocol | N + 1 | |
| PROTECT | Deny | Public address | Applicable protocol | N |
| Permit | Tunnel internal address | Applicable protocol | N + 1 | |
| DISCARD | Deny | Public address | Applicable protocol | N |
| Deny | Tunnel internal address | Applicable protocol | N + 1 |
SAD(Security Association Database)
將流量映射到特定配置 - 作業模式(隧道/傳輸)、加密和/或身份驗證等
出站流量處理流程

入站流量處理程序

AH和ESP報文
IPv4包裹

使用AH


報文結構

| 欄位 | 功能 |
|---|---|
| NextHeader | 它是一個 8 位欄位,用于標識后面內容的型別,該欄位的值是從設定為 51 的 IP 頭協議欄位集合中選擇的,而協議欄位中的值將進入 AH 下一個頭欄位,Tunnel: next = IP (value 4); Transport: else |
| payloadLength | 它是一個 8 位長的欄位,包含以 32 位字表示的 AH 頭的長度,減去 2,它與 IP 資料包的實際有效負載長度無關,假設如果使用默認選項,則值為 4(三個 32 位固定字加上三個 32 位認證資料字減去兩個), |
| Reserved | 它保留供將來使用,它的長度為 16 位,并設定為零, |
| SPI | 長度為 32 位,和SA三元組一同使用 |
| Sequence number | 這個 32 位欄位是一個單調遞增的計數器,用于重放保護,它是一個可選欄位,發送方始終包含此欄位,接收方可自行決定是否處理它,開始的序列號被初始化為零,使用 SA 傳輸的第一個資料包的序列號為 1,序列號不允許重復, |
使用ESP


Encapsulating Security Payload (ESP) 協議提供了Authentication Header的所有功能(認證、資料完整性和防重放保護),這里的區別在于封裝安全有效負載 (ESP) 提供了最關鍵的安全功能,即資料機密性,下面列出了使用封裝安全負載 (ESP) 的好處,
- 通過加密實作資料報的機密性,
使用安全網關的流量機密性,
使用數字證書驗證資料來源,
使用序列號機制的反重放服務,

AH和ESP的區別
AH 協議提供了一種僅用于身份驗證的機制,AH 提供資料完整性、資料源身份驗證和可選的重放保護服務,通過使用由 HMAC-MD5 或 HMAC-SHA 等演算法生成的訊息摘要來確保資料完整性,通過使用共享密鑰創建訊息摘要來確保資料源身份驗證,重放保護是通過使用帶有 AH 標頭的序列號欄位來提供的,AH 對 IP 標頭及其有效負載進行身份驗證,但某些可以在傳輸程序中合法更改的標頭欄位除外,例如生存時間 (TTL) 欄位,
ESP 協議提供資料機密性(加密)和身份驗證(資料完整性、資料源身份驗證和重放保護),ESP 可以僅與機密性、僅身份驗證或機密性和身份驗證一起使用,ESP 提供認證功能時,使用的演算法與 AH 相同,但覆寫范圍不同,AH 風格的身份驗證對整個 IP 資料包進行身份驗證,包括外部 IP 標頭,而 ESP 身份驗證機制僅對 IP 資料包的 IP 資料報部分進行身份驗證,
本文來自博客園,作者:ivanlee717,轉載請注明原文鏈接:https://www.cnblogs.com/ivanlee717/p/16830126.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/520669.html
標籤:訊息安全
上一篇:標記S3存盤桶物件問題
下一篇:IPSEC原理和模式詳解
