IPSec只能保护ip层以上(传输层和用户数据),无法将其扩展到数据链路层。
IPsec使用的3个主要协议:
1. IKE(internet key exchange,互联网密钥交换);
2. ESP(encapsulating security payload,封装安全净荷);
3. AH(authentication header,认证头);
IKE是一种协商和交换安全参数和认证密钥的体系框架,密钥交换机制由IKE来提供。
ESP是一种为IPSec提供数据机密性、完整性、数据源验证和可选的防重放功能特性的体系框架。协议号50。
AH和ESP相比不提供给数据机密×××。协议号51。
IKE是一种动态更改IPSec参数和密钥的机制。IKE使用其他协议来完成对等体验证和密钥生成工作:
1. ISAKMP(internet security association and key management protocol,互联网安全关联和密钥管理协议)完成建立、协商、修改和删除SA的过程,如头部验证和净荷封装。ISAKMP可以实现对等体验证,但不提供密钥交换机制。
2. Diffie-Hellman管理IPSec SA的密钥交换,允许两个端点通过不安全的通道交换共享密钥。
IPSec端点建立SA(security Association,安全关联),SA是两个对等体之间协商好的参数。
IKE阶段1(强制性阶段),协商ISAKMP,主模式或积极模式,在对等体之间建立双向SA,进行对等体验证,确认身份。还要完成参数协商,如哈希分发和变换集。IPSec参数和安全策略;Diffie-Hellman公钥交换;ISAKMP会话验证。
IKE阶段2(强制性阶段),协商IPSec SA,快速模式,利用阶段1协商的参数,实现两个单向的IPSec SA。用于对经IPSec连接传送的数据进行加密,为这些SA管理密钥交换。
创建IPSec ×××的5个步骤:
1. 指定兴趣流量
R2:access-list 170 permit ip 1.1.1.0 0.0.0.255 4.4.4.0 0.0.0.255
R3:access-list 155 permit ip 4.4.4.0 0.0.0.255 1.1.1.0 0.0.0.255
2. IKE阶段1,包括5个参数:(配置ISAKMP策略)
IKE加密算法(des,3des,aes);
IKE验证算法(md5,sha-1);
IKE密钥(预共享密钥,RSA密钥(PKI实例,证书),临时数(nonce,只能用一次的数,OTP的一种形式));
Diffie-Hellman版本(1,2,5);
IKE隧道生命期(时间/比特)
R2:
crypto isakmp policy 10
encryption des
hash md5
authentication pre-share
group 1
lifetime 3600
crypto isakmp key cnca address 23.1.1.3 255.255.255.0
R3:
crypto isakmp policy 25
encryption des
hash md5
authentication pre-share
group 1
lifetime 3600
crypto isakmp key cnca address 23.1.1.2 255.255.255.0
3. IKE阶段2 (建立IPSec隧道)
通过IPSec变换集协商安全参数;
a)
IPsec协议(ESP或AH); 属于SAD
b)
IPSec加密类型(des,3des,aes) 属于SPD
c)
IPSec验证(MD5,sha-1) 属于SPD
d)
IPSec模式(隧道模式或传送模式) 属于SPD
e)
IPSec SA生命期(秒或千字节) 属于SPD
建立IPSec SA(单向隧道);(使用临时数为共享密钥,防重放***)
周期性协商IPSec SA以保证安全性; (切换SA数据不会丢失)
额外的diffie-hellman交换(可选)
R2:crypto ipsec transform-set set-70 esp-3des esp-sha-hmac mode tunnel
crypto ipsec security-association lifetime seconds 1800
R3:crypto ipsec transform-set set-55 esp-3des esp-sha-hmac mode tunnel
crypto ipsec security-association lifetime seconds 1800
4. 安全数据传送
R2:
crypto map to-central 70 ipsec-isakmp
set peer 23.1.1.3
set transform-set set-70
match address 170
interface FastEthernet1/0
ip address 23.1.1.2 255.255.255.0
crypto map to-central
R3:
crypto map to-remote 55 ipsec-isakmp
set peer 23.1.1.2
set transform-set set-55
match address 155
interface FastEthernet1/0
ip address 23.1.1.3 255.255.255.0
crypto map to-remote
5. IPSec隧道终结
判断IPSec ×××是否在正常工作:
R2#sh crypto ipsec sa
interface: FastEthernet1/0
Crypto map tag: to-central, local addr. 23.1.1.2
protected vrf:
local ident (addr/mask/prot/port): (1.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (4.4.4.0/255.255.255.0/0/0)
current_peer: 23.1.1.3:500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 12, #pkts encrypt: 12, #pkts digest 12(被加密解密数据包大于0)
#pkts decaps: 12, #pkts decrypt: 12, #pkts verify 12
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 2, #recv errors 0
local crypto endpt.: 23.1.1.2, remote crypto endpt.: 23.1.1.3
path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet1/0
current outbound spi: 0
实验拓扑图: