IPSec 协议简介
1. IPSec 协议
IPSec 是一系列网络安全协议的总称,它是由IETF(Internet Engineering Task
Force,Internet 工程任务组)开发的,可为通讯双方提供访问控制、无连接的完整
性、数据来源认证、反重放、加密以及对数据流分类加密等服务。
IPSec 是网络层的安全机制。通过对网络层包信息的保护,上层应用程序即使没有
实现安全性,也能够自动从网络层提供的安全性中获益。这打消了人们对×××
(Virtual Private Network,虚拟专用网络)安全性的顾虑,使得××× 得以广泛应
用。
2. 加密卡
在实际应用中,IPSec 对报文的处理包括进行ESP 协议处理、加密后给报文添加认
证头、对报文完成认证后删除认证头。为了确保信息的安全性,加密/解密、认证的
算法一般比较复杂,路由器IPSec 软件进行加密/解密运算将会占用了大量的CPU
资源,从而影响了整机性能。模块化路由器还可以使用加密卡(模块化硬件插卡)
以硬件方式完成数据的加/解密运算,消除了路由器VRP 主体软件处理IPSec 对性
能的影响,提高了路由器的工作效率。
(1) 加密卡进行加密/解密的工作过程是:路由器主机将需要加密/解密的数据发送
给加密卡,加密卡对数据进行加密/解密运算并给数据添加/删除加密帧头,然
后加密卡将完成加密/解密的数据发送回主机,由主机转发处理后的数据。
(2) 多块加密卡分流处理用户数据:模块化路由器支持多块加密卡,主机软件通过
轮循方式将用户数据发送给多块状态正常的加密卡进行分流处理,实现多块加
密卡对用户数据的同步处理,从而提高了数据加密/解密的处理速度。
(3) 对于应用于加密卡侧的IPSec,当该路由器所有加密卡都状态异常则加密卡将
无法进行IPSec 处理,此时若已经打开主机备份处理开关,并且VRP 主体软
件IPSec 模块支持该加密卡使用的加密/认证算法,则VRP 主体软件IPSec
模块将替代加密卡进行IPSec 处理,实现对加密卡的备份。
3. IPSec 对报文的处理过程
IPSec 对报文的处理过程如下(以AH 协议为例):
(1) 对报文添加认证头:从IPSec 队列中读出IP 模块送来的IP 报文,根据配置选
择的协议模式(传输或是隧道模式)对报文添加AH 头,再由IP 层转发。
(2) 对报文进行认证后解去认证头:IP 层收到IP 报文经解析是本机地址,并且协
议号为51,则查找相应的协议开关表项,调用相应的输入处理函数。此处理
函数对报文进行认证和原来的认证值比较,若相等则去掉添加的AH 头,还原
出原始的IP 报文再调用IP 输入流程进行处理;否则此报文被丢弃。
4. 与IPSec 相关的几个术语
数据流:在 IPSec 中,一组具有相同源地址/掩码、目的地址/掩码和上层协议
的数据集称为数据流。通常,一个数据流采用一个访问控制列表(acl)来定
义,所有为ACL 允许通过的报文在逻辑上作为一个数据流。为更容易理解,
数据流可以比作是主机之间一个的TCP 连接。IPSec 能够对不同的数据流施
加不同的安全保护,例如对不同的数据流使用不同的安全协议、算法或密钥。
安全策略:由用户手工配置,规定对什么样的数据流采用什么样的安全措施。
对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策
略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由
“名字”和“顺序号”共同唯一确定。
安全策略组:所有具有相同名字的安全策略的集合。在一个接口上,可应用或
者取消一个安全策略组,使安全策略组中的多条安全策略同时应用在这个接口
上,从而实现对不同的数据流进行不同的安全保护。在同一个安全策略组中,
顺序号越小的安全策略,优先级越高。
安全联盟(Security Association,简称SA):IPSec 对数据流提供的安全服
务通过安全联盟SA 来实现,它包括协议、算法、密钥等内容,具体确定了如
何对IP 报文进行处理。一个SA 就是两个IPSec 系统之间的一个单向逻辑连
接,输入数据流和输出数据流由输入安全联盟与输出安全联盟分别处理。安全
联盟由一个三元组(安全参数索引(SPI)、IP 目的地址、安全协议号(AH
或ESP))来唯一标识。安全联盟可通过手工配置和自动协商两种方式建立。
手工建立安全联盟的方式是指用户通过在两端手工设置一些参数,然后在接口
上应用安全策略建立安全联盟。自动协商方式由IKE 生成和维护,通信双方基
于各自的安全策略库经过匹配和协商,最终建立安全联盟而不需要用户的干
预。
安全联盟超时处理:安全联盟更新时间有“计时间”(即每隔定长的时间进行
更新)和“计流量”(即每传输一定字节数量的信息就进行更新)两种方式。
安全参数索引(SPI):是一个32 比特的数值,在每一个IPSec 报文中都携
带该值。SPI、IP 目的地址、安全协议号三者结合起来共同构成三元组,来唯
一标识一个特定的安全联盟。在手工配置安全联盟时,需要手工指定SPI 的取
值。为保证安全联盟的唯一性,每个安全联盟需要指定不同的SPI 值;使用IKE
协商产生安全联盟时,SPI 将随机生成。
安全提议:包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,
规定了把普通的IP 报文转换成IPSec 报文的方式。在安全策略中,通过引用
一个安全提议来规定该安全策略采用的协议、算法等。
实验拓扑图:
配置R1:
inter e1
ip add 192.168.1.1 24
inter s0
ip add 192.168.10.200 24
ip route-static 0.0.0.0 0 192.168.10.1
acl 3000
rule permit ip source 192.168.1.0 0.0.0.255 dest 192.168.2.0 0.0.0.255
rule deny ip source any dest any
quit
ipsec proposal tran1
encapsulation-mode tunnel
transform esp
esp authentication-algorithm md5-hmac-96
esp encryption-algorithm des
quit
ipsec policy policy1 10
ipsec policy policy1 10 isakmp
sec acl 3000
proposal tran1
tunnel local 192.168.10.200
tunnel remote 192.168.20.200
quit
ike pre-shared-key 12345 remote 192.168.20.200
inter s0
ipsec policy policy1
[R1]dis cu
Now create configuration...
Current configuration
!
version 1.74
local-user user1 service-type administrator password simple 123
sysname R1
undo pos-server addr-switch
firewall enable
aaa-enable
aaa accounting-scheme optional
!
ike pre-shared-key 12345 remote 192.168.20.200
!
acl 3000 match-order auto
rule normal permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule normal deny ip source any destination any
!
ipsec proposal tran1
!
ipsec policy policy1 10 isakmp
security acl 3000
proposal tran1
tunnel local 192.168.10.200
tunnel remote 192.168.20.200
!
controller e1 0
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
ip address 192.168.100.1 255.255.255.0
!
interface Ethernet1
ip address 192.168.1.1 255.255.255.0
!
interface Serial0
clock DTECLK1
link-protocol ppp
ip address 192.168.10.200 255.255.255.0
ipsec policy policy1
!
interface Serial1
link-protocol ppp
!
!
quit
ip route-static 0.0.0.0 0.0.0.0 192.168.10.1 preference 60
!
return
配置R2:
inter s0
ip add 192.168.10.1 24
inter s1
ip add 192.168.20.1 24
[R2]dis cu
Now create configuration...
Current configuration
!
version 1.74
local-user user1 service-type administrator password simple 123
sysname R2
undo pos-server addr-switch
firewall enable
aaa-enable
aaa accounting-scheme optional
!
ipsec proposal tran1
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
ip address 192.168.100.2 255.255.255.0
!
interface Ethernet1
ip address 192.168.30.1 255.255.255.0
shutdown
!
interface Serial0
link-protocol ppp
ip address 192.168.10.1 255.255.255.0
!
interface Serial1
link-protocol ppp
ip address 192.168.20.1 255.255.255.0
!
return
配置R3:
inter e1
ip add 192.168.2.1 24
inter s1
ip add 192.168.20.200 24
ip route-static 0.0.0.0 0 192.168.20.1
acl 3000
rule permit ip source 192.168.2.0 0.0.0.255 dest 192.168.1.0 0.0.0.255
rule deny ip source any dest any
quit
ipsec proposal tran2
encapsulation-mode tunnel
transform esp
esp authentication-algorithm md5-hmac-96
esp encryption-algorithm des
quit
ipsec policy policy2 10
ipsec policy policy2 10 isakmp
sec acl 3000
proposal tran2
tunnel local 192.168.20.200
tunnel remote 192.168.10.200
quit
ike pre-shared-key 12345 remote 192.168.10.200
inter s1
ipsec policy policy2
R3]dis cu
Now create configuration...
Current configuration
!
version 1.74
local-user user1 service-type administrator password simple 123
sysname R3
firewall enable
aaa-enable
aaa accounting-scheme optional
!
ike pre-shared-key 12345 remote 192.168.10.200
!
acl 3000 match-order auto
rule normal permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
rule normal deny ip source any destination any
!
ipsec proposal tran2
!
ipsec policy policy2 10 isakmp
security acl 3000
proposal tran2
tunnel local 192.168.20.200
tunnel remote 192.168.10.200
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
ip address 192.168.100.9 255.255.255.0
!
interface Ethernet1
ip address 192.168.2.1 255.255.255.0
!
interface Serial0
link-protocol ppp
!
interface Serial1
clock DTECLK1
link-protocol ppp
ip address 192.168.20.200 255.255.255.0
ipsec policy policy2
!
quit
ip route-static 0.0.0.0 0.0.0.0 192.168.20.1 preference 60
!
return
结果:
转载于:https://blog.51cto.com/4459478/823024