0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IPSec的基本知識(shí)

jf_uPRfTJDa ? 來(lái)源:ITer的Climb Road ? 2023-12-22 11:07 ? 次閱讀

來(lái)源:ITer的Climb Road

01—IPSec 基本原理

IPSec 是一項(xiàng)標(biāo)準(zhǔn)的安全技術(shù),它通過(guò)在數(shù)據(jù)包中插人一個(gè)預(yù)定義頭部的方式,來(lái)保障 OSI 上層協(xié)議數(shù)據(jù)的安全。IPSec 主要用于保護(hù)網(wǎng)絡(luò)層(IP)數(shù)據(jù),因此它提供了網(wǎng)絡(luò)層的安全性。

它對(duì) VPN 流量提供了如下3 個(gè)方面的保護(hù)。

私密性:數(shù)據(jù)私密性也就是對(duì)數(shù)據(jù)進(jìn)行加密。這樣一來(lái),即使第三方能夠捕獲加密后的數(shù)據(jù),也不能將其恢復(fù)成明文。

完整性:完整性確保數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被第三方算改。

認(rèn)證源認(rèn)證也就是對(duì)發(fā)送數(shù)據(jù)包的源進(jìn)行認(rèn)證,確保是合法的源發(fā)送了此數(shù)據(jù)包。

cefbeb92-9fe5-11ee-8b88-92fbcf53809c.png

如上圖所示,不難看出IPSec 技術(shù)在原始IP 頭部和 IP 負(fù)載之間插入了一個(gè)IPSec 頭部,這樣可以對(duì)原始的IP負(fù)載實(shí)現(xiàn)加密,同時(shí)還可以實(shí)現(xiàn)對(duì)IPSec 頭部和原始IP 負(fù)載的驗(yàn)證,以確保數(shù)據(jù)的完整性。

cf0f5592-9fe5-11ee-8b88-92fbcf53809c.png

02—IPSec框架

一些傳統(tǒng)的安全技術(shù)(如HTTPS)以及無(wú)線(xiàn)安全術(shù)(如WEP/WPA),往往會(huì)采用某種固定的加密和散列函數(shù)。這種做法帶有明顯的賭博性質(zhì),因?yàn)槿绻程爝@個(gè)加密算法曝出嚴(yán)重漏洞,那么使用這個(gè)加密算法或者散列函數(shù)的安全技術(shù)也就難免要遭到淘汰。

為了避免這種在一棵樹(shù)上吊死的悲慘事件發(fā)生,IPSec 并沒(méi)有定義具體的加密和散列函數(shù)。IPSec 的做法是提供一個(gè)框架性的結(jié)構(gòu),但每一次IPSec 會(huì)話(huà)所使用的具體算法,都是通過(guò)協(xié)商來(lái)決定的。也就是說(shuō)如果我們覺(jué)得 3DES 這個(gè)算法所提供的 168 位的加密強(qiáng)度能夠滿(mǎn)當(dāng)?shù)男枰?,那么就不妨?xí)呵沂褂眠@個(gè)協(xié)議來(lái)加密數(shù)據(jù)。但是只要有一天 3DES 出現(xiàn)了嚴(yán)重漏洞,或者出現(xiàn)了一個(gè)更好的加密協(xié)議,那么我們也可以馬上更換加密協(xié)議,使 IPSec VPN 總是使用最新最好的協(xié)議來(lái)進(jìn)行加密。

下圖所示為 IPSec 框架示意圖,這張圖在說(shuō)明不僅僅是散列函數(shù)加密算法,還包括封裝協(xié)議和模式、密鑰有效期等內(nèi)容都可以通過(guò)協(xié)商決定,在兩個(gè)IP Sec 對(duì)等體之間協(xié)商的協(xié)議叫做IKE,下面以 IPSec 框架涉及的技術(shù)為主線(xiàn),詳細(xì)介紹這些技術(shù)的特點(diǎn)和工作原理。

cf1b45e6-9fe5-11ee-8b88-92fbcf53809c.png

03—散列函數(shù)

散列函數(shù)也叫做 HASH 函數(shù),主流的散列算法有MD5與SHA-1。散列函數(shù)的主要任務(wù)是驗(yàn)證數(shù)據(jù)的完整性。通過(guò)散列函數(shù)計(jì)算得到的結(jié)果叫做散列值,這個(gè)散列值也常常被稱(chēng)為數(shù)據(jù)的指紋(Fingerprint)。

cf1f93b2-9fe5-11ee-8b88-92fbcf53809c.png

cf3122f8-9fe5-11ee-8b88-92fbcf53809c.png

如上圖所示:文件內(nèi)容為111,通過(guò)MD5、SHA1算法之后,分別得到了不同的散列值。

散列函數(shù)特點(diǎn):

1.固定大小

散列函數(shù)可以接收任意大小的數(shù)據(jù),并輸出固定大小的散列值。以 MD5 這個(gè)散列算法為例,不管原始數(shù)據(jù)有多大,通過(guò)MD5算得到列值總128 比特,而SHA-1的輸出長(zhǎng)度則為160 比特。

2.雪崩效應(yīng)

原始數(shù)據(jù)就算修改哪怕一個(gè)比特,計(jì)算得到的散列值也會(huì)發(fā)生巨大的變化。

3.單向

只可能從原始數(shù)據(jù)計(jì)算得到散列值,不可能從散列值恢復(fù)哪怕一個(gè)比特的原始數(shù)據(jù)。

4.沖突避免

幾乎不能夠找到另外一個(gè)數(shù)據(jù)和當(dāng)前數(shù)據(jù)計(jì)算的散列值相同,因此散列函數(shù)能夠確保數(shù)據(jù)的唯一性。

散列函數(shù)雖然能夠很好地確認(rèn)數(shù)據(jù)的完整性,但是卻容易遭受中間人攻擊。合法與非法用戶(hù)都可以對(duì)他們發(fā)送的信息進(jìn)行散列函數(shù)計(jì)算,并得到散列值。因此他們也都能把文件和散列值一起打包發(fā)送給接收方,而接收方也都能夠通過(guò)散列函數(shù)來(lái)校驗(yàn)數(shù)據(jù)的完整性。因此,散列函數(shù)雖然能夠確認(rèn)數(shù)據(jù)的完整性,卻不能確保這個(gè)數(shù)據(jù)來(lái)自于可信的源(不提供源認(rèn)證),所以散列函數(shù)存在中間人攻擊的問(wèn)題。

為了彌補(bǔ)這個(gè)漏洞,我們可以使用一個(gè)叫做密鑰化散列信息認(rèn)證代碼 (HMACKeyed-hash Message Authentication Code)的技術(shù),這項(xiàng)技術(shù)不僅僅能夠?qū)崿F(xiàn)完整性校驗(yàn),還能完成源認(rèn)證的任務(wù)。

04—加密算法

加密,顧名思義就是把明文數(shù)據(jù)轉(zhuǎn)換為密文數(shù)據(jù)。這樣一來(lái),即使第三方截獲到了密文數(shù)據(jù),也無(wú)法將其恢復(fù)為明文。而解密過(guò)程則正好相反,合法的接收者通過(guò)正確的解密算法和密鑰恢復(fù)密文到明文。加密算法可以分為如下兩大類(lèi):

對(duì)稱(chēng)密鑰算法

非對(duì)稱(chēng)密鑰算法

1.對(duì)稱(chēng)密鑰算法

cf35c93e-9fe5-11ee-8b88-92fbcf53809c.png

上圖所示為對(duì)稱(chēng)密鑰算法的工作示意圖,從圖中可以看到一個(gè)很明顯的特點(diǎn):加解密雙方使用相同的密鑰與算法進(jìn)行加解密。因此,使用相同密鑰與算法進(jìn)行加解密運(yùn)算的算法就叫做對(duì)稱(chēng)密鑰算法。

對(duì)稱(chēng)密鑰算法有如下特點(diǎn):

優(yōu)點(diǎn):速度快、安全、緊湊

缺點(diǎn):

明文傳輸共享密鑰,容易出現(xiàn)中途劫持和竊聽(tīng)的問(wèn)題;

隨著參與者數(shù)量的增加,密鑰數(shù)量急劇膨脹 ((n x (n-1)) /2);

因?yàn)槊荑€數(shù)量過(guò)多,對(duì)密鑰的管理和存儲(chǔ)是一個(gè)很大的問(wèn)題;

不支持?jǐn)?shù)字簽名和不可否認(rèn)性。

對(duì)稱(chēng)密鑰算法的主流協(xié)議:

DES、3DES、AES、RC4

2.非對(duì)稱(chēng)密鑰算法加密

在使用非對(duì)稱(chēng)密鑰技術(shù)之前,所有參與者,不管是用戶(hù)還是路由器等網(wǎng)絡(luò)設(shè)備,都需要預(yù)先使用非對(duì)稱(chēng)加密算法(如 RSA)產(chǎn)生一對(duì)密鑰。

非對(duì)稱(chēng)加密需要4個(gè)密鑰。通信雙方各自準(zhǔn)備一對(duì)公鑰和私鑰。其中公鑰是公開(kāi)的,由信息接受方提供給信息發(fā)送方。公鑰用來(lái)對(duì)信息加密。私鑰由信息接受方保留,用來(lái)解密。公鑰是公開(kāi)的,就不存在保密問(wèn)題。也就是說(shuō)非對(duì)稱(chēng)加密完全不存在密鑰配送問(wèn)題!

假設(shè)小明想約小紅出來(lái)玩:

1、小明確定了自己的私鑰 mPrivateKey,公鑰 mPublicKey。自己保留私鑰,將公鑰mPublicKey發(fā)給了小紅;

2、小紅確定了自己的私鑰 hPrivateKey,公鑰 hPublicKey。自己保留私鑰,將公鑰 hPublicKey 發(fā)給了小明;

3、小明發(fā)送信息 “周六早10點(diǎn)T1樓下見(jiàn)”,并且用小紅的公鑰 hPublicKey 進(jìn)行加密。

4、小紅收到信息后用自己的私鑰 hPrivateKey 進(jìn)行解密。然后回復(fù) “收到,不要遲到” 并用小明的公鑰mPublicKey加密。

5、小明收到信息后用自己的私鑰 mPrivateKey 進(jìn)行解密。

以上過(guò)程是一次完整的request和response。通過(guò)這個(gè)例子我們梳理出一次信息傳輸?shù)姆菍?duì)稱(chēng)加、解密過(guò)程:

1、消息接收方準(zhǔn)備好公鑰和私鑰

2、私鑰接收方自己留存、公鑰發(fā)布給消息發(fā)送方

3、消息發(fā)送方使用接收方公鑰對(duì)消息進(jìn)行加密

4、消息接收方用自己的私鑰對(duì)消息解密

通過(guò)私鑰加密的數(shù)據(jù)只能由公鑰解密,通過(guò)公鑰加密的數(shù)據(jù)只能由私鑰解密。由于加密和解密使用不同的密鑰,因此稱(chēng)為非對(duì)稱(chēng)加密。

數(shù)字簽名

非對(duì)稱(chēng)密鑰算法的第二個(gè)用途就是實(shí)現(xiàn)數(shù)字簽名,為什么要簽名呢?簽名的目的無(wú)非是對(duì)某一份文件進(jìn)行確認(rèn)。

例如,欠條。張三欠李四 10000 元錢(qián),欠款人張三在欠條上簽名確認(rèn)。簽名的主要作用就是張三對(duì)這張欠條進(jìn)行確認(rèn),事后不能抵賴(lài)(不可否認(rèn)性)。到底最后誰(shuí)會(huì)看這個(gè)簽名呢?李四很明顯沒(méi)必要反復(fù)去確認(rèn)簽名。一般都是在出現(xiàn)糾紛后,例如,張三抵賴(lài)不還的時(shí)候,李四就可以把欠條拿出來(lái),給法官這些有權(quán)威的第三方來(lái)進(jìn)行驗(yàn)證,如果他們確認(rèn)此欠條上的簽名確實(shí)來(lái)自張三無(wú)疑,張三就不能再否認(rèn)欠李四錢(qián)這一既定事實(shí)了。

我們來(lái)看看數(shù)字簽名是如何工作的。

步驟 1:重要明文信息通過(guò)散列函數(shù)計(jì)算得到散列值(明文)。

步驟 2:“用戶(hù)一”(發(fā)起者)使用自己的私鑰對(duì)步驟1計(jì)算的明文散列值進(jìn)行加密,加密后的散列值就叫做數(shù)字簽名(密文)

步驟3:把重要明文信息和數(shù)字簽名一起打包發(fā)送給“用戶(hù)二”(接收方)。

步驟4:“用戶(hù)二”從打包文件中提取出重要明文信息。

步驟5:“用戶(hù)二”使用和“用戶(hù)一”相同的散列函數(shù)對(duì)步驟4提取出來(lái)的重要明文信息計(jì)算散列值,得到的結(jié)果簡(jiǎn)稱(chēng)“散列值 1(明文)”。

步驟6:“用戶(hù)二”從打包文件中提取出數(shù)字簽名(密文)。

步驟7:“用戶(hù)二”使用預(yù)先獲取的“用戶(hù)一”的公鑰,對(duì)步驟6提取出的密文的數(shù)字簽名進(jìn)行解密,得到明文的“散列值 2”。

步驟8:比較“散列值 1”和“散列值2”是否相等。如果相等,數(shù)字簽名校驗(yàn)成功。

1. 紅紅有兩把鑰匙,一把是公鑰,另一把是私鑰。

2. 紅紅把公鑰送給他的朋友們——帕蒂、道格、蘇珊——每人一把。

3. 蘇珊要給紅紅寫(xiě)一封保密的信。她寫(xiě)完后用紅紅的公鑰加密,就可以達(dá)到保密的效果。

4. 紅紅收信后,用私鑰解密,就看到了信件內(nèi)容。這里要強(qiáng)調(diào)的是,只要紅紅的私鑰不泄露,這封信就是安全的,即使落在別人手里,也無(wú)法解密。

5. 紅紅給蘇珊回信,決定采用“數(shù)字簽名”。他寫(xiě)完后先用Hash函數(shù),生成信件的散列值(digest)。

cf69abb4-9fe5-11ee-8b88-92fbcf53809c.png

6. 然后,紅紅使用私鑰,再對(duì)這個(gè)散列值(digest)加密,生成“數(shù)字簽名”(signature)。

cf716e6c-9fe5-11ee-8b88-92fbcf53809c.png

7. 紅紅將這個(gè)簽名,附在信件下面,一起發(fā)給蘇珊。

cf78a0d8-9fe5-11ee-8b88-92fbcf53809c.png

8. 蘇珊收信后,取下“數(shù)字簽名”(signature),用紅紅的公鑰解密,得到信件的散列值1(digest 1)。由此證明,這封信確實(shí)是紅紅發(fā)出的。

cf7f8f38-9fe5-11ee-8b88-92fbcf53809c.png

9. 蘇珊再對(duì)信件本身使用Hash函數(shù),將得到的散列值2(digest 2),與上一步得到的散列值1(digest 1)進(jìn)行對(duì)比。如果兩者一致,就證明這封信未被修改過(guò)。

cf8a4aa4-9fe5-11ee-8b88-92fbcf53809c.png

10. 復(fù)雜的情況出現(xiàn)了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了紅紅的公鑰。此時(shí),蘇珊實(shí)際擁有的是道格的公鑰,但是還以為這是紅紅的公鑰。因此,道格就可以冒充紅紅,用自己的私鑰做成“數(shù)字簽名”,寫(xiě)信給蘇珊,讓蘇珊用假的紅紅公鑰進(jìn)行解密。

11. 后來(lái),蘇珊感覺(jué)不對(duì)勁,發(fā)現(xiàn)自己無(wú)法確定公鑰是否真的屬于紅紅。她想到了一個(gè)辦法,要求紅紅去找“證書(shū)中心”(certificate authority,簡(jiǎn)稱(chēng)CA),為公鑰做認(rèn)證。證書(shū)中心用自己的私鑰,對(duì)紅紅的公鑰和一些相關(guān)信息一起加密,生成“數(shù)字證書(shū)”(Digital Certificate)。

cfa4767c-9fe5-11ee-8b88-92fbcf53809c.png

12. 紅紅拿到數(shù)字證書(shū)以后,就可以放心了。以后再給蘇珊寫(xiě)信,只要在簽名的同時(shí),再附上數(shù)字證書(shū)就行了。

cfaa6a96-9fe5-11ee-8b88-92fbcf53809c.png

13. 蘇珊收信后,用CA的公鑰解開(kāi)數(shù)字證書(shū),就可以拿到紅紅真實(shí)的公鑰了,然后就能證明“數(shù)字簽名”是否真的是紅紅簽的。

cfb29202-9fe5-11ee-8b88-92fbcf53809c.png

非對(duì)稱(chēng)密鑰算法有如下特點(diǎn):

優(yōu)點(diǎn):更安全、不用擔(dān)心交換的公鑰被劫持、支持?jǐn)?shù)字簽名和不可否認(rèn)性

缺點(diǎn):

加密速度會(huì)很慢

密文會(huì)變長(zhǎng)

非對(duì)稱(chēng)密鑰算法的主流協(xié)議: RSA (數(shù)字簽名和數(shù)字證書(shū)的主流協(xié)議) DH (IPSec 產(chǎn)生密鑰資源的主要協(xié)議) ECC (橢圓曲線(xiàn)算法)

由于上述缺點(diǎn),與對(duì)稱(chēng)密鑰算法一樣,在一套安全解決方案中不可能單獨(dú)使用非對(duì)稱(chēng)密鑰算法。那么我們應(yīng)該如何利用對(duì)稱(chēng)和非對(duì)稱(chēng)密鑰算法的優(yōu)勢(shì)來(lái)加密實(shí)際的數(shù)據(jù)呢?下面來(lái)看一個(gè)巧妙的加密解決方案。

巧妙的加密解決方案

對(duì)稱(chēng)密鑰算法和非對(duì)稱(chēng)密鑰算法,這兩種算法都各有其優(yōu)缺點(diǎn)。對(duì)稱(chēng)密鑰算法加密速度快,但是密鑰數(shù)量過(guò)多不好管理,并且密鑰分發(fā)不安全。非對(duì)稱(chēng)密鑰算法密鑰數(shù)量少,密鑰分發(fā)方便并且不存在安全隱患,但是加密速度奇慢,不可能用于大流量數(shù)據(jù)的加密。所以在實(shí)際使用加密算法的時(shí)候,一般會(huì)讓兩種算法共同工作,發(fā)揮各自?xún)?yōu)點(diǎn)。下面是一個(gè)非常巧妙的聯(lián)合對(duì)稱(chēng)和非對(duì)稱(chēng)算法的解決方案,這種解決問(wèn)題的思路被大量運(yùn)用到實(shí)際加密技術(shù)。

cfba3822-9fe5-11ee-8b88-92fbcf53809c.png

步驟1:“用戶(hù)一”(發(fā)起方)使用本地隨機(jī)數(shù)產(chǎn)生器,產(chǎn)生用于對(duì)稱(chēng)密鑰算法的隨機(jī)密鑰,用于加密數(shù)據(jù)。 步驟2:使用步驟1產(chǎn)生的隨機(jī)密鑰,對(duì)重要的明文信息通過(guò)對(duì)稱(chēng)密算法進(jìn)行加密,并得到密文。 步驟3:“用戶(hù)一”(發(fā)送方)需要預(yù)先獲取“用戶(hù)二”(接收方)的公鑰,并且使用“用戶(hù)二”的公鑰對(duì)步驟1產(chǎn)生的隨機(jī)密鑰進(jìn)行加密,得到加密的密鑰包。 步驟4:對(duì)步驟2和步驟3產(chǎn)生的密文和密鑰包一起發(fā)送給“用戶(hù)二(接收方)。 步驟5:“用戶(hù)二”首先提取出密鑰包,并且使用自己的私鑰對(duì)它進(jìn)行解密,并得到明文的隨機(jī)密鑰。

步驟6:“用戶(hù)二”提取出密文,并且使用步驟5解密得到的隨機(jī)密鑰進(jìn)行解密,得到明文的重要信息。

05—封裝協(xié)議

IP Sec有ESP和AH兩種封裝協(xié)議

cfc61caa-9fe5-11ee-8b88-92fbcf53809c.png

ESP(Encapsulation Security Payload)的IP協(xié)議號(hào)為50,ESP能夠?yàn)閿?shù)據(jù)提供私密性(加密)、完整性和源認(rèn)證3大方面的保護(hù),并且能夠抵御重放攻擊(反復(fù)發(fā)送相同的包,接收方由于不斷地解密消耗系統(tǒng)資源,實(shí)現(xiàn)拒絕服務(wù)攻擊(DOS))

ESP 只能保護(hù)IP負(fù)載數(shù)據(jù),不對(duì)原始 IP 頭部進(jìn)行任何安全防護(hù)。

AH(Authentication Header)的IP 協(xié)議號(hào)為 51,AH 只能夠?yàn)閿?shù)據(jù)提供完整性和源認(rèn)證兩方面的安全服務(wù),并且抵御重放攻擊。AH 并不能為數(shù)據(jù)提供私密性服務(wù),也就是說(shuō)不加密,所以在實(shí)際部署IPSe VPN 的時(shí)候很少使用AH,絕大部分IPSec VPN都會(huì)使用 ESP 進(jìn)行封裝。 AH不僅能保護(hù)IP負(fù)載數(shù)據(jù),還能對(duì)原始 IP 頭部進(jìn)行驗(yàn)證。

當(dāng)然AH 不提供私密性服務(wù),只是它不被廣泛采用的其中一個(gè)原因,另外一個(gè)原因是AH協(xié)議封裝的IPSec數(shù)據(jù)包不能穿越NAT。

06—封裝模式

IPSec有如下兩種數(shù)據(jù)封裝模式: 傳輸模式(Transport mode) 隧道模式(Tunnel mode)

cfc61caa-9fe5-11ee-8b88-92fbcf53809c.png

傳輸模式(Transport mode)

因?yàn)锳H少使用所以封裝模式示意圖中我們都以ESP封裝協(xié)議為例來(lái)進(jìn)行介紹。

傳輸模式實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,主要就是在原始 IP 頭部和 IP 負(fù)載(TCP頭部和應(yīng)用層數(shù)據(jù))之間插入一個(gè)ESP 頭部。當(dāng)然ESP 還會(huì)在最后追加上ESP尾部和ESP驗(yàn)證數(shù)據(jù)部分,并且對(duì) IP負(fù)載和 ESP尾部進(jìn)行加密和驗(yàn)證處理,但原始 IP 頭部被完整地保留了下來(lái)。

隧道模式(Tunnel mode)

隧道模式把原始 IP 數(shù)據(jù)包整個(gè)封裝到了一個(gè)新的 IP 數(shù)據(jù)包中,并且在新 IP 頭部和原始 IP 頭部中間插入了ESP 頭部,以此對(duì)整個(gè)原始IP 數(shù)據(jù)包進(jìn)行了加密和驗(yàn)證處理。

07—密鑰有效期

長(zhǎng)期使用相同密鑰來(lái)加密數(shù)據(jù)是不明智的,應(yīng)該周期性地更新密鑰,Cisco的IPSec VPN 用于加密實(shí)際數(shù)據(jù)的密鑰,默認(rèn)每一個(gè)小時(shí) (3600秒)就要更新一次。

Cisco的IPSec VPN 雖然默認(rèn)每小時(shí)更換一次密鑰,但下一個(gè)小時(shí)使用的密鑰是由當(dāng)前這個(gè)小時(shí)使用的密鑰,通過(guò)一系列的算法衍生得出的。也就是說(shuō)這些密鑰之間存在推演關(guān)系。這樣的密鑰更新就不能叫做完美向前保密 PFS(Prfect Forward Secrecy)。

PFS 要求每一次密鑰更新,都需要重新產(chǎn)生全新的密鑰,和以前使用的密鑰不存在任何衍生關(guān)系。Cisco 的IPSec VPN一旦啟用了 PFS 技術(shù),就會(huì)在每一個(gè)小時(shí)結(jié)束的時(shí)候,展開(kāi)一次全新的 DH 交換算法,產(chǎn)生全新的密鑰用于下一個(gè)小時(shí)加密。

08—IKE(互聯(lián)網(wǎng)密鑰交換)協(xié)議

IPSec VPN需要預(yù)先協(xié)商加密協(xié)議、散列函數(shù)、封裝協(xié)議、封裝模式和密鑰有效期等內(nèi)容。具體執(zhí)行協(xié)商任務(wù)的協(xié)議叫做互聯(lián)網(wǎng)密交換協(xié)議 IKE。IKE主要完成如下3個(gè)方面的任務(wù)。

對(duì)建立IPSec 的雙方進(jìn)行認(rèn)證(要預(yù)先協(xié)商認(rèn)證方式)。

通過(guò)密鑰交換,產(chǎn)生用于加密和 HMAC 的隨機(jī)密鑰。

協(xié)商協(xié)議參數(shù) (加密協(xié)議、散列函數(shù)、封裝協(xié)議、封裝模式和密有效期)。

協(xié)商完成后的結(jié)果就叫做安全關(guān)聯(lián) SA,也可以說(shuō)IKE 建立了安全關(guān)聯(lián)SA。一共有兩種類(lèi)型,一種叫做IKE SA,另一種叫做IPSec SA

IKE SA維護(hù)了安全防護(hù) (加密協(xié)議、散列函數(shù)、認(rèn)證方式、密鑰有效期等)IKE 協(xié)議的細(xì)節(jié)。

IPSec SA 則維護(hù)了安全防護(hù)實(shí)際用戶(hù)流量 (通信點(diǎn)之間流量)的細(xì)節(jié)。

cfdb067e-9fe5-11ee-8b88-92fbcf53809c.png

SKEME 決定了IKE的密鑰交換方式,IKE主要使用DH來(lái)實(shí)現(xiàn)密鑰交換。

Oakley 決定了IPSec 的框架設(shè)計(jì),讓IPSec 能夠支持更多的協(xié)議。

ISAKMP 是 IKE 的本質(zhì)協(xié)議,它決定了 IKE 協(xié)商包的封裝格式,交換過(guò)程和模式的切換。

ISAKMP是IKE的核心協(xié)議,所以經(jīng)常會(huì)把IKE與ISAKMP 這兩個(gè)詞語(yǔ)換著使用。例如,IKE SA 也經(jīng)常被說(shuō)成ISAKMP SA。在配置 IPSec VPN 的時(shí)候,主要的配置內(nèi)容也是ISAKMP。SKEME 和Okley 沒(méi)有任何相關(guān)的配置內(nèi)容,如果一定要對(duì)IKE和ISAKMP進(jìn)行區(qū)分的話(huà),那么由于 SKEME 的存在,因此IKE 能夠決定密鑰交換的方式,但是ISAKMP只能夠?yàn)槊荑€交換來(lái)交換數(shù)據(jù)包,但卻不能決定密鑰交換實(shí)現(xiàn)的方式。

IKE的2個(gè)階段與3個(gè)模式

cfdf9d4c-9fe5-11ee-8b88-92fbcf53809c.png

IKE協(xié)商分為兩個(gè)不同的階段:第一階段和第二階段

第一階段協(xié)商分別可以使用 6 個(gè)包交換的主模式或者3個(gè)包交換的主動(dòng)模式來(lái)完成,第一階段協(xié)商的主要目的就是對(duì)建立 IPSec 的雙方進(jìn)行認(rèn)證,以確保只有合法的對(duì)等體 (peer) 才能夠建立 IPSec VPN。協(xié)商得到的結(jié)果就是IKE SA。

第二階段總是使用 3 個(gè)包交換的快速模式來(lái)完成,第二階段的主要目的就是根據(jù)需要加密的實(shí)際流量(感興趣流),來(lái)協(xié)商保護(hù)這些流量的策略。協(xié)商的結(jié)果就是IPSec SA。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4612

    瀏覽量

    92901
  • IPSec
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    22811
  • 網(wǎng)絡(luò)層
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    10299
  • 散列函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5630

原文標(biāo)題:圖解 IPSec

文章出處:【微信號(hào):5G通信,微信公眾號(hào):5G通信】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IPsec的基礎(chǔ)知識(shí)

    了解IPsec迫切需要在大型公共WAN(主要是Internet)上安全地傳輸數(shù)據(jù)包。解決方案是開(kāi)發(fā)許多網(wǎng)絡(luò)協(xié)議,其中IPsec是部署最多的協(xié)議之一。它可以從以下事實(shí)中獲益:無(wú)需對(duì)附加的同行進(jìn)行任何
    發(fā)表于 08-09 13:50

    電工基本知識(shí)

    電工基本知識(shí)
    發(fā)表于 09-21 16:34 ?0次下載
    電工<b class='flag-5'>基本知識(shí)</b>

    LDO基本知識(shí)

    LDO基本知識(shí)
    發(fā)表于 02-09 10:26 ?103次下載
    LDO<b class='flag-5'>基本知識(shí)</b>

    MIMO 的基本知識(shí)介紹

    MIMO 的基本知識(shí)介紹 很好的初學(xué)者入門(mén)書(shū)籍
    發(fā)表于 06-25 14:47 ?25次下載

    功率MOSFET的基本知識(shí)

    功率MOSFET的基本知識(shí)
    發(fā)表于 04-16 23:34 ?2361次閱讀
    功率MOSFET的<b class='flag-5'>基本知識(shí)</b>

    繼電器基本知識(shí)

    繼電器基本知識(shí)
    發(fā)表于 06-30 19:28 ?1847次閱讀

    網(wǎng)絡(luò)基本知識(shí)教程

    網(wǎng)絡(luò)基本知識(shí)教程
    發(fā)表于 01-13 12:55 ?1577次閱讀

    HFC網(wǎng)絡(luò)基本知識(shí)

    HFC網(wǎng)絡(luò)的基本知識(shí)講解
    發(fā)表于 11-08 17:30 ?59次下載
    HFC網(wǎng)絡(luò)<b class='flag-5'>基本知識(shí)</b>

    LED基本知識(shí)

    介紹LED的基本知識(shí)以及LED的分類(lèi)。
    發(fā)表于 05-30 14:58 ?0次下載

    安全用電基本知識(shí)

    安全用電基本知識(shí)安全用電基本知識(shí)安全用電基本知識(shí)
    發(fā)表于 01-14 15:54 ?0次下載

    UPS電源的基本知識(shí)

    電子專(zhuān)業(yè)單片機(jī)相關(guān)知識(shí)學(xué)習(xí)教材資料——UPS電源的基本知識(shí)
    發(fā)表于 09-13 17:46 ?0次下載

    光纖基本知識(shí)

    光纖基本知識(shí)
    發(fā)表于 12-15 22:26 ?0次下載

    線(xiàn)程的基本知識(shí)

    【RT-Thread】線(xiàn)程的基本知識(shí)
    的頭像 發(fā)表于 02-04 15:42 ?3487次閱讀
    線(xiàn)程的<b class='flag-5'>基本知識(shí)</b>

    CPLD/FPGA的基本知識(shí)

    CPLD/FPGA的基本知識(shí)講解。
    發(fā)表于 03-30 09:55 ?31次下載
    CPLD/FPGA的<b class='flag-5'>基本知識(shí)</b>

    電氣基本知識(shí)科普

    電氣基本知識(shí)科普
    的頭像 發(fā)表于 09-09 10:23 ?6128次閱讀
    電氣<b class='flag-5'>基本知識(shí)</b>科普