什麼是封裝安全載荷 (ESP)?
封裝安全載荷 (ESP) 在基於 IPSec 的所有加密服務中提供有效載荷的完整性(而不是 IP 標頭),以及使用加密的機密性和身份驗證。強烈建議不要使用未經身份驗證的加密,因為它不安全。
任何將可讀訊息格式轉換為不可讀格式的轉換都稱為加密,並用於隱藏訊息內容以防止資料篡改。
IPSec 提供了一個開放框架,例如 SHA 和 MD5,用於實現行業標準演算法。
加密/解密僅允許傳送方和授權接收方以可讀格式接收資料,並且只有在完整性驗證過程完成後,才會對資料包中的資料有效載荷進行解密。
IPSec 為每個資料包使用唯一的識別符號,該識別符號相當於指紋資料,並檢查資料包是否已獲得授權。除非正在進行隧道傳輸,否則它不會對整個資料包進行簽名——通常,對於此 IP 資料有效載荷受到保護,而不是 IP 標頭。在隧道模式下,整個原始 IP 資料包都封裝在一個新的資料包標頭中。
傳輸模式下的 ESP 不會為整個 IP 資料包提供完整性和身份驗證。
ESP 格式
ESP 格式的圖表表示如下:

解釋
**安全引數索引 (32 位)** - 標識安全關聯。此欄位是必需的。值為零保留用於本地實現特定的用途,並且**不得**在網路上傳輸。
**序列號 (32 位)** - 單調遞增的計數器值;這提供了一個防重放功能,如 AH 中所述。使用給定 SA 傳送的第一個資料包的序列號為 1。
**有效載荷資料 (可變)** - 這是由加密保護的傳輸級段 (傳輸模式) 或 IP 資料包 (隧道模式)。受保護的內容型別由“下一跳標頭”欄位指示。
**填充 (0-255 位元組)** - 用於加密的填充,將有效載荷資料擴充套件到適合加密的密碼塊大小,並對齊下一個欄位。
**填充長度 (8 位)** - 指示此欄位前面緊鄰的填充位元組數。
**下一跳標頭 (8 位)** - 透過識別有效載荷資料欄位中的第一個標頭來識別有效載荷資料欄位中包含的資料型別。
**身份驗證資料 (可變)** - 可變長度欄位(必須是 32 位字的整數倍),包含在 ESP 資料包(減去身份驗證資料欄位)上計算的完整性校驗值。此欄位是可選的,僅當為相關 SA 選擇了身份驗證服務時才包含。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP