IPSec VPN詳解(深入淺出簡(jiǎn)單易懂)_第1頁(yè)
IPSec VPN詳解(深入淺出簡(jiǎn)單易懂)_第2頁(yè)
IPSec VPN詳解(深入淺出簡(jiǎn)單易懂)_第3頁(yè)
IPSec VPN詳解(深入淺出簡(jiǎn)單易懂)_第4頁(yè)
IPSec VPN詳解(深入淺出簡(jiǎn)單易懂)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

IPSecVPN詳解

1.IPSec概述

IPSec(ipsecurity)是一種開(kāi)放標(biāo)準(zhǔn)的框架結(jié)構(gòu),特定的通信方之間在IP層通過(guò)加密和數(shù)據(jù)摘要(hash)等手段,來(lái)保證數(shù)據(jù)包在Internet網(wǎng)上傳輸時(shí)的私密性(confidentiality)、完整性(dataintegrity)和真實(shí)性(originauthentication)。

1.1.通過(guò)加密保證數(shù)據(jù)的私密性

★私密性:防止信息泄漏給未經(jīng)授權(quán)的個(gè)人

★通過(guò)加密把數(shù)據(jù)從明文變成無(wú)法讀懂的密文,從而確保數(shù)據(jù)的私密性

4ehlDx67NMop9eRU78IOPotVBn^l5TR

加密

丈在是

看不懂

*

解密

4ehlDx67NMop9eRU78IOPotVBn45TR

1?2■對(duì)數(shù)據(jù)進(jìn)行hash運(yùn)算來(lái)保證完整性

★完整性:數(shù)據(jù)沒(méi)有被非法篡改★通過(guò)對(duì)數(shù)據(jù)進(jìn)行hash運(yùn)算,產(chǎn)生類(lèi)似于指紋的數(shù)據(jù)摘要,以保證數(shù)據(jù)的完整性

馳改數(shù)據(jù)

土豆兩塊錢(qián)一斤

Hfish

Hash

fl

m土豆三塊錢(qián)一斤匚

4diIDx67NMop9

兩者不一敎代表

」數(shù)曙已披篡改

2fwex67N32rfee3

_.0「:I土豆兩塊錢(qián)一斤

坐h!Dx67NMop9寧□血Dx67NMop9

A

對(duì)數(shù)據(jù)和密鑰一起進(jìn)行hash運(yùn)算

★攻擊者篡改數(shù)據(jù)后,可以根據(jù)修改后的數(shù)據(jù)生成新的摘要,以此掩蓋自己的攻擊行為

★通過(guò)把數(shù)據(jù)和密鑰一起進(jìn)行hash運(yùn)算,可以有效抵御上述攻擊。

土豆三塊錢(qián)一斤

2ftvex67N32rfce3

4

Hash

兩者還是不一致

龍土豆兩塊錢(qián)「斤]

[fefe23fgrNMop7蝕曲如NMopY

我:同捕改數(shù)據(jù)利齒要

>

土豆兩塊錢(qián)一斤4彳

H;ish

密鑰

DH算法的基本原理

問(wèn)題:怎樣在雙方之間安全地傳遞密鑰?

哈哈十要是敢直接樓遞密鑰才我就只好倫看了

?密鑰

Rontei'A

艮outerB

生成一個(gè)整數(shù)p:;生成一個(gè)整數(shù)q

TOC\o"1-5"\h\z

把p發(fā)送到對(duì)端——」_:,

.―J—i把q發(fā)送到對(duì)端

根據(jù)p、q生成gij根據(jù)p、q生成g

生成密鑰旳|上;生成密鑰Xb

把M智血發(fā)送|血J丿

到對(duì)端:;

.|Xb|把Xb發(fā)送

L1到對(duì)端

最后得到的

對(duì)稱(chēng)窸鑰

Key=5^Xb

F(X瀘Xb)

1.3.通過(guò)身份認(rèn)證保證數(shù)據(jù)的真實(shí)性

★真實(shí)性:數(shù)據(jù)確實(shí)是由特定的對(duì)端發(fā)出

★通過(guò)身份認(rèn)證可以保證數(shù)據(jù)的真實(shí)性。常用的身份認(rèn)證方式包括

Pre-sharedkey,預(yù)共享密鑰

RSASignature,數(shù)字簽名

1.3.1.預(yù)共享密鑰

預(yù)共享密鑰,是指通信雙方在配置時(shí)手工輸入相同的密鑰。

本地

遠(yuǎn)端

生成的HashL

接收?到的H聒hL

共享密鑰

1.3.2.數(shù)字證書(shū)

★RSA密鑰對(duì),一個(gè)是可以向大家公開(kāi)的公鑰,另一個(gè)是只有自己知道的私鑰。

★用公鑰加密過(guò)的數(shù)據(jù)只有對(duì)應(yīng)的私鑰才能解開(kāi),反之亦然?!飻?shù)字證書(shū)中存儲(chǔ)了公鑰,以及用戶(hù)名等身份信息。

■+身份信息

數(shù)字簽名

Hash

2.IPSec框架結(jié)構(gòu)

IPS氏框架

可選擇的算法

IPS比安全協(xié)議

加密

數(shù)據(jù)摘要

對(duì)稱(chēng)密鑰交換

ESP

AH

DES

3DES

MD5

SHA

DH1

DH2

AES

2.1.IPSec安全協(xié)議

IPSec安全協(xié)議描述了如何利用加密和hash來(lái)保護(hù)數(shù)據(jù)安全

★AH(AuthenticationHeader)網(wǎng)絡(luò)認(rèn)證協(xié)議,只能進(jìn)行數(shù)據(jù)摘要(hash),不能實(shí)現(xiàn)數(shù)據(jù)加

ah-md5-hmac、ah-sha-hmac

★ESP(EncapsulatingSecurityPayload)封裝安全載荷協(xié)議,能夠進(jìn)行數(shù)據(jù)加密和數(shù)據(jù)摘要(hash)

esp-des、esp-3des、esp-md5-hmac、esp-sha-hmac

2.2.IPSec封裝模式

IPSec支持兩種封裝模式:傳輸模式和隧道模式

?傳輸模式:不改變?cè)械腎P包頭,通常用于主機(jī)與主機(jī)之間。

IP頭

AH頭

數(shù)據(jù)

IP頭

數(shù)據(jù)

AH

hash1

AH對(duì)除了TTL等變化值以外的整個(gè)IP包進(jìn)行h亦h運(yùn)算

IP頭

ESP頭

[—數(shù)據(jù)二

ESPtrailer

ESPautli

ESP

原始IP包

?隧道模式:

i加WI

IhashI

增加新的ip頭,通常用于私網(wǎng)與私網(wǎng)之間通過(guò)公網(wǎng)進(jìn)行通信。

3.IPSec與NAT

3.1.AH模式

AH模式無(wú)法與NAT—起運(yùn)行,因?yàn)锳H對(duì)包括IP地址在內(nèi)的整個(gè)IP包進(jìn)行hash運(yùn)算,

而NAT會(huì)改變IP地址,從而破壞AH的hash值。

hash

AH?不年??!我對(duì)IP地址也講有了hash

NAT=我勢(shì)修改源f目的IP地址

IP頭AH頭數(shù)據(jù)

3.2.ESP模式

?只進(jìn)行地址映射時(shí),ESP可與NAT—起工作。

?進(jìn)行端口映射時(shí),需要修改端口,而ESP已經(jīng)對(duì)端口號(hào)進(jìn)行了加密和/或hash,所以將無(wú)法進(jìn)行。

NAT.網(wǎng)口號(hào)被加巒投法改*真郁閥

IP頭ESP頭Th/wp端口數(shù)據(jù)ESPtrailerESPauUi

加密

?啟用IPSecNAT穿越后,會(huì)在ESP頭前增加一個(gè)UDP頭,就可以進(jìn)行端口映射。

廠(chǎng)NAT:可以改端

口號(hào)了,太捧了

IP頭新UDP頭ESP頭TCP/UDP端口數(shù)據(jù)ESPtrailei-ESPautli

加密

4.IPSec安全通道協(xié)商過(guò)程

HostAHostB

r=?RouterARouterB^=^1

什么是端到端的VPN?

?需要保護(hù)的流量流經(jīng)路由器,觸發(fā)路由器啟動(dòng)相關(guān)的協(xié)商過(guò)程。

?啟動(dòng)IKE(Internetkeyexchange,密鑰管理協(xié)議)階段1,對(duì)通信雙方進(jìn)行身份認(rèn)證,并在兩端之間建立一條安全的通道。

?啟動(dòng)IKE階段2,在上述安全通道上協(xié)商IPSec參數(shù)。

?按協(xié)商好的IPSec參數(shù)對(duì)數(shù)據(jù)流進(jìn)行加密、hash等保護(hù)。

4.1.IKE密鑰交換協(xié)議

Internet密鑰交換(IKE)解決了在不安全的網(wǎng)絡(luò)環(huán)境(如Internet)中安全地建立或更新共享密鑰的問(wèn)題。IKE是非常通用的協(xié)議,不僅可為IPsec協(xié)商安全關(guān)聯(lián),而且可以為SNMPv3、RIPv2、OSPFv2等任何要求保密的協(xié)議協(xié)商安全參數(shù)。

一、IKE的作用當(dāng)應(yīng)用環(huán)境的規(guī)模較小時(shí),可以用手工配置SA;當(dāng)應(yīng)用環(huán)境規(guī)模較大、參與的節(jié)點(diǎn)位置不固定時(shí),IKE可自動(dòng)地為參與通信的實(shí)體協(xié)商SA,并對(duì)安全關(guān)聯(lián)庫(kù)(SAD)維護(hù),保障通信安全。

二、IKE的機(jī)制IKE屬于一種混合型協(xié)議,由Internet安全關(guān)聯(lián)和密鑰管理協(xié)議(ISAKMP)和兩種密鑰交換協(xié)議OAKLEY與SKEME組成。IKE創(chuàng)建在由ISAKMP定義的框架上,沿用了OAKLEY的密鑰交換模式以及SKEME的共享和密鑰更新技術(shù),還定義了它自己的兩種密鑰交換方式。

IKE使用了兩個(gè)階段的ISAKMP:

第一階段,協(xié)商創(chuàng)建一個(gè)通信信道(IKESA),并對(duì)該信道進(jìn)行驗(yàn)證,為雙方進(jìn)一步的IKE通信提供機(jī)密性、消息完整性以及消息源驗(yàn)證服務(wù);

第二階段,使用已建立的IKESA建立IPsecSA。

IKE共定義了5種交換。階段1有兩種模式的交換:對(duì)身份進(jìn)行保護(hù)的“主模式”交換以及根據(jù)基本ISAKMP文檔制訂的“野蠻模式”交換。階段2交換使用“快速模式”交換。IKE自己定義了兩種交換:1為通信各方間協(xié)商一個(gè)新的Diffie-Hellman組類(lèi)型的“新組模式”交換;2在IKE通信雙方間傳送錯(cuò)誤及狀態(tài)消息的ISAKMP信息交換。

1.主模式交換主模式交換提供了身份保護(hù)機(jī)制,經(jīng)過(guò)三個(gè)步驟,共交換了六條消息。三個(gè)步驟分別是策略協(xié)商交換、Diffie-Hellman共享值、nonce交換以及身份驗(yàn)證交換(如圖2所示)。

協(xié)用1啟寸

的左仝歩勒I

響應(yīng)方不挨受

呼1N&庁佇;

許護(hù)密佇

疑方鯊捋舛

啻出恪式不n確

卄賊.換

尋忖兀寸

童鑰搭式不正幣方

岳月宰u(yù)

身芳曲遷

完成適釧

命護(hù)汕年

到*

就緒

IJAKM:瀝丄

蘭起方

斯有的提謖選定的協(xié)詡下亡

方起方1*送身約訓(xùn)*'、」

ER

圖2.主模式^科焙竣快囲

成功,吐戰(zhàn)據(jù)

負(fù)位:我尖購(gòu)

衍1)應(yīng)犬傳送

身瞬息

發(fā)起方啟戢協(xié)咼傳逑

對(duì)云仝蚩斂繼誼追

荒起方發(fā)送密

鑰垂才才杠必需

響直方發(fā)迭童羅耒村

和出帝很服H翔繪

】幅方迭定可接受

由諧肋數(shù)年

垂傳

圭件

2.野蠻模式交換野蠻模式交換也分為三個(gè)步驟,但只交換三條消息:頭兩條消息協(xié)商策略,交換Diffie-Hellman公開(kāi)值必需的輔助數(shù)據(jù)以及身份信息;第二條消息認(rèn)證響應(yīng)方;第三條消息認(rèn)證發(fā)起方,并為發(fā)起方提供在場(chǎng)的證據(jù)(如圖3所示)。

重傳

協(xié)商啟動(dòng)

身悅驗(yàn)證

重傳

重傳

就緒

團(tuán)3.里瑾?;鴵Q狀屎換圖

笈起方傳送驗(yàn)證載荷

發(fā)起方啟動(dòng)協(xié)商傳送對(duì)安

?

圭參數(shù)的提諫公開(kāi)

值.nonce,矗身份數(shù)據(jù)

咸功,狀態(tài)

數(shù)據(jù)負(fù)位孑

或者戔敗=

ISAKMF

岌起方身悅環(huán)對(duì)

口斕方身份環(huán)對(duì),

響應(yīng)方傳遞選定

的安全參數(shù)■值』DH

公開(kāi)值』rmncej

身份數(shù)據(jù),以及

J航載荷

3.快速模式交換快速模式交換通過(guò)三條消息建立IPsecSA:頭兩條消息協(xié)商IPsecSA的各項(xiàng)參數(shù)值,并生成IPsec使用的密鑰;第二條消息還為響應(yīng)方提供在場(chǎng)的證據(jù);第三條消息為發(fā)起方提供在場(chǎng)的證據(jù)(如圖4所示)。

4.新組模式交換通信雙方通過(guò)新組模式交換協(xié)商新的Diffie—Hellman組。新組模式交換屬于一種請(qǐng)求/響應(yīng)交換。發(fā)送方發(fā)送提議的組的標(biāo)識(shí)符及其特征,如果響應(yīng)方能夠接收

5.ISAKMP信息交換參與IKE通信的雙方均能向?qū)Ψ桨l(fā)送錯(cuò)誤及狀態(tài)提示消息。這實(shí)際

4.2.IKE階段1

協(xié)商建立IKE安全通道所使用的翁數(shù)

協(xié)商建立IKE安全通道所使用的參數(shù)

IKE階段1

HostBRouterB■^0—I-

HostA

RouterA

J-

?協(xié)商建立IKE安全通道所使用的參數(shù),包括:

加密算法、Hash算法、DH算法、身份認(rèn)證方法、存活時(shí)間

Policy10DESMD5

Routei-B

hostB

DH1躍方找到相同的策略集

Pre-share

lifetime

Policy15

DES

MD5

DH1

Pre-share

lifetime

Policy25

3DES

SHA

DH2

Pre-share

lifetime

Policy20

3DES

SHA

DH1Pre-sharelifetime

?上述IKE參數(shù)組合成集合,稱(chēng)為IKEpolicy。IKE協(xié)商就是要在通信雙方之間找到相同的policy。

HostA

RouterA

”rtouier/■

IKE階段1

HostB

4?3?IKE階段2

協(xié)商IPSec安全參數(shù)——:協(xié)^IPSec安全參數(shù)

?雙方協(xié)商IPSec安全參數(shù),稱(chēng)為變換集transformset,包括:

加密算法、Hash算法、安全協(xié)議、封裝模式、存活時(shí)間

IKE與IPSec安全參數(shù)的比較

IKE

圭全協(xié)諫

封裝複武

加密算法lla曲薦法存活已間

IPSec

身份認(rèn)證

4.4.IPSecSA

?iPSecSA(安全關(guān)聯(lián),SecurityAssociation):

SA由SPD(securitypolicydatabase)和SAD(SAdatabase)組成。

iPSecSA(安全關(guān)聯(lián),SecurityAssociation):

?SPI(SecurityParameterIndex),由IKE自動(dòng)分配

?發(fā)送數(shù)據(jù)包時(shí),會(huì)把SPI插入到IPSec頭中

?接收到數(shù)據(jù)包后,根據(jù)SPI值查找SAD和SPD,從而獲知解密數(shù)據(jù)包所需的加解密算法、hash算法等。

?一個(gè)SA只記錄單向的參數(shù),所以一個(gè)IPSec連接會(huì)有兩個(gè)IPSecSA

?使用SPI可以標(biāo)識(shí)路由器與不同對(duì)象之間的連接。

BA

□□□□□□□□□□□□□□□

□□□□□ppjir^i□□□□□□□□□□□□□□□

□□□□

□□□□

I

rm.

SPI-12

ESP/3DES/SHA

tunnel

28800

//

PL,——-

□izpll□□r

Internet

**SPZ9

ESP/DES/MD5

28800

?達(dá)到lifetime以后,原有的IPSecSA就會(huì)被刪除

?如果正在傳輸數(shù)據(jù),系統(tǒng)會(huì)在原SA超時(shí)之前自動(dòng)協(xié)商建立新的SA,從而保證數(shù)據(jù)的傳輸不會(huì)因此而中斷。

4.5.IPsecSA示例

Router1t(5hcryptoipsec舌司interface:EthernetB/l

Cryptonaptag:阿map,localsddr^1^2.163.2-1

loca上ident(addr/naGh/prut/pOHtJ:(10.17.36_141/25S-25S-255:.25E;/flZ0)renoteident(addr/nask/prot/port):(18,17.37.152/255*255-255.255/fl/G)current_peer:192*168?2?送

〔中間省略)

inbound曹wpsasz

spi:axflcyB2586.(2S95127(>Xl2)

transforn:es-p-d^s.

inusesettings=<Tunnel,}

slot:科,connid:2S06,Flow_idz1,cryptom^p:訓(xùn)^陽(yáng)日卩satining:reRai=ningkey1ifetime(k/sec):(U607"999/357^)iusi2^:ebytes

replayd^t&ctionsupport!N

outboundesps^s:

spi:OxCFECD6?0(3^646509?)tr^n5f=orn:esp-ti-esp

inus?-〈Tunnel*}

sl?t:越,connid:2的1*flow_id:2,crypton^p:my耐psatiming:renaiJiingkeylifetimp(k/sec):(46B7,999/3574)Id:8b^tesreplaydetectionsupport:N

5.Ipsecphase1andphase2

(一)IPSecVPN隧道的建立過(guò)程分為兩個(gè)階段:

第一個(gè)階段:分為兩種模式主模式(MainMode和野蠻模式(又稱(chēng)主動(dòng)模式Aggressive)第二個(gè)階段:快速模式(QuickMode)區(qū)別:主模式與野蠻模式的區(qū)別:

(1)野蠻模式協(xié)商比主模式協(xié)商更快。

因?yàn)橹髂J叫枰换?個(gè)消息,而野蠻模式只需要交互3個(gè)消息;

(2)主模式協(xié)商比野蠻模式協(xié)商更嚴(yán)謹(jǐn)、更安全。

因?yàn)橹髂J皆凇跋?&消息6”中對(duì)ID信息進(jìn)行了加密。而野蠻模式由于受到交換次數(shù)的限制,ID消息在“消息1&消息2”中以明文的方式發(fā)送給對(duì)端。即主模式對(duì)對(duì)端身份進(jìn)行了保護(hù),而野蠻模式則沒(méi)有。

(二)兩個(gè)階段分別完成任務(wù):

(1)第一個(gè)階段IKE設(shè)置,有三個(gè)任務(wù)需要完成:

(a)協(xié)商一系列算法和參數(shù)(這些算法和參數(shù)用于保護(hù)隧道建立過(guò)程中的數(shù)據(jù));

(b)必須計(jì)算出兩邊使用的加密KEY值,例如,兩邊使用3DES算法加密,3DES算法則需要一個(gè)密碼,這個(gè)密碼兩端必須一樣,但又不能在鏈路上傳遞。

(c)對(duì)等體的驗(yàn)證,如何才能知道對(duì)端就是我要與之通信的對(duì)端。這里驗(yàn)證有三種方法:預(yù)共享、數(shù)字簽名和加密臨時(shí)值。

上面一系列過(guò)程都是IKE(Internet密鑰交換協(xié)議,大多數(shù)廠(chǎng)商都把這個(gè)叫做VPNsGateway)這個(gè)協(xié)議來(lái)實(shí)現(xiàn)。

對(duì)于第一階段需要注意以下幾點(diǎn):

(a1)只有remotevpn和easyvpn是積極模式的,其他都是用主模式來(lái)協(xié)商的;(a2)讓IKE對(duì)等體彼此驗(yàn)證對(duì)方并確定會(huì)話(huà)密鑰,這個(gè)階段用DH進(jìn)行密鑰交換,創(chuàng)建完IKESA后,所有后續(xù)的協(xié)商都將通過(guò)加密和完整性檢查來(lái)保護(hù)。

(a3)第一階段幫助在對(duì)等體之間創(chuàng)建了一條安全通道,使后面的第二階段過(guò)程協(xié)商受到安全保護(hù)。

(2)第二階段:協(xié)商IPSecSA使用的安全參數(shù),創(chuàng)建IPSecSA(SA可以加密兩個(gè)對(duì)等體之間的數(shù)據(jù),這才是真正的需要加密的用戶(hù)數(shù)據(jù)),使用AH或ESP來(lái)加密IP數(shù)據(jù)流。至此IPSecVPN隧道才真正建立起來(lái)。

(三)綜上,有如下結(jié)論:

第一階段作用:對(duì)等體之間彼此驗(yàn)證對(duì)方,并協(xié)商出IKESA,保護(hù)第二階段中IPSecSA協(xié)商過(guò)程;

第二階段作用:協(xié)商IPSec單向SA,為保護(hù)IP數(shù)據(jù)流而創(chuàng)建;

(四)舉例驗(yàn)證:以主模式,AH協(xié)議來(lái)簡(jiǎn)單分析一下IPSecVPN鏈接建立的過(guò)程(附帶報(bào)文):

第一個(gè)階段三個(gè)任務(wù),分別用6個(gè)消息來(lái)完成,每?jī)蓚€(gè)為一組,這些消息的具體格式取決于使用的對(duì)等體認(rèn)證方法,使用預(yù)共享密鑰進(jìn)行驗(yàn)證的主模式(6條)協(xié)商過(guò)程使用ISAKMP消息格式來(lái)傳遞(基于UDP,端口號(hào)為500)。6條消息如下:

343.73404300|.10,1.1.2|—

ISAKHP

Idenrlt;-Projection

可al-Moce>x

3礦母翩員£0.1.*洎亢的

:SAKM?

IderirityProiectfon

:dai/.炯諂召曲

|9Ba.7421J30ai10.1.L3

ISAKMP

Idcntit?'Prote匚tiam

[MainMode)

37S.7355S20QH0-1.1.Z10.1.I.3

ISAKUP

IdentityF-*31c-匚ti□口

Melin?.1cde^

353.76198700'

ISAKHP

IdemitProiection|

可al-Meer:

39S.76233900-IO..1.3

:SAD(=

Id£匚lit;-

Xfsi■'q\fnriFi

34

■734043001■

丄■

1.3

10.1.

1.

ISAKMF

Ident二tv

Frote匚ti口n

血in

Mcc.e;

35

s.73452500H0.

1,

1.2

10.1.

1,

3

ISAKMP

Ider)t:tr

Prorection

Wain

Mode?

36

8.74210300110.

1.

1.3

10.1.

1.

2SAKM?

Iden.1:二ty

Fratectisn

.Main

Mede)

3"

s.75558200H0.

j.i

1.2

10”1,

1,

3

ISAKMP

Idemit

Prorection

Main

Mode)

33

9.7619fi700il0.

1.

1.3

10.1.

1.

ISAKMF

Icent二ty

Frote匚ti口n

)11!□

Mede;

39

S.76232900110.

1,

1.2

10.1.

1,

3

ISAKMP

Identity

Prorection

■:Afein

Mode)

MFrame36:370bytejonvire(3160bits),270byre;captured(216Qbits)

田二Src:Rz?zoin_88:33;77.00;Oe;:S3;S3:?7)8Dst:Rai£ecoQ_J2:£3:9e_^.U0zOe:5e:32;J3:

田Int盈:1ETFrotowl,Six:1F1.1.3“0.1.L.勸,Dmt:h1.2【10.1.1,2嚴(yán)^~外層傳輸?shù)腫她址

田|L呂若£?^已二比耳匸虹F=a:t:n匚口二Sr匚P□:rt;is:3Lkan:300;‘.Iht:fart;二:忑翊"基于UDPmSj,端口対5加

@Im^rneiSecurityAssocialionandKeyManagementFrctocoldata部-分

第一血段

(1)準(zhǔn)備工作:

在前2條消息發(fā)送之前,發(fā)送者和接受者必須先計(jì)算出各自的cookie(可以防重放和DOS攻擊),這些cookie用于標(biāo)識(shí)每個(gè)單獨(dú)的協(xié)商交換消息。

cookie――RFC建議將源目的IP、源目的端口、本地生成的隨機(jī)數(shù)、日期和時(shí)間進(jìn)行散列操作。Cookie成為留在IKE協(xié)商中交換信息的唯一標(biāo)識(shí),實(shí)際上cookie是用來(lái)防止DOS攻擊的,它把和其他設(shè)備建立IPSec所需要的連接信息不是以緩存的形式包存在路由器里,而是把這些信息HASH成個(gè)cookie值。

(2)1&2消息:

消息1:由發(fā)送方(協(xié)商發(fā)起端)發(fā)起,攜帶一些參數(shù),發(fā)送方向接收方發(fā)送一條包含一組或多組策略提議(Raisecom工業(yè)路由器中是多組),在策略提議中包括5元組信息:

加密算法一一DES;

散列算法——MD5-HMAC;

DHDiffie-Hellman組-2;

認(rèn)證方式——預(yù)共享;

IKESA壽命。

如下是Raisecom中高級(jí)選項(xiàng)配置的策略

(認(rèn)證方式采用“預(yù)共享”方式)

橫式◎主擴(kuò)式CffM式

認(rèn)證■磋

SH\

SH&

3DES

V

3DES

[DESv|

CHGroup2

Jv]

DHGroups

vl

11

|108DO

t

fi=10BDO)

□PDO開(kāi)啟①關(guān)閉

(對(duì)于DPD,具體作用不知道,默認(rèn)是關(guān)閉)

下面簡(jiǎn)要介紹一下上述五元組信息:

協(xié)商模式:可以選擇主模式(MainMode)或者野蠻模式(Aggressive)。當(dāng)選擇主模式時(shí),只能使用IP地址作為ID的類(lèi)型。當(dāng)用戶(hù)端設(shè)備的IP地址為動(dòng)態(tài)獲取的情況時(shí),需要選擇野蠻模式。IKE野蠻模式相對(duì)于主模式來(lái)說(shuō)更加靈活,可以選擇根據(jù)協(xié)商發(fā)起端的IP地址或者ID來(lái)查找對(duì)應(yīng)的身份驗(yàn)證字,并最終完成協(xié)商。

驗(yàn)證方法AH(AuthenticationHeader):身份驗(yàn)證確認(rèn)通信雙方的身份。目前在IKE提議中,僅可用pre-shared-key(預(yù)共享密鑰)身份驗(yàn)證方法,使用該驗(yàn)證方法時(shí)必須配置身份驗(yàn)證字,并且兩端的密鑰要完全一致。

加密算法:包括DES和3DES加密算法;DES算法采用56bits的密鑰進(jìn)行加密,3DES算法采用112bits的密鑰進(jìn)行加密;AES128(AdvancedEncryptionStandard,即高級(jí)加密標(biāo)準(zhǔn))采用128bits的密鑰進(jìn)行加密;AES192(AdvancedEncryptionStandard,即高級(jí)加密標(biāo)準(zhǔn))采用192bits的密鑰進(jìn)行加密;AES256(AdvancedEncryptionStandard,即高級(jí)加密標(biāo)準(zhǔn))采用256bits的密鑰進(jìn)行加密;一般來(lái)說(shuō),密鑰越長(zhǎng)的算法強(qiáng)度越高,受保護(hù)數(shù)據(jù)越難被破解,但消耗的計(jì)算資源會(huì)更多。

Diffie-Hellman組標(biāo)識(shí)(DH):用戶(hù)可以選擇Group1即768bit或Group2即1024bit。

ISAKMP-SA生存周期:IKE使用了兩個(gè)階段為IPSec進(jìn)行密鑰協(xié)商并建立安全聯(lián)盟。第一階段,通信各方彼此間建立了一個(gè)已通過(guò)身份驗(yàn)證和安全保護(hù)的通道,即ISAKMP安全聯(lián)盟(ISAKMPSA);第二階段,用在第一階段建立的安全通道為IPSec協(xié)商安全服務(wù),即為IPSec協(xié)商具體的安全聯(lián)盟,建立IPSecSA,IPSecSA用于最終的IP數(shù)據(jù)安全傳送。ISAKMP-SA生存周期可以設(shè)定為60-604800之間的一個(gè)整數(shù)。

定時(shí)發(fā)送keepalive報(bào)文(不是必須攜帶):IKE通過(guò)ISAKMPSA向?qū)Χ硕〞r(shí)發(fā)送KeepAlive報(bào)文維護(hù)該條ISAKMPSA的鏈路狀態(tài)。當(dāng)對(duì)端在配置的超時(shí)時(shí)間內(nèi)未收到此KeepAlive報(bào)文時(shí),如該ISAKMPSA帶有timeout標(biāo)記,則刪除該ISAKMPSA及由其協(xié)商的IPSecSA;否則,將其標(biāo)記為timeout。

如下是抓包獲取到的信息(設(shè)備為Raisecom工業(yè)路由器):

34

B.73404300UO.LL3

10B1B

1.2

rProtection

(MainMode.]

35

8-73452500

10”1”

L3

SAKM?

Identit

pProtection

'■■:■■■■'■■■:■■

36

E.-.21020011J.1.1..

10.1.

八二

Ide.ntit

■Fret亡匚ti□口

(Jia11;Jlcc.亡”

37

8-75558200

10”1”

L3

SAKM?

Identit

pProtection

(MainMode)

33

5.?6L96?00lL:l.L.L..

ID.1.

h2

攵KXl?

Identit

rFrcte匚tic::

IMaLi匚Mode;

39

S.76232900

10.1.

1.3

SAtai?

Idenrir

呻Prorecrion

(MainMode

IU

出Fr^zi-?34:293Dyteson-.7:re';238^bits;.293oytescaptured<2394titsaJ

aztn^rn^t二:,Src:Rai5^coni_88?33?7700=5^^33:33:77},Dst:Rsl5eccn_32:f5:9e'OOsOesDezSSzfDsBe}

?InternetFtutocol,Src:16二1」3{:.Cl二二3),Ost:<)

王us-erDi.ti.srin?rotocol?Src?ori:i弓iknp:500>.Ds=t?crt:isal-ZL^*:00)

SZrit^rn^tAeeoc:oriiadRWy匕呂匕□亡dtPe!ctnen1

Ir^t^iorcookie:ef065f32ddf393b2'

□.;:uruLio'.Tnendor__■

3):XAUTH:

3;:RFC37G6D?D<DeadFeer:?erecticn>

由上圖可知,模式為主模式,載荷類(lèi)型為SA。SA的數(shù)目和內(nèi)容詳見(jiàn)下圖:

將載荷類(lèi)型SA展開(kāi)如下:由下圖可知,該SA中攜帶了三組策略,正好Raisecom中web頁(yè)面配置的三組策略:

裁荷奕型酮中包含了三組黃略畏儀,正好對(duì)應(yīng)*web頁(yè)面上的

-

7r^ifom

-0

::K

■.亠_?工A鼻

4-K.(JLx?壬^A..■=

■3)

—1

4-

3勺丁■■廣|耳二■尊?ta■WHb'rtIt

T忙nr蘭F"

■■HTtia■■■..

7

_n

SMAw

1,1D57

SHA—v

13DESv

3DESv

CESv

謝&卿陀7

DH4型滋v

pq~—-U

第一組TypePayload:Transform(3)#0展開(kāi)如下:

3rtpfPayload:Tran?fora(3)s

N^:-tpa.-Jdii:7ranifcrii3')FayL1l:i£::j■32

(:rn:l;_nui?r:0

T

Transfora

IKE

*

Tr^nsfora

TE"

T

Trinifoni

TK-

TK"

T

Tfcnifdra

TEE

"-::-f.■:.

IK"

"rinsfarr:IC

SA生存時(shí)間為10800;加密機(jī)制為DES;認(rèn)證算法為SHA;

認(rèn)證方法選擇PSK(預(yù)共享密鑰);

DH為Group2;

第二組TypePayload:Transform(3)#1展開(kāi)如下:

r^?曾匕嚴(yán)■n嚴(yán)先』*?“

-40-亠-Lfa”d一—jj亠d4

TriinzJor=

ID-K5i_IK51:

Trsnxfar!!

rKEJTtri^'.'l^_7

Tran=fom

IKEAxtrlbuie'.

7i£^±f?nx

KEAttJibute7-

Tr&^sfon

IK-^:rrib.iTC>

Zrinzf^r^:

?.*tri3uLtz二

:eeh■二:

Ihi二:

日T\

Psvloac1匕冷耳工匕22

.ran:fcrrnn^tcrt2

Tra^ifcmID:

i禮e(]

_r■圧:葩

AtTTthLt*

?7?e

y

Tranefcrii:Ki

AiTrIbL:e

7jpe

<1=1L

Tnmsfon:KE

Atiri?::e

:-=c

t-L1

7ran:fcr:"Jiz

AciT:bt:e

T-pc

7r4ii:tcnIKi

Attylixu^e

T”X

t-i.:

Traiiif^ri:匯

鼻丁乳:色

:rpe

T=,:

+

■*■F?plfi

#2展開(kāi)如下:

第三組TypePayload:Transform(3)

:-2.;Llf*-7r?*-

「;life-mraL【加::0300

■A:工二

AjtittritiifiTLiii-jletjiiC:F5^

=2:處片-匸弋址丁謀t;紜-jxlternaT*諒:?弋:匸J[-X?jrajp

報(bào)文中的組順序和web頁(yè)面上組順序不一致,這個(gè)無(wú)所謂,只要能對(duì)上即可,因?yàn)閷?shí)際中只要這三個(gè)組能匹配上即可。

消息2:由響應(yīng)者(即對(duì)端設(shè)備)回應(yīng),內(nèi)容基本一樣,主要與發(fā)起者比較,是否

與發(fā)起者的IKE策略匹配,不匹配則進(jìn)行下一組比較,如果最終都找不到匹配,隧道就停止建立;

(note:發(fā)起者將其所有IKE策略發(fā)給接受者,接受者則在自己的策略中尋找與之匹配的策略;對(duì)比順序從優(yōu)先級(jí)號(hào)小的到大的;默認(rèn)策略實(shí)際就是個(gè)模板沒(méi)作用,如果認(rèn)證只配置預(yù)共享的話(huà),其他參數(shù)就會(huì)copy默認(rèn)策略里的)報(bào)文如下:

EInier口亡丁S^n/r-ityA■ationandFretor■'

Initiatorcookieef065f32ddf393b2

ResponderCQQk^:^62cl201df96db2

NextpayLead;Assocla.ti□口1.1?

Vcrsian:1.□

I咯匸仃日「二電ihje:[日啟ntityFrotECTiQDMod已).2

SFlag^i0k00

Me5=aSeID:0x00000000

二亡:□巨th;

田ppg

Type穴TypectiTypeBTk~

已yWaJi玄亡匸珂1:亍盒ss□匸:1二1i□旳[I]|

Payload:

?a3rLoad:rayLoad:

v^adorIDv^^dorU

Vender13

037

(IS)

〔13〕

:j^kne^nVendorID

:XALIH

:RFC3706DFD<D?idFeer3eitction;l

Jr4"■一-ua.■+豐—n—-Mr"__”f十_+■一-1~■i*■■

318.7843.300110.1-1.:?10-:.1.ZISA&1FIdem:iyF-:Teciic:i(MainWc^'

^5S.?3452500iL<J.1.1.9]

[SAKMFIdentityPr^teGtion{MaiDMoil?)

368-74210300110-1.1.3KLLk2

SAO1EI(i亡ntzlvP?::1ecTicin.MainMcde':

378.7555820011fl.1.k2SO.Lk3

SAKMFIdemzlyPe-:!eelion3tainMcdej

388.76193700110,1-L3W,L

SAKMP"EnthyFrntectlon(MainMade)

598.762:2900il(j..1?S

S^KM;Idem^iy?r:Teciic:'.Main血心

A7Franc35:].買(mǎi)byteson(.1552bira).—bvtescaptured(1552bits}

szihernexII3SrCrRai3ecoiTL32:fo>9e〔00:%;宛石:9亡人3si:Ra^5^cani_S8r33i"7

EImernetProrocol.Src:().Dst:(?

比UserDatigrajErra:c匚uL5rcFeit;isakzp.500..DstFeet:isakzz;.500.

[<J0:0e:&e:88:38:77*

QTypeParload:SccurilyAzsaciiiiion(1:

Nextps.yrLead:VeciiiorID113)

Farl匚1匕口gth:52

DozEELinofinterpretation:I.FSHC(1)

FSituation:0D0000D1

-TypeFa:.?Lcad:proposal.(2)0

Xesrpayload:NONE/NqNextPaylos.il(.0)Payloadlength:~0

Prcpo±alEiLJi'c!er:0

ProtocolID:ISAKMP⑴

S?ISizes0

Prcposaltransform5:1

Trs-nsfora

ID:

F3Y_n3(1

Tritnsfcrij

2?:Z

AtLribjxe

Type

Transforn

IK3

Attribute

Type

Traniforii

Atrribjre

Type

Transforn

IK3

Attribute

Type

Transform

Atirlbjte

Type

7rinsforal

7K:

Attribute

Tvge

"rinsfora

Xextpayload:NONE?NoN^xt

?ayloadlength:32

nunb亡廠(chǎng)0

Farlcad(0:,

It

.t

f

'-.T

:t

(t

Ct

1131=2)Life-Typ&:Seconds

12?Lif亡-&urarrio口:10&00[

2;[Enteypt:io仃一£CTi1:血:匚BC1

2,1

2?Hash-AlgorithiLi:SHA

2)A.utLenticai1on-Mcthod:?SK

2JGroup_Des匚ripi::ici:i:Alternate1024~bitM02P呂i?匚up

由上圖可知,接受端回應(yīng)的消息中,匹配了發(fā)送端的一條策略,如果有一條匹配,則不需要匹配其他策略。

在消息1和消息2中報(bào)錯(cuò)可能出現(xiàn)的原因:

(a)peer路由不通(即,外層的IP地址不通,這里對(duì)應(yīng)的是發(fā)送發(fā),這里配置簡(jiǎn)單屬于直連,而實(shí)際大型組網(wǎng)中,中間會(huì)有很多其他網(wǎng)元,往往是通過(guò)配置動(dòng)態(tài)路由);

(b)cryptoiskmpkey沒(méi)有設(shè)置(即,沒(méi)有配置預(yù)共享密鑰);

(c)一階段的策略不匹配(這時(shí)需要檢查兩端設(shè)備的策略有不一致地方么)

(3)3&4消息:密鑰交換過(guò)程

消息3:由發(fā)起者(即,隧道建立的發(fā)起者)發(fā)出,但是在發(fā)出消息3之前,有個(gè)過(guò)程必須要完成,就是Diffie-Hellman算法過(guò)程。

Diffie-Hellman算法過(guò)程目的:在消息1和消息2中所協(xié)商的算法,它們必須需要一個(gè)KEY(即,共享密鑰中設(shè)置的密碼),這個(gè)KEY在兩個(gè)對(duì)等體上必須一樣,但同時(shí)這個(gè)KEY不能在鏈路中傳遞,因?yàn)閭鬟fKEY是一個(gè)不安全的手段。所以,該過(guò)程的目的是分別在兩個(gè)對(duì)等體間獨(dú)立地生成一個(gè)DH公共值,該公共值有什么作用?因?yàn)閮蓚€(gè)對(duì)等體上都生成該DH公共值后,它們會(huì)在接下來(lái)的消息3和消息4中傳送給對(duì)方,打個(gè)比方,A收到了B的DH公共值,B收到了A的DH公共值。當(dāng)A、B都收到了對(duì)方的該公共值后,問(wèn)題就好解決了。因?yàn)橛幸粋€(gè)公式在數(shù)學(xué)中被論證成立,那么現(xiàn)在借助公式,就可以在兩個(gè)對(duì)等體上生成一個(gè)只有它們兩個(gè)對(duì)等體知道的相同的KEY,該公式為:

發(fā)起者密鑰=(Xb)amodp=(Xa)bmodp=響應(yīng)者密鑰

note:這個(gè)密鑰不是最終算法中使用的KEY,但兩個(gè)對(duì)等體通過(guò)該KEY材料來(lái)生成另外三個(gè)密鑰,分別是:

SKEYID_d——此密鑰被用于計(jì)算后續(xù)IPSec密鑰資源;

SKEYID_a——此密鑰被用于提供后續(xù)IKE消息的數(shù)據(jù)完整性以及認(rèn)證;

SKEYIDe——此密鑰被用于對(duì)后續(xù)IKE消息進(jìn)行加密;

所以,由發(fā)起者發(fā)起的第三條消息主要是向?qū)Φ润w發(fā)送自己的DH公共值和Nonce隨機(jī)數(shù);

實(shí)際報(bào)文如下:

証S,

73404300'10

.1….3

10.1.

--r

Ir£

:3AKMF訂

Ickmitr

Protection

<Main

Mode)

35&

73453500110

.1.1.i

10.L

L3

ISAKMP詬竝1

暮Idemilv

Pro~e匚tjen

{Main

Mode)

363,

74210G00H0.1-1.3

10.1.

--r』r£

ISAF31P

匚defiiltv

Projection

(MainModel

37出

75550200110

.1.1.i

10.L

L3

ISAf^lP

2dentilv

Projecticn

{Main

Mjde.1

38S,

76198700110-1.1.3

io.i.

--r

:SAKMF

Ickmitr

Protection

<Main

Mode)

39&

76232900110

.1.1.i

10.L

L3

ISAI31P

Ide口Hilv

Projecticn

{Main

Mode)

aFranc-36:270byt亡三口口wire{2160bils).270bytes匚apfured{2160bits)

玉EiheraerSrc:Raisecofl_33:33;77;00:0己:吞亡:55:弓3:7門(mén):,Dst:Raisecom_32^f5;9c^C0:9e;;5e:32:f3:9e

也InlernetFrotcccl,ire:(10.kk3)rDst:IQ.LL2()SIj^erDaiagramrrctccal,Src?ari:IsELkca口(500?,D=irori:25-iknip500SInlernetE亡匚urityAssociztionandR亡丁Managra亡nt耳::口1:口cal

Iniriarorcackle:ef065f32ddI393b2

Pespendercccki亡:4562c1204df96db2

Nexrpaylead:KeytschsAEe(4j

Version:k0

ExchangeriTe:Identity?roieciio^(MainMode?ffiFlaga:0x00

MenageID:0x00000000

由上述報(bào)文可知,發(fā)送方開(kāi)始向接收方發(fā)送自己的DH公共值以及隨機(jī)數(shù);

對(duì)端收到后,可以根據(jù)“消息1&消息2”中協(xié)商的DH算法,以及發(fā)送端在消息3中給

出的DH和nonce值來(lái)生成SKEYID_d、SKEYID_a、SKEYID_e三個(gè)密鑰;

消息4:同消息3,告知發(fā)送端自己的DH公共值和Nonce隨機(jī)數(shù);

報(bào)文如下:

34S.734D43DOI1D.1.1.3

1SAKMF

Id上ntitr

Fr

(MainMode.

358^73452500

1C.1.1.3

:SAF3F

沽亠j."*二j-j

t已匚TiCEl

MainMode

363.7^=210300110?3L1.3

10.L1.2

'冃Identitr

Fr

t:亡匚tion

.?JaiDMode

378,75558200HO.L3,2

10.L1.3

ISAF3P

lldenrir;-

Pr

(MainMade?|

383.76L98700na.:.1.3

10.:.1.亠

Ldentif

-1-

tci:ti□□

.M^inilc?d亡

&232900HO.:

.MainMode.-

^說(shuō)門(mén)疋載荷:NonceDn伯用于向發(fā)

由上述報(bào)文可知,接受方開(kāi)始向發(fā)送方發(fā)送自己的DH公共值以及隨機(jī)數(shù);

對(duì)端收到后,可以根據(jù)“消息1&消息2”中協(xié)商的DH算法,以及接受端在消息4中給

出的DH和nonce值來(lái)生成SKEYID_d、SKEYID_a、SKEYID_e三個(gè)密鑰;

(3)5&6消息:用于雙方彼此驗(yàn)證。由“于消息1&消息2”的算法,以及“消息3&消息4”生成的三個(gè)KEY,所以在后續(xù)的“消息5&消息6”就能被加密傳送,這個(gè)過(guò)程是受SKEYID_e加密保護(hù)的。

預(yù)共享密鑰的作用:為了正確生成密鑰,每一個(gè)對(duì)等體必須找到與對(duì)方相對(duì)應(yīng)的預(yù)共享密鑰,當(dāng)有許多對(duì)等體連接時(shí),每一對(duì)對(duì)等體兩端都需要配置預(yù)共享密鑰,每一對(duì)等體都必須使用ISAKMP分組的源IP來(lái)查找與其對(duì)等體對(duì)應(yīng)的預(yù)共享密鑰(此時(shí),由于ID還沒(méi)到,彼此先用HASH來(lái)彼此驗(yàn)證對(duì)方)HASH認(rèn)證成分——SKEYID_a、cookieA、cookieB、preshare_key、SApayload、轉(zhuǎn)換集和策略。

消息5:由發(fā)起者向響應(yīng)者發(fā)送,主要是為了驗(yàn)證對(duì)端自己就是自己想要與之通信的對(duì)端。這可以通過(guò)預(yù)共享、數(shù)字簽名、加密臨時(shí)值來(lái)實(shí)現(xiàn)。

Fmhtu3S110tarre-sanuBire>555htre:5lidhyieseapziifcd130fcirs?

aEtheme:ILSrc:蘇竺敢工_88:33:薔笛;韓門(mén)軒開(kāi);33;—xD?:Ral5?tw_52;f5:Be(QO:0*:5e:3S:f5;9e)隍IntciMtProtcicaliSrc:L1>31-1-3L:10-LLZtiOU;-1-即

wI'serD-i'ajrairFr:T^:al.SrcFeri-!salonpmA;』DstFort::陽(yáng);珂5C:?

bInttfne:Sectilt-Aiiocitfcicn.Key?rc:c<

Jn:l:aToreackie:efO6flf3Zddf391^2

JUEXn恥F亡加和斡4弱玄iZCUdf袖df?.

lb曲twlz己:hmt詰詬印處為宴證

Version:L0

■rXh^asetrpe;idMZlxrFrcteciiwOkinMede:2

J=Eiktypt佃n:BnctT^ad

…??..Q.No

」…--0..瓷h?n■:icaTicnic&ti-sa

MessxseID:Q:<00000000

stmEE用于吿卻對(duì)林清息俏,己枷密

亡忑■:<!柯:?二巴三F

消息6:由響應(yīng)者向發(fā)起者發(fā)送,主要目的和第五條一樣:

ISAKJ^

工3二”吃,9.::0Si-Ctdu'::0b::ei匚昭t?rgiSObiti!

?ETherseTII,環(huán):Rafi*—.a^X:f=-9c汀馭g&2;!:=:^^!.Bit:351icc^3S-33:77ioa:0.?!3e&E--33:?rl

=7^e*neiFr&zocoLSrct"0*M-2訂乩nx?」D軋:iQtls,3?IO-b1-3:

■tier2&lc*r£CPrezee-=1^r-:Fm=:500Ditrsrt:sJODI

-7n-fr^?i:S#etr*T:aAss~:!!:aT,:flnKurUaniE電mni:Fret34:ol

I^Uiatorcookie;er063f32ddf99SbZ

較云SSSSjSSHUSSd

Yeriioa;L0

E-c.-sfi^;*-ECenTiTyPrd*ec"ien.「血:*舫饑>2>

RY…?:r:二三口£匸丫*仁4:1,:EK*學(xué)粘|

7.0**Ccntit*Xbconrfr

+?3r+=Auche^cicKo^LtnenticAiio^

15essar?ID:OeOOOCIOOOO

住二“:二“之Pah衣_It卅

在消息5和消息6中報(bào)錯(cuò)可能出現(xiàn)的原因:

(1)cryptoiskmpkey設(shè)置錯(cuò)了;(即,兩端的預(yù)共享密鑰值設(shè)置的不一樣)

五)第二階段:

匕DataFranPrDtccol.Src?orci1曲(50DhDstPorv:1500)

slaternezSecuriadKeyyinastnie-ni

對(duì)應(yīng)設(shè)備上需要配置的參數(shù)(以R202i-VM為例)

透Frszez'Z:2-z6oytez:n亠963bitz2±6byt=;cap:ursl

rHth*rn=tIIBSre:Rai?css_ES:33:77>DO:Or:3e:S3:33:77),Ds

■sO3i>h6>JL1u'Ou!la亠?,3

Quick?-kxe

f氏直嘰產(chǎn)旳=卜

413.76,10700*

10.1.1.:

lSxxBF

Quick?Qde|

孝a

48&"644970011C.1.右3

mi”:.2

-:T3P

Quid;-i7-:r

第2階段用三個(gè)消息來(lái)完成,目標(biāo)是協(xié)商IPSecSA,而且只有一種模式,快速模式(QuickMode,快速模式的協(xié)商是受第1階段建立的IKESA保護(hù)的。

葦二"棧

5J?

第二斛淨(jìng)即■齊頁(yè)制

NXot

?!(130嗎"DQ*紀(jì)箱口*BKI

牛弼t5-52?a7M1兒沖電i£_1;:4替W>

66jiatttnai*

[審砧訂

-TlH'J”a?丄

「環(huán)卜]

奇m

(1)1&2消息:發(fā)送IPSecSA的屬性,協(xié)商IPSecSA

消息1:發(fā)起者會(huì)在第一條消息中發(fā)送IPSecSA的轉(zhuǎn)換屬性。其中包含:HASH、IPSec策略提議、Nonce可可選的DH以及身份ID。

(a)HASH:是用于給接受方作為完整性檢驗(yàn)的,用于再次認(rèn)證對(duì)等體(必須)HASH的成分和5-6階段一樣;

(b)IPSec策略提議:其中包括了安全協(xié)議(AH、ESP或AH-ESP)、SPI、散列算法、模式(隧道模式或傳輸模式)、IPSecSA生命周期(必選);

(c)Nonce:用于防重放攻擊,還被用作密碼生成的材料,僅當(dāng)啟用PFS時(shí)用到;

(d)ID:描述IPSecSA是哪些地址、協(xié)議和端口建立的,即感興趣流中的IP地址;

(e)PFS(利用DH交換,可選):用了PFS后,就會(huì)在第二階段重新DH出一個(gè)數(shù)據(jù)加密KEY,這個(gè)KEY和以前IKE協(xié)商出來(lái)的KEY沒(méi)有任何關(guān)系,然后由這個(gè)新KEY來(lái)加密數(shù)據(jù),只有到這個(gè)IPSecSA的生命周期后,會(huì)再次DH出新的KEY,這樣,安全性就提高了(普通IPSecSA過(guò)期或密鑰超時(shí)時(shí),重新生成的數(shù)據(jù)加密密鑰還是根據(jù)第一階段DH出來(lái)的SKEYID_d

衍生出來(lái)的),PFS啟用后,數(shù)據(jù)加密部分使用的密鑰就沒(méi)有了衍生的過(guò)程。

(f)DH:重新協(xié)商IPSecSA時(shí)使用的密鑰(正常情況下,IPSec階段使用的密鑰都是由

SKEYID_d衍生而來(lái)的,密鑰之間都有一定的關(guān)系,就算IPSecSA超時(shí),新的KEY還是和SKEYIDd有一定的關(guān)系)。

408.763:1500110.M.?.

10-1-],2

:SAKM?

lQu.ick

418.7&410700

ISAKM?

Quick

426.76445700110.1.L3

L0Z.Z.2

3KM?

Quick

Xkde

HFraae40:2^6bytescnwire11968bits)s2-^6hyt匕mcaptured{196Sbzts)

SEth-ernetII,Src:Raisecoa_3Ss7;OT:0e:5e:88:33:77)sDst:Ralseco[n_32:f5:9e[(H}:0e:5e:32:f5s9ej

?InternetProtocol,Src:().Dst:<)

UserDatagramPrctccDl,SrcP口r:!iEikzp(500J?DstPori::E3kmp'500)

SIoi-?zn亡tE亡匚xityAFroto匚口1

:nRiarorcookie:ef065132dflfS93b2

“0??二丄iun:Nojon

ID:Oxcf775af5|

Length::204

hncr?pt?c.Lili:176bytrs.t|

fciokiE:』&62i

z-1204cif&6db2

Neitpayload:Hash(B)

V?rsinn:l.a0

|Zxc-ia:igeiy?e:&uickMode'32'|

F:a-3:0x01

|1=Encrj~piion:Encrifled|

--0-="Hmit;Mu匚匸znrnit

以上數(shù)據(jù)均被加密處理;基于以上,第二階段有幾個(gè)概念需要理清:

(a)封裝模式:包括傳輸模式(Transport)和隧道模式(Tunnel)。

傳輸模式:不使用新的IP頭部,IP頭部中的源/目的IP為通信的兩個(gè)實(shí)點(diǎn)(當(dāng)通信點(diǎn)等于加密點(diǎn)時(shí),使用傳輸模式);

隧道模式:需要封裝一個(gè)新的IP頭部,新的IP頭部中源/目的IP為中間的VPN網(wǎng)關(guān)設(shè)備地址(當(dāng)通信點(diǎn)不等于加密點(diǎn)時(shí)使用隧道模式);

J

U

Remcrteoffice

intptppt

torporateoffice

HR<;prvpr$

HK?r?pr<

雀道檢式

Remoteoffice

3nternet

匚orporateoffice

二者比較:

從安全性來(lái)講,隧道模式優(yōu)于傳輸模式,隧道模式可以完全地對(duì)原始IP數(shù)據(jù)報(bào)進(jìn)行驗(yàn)證和加密以及可以使用IPSec對(duì)等體的IP地址來(lái)隱藏客戶(hù)機(jī)的IP地址;

從性能來(lái)講,隧道模式比傳輸模式占用更多帶寬,一個(gè)額外的IP頭;

因此,到底使用哪種模式需要按照實(shí)際的應(yīng)用場(chǎng)景進(jìn)行權(quán)衡。

IPHDR

Transportmode

IPHDR

VPNHDR

Tunnelmode

VPNHDR

IPHDR

Data

VPN

TVa.e.-

NewIPHDR

(b)安全聯(lián)盟生存周期:

所有在安全策略視圖下沒(méi)有單獨(dú)配置生存周期的安全聯(lián)盟,都采用全局生存周期。IKE(因特網(wǎng)密鑰交換協(xié)議)為IPSec協(xié)商建立安全聯(lián)盟(SA)時(shí),采用本地設(shè)置的和對(duì)端提議的生存周期中較小的一個(gè)(即,當(dāng)兩端配置的生存周期不一致時(shí),那么就用最小的那個(gè)值)。安全聯(lián)盟生存周期的輸入范圍:30?604800;所以,兩端設(shè)備配置的生存周期不一致不會(huì)導(dǎo)致隧道無(wú)法建立。

(c)采用的安全協(xié)議:

安全提議中需要選擇所采用的安全協(xié)議,用于為IP數(shù)據(jù)包提供安全。目前可選的安全協(xié)議有AH(驗(yàn)證報(bào)頭)和ESP(封裝安全有效負(fù)載),也可以指定同時(shí)使用AH和ESP(AH-ESP)。安全隧道兩端所選擇的安全協(xié)議必須一致。

所以,第二階段協(xié)商不起來(lái),兩端協(xié)議是否一致是一個(gè)排查重點(diǎn)。

AH協(xié)議:類(lèi)似于ICMP、TCP、UDP的IP協(xié)議,分配給它的協(xié)議號(hào)為51。提供如下安全功能:數(shù)據(jù)完整性服務(wù)、提供抗數(shù)據(jù)回放攻擊、不提供數(shù)據(jù)加密性(不加密)。

RouterB

RouterA

Alldataincleartext

(note:AH是不提供數(shù)據(jù)的加密的,所以在報(bào)文中可以看到完整的DATA部分)AH報(bào)文頭格式:

認(rèn)狂范團(tuán)(IPHeede申可旳爲(wèi)外1

乃葩境二:

NextHeuderPaykiadLenyQiIResurvud

SequenceNumber

AOlli&nticatiuriDala

AH在兩種模式下的封裝:

IPHDR

TCPHDR

Authentfcated

AHHDR

Authenticated倫丁昜船字段

傳輸模式:“除了易變字段”指的是:對(duì)IP報(bào)文中可變域以外的數(shù)據(jù)進(jìn)行認(rèn)證隧道模式:“除了易變字段”指的是:對(duì)新IP報(bào)文頭部中可變域以外的數(shù)據(jù)進(jìn)行認(rèn)證

ESP協(xié)議:協(xié)議號(hào)為50,提供如下功能:提供數(shù)據(jù)加密性(支持加密)、提供數(shù)據(jù)完整性、提供抗回放攻擊能力;

ESP的數(shù)據(jù)驗(yàn)證和完整性服務(wù)只包括ESP的頭和有效載荷(不包括外部的IP頭部(note:ESP是提供加密的,所以抓取的ESP報(bào)文,是看不到原來(lái)被封裝的數(shù)據(jù)部分)

RouterA

RouterB

Datapayloadisencrypted

IPHDR

Encrypted

Authentici

Internet

!褲電菸駛那密了

?逼S嬉提供就據(jù)機(jī)密性;

?通過(guò)認(rèn)證提供數(shù)搗葩整性;

?遽觀(guān)沖列

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論