IPSEC原理及組成

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/dongfei2033/article/details/78046879

1.IPsec介紹

IPsecurity是一套完整的加密系統

 

IPsec-v*n提供三個特性:

authentication  每一個IP包的認證

data integrity  驗證數據完整性,保證在傳輸過程中沒有被人爲改動

confidentiality(私密性)數據包的加密

 

2.IPsec組成

IPsec協議集包括三個協議:

①internet keyexchange(IKE)密匙交換協議

在兩個對等體之間建立一條遂道來完成**交換,協商完成再用下面的方法封裝數據。

IKE動態的,週期性的在兩個PEER之間更新**

②encapsulating secutitypayload(ESP)封裝安全負載

可以對數據包認證,加密,封裝,IP中協議號-50,通常使用3DES來進行加密

③authentication header(AH)

只提供認證,封裝,不提供加密,明文傳送,IP中協議號-51

IKE原理

①組成

由三個不同的協議組成:

ISAKMP:定義了信息交換的體系結構,也就是格式

SKEME:實現公鑰加密認證的機制

Oakley:提供在兩個IPsec對等體間達成相同加***的基本模式的機制

 

ISAKMP基於UDP,源目端口都是500


安全聯盟(SecurityAssociation,簡稱SA)

SA是兩個通信實體經協商建立起來的一種協定,它們決定了用來保護數據包安全的IPsec協議、轉碼方式、**、以及**的有效存在時間等等。任何IPsec實施方案始終會構建一個SA數據庫(SADB),由它來維護IPsec協議,用來保障數據包安全。

 

SA是單向的:如果兩個主機(比如A和B)正在通過ESP進行安全通信,那麼主機A就需要有一個SA,即SA(OUT),用來處理外發的數據包,另外還需要有一個不同的SA,即SA(IN)用來處理進入的數據包。主機A的SA(OUT)和主機B的SA(IN)將共享相同的加密參數(比如**)。

 

SA還要根據協議來區分,如果兩個主機間同時使用ESP和AH,對於ESP和AH會生成不同的SA。

 

SA分爲兩種:

IKE(ISAKMP)SA    協商對IKE數據流進行加密以及對對等體進行驗證的算法(對**的加密和peer的認證)

IPsec SA           協商對對等體之間的IP數據流進行加密的算法

 

對等體之間的IKE SA只能有一個

對等體之間的IPsec SA可以有多個



 

site-to-site ipsecv*n的協商過程,分兩個階段

要想在兩個站點之間安全的傳輸IP數據流,它們之間必須要先進行協商,協商它們之間所採用的加密算法,封裝技術以及**。

階段一:在兩個對等體設備之間建立一個安全的管理連接。沒有實際的數據通過這個連接。這個管理連接是用來保護第二階段協商過程的。

階段二:當對等體之間有了安全的管理連接之後,它們就可以接着協商用於構建安全數據連接的安全參數,這個協商過程是安全的,加密的。協商完成後,將在兩個站點間形成安全的數據連接。用戶就可以利用這些安全的數據連接來傳輸自已的數據了。

第一階段:建立ISAKMPSA協商的是以下信息:

1、對等體之間採用何種方式做認證,是預共享**還是數字證書。

2、雙方使用哪種加密算法(DES3DES

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、雙方使用哪種Diffie-Hellman**組

5、使用哪種協商模式(主模式或主動模式)

6、協商SA的生存期

第二階段:建立IPsecSA協商的是以下信息:

1、雙方使用哪種封裝技術,AH還是ESP

2、雙方使用哪種加密算法

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、使用哪種傳輸模式,是隧道模式還是傳輸模式

5、協商SA的生存期

爲什麼需要兩個SA,它們之間的關係是怎樣的?

第一個隧道ISAKMP SA是用於保護後續的再次協商,

第二次隧道協商的參數是在完全加密的環境下進行的,之後得到的

IPsecSA才真正爲數據做加密!


第一階段策略集面向對象是第二階段的協商包,第二階段的轉換集面向對象是最終的數據包



ESP概述

Encapsulationsecurity payload,用於實現數據機密性以及完整性校驗。

        分裝           安全        有效負載




ESP有兩種模式

傳輸模式:只加密IP頭部以上的數據,對IP頭部不進行加密(適用於GRE (通用路由協議)over IPSEC      加密地點即通信地點

隧道模式:加密原有數據包,再加入新的頭部   加密地點非通信地點


.AH概述

Authenticationheader,認證頭部,用於實現完整性校驗