h3c ×××安全協議之IPsec

IPSec協議簡介

  IPSec協議是一系列網絡安全協議的總稱,它是由IETF(Internet Engineering Task 

Force,Internet工程任務組)開發的,可爲通訊雙方提供訪問控制、無連接的完整性、數據來源認證、反重放、加密以及對數據流分類加密等服務。IPSec 協議不是一個單獨的協議,它給出了 IP 網絡上數據安全的一整套體系結構。包括AH(Authentication Header)、ESP(Encapsulating Security Payload )、IKE (Internet Key Exchange )等協議。GRE和IPSec 主要用於實現專線 ×××業務。IPSec 是網絡層的安全機制。通過對網絡層包信息的保護,上層應用程序即使沒有實現安全性,也能夠自動從網絡層提供的安全性中獲益。這打消了人們對×××(Virtual Private Network,虛擬專用網絡)安全性的顧慮,使得×××得以廣泛應用。IPSec是一個用於保證通過IP網絡進行安全(保密性、完整性、真實性)的祕密通信的開放式標準框架IPSec實現了網絡層的加密和認證,在網絡體系結構中提供了一種端到端的安全解決方案IPSec加密的數據包可以通過任何IP網絡,而不需要對中間的網絡互聯設備做任何的改變需要知道加密的惟一設備是端點,大大降低了實現和管理的成本

IPSec提供的服務

 1)認證:報文認證,確定接收的數據與發送的數據是否一致,同時確定發送者是否真實

 2)數據完整性驗證:保證數據傳送過程沒有被修改

 3)保密:使相應的接收者能獲取發送的真正的內容,無關接收者無法獲知

IPSec提供的三種保護形式:

  1)認證頭(Authentication Header,AH)

提供數據源認證無連接的數據完整性服務

   2)封裝安全載荷(Encapsulating Security Payload,ESP)

提供數據源認證無連接的數據完整性服務

無連接的數據保密服務:合法的接收端能夠真正看到IP包中的數據AH和ESP是一套協議的兩個不同機制,可單獨使用,也可組合使用,以滿足不同的安全要求AH和ESP可工作於兩種模式:傳輸模式和隧道模式

  3)互聯網密鑰管理協議(IKMP)

IPSec對報文的處理過程

IPSec對報文的處理過程如下(以AH協議爲例):

(1)  對報文添加認證頭:從IPSec隊列中讀出IP模塊送來的IP報文,根據配置選擇的協議模式(傳輸或是隧道模式)對報文添加AH頭,再由IP層轉發。

(2)  對報文進行認證後解去認證頭:IP層收到IP報文經解析是本機地址,並且協議號爲51,則查找相應的協議開關表項,調用相應的輸入處理函數。此處理函數對報文進行認證和原來的認證值比較,若相等則去掉添加的AH頭,還原出原始的IP報文再調用IP輸入流程進行處理;否則此報文被丟棄。

與IPSec相關的幾個術語

1)數據流:在IPSec中,一組具有相同源地址/掩碼、目的地址/掩碼和上層協議的數據集稱爲數據流。通常,一個數據流採用一個訪問控制列表(acl)來定義,所有爲ACL允許通過的報文在邏輯上作爲一個數據流。爲更容易理解,數據流可以比作是主機之間一個的TCP連接。IPSec 能夠對不同的數據流施加不同的安全保護,例如對不同的數據流使用不同的安全協議、算法或密鑰。

2) 安全策略:由用戶手工配置,規定對什麼樣的數據流採用什麼樣的安全措施。對數據流的定義是通過在一個訪問控制列表中配置多條規則來實現,在安全策略中引用這個訪問控制列表來確定需要進行保護的數據流。一條安全策略由“名字”和“順序號”共同唯一確定。

3) 安全策略組:所有具有相同名字的安全策略的集合。在一個接口上,可應用或者取消一個安全策略組,使安全策略組中的多條安全策略同時應用在這個接口上,從而實現對不同的數據流進行不同的安全保護。在同一個安全策略組中,順序號越小的安全策略,優先級越高。

4)安全聯盟(Security Association,簡稱SA):IPSec對數據流提供的安全服務通過安全聯盟SA來實現,它包括協議、算法、密鑰等內容,具體確定瞭如何對IP報文進行處理。一個SA就是兩個IPSec系統之間的一個單向邏輯連接,輸入數據流和輸出數據流由輸入安全聯盟與輸出安全聯盟分別處理。安全聯盟由一個三元組(安全參數索引(SPI)、IP 目的地址、安全協議號(AH或ESP))來唯一標識。安全聯盟可通過手工配置和自動協商兩種方式建立。手工建立安全聯盟的方式是指用戶通過在兩端手工設置一些參數,然後在接口上應用安全策略建立安全聯盟。自動協商方式由IKE生成和維護,通信雙方基於各自的安全策略庫經過匹配和協商,最終建立安全聯盟而不需要用戶的干預。

5)安全聯盟超時處理:安全聯盟更新時間有“計時間”(即每隔定長的時間進行更新)和“計流量”(即每傳輸一定字節數量的信息就進行更新)兩種方式。

6) 安全參數索引(SPI):是一個32比特的數值,在每一個IPSec 報文中都攜帶該值。SPI、IP目的地址、安全協議號三者結合起來共同構成三元組,來唯一標識一個特定的安全聯盟。在手工配置安全聯盟時,需要手工指定SPI的取值。爲保證安全聯盟的唯一性,每個安全聯盟需要指定不同的SPI值;使用IKE協商產生安全聯盟時,SPI將隨機生成。

7)安全提議:包括安全協議、安全協議使用的算法、安全協議對報文的封裝形式,規定了把普通的IP報文轉換成IPSec報文的方式。在安全策略中,通過引用一個安全提議來規定該安全策略採用的協議、算法等。

安全協議數據封裝格式:

IPsec ××× 應用

IPSec ×××的應用場景分爲3種:

1. Site-to-Site(站點到站點或者網關到網關):如彎曲評論的3個機構分佈在互聯網的3個不同的地方,各使用一個商務領航網關相互建立×××隧道,企業內網(若干PC)之間的數據通過這些網關建立的IPSec隧道實現安全互聯。

2. End-to-End(端到端或者PC到PC): 兩個PC之間的通信由兩個PC之間的IPSec會話保護,而不是網關。

3. End-to-Site(端到站點或者PC到網關):兩個PC之間的通信由網關和異地PC之間的IPSec進行保護。

×××只是IPSec的一種應用方式,IPSec其實是IP Security的簡稱,它的目的是爲IP提供高安全性特性,×××則是在實現這種安全特性的方式下產生的解決方案。IPSec是一個框架性架構,具體由兩類協議組成:

1. AH協議(Authentication Header,使用較少):可以同時提供數據完整性確認、數據來源確認、防重放等安全特性;AH常用摘要算法(單向Hash函數)MD5和SHA1實現該特性。

2. ESP協議(Encapsulated Security Payload,使用較廣):可以同時提供數據完整性確認、數據加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法實現數據加密,使用MD5或SHA1來實現數據完整性

IPSec封裝模式

1)傳輸模式

對IP包的部分信息提供安全保護,即對IP數據包的上層數據(TCP、UDP、ICMP消息等)提供安全保護採用AH傳輸模式,主要爲IP數據包(IP頭中的可變信息除外)提供認證保護採用ESP傳輸模式,對IP數據包的上層信息提供加密和認證雙重保護一種端到端的安全,IPSec在端點執行加密認證、處理,在安全通道上傳輸,主機必須配置IPSec

  2)隧道模式

對整個IP數據包提供保護

基本原理:構造新的IP數據包,將原IP數據包作爲新數據包的數據部分,併爲新的IP數據包提供安全保護採用AH隧道模式,爲整個IP數據包提供認證保護(可變字段除外)

採用ESP隧道模式,爲整個IP數據包提供加密和認證雙重保護對IPSec的處理是在安全網關執行的,兩端主機不必知道IPSec協議

瞭解了IPsec的基本信息之後,下面通過一個案例來對其的工作原理進行進一步的深化。

實驗拓撲

配置信息

F1

F2

F3

Sw1

測試結果:

Pc1 ping pc3

Pc2 ping pc3

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章