
IPSec的體系結構如下圖所示:

(1)ESP(封裝安全載荷)協議:定義了有關包加密及包格式和给予的服務。
(2)AH(身份驗證報頭)協議:含用AH報身份驗證、包格式及給出的服務。
(3)加密算法:講述怎樣在ESP中用不同的加密算法。如DES、3DES等。
(4)認證算法:講述怎樣在AH和ESP中用不同的身份驗證算法,如MAC2MD5、HMAC2SHLA21等。
(5)密鑰管理協議:在通信實體間,生成、分發、更新密鑰等,如密鑰交換,構建加密、認證的安全信道,密鑰的安全分發和更新。
(6)DOI(解釋域):用來存放密鑰管理協議協商的參數,如加密及認證算法的標識符、運作參數等。
(7)安全策略:用來決定兩個通信實體間如何通信。其核心由安全關聯、安全關聯及安全策略數據庫三部分組成。
其中的重要概念進一步的解釋如下:
①SA:即安全關聯,是給安全目標建個單向的邏輯連接。全部經過同一SA的數據流會得到一樣的安全服務:AH或ESP。對一樣的數據流,同一時間用AH和ESP服務時要兩個嵌套的SA。兩個方向的數據流要通信實體間保護一對出/入對應的SA。其中藉助在AH或ESP報頭中的一個32bit數值在接收端識出數據流至SA的綁定關係,即安全參數索引。
②SAD:即安全關聯數據庫,用於存放與SA關聯的所有狀態數據的存儲結構。
③安全參數索引:一個被攜帶在AH或ESP報頭中的32bit數值,在接收端來識出數據流到SA的綁定關係。
④SPD:即安全策略數據庫,指明所有P數據報文應使用何種安全服務以及如何取得這些服務的數據結構。SPD一般是個有序的結構,顺利获得訪問控制列表描述據流特點。定義數據流和安全服務方式的接口與具體實現相關。SA創建的先決條件是策略,它決定密鑰交換協商協議。
⑤安全處理協議:IP認證協議(AH)、IP封裝安全載荷協議(ESP)。這兩個協議可獨立使用,也可同時使用。前者保護數據的完整性,後者保護數據的私密性和完整性。兩個協議都是將一個變長度的報文結構插入到P頭於上層協議之間。ABH協議用實現協商好的算法和密鑰計算整個報文不變部分的摘要值,然後作為報文完整性的證據,並保存在AH頭結構中。ESP協議則能加密原始報文後當做負載帶在報文中。此外,ESP也可驗證數據完整性,但是與AH包含的字段不一樣。AH和ESP頭部都有的信息是SP和序列號。SPI用在標識特定的一對通信實體間的安全關聯。在通信中序列號持續單向遞增,實體間有數據抗重放服務。兩個安全處理協議都支撐傳輸模式和隧道模式。前者在原始IP報文頭和上層協議間放進AH或ESP協議頭,後者增加新IP頭部,而把原始IP數據包括頭部都當做負載。前者在主機到主機方式報文的處理適用,後者在轉發設備上封裝處理的場景中適用。
