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管理密鑰交換。
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
通過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
實驗拓撲圖: