IPSecVPN详解深入浅出简单易懂Word文档格式.docx
《IPSecVPN详解深入浅出简单易懂Word文档格式.docx》由会员分享,可在线阅读,更多相关《IPSecVPN详解深入浅出简单易懂Word文档格式.docx(47页珍藏版)》请在冰点文库上搜索。
共享密钥
+对端路由器名
生成的Hash_L
一
接收到的Hash_L
1.3.2.数字证书
★RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥。
★用公钥加密过的数据只有对应的私钥才能解开,反之亦然。
★数字证书中存储了公钥,以及用户名等身份信息。
我是RouterA,我的公钥是…….
Internet
公钥
Ha5h
一+身份信息
对称密钥
2.IPSec框架结构
IPS”框架
IPS"
安全协议
加密
数据摘要
对称密钥交换
可选择的算法
ESPAH
DES3DESAES
MD5SHA
DH1DH2
2.1.IPSec安全协议
IPSec安全协议描述了如何利用加密和hash来保护数据安全
★AH(AuthenticationHeader)网络认证协议,只能进行数据摘要(hash),不能实现数据加
密
ah-md5-hmac、ah-sha-hmac
★ESP(EncapsulatingSecurityPayload)封装安全载荷协议,能够进行数据加密和数据摘要
(hash)
esp-des、esp-3des、esp-md5-hmac、esp-sha-hmac
2.2.IPSec封装模式
IPSec支持两种封装模式:
传输模式和隧道模式
♦传输模式:
不改变原有的IP包头,通常用于主机与主机之间。
原始IP包
IP头
数据
AH头
AH对除了TTL等变化值以外的整个IP包进行hash运算
ESPIP头ESP头数据ESPtrailerESPauth
hash
♦隧道模式:
增加新的ip头,通常用于私网与私网之间通过公网进行通信。
原始IP包IP头数据1
新IP头
数据
ESP新IP头|ESP头|田工!
一数据ESPtrailerESPauth
3.IPSec与NAT
3.1.AH模式
AH模式无法与NAT一起运行,因为AH对包括IP地址在内的整个IP包进行hash运算,
而NAT会改变IP地址,从而破坏AH的hash值。
3.2.ESP模式
♦只进行地址映射时,ESP可与NAT一起工作。
♦进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/或hash,所以将无
法进行。
NATr端口号被加密
一了,没法改*真部闷I
IP头ESP头TCP/UPP端口数据ESPtrailerESPaiith
加密।
♦启用IPSecNA由越后,会在ESP头前增加一个UDP头,就可以进行端口映射。
NAT:
可以改端
口号了,太棒了
IP头新UDP头ESP头TCP/UDP端口数据ESPtrailerESPautli
4.IPSec安全通道协商过程
HostAHostB
——jRouterARouterBg——।
什么是端到端的VPN?
♦需要保护的流量流经路由器,触发路由器启动相关的协商过程。
♦启动IKE(Internetkeyexchange,密钥管理协议)阶段1,对通信双方进行身份认证,并在两端之间建立一条安全的通道。
♦启动IKE阶段2,在上述安全通道上协商IPSec参数。
♦按协商好的IPSec参数对数据流进行加密、hash等保护。
4.1.IKE密钥交换协议
Internet密钥交换(IKE)解决了在不安全的网络环境(如Internet)中安全地建立或更新共享密钥的问题。
IKE是非常通用的协议,不仅可为IPsec协商安全关联,而且可以为
SNMPv3、RIPv2、OSPFv2等任何要求保密的协议协商安全参数。
一、IKE的作用当应用环境的规模较小时,可以用手工配置SA当应用环境规模较大、
参与的节点位置不固定时,IKE可自动地为参与通信的实体协商SA,并对安全关联库(SAD)
维护,保障通信安全。
二、IKE的机制IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。
IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY勺密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换方式。
IKE使用了两个阶段的ISAKMP
第一阶段,协商创建一个通信信道(IKESA,并对该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源验证服务;
第二阶段,使用已建立的IKESA建立IPsecSA
IKE共定义了5种交换。
阶段1有两种模式的交换:
对身份进行保护的“主模式”交换以及根据基本ISAKMP文档制订的“野蛮模式”交换。
阶段2交换使用“快速模式”交换。
IKE自己定义了两种交换:
1为通信各方间协商一个新的Diffie-Hellman组类型的“新组模
式”交换;
2在IKE通信双方间传送错误及状态消息的ISAKMP信息交换。
1.主模式交换主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。
三个步骤分别是策略协商交换、Diffie-Hellman共享值、nonce交换以及身份验证交换(如
图2所示)。
就绪
成功,状领据
夏佳;
或失败
响应方身份:
1SAKMP
S诞立
口前方传送
身份消息
身份验证
发起方启动协商传送对安全参数的提议值
协茴启动
口向近方选定喉受
的安全参数值
所有的提或选定的协设不在
发起方的提谀中
密钥格式不正确
克成密照
素材交I奂
保护套件
开始交换
密钥素材
发起方发送密
蜴素材和必需
的辅助皴据
响应方衷送密枳素材
和必需的辅助数据
发起方传送身份信息xV
重传
图2主模J姣勘喀转换图
2.野蛮模式交换野蛮模式交换也分为三个步骤,但只交换三条消息:
头两条消息协商策略,交换Diffie-Hellman公开值必需的辅助数据以及身份信息;
第二条消息认证响应方;
第三条消息认证发起方,并为发起方提供在场的证据(如图3所示)。
图主置查模式交换状趣换图
3.快速模式交换快速模式交换通过三条消息建立IPsecSA头两条消息协商IPsecSA
的各项参数值,并生成IPsec使用的密钥;
第二条消息还为响应方提供在场的证据;
第三条消息为发起方提供在场的证据(如图4所示)。
发起方传送散列值,对安
图文.央速模式交树燃转揍图
4.新组模式交换通信双方通过新组模式交换协商新的Diffie—Hellman组。
新组模式交
换属于一种请求/响应交换。
发送方发送提议的组的标识符及其特征,如果响应方能够接收提议,就用完全一样的消息应答(如图5所示)。
发起方发送提议的组
图5.新组模式交换示意图
5.ISAKMP信息交换参与IKE通信的双方均能向对方发送错误及状态提示消息。
这实际
上并非真正意义上的交换,而只是发送单独一条消息,不需要确认(如图6所示)。
图6.ISAKMP信息交换示意
4.2.IKE阶段1
Router
hostA
hostB
HostA
10.0.1.3
IKE阶段1
HostB
RouterBr._\
es-rS
10.0.2.3
♦协商建立IKE安全通道所使用的参数,包括:
加密算法、Hash算法、DH算法、身份认证方法、存活时间
协商建立IKE安全
通道所使用的参数
协商建立IKE安全通道所使用的参数
♦上述IKE参数组合成集合,称为IKEpolicy。
IKE协商就是要在通信双方之间找到相同的
policy。
双方找到相同的策略集
Policy15DESMD5DH1
Policy203DES
Policy25
3DES
SHA
DH1
Pre-share
lifetime
DH2
Policy10DESMT5DH1
Pre-sharelifetime
10,013
10,0,2,3
交换对称密钥
双方身份认证
建立IKE安全通道
4.3.
IKE阶段2
协商IPSec安全参数*■协商IPSec安全参数
♦双方协商IPSec安全参数,称为变换集transformset,包括:
加密算法、Hash算法、安全协议、封装模式、存活时间
建立IF击GSA
建立Iff跳SA♦
4.4.IPSecSA
♦IPSecSA安全关联,SecurityAssociation):
SA由SPD(securitypolicydatabase)和SAD(SAdatabase狙成。
SPD
两端成功协商IPSM参数
加密算法
hash算法
封装模式
SP1
加密Hash封装模式lifetime
SPJ
SAD
目的IP地址
IPSecSA安全关联,SecurityAssociation):
♦SPI(SecurityParameterIndex),由IKE自动分配
♦发送数据包时,会把SPI插入到IPSec头中
♦接收到数据包后,根据SPI值查找SAD和SPD,从而获知解密数据包所需的加解密算法、
hash算法等。
♦一个SA只记录单向的参数,所以一个IPSec1接会有两个IPSecSA
♦使用SPI可以标识路由器与不同对象之间的连接。
451PsecSA示例
192.168.12.1SPT9ESP/DES/MD5tunnel28800
5.Ipsecphase1andphase2
(一)IPSecVPN隧道的建立过程分为两个阶段:
第一个阶段:
分为两种模式主模式(MainMode和野蛮模式(又称主动模式Aggressive)
第二个阶段:
快速模式(QuickMode)区别:
主模式与野蛮模式的区别:
(1)野蛮模式协商比主模式协商更快。
因为主模式需要交互6个消息,而野蛮模式只需要交互3个消息;
(2)主模式协商比野蛮模式协商更严谨、更安全。
因为主模式在“消息5&
消息6"
中对ID信息进行了加密。
而野蛮模式由于受到交换次
数的限制,ID消息在“消息1&
消息2”中以明文的方式发送给对端。
即主模式对对端身份
进行了保护,而野蛮模式则没有。
(二)两个阶段分别完成任务:
(1)第一个阶段IKE设置,有三个任务需要完成:
(a)协商一系列算法和参数(这些算法和参数用于保护隧道建立过程中的数据);
(b)必须计算出两边使用的加密KEY值,例如,两边使用3DES算法力口密,3DES
算法则需要一个密码,这个密码两端必须一样,但又不能在链路上传递。
(c)对等体的验证,如何才能知道对端就是我要与之通信的对端。
这里验证有三种方法:
预共享、数字签名和加密临时值。
上面一系列过程都是IKE(Internet密钥交换协议,大多数厂商都把这个叫做
VPNsGateway)这个协议来实现。
对于第一阶段需要注意以下几点:
(a1)只有remotevpn和easyvpn是积极模式的,其他都是用主模式来协商的;
(a2)让IKE对等体彼此验证对方并确定会话密钥,这个阶段用DH进行密钥交换,
创建完IKESA^,所有后续的协商都将通过加密和完整性检查来保护。
(a3)第一阶段帮助在对等体之间创建了一条安全通道,使后面的第二阶段过程协
商受到安全保护。
(2)第二阶段:
协商IPSecSA#用的安全参数,创建IPSecSA(SA可以加密两个对等体之间的数据,这才是真正的需要加密的用户数据),使用AH或ESP来加密IP数据流。
至
此IPSecVPN隧道才真正建立起来。
(三)综上,有如下结论:
第一阶段作用:
对等体之间彼此验证对方,并协商出IKESA保护第二阶段中IPSecSA
协商过程;
第二阶段作用:
协商IPSec单向SA,为彳^护IP数据流而创建;
(四)举例验证:
以主模式,AH协议来简单分析一下IPSecVPN1接建立的过程(附带报
文):
第一个阶段三个任务,分别用6个消息来完成,每两个为一组,这些消息的具体格式取
决于使用的对等体认证方法,使用预共享密钥进行验证的主模式(6条)协商过程使用ISAKMP消息格式来传递(基于UDP,端口号为500)。
6条消息如下:
“C.U加加|1匚1.
..0-:
.1.2
二:
:
;
■■:
■:
-丁叱-FK:
1.忸上,耻匕、
台血量看不我力,1.
•:
d1,LtS
ZdTL;
iu,Filie/.
UafnModeJ
主掉球
36k7的58LOu1+,3
io.i.r2
ISAKHP
IdcEtitvProt«
tiern
MainMcdc)
27E.7=5=SZO<
3<
1DL1.1,2
i67lzl3
二EAKMP"
--------,---.r-;
----
Main"
Mccr:
■S7e;
95700Q0l1,1.3
[0.1.k2
rsA&
5
IdentliyPrarectien
M式nMode:
SBE,『6232900LdLTJ
0.1,1,3
:
即EWF
二y;
,]:
F..Lt'
.ll'
...
.1」,「
_'
T
g.
省工三J..jO*:
l]
■-kA
1.1.J
10.1.:
2
I沁f
K-jI&
t,JF上工t七Lt*s:
i
Xkin耻品
5,5
s.
73^2900■
J.ii£
mi,i.3
TSAKMP
Tn-<
n?
i"
crfon
Miin
M'
<
1'
36
74210S0010
1.1.3
10.1.1.2
ISAKMF
Icezit;
tyFrctsctisn
kl'
i.c
3p
8.
W-L1.3
二「FT-T;
”-7一-T…
Main
6;
337QO10
L1.3
工SAKMP
t"
PrGt«
tian
“二:
口
3?
5.
76S3290QI1Q-
[■Jr>
w"
10.;
1.3
rSAQIF
FxiTf:
瑞【舒0"
tnon耽rt口MtsL累而匕pre-sptur“十16寸匕北由
EthernetIIhSee:
Rai»
con_8B:
38:
7;
(O0:
Oe:
5e:
8a:
S3:
77).Dit:
fiaiiecra^2;
f5:
feJOO:
Or;
5e32
模式
画金.;
1婢豌)
第藤说军婀
~——一一—_—――n
DPD
®
Ft口rwLW"
:
-—LB打口.口”!
】。
,:
二■'
卜品隹喻沟[Plfe比
认证方式一一预共享;
IKESA^命。
如下是Raisecom中高级选项配置的策略:
致共享军钥|*月数|『如)
O证书
(认证方式采用“预共享”方式)
段
(对于DPD,具体作用不知道,默认是关闭)
下面简要介绍一下上述五元组信息:
(a)协商模式:
可以选择主模式(MainMode)或者野蛮模式(Aggressive)。
当选择主模式时,只能使用IP地址作为ID的类型。
当用户端设备的IP地址为动态获取的情况时,需
要选择野蛮模式。
IKE野蛮模式相对于主模式来说更加灵活,可以选择根据协商发起端的IP
地址或者ID来查找对应的身份验证字,并最终完成协商。
(b)验证方法AH(AuthenticationHeader):
身份验证确认通信双方的身份。
目前在IKE
提议中,仅可用pre-shared-key(预共享密钥)身份验证方法,使用该验证方法时必须配置身份验证字,并且两端的密钥要完全一致。
(c)加密算法:
包才DES和3DES加密算法;
DES算法采用56bits的密钥进行加密,
3DES算法采用112bits的密钥进行加密;
AES128(AdvancedEncryptionStandard,即高级加
密标准)采用128bits的密钥进行加密;
AES192(AdvancedEncryptionStandard,即高级加密
标准)采用192bits的密钥进行加密;
AES256(AdvancedEncryptionStandard,即高级加密标准)采用256bits的密钥进行加密;
一般来说,密钥越长的算法强度越高,受保护数据越难
被破解,但消耗的计算资源会更多。
(d)Diffie-Hellman组标识(DH):
用户可以选择Group1即768bit或Group2即1024bit。
(e)ISAKMP-SA生存周期:
IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟。
第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,即ISAKMP安全
联盟(ISAKMPSA;
第二阶段,用在第一阶段建立的安全通道为IPSec协商安全服务,即为
IPSec协商具体的安全联盟,建立IPSecSAIPSecSA用于最终的IP数据安全传送。
ISAKMP-SA生存周期可以设定为60-604800之间的一个整数。
(f)定时发送keepalive报文(不是必须携带):
IKE通过ISAKMPSA向对端定时发送KeepAlive报文维护该条ISAKMPSA的链路状态。
当对端在配置的超时时间内未收到此
KeepAlive报文时,如该ISAKMPSA带有timeout标记,则删除该ISAKMPSA及由其协商的IPSecSA否则,将其标记为timeout。
如下是抓包获取到的信息(设备为Raisecom工业路由器):
tFtanrj-±
-3」'
j;
its"
irr.--J士、三*工〉,29Bbvteicaptured^9394bit±
J
SEthernetILSrcfRai9eccn_85:
33:
77(OOtOe痔二话:
葡门73Dst:
RB13eDOi_32:
fff:
5e<
00:
Os:
ffe:
32:
fB:
Sei
rZnttr3tt?
rotocil.Src,:
0.Z.1.3{ZO.:
Z.3J.Dit:
10.11210.1,1.2)
▼Crer31.Sr:
?
ort:
irii^ap300:
上工Peri:
l:
3:
-:
i:
।:
3C
-S-r;
r:
ty='
】二Y,ryYMTvm—T=t:
W
Init^ioreg"
efO6M32ddf893b2
Respondercookie:
OOOOOOOOOOOOQOCK)Nestpayload;
Security4*:
ai:
gV-rrsz3nr1.3
f
|:
口A七_」±
_.;
土in二上一U二.二】门
■"
丁班?
iyl3i:
立北m二二,:
士1_:
g6Vendor二二
4
TypePay:
sad:
VendsrID(13.)?
XAUTH
TreVe^dit:
D13;
:
RrCS706D?
DDf=dFctrDciecU
Tj'
pePayIsad:
VenderID(IS):
draft-ietf-ipsec-nst-t-ike-DS
7'
pePayload;
VendorID(13):
drafi-ieif-ipsec-nax-t-ike-02
TypePayLsad:
V?
ndarID\13»
draft-ietf-ipsec-nat-t-ike-OQ
E二: