IPSec邏輯體系架構

2021-09-03 06:26:04 字數 3586 閱讀 9144

以下內容摘自業界唯一一本真正從全域性視角

介紹網路安全系統設計的圖書——《網路工程師必讀——網路安全系統設計》

一書。目前該書在卓越網上僅需要70折:

8.5.1 ipsec邏輯體系架構

有多個rfc定義了ipsec元件和體系架構。這些元件和它們之間的關係構成了ipsec體系架構。本部分主要討論ipsec邏輯體系架色的基本組成,以及這些元件在windows server 2003中是如何協同工作的。

遵照ietf對ipsec協議的定義,在windows server 2003系統中,ipsec體系架構主要包括以下幾個部分:

n 安全關聯(sa)

n sa和金鑰管理支援

n ipsec協議

n 演算法和方法

1. 安全關聯(sa)

安全關聯(security associations,sa)是由互認策略、定義安全服務金鑰機制和在ipsec通訊雙方保護安全通訊的金鑰組成。每個sa是為所負責的通訊提供單方向,或者單一連線的安全保護。

因為sa僅是單方向的定義,所以每個ipsec會話需要兩個sa。例如,如果ipsec協議的ah和esp封裝方式同時在通訊雙方的ipsec會話中應用,則需要4個sa。

ipsec安全通訊的sa需要2個資料庫:1個安全策略資料庫(security policy database,spd),乙個安全關聯資料庫(security association database,sad)。spd儲存sa建立所需的安全需求和策略需求。它被應用於出/入兩個方向的資料報處理期間。ipsec檢查出/入方向的資料報,以確保是符合安全策略需求。

sad包括每個活動sa的引數。ike協議是在sad中自動封裝的。sa建立後,sa資訊將被儲存在sad中。圖8-12顯示了sa、spd以及sad之間的關係。對資料報進行ipsec處理時,要查詢spd和sad。為了提高速度,spd的每一條記錄都應有指向sad中相應記錄的指標,反之亦然。對於外出處理,先查詢spd,獲得指向sa的指標,再在sad查詢進行處理所需引數。如sa未建立,則應使用ike協商,並建立spd和sad間的指標。對於進入處理,先查詢sad,對ipsec包進行還原,取出指向spd的指標,然後驗證該包應用的策略與spd中規定的是否相符。

圖8-12 sa、sad、spd之間的邏輯關係

乙個ipsec系統中spd分為進入spd和外出spd,均處於核心中。系統初始化時,將策略庫中的每一條記錄分別裝入進入spd和外出spd中。為了確保spd的有效性和安全性,應定期進行更新和重新整理。sad的每一條記錄對應乙個sa。sa經ike協商得到,並以有序雜湊鍊錶的形式組織。而且,sad也分為進入sad和外出sad,分別與進入雜湊鍊錶和外出雜湊鍊錶相對應。進入雜湊鍊錶用sa中的ipsec源位址計算雜湊值,外出雜湊鍊錶用sa中的ipsec目的位址計算雜湊值。

sa的維護視sa的建立方式而定。如採用自動方式協商sa,則根據sa生存期的狀態和序號計數器的溢位標誌來決定sa的有效性。生存期分為軟生存期和硬生存期。軟生存期狀態決定傳送方是否可用sa傳送資料報,硬生存期狀態決定接收方是否可用sa來處理收到的資料報。當乙個sa的軟生存期期滿時,傳送方不能繼續用其來傳送資料報,此時,可以啟動或觸發ike再協商乙個。使用軟、硬生存機制可保證通訊的持續性。如採用手工方式建立sa,則不存在生存期,僅根據序號計數器的溢位標誌來決定sa的有效性。如spd或sad過於龐大,則可將一部分置於使用者空間。

2. sa和金鑰管理

ipsec需要sa和金鑰管理支援。isakmp(internet security association and key management protocol,網際網路安全關聯和金鑰管理協議)通過協商、建立、修改和刪除sa過程定義了身份認證和金鑰交換框架。但它不定義實際的金鑰交換,只提供框架。

ipsec需要支援手動和自動兩種方式的sa和金鑰管理。ike是ipsec預設的自動金鑰管理協議的。ike是一種混合協議,合併了oakley金鑰交換協議的一部分和skeme金鑰技術協議。圖8-13顯示了isakmp、oakley和skeme協議之間的關係。

oakley協議使用diffie-hellman金鑰交換或者金鑰許可演算法來建立乙個唯

一、共享的的加密金鑰,這個金鑰是作為產生身份認證和加密所需的金鑰材料。例如,乙個共享加密金鑰可以當作des加密演算法所需的金鑰材料。diffie-hellman交換可以使用乙個用來定義為在金鑰交換過程中使用而建立的基礎主號碼長度的組號。號碼越長,加密能力越強。典型的diffie-hellman組包括組1(金鑰長度為768位)、組2(金鑰長度為1024位)和組14(金鑰長度為2048位)。圖8-14顯示了oakley協議、diffie-hellman演算法和有名的diffie-hellman金鑰交換組之間的關係。

圖8-13 isakmp與ike,以及ike與oakley和skeme協議之間的關係 圖8-14 oakley與diffie-hellman演算法和diffie-hellman組之間的關係

oakley協議定義了多種金鑰交換過程模式。這些模式符合在isakmp協議中定義的兩個協商步驟。步驟1,oakley協議定義兩種法則模式:主模式(main mode)和***性模式(aggressive mode)。windows ipsec不採用***性模式。步驟2:oakley協議只定義乙個模式,即:快速模式(quick mode)快速模式。

3. ipsec協議

為ip層(也即網路層)提供安全保護,ipsec定義了兩個協議:身份認證頭(authentication header,ah)和封裝安全載荷(encapsulating security payload,esp)。這兩個協議為sa提供安全服務。每個sa是由spi(security parameters index,安全引數索引)、目的ip位址和安全協議(ah或者esp)頭進行標識的。

在sa中,spi是唯一的,用來在區別同乙個接收請求計算機上的多個sa。例如,ipsec與兩台計算機進行通訊,則在每台計算機上就需要兩個sa。乙個sa服務於入方向的通訊,乙個sa服務於出方向的通訊。因為對於這兩個sa來說,ipsec通訊端的ip位址是一樣的,spi就可以用於區別入方向和出方向sa。因為每個sa的加密金鑰不同,所以每個sa必須被唯一標識。

圖8-15顯示了sa、spi、目標ip位址和安全協議(ah或者esp)之間的關係,其實也是ipsec協議組成和sa體系架構。從圖中可以看出,在sa中包括了ip頭和ah或者esp頭兩個大部分。而在ip頭中包括了ip位址,而ah或者esp頭中包括了spi。具體這兩個協議的包格式將在本章後面介紹。

圖8-15 ipsec協議和sa體系架構

4. 演算法和方法

ipsec協議使用身份認證、加密和金鑰交換演算法。在ah和esp協議中,有兩種身份認證或者加密雜湊演算法:hmac-md5 (hash message authentication code with md5,哈段訊息認證**-訊息摘要5) 和hmac-sha-1(hashed message authentication code with secure hash algoritm-1,帶有安全哈然演算法1的雜湊訊息身份認證**)。在esp中還可以使用des和3des(triple des)加密演算法。圖8-16顯示了身份認證和加密演算法,以及安全協議之間(ah或者esp)的關係。

ipsec的身份認證方法是由ike協議定義的,被分為三類:數字簽名、公鑰證書和預共享金鑰。圖8-17顯示了ike協議和這三種身份認證方法之間的關係。

圖8-16 ipsec協議及與身份認證、加密演算法和安全協議之間的關係 圖8-17 ike與身份認證方法之間的關係

Oracle邏輯體系

資料庫由若干表空間組成,表空間由若干段組成,段由若干區組成,區又由oracle的最小單元塊組成。資料庫最小單元 塊 分成五個部分。2.表目錄區 只要有一行資料插入到資料庫塊中,那該行資料所在到表資訊將被儲存在這個區域 4.可用空間區 塊中到空餘空間。這個空餘的多少是由oracle的pctfree引數...

Oracle體系架構

oracle資料庫由兩個實體組成 1 例項 2 資料庫 例項 例項由儲存結構和程序組成,短暫存在於ram和cpu 因此例項的生存時間其在記憶體的時間,我們可以啟動和停止例項。資料庫 資料庫分為物理結構和邏輯結構。物理結構 物理結構就是磁碟上的物理檔案 包括三類檔案 控制檔案 control file...

MySQL架構體系

了解mysql必須牢牢記住其體系結構圖,mysql是由sql介面,解析器,優化器,快取,儲存引擎組成的 connectors指的是不同語言中與sql的互動 management serveices utilities 系統管理和控制工具 connection pool 連線池。管理緩衝使用者連線,執...