IPSec的IKEv1和IKEv2協議

2021-10-19 22:54:21 字數 3363 閱讀 2449

ikev2金鑰協商和交換

初始交換:

ike安全機制

ike是乙個復合協議。

網際網路金鑰交換ike(internet key exchange)協議建立在internet安全聯盟和金鑰管理協議isakmp定義的框架上,是基於udp(user datagram protocol)500 埠號,的應用層協議。

ike負責建立和維護ike sas 和 ipsec sas。功能主要體現在如下幾個方面:

ike的三個元件:

ike有兩個版本:

ike為ipsec提供了自動協商金鑰、建立ipsec安全聯盟的服務,能夠簡化ipsec的使用和管理,大大簡化ipsec的配置和維護工作。

圖:ike與ipsec的關係圖

ike與ipsec的關係如上圖所示,對等體之間建立乙個ike sa完成身份驗證和金鑰資訊交換後,在ike sa的保護下,根據配置的ah/esp安全協議等引數協商出一對ipsec sa。此後,對等體間的資料將在ipsec隧道中加密傳輸。

ikev1階段1的目的是建立ike sa。ike sa建立後對等體間的所有isakmp訊息都將通過加密和驗證,這條安全通道可以保證ikev1階段2的協商能夠安全進行。

注:兩個對等體間僅有乙個ike sa,它是乙個雙向邏輯連線。

ikev1階段2的目的就是建立用來傳輸資料的ipsec sa。ikev1階段2通過快速交換模式完成。由於快速交換模式使用ikev1階段1中生成的金鑰skeyid_ a對isakmp訊息的完整性和身份進行驗證,使用金鑰skeyid_ e對isakmp訊息進行加密,故保證了交換的安全性。

在快速交換模式中,對等體兩端協商ipsecsa的各項引數,並為資料傳輸衍生出金鑰。

主模式的三個交換步驟

1.協商對等體之間使用ike安全提議。

2.使用dh演算法交換與金鑰相關的資訊,並生成金鑰

3.對等體之間驗證彼此身份

野蠻模式ikev1階段1協商過程

主模式野蠻模式

包含三次雙向交換,用到了六條資訊

用到了三條資訊,

訊息①和②用於策略交換,發起方傳送乙個或多個ike安全提議,響應方查詢最先匹配的ike安全提議,並將這個ike安全提議回應給發起方。

訊息③和④用於金鑰資訊交換,雙方交換diffie-hellman公共值和nonce值,ike sa的認證/加密金鑰在這個階段產生。

訊息⑤和⑥用於身份和認證資訊交換(雙方使用生成的金鑰傳送資訊),雙方進行身份認證和對整個主模式交換內容的認證。

野蠻模式只用到三條資訊,前兩條訊息①和②用於協商提議,交換bifiehllman公共值《必需的輔助資訊以及身份資訊,並且訊息②中還包括響應方傳送身份資訊供發起方認證,訊息③用於響應方認證發起方。

與主模式相比,野蠻模式減少了交換資訊的數目,提高了協商的速度,但是沒有對身份資訊進行加密保護。雖然野蠻模式不提供身份保護,但它可以滿足某些特定的網路環境需求。

快速模式共有3條訊息完成雙方ipsec sa的建立

1.訊息1傳送本段的安全引數和身份認證資訊。

注:金鑰的有效時間由配置的安全聯盟生存週期決定。安全聯盟超時後會重新協商金鑰和安全聯盟。

2.訊息2響應訊息1,傳送響應方的安全引數和身份認證資訊並生成新的金鑰。

3.訊息3響應訊息2,確定與響應方可以通訊,協商結束。

ikev2正常情況使用2次交換共4條訊息就可以完成一對ipsec sa的建立,如果要求建立的ipsec sa大於一對時,每一對ipsec sa只需額外增加1次建立子sa交換,也就是2條訊息就可以完成。

ikev2定義了三種交換:初始交換(initial exchanges)、建立子sa交換(create_child_sa exchange)以及通知交換(informational exchange)。

在ikev2中將ikev1中的主模式和野蠻模式換成了inital exchange,將快速模式階段換成了crate_child_sa.

正常情況下,ikev2通過初始交換就可以完成第一對ipsec sa的協商建立。ikev2初始交換對應ikev1的第一階段,初始交換包含兩次交換四條訊息。

圖:初始交換過程圖

訊息①和②屬於第一次交換(稱為ike_sa_init交換),以明文方式完成ike sa的引數協商,包括協商加密和驗證演算法,交換臨時隨機數和dh交換。ike_sa_init交換後生成乙個共享金鑰材料,通過這個共享金鑰材料可以衍生出ipsec sa的所有金鑰。相當於ikev1的主模式的第1,3個包。

訊息③和④屬於第二次交換(稱為ike_auth交換),以加密方式完成身份認證、對前兩條資訊的認證和ipsec sa的引數協商。ikev2支援rsa簽名認證、預共享金鑰認證以及擴充套件認證方法eap(extensible authentication protocol)。eap認證是作為附加的ike_auth交換在ike中實現的,發起者通過在訊息3中省去認證載荷來表明需要使用eap認證。

dh是一種公共金鑰交換方法,它用於產生金鑰材料,並通過isakmp訊息在傳送和接收裝置之間進行金鑰材料交換。然後,兩端裝置各自計算出完全相同的對稱金鑰。該對稱金鑰用於計算加密和驗證的金鑰。在任何時候,通訊雙方都不交換真正的金鑰。dh金鑰交換是ike的精髓所在。

md5、sha1、des、3des、aes等演算法都可以採用dh演算法來共享對稱金鑰。

dh使用金鑰組定義自己產生的金鑰長度。金鑰組長度越長,產生的金鑰就越強壯。

ike的精髓在於它永遠不在不安全的網路上傳送金鑰,而是通過一些資料的交換,通訊雙方最終計算出共享的金鑰,並且即使第三方截獲了雙方用於計算金鑰的所有交換資料,也無法計算出真正的金鑰。其中的核心技術就是dh(diffie hellman)交換技術。

pfs是一種安全特性,指乙個金鑰被破解,並不影響其他金鑰的安全性,因為這些金鑰間沒有派生關係。ipsec sa的金鑰是從ike sa的金鑰匯出的,由於乙個ike sa協商生成一對或多對ipsecsa,當ike的金鑰被竊取後,攻擊者將可能收集到足夠的資訊來匯出ipsec sa的金鑰,pfs通過執行一次額外的dh交換,保證ipsec sa金鑰的安全。

IPSec傳輸模式下的ESP報文的裝包和拆包過程

ipsec將ip資料報的內容在裝包過程在網路層先加密再傳輸,即便中途被截獲,由於缺乏解密資料報所必要的金鑰,攻擊者也無法獲取裡面的內容。加密模式 加密特點 傳輸模式 只是對 ip 協議的資料部分 payload 進行了加密 隧道模式 對整個 ip 分組進行加密 encapsulating secur...

sort排序 1和1的區別

這個是sort方法裡的那個比較函式的特殊的返回值,比較函式的引數 a 和 b 代表陣列裡的兩個元素,如果 a 小於 b,排序後的陣列 a 在 b 前面,此時返回乙個負數 即上面的 return 1 如果 a 等於 b,排序後兩者位置不變,此時返回 0 即上面的 return 0 如果 a 大於 b,...

1和new Number 1 的區別

先講兩個相似的東西 上面第乙個只是把1轉換為數字型別,而第二個,是把 1 包裝 成了乙個物件既 包裝物件 所以 1 和 new number 1 的區別就是原始型別和包裝物件的區別之前我們說過了js有八種資料型別,其中null,undefine,number,string,boolean是原始型別 ...