目录
基本概念
IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合
安全联盟SA
IPSec对等体
运行IPSec协议的两个端点称为IPSec对等体
基本概念
SA是通信对等体间对某些要素的约定
SA定义了IPSec对等体间将使用的安全协议、数据封装模式、验证算法、加密算法、密钥、SA生存周期等参数。
IPSec安全传输数据的前提是在IPSec对等体之间成功建立安全联盟
SA建立方式
手工方式建立SA
IKE自动协商方式建立SA
SPI生成方式
手工配置SPI
SPI随机生成
SA参数生成方式
手工建立SA所需的全部参数(加密、验证密钥等)
建立SA的参数由DH算法生成
SA生存周期
永久存在
生存周期由双方配置的生存周期参数控制
- IPSec SA的建立是单向的,并且其SA的个数还与安全协议有关
- 当只使用AH或ESP来保护两个对等体之间的流量,则对等体之间就有两个SA,每个方向上一个。
- 如果对等体同时使用了AH和ESP,那么对等体之间就需要四个SA,每个方向上两个,分别对应AH和ESP。
SA唯一标识符
通过以下三元组来进行唯一标识
安全参数索引SPI
SPI是一个32位比特的数值,指向一张安全关联表指针。封装在AH和ESP头部中
目的IP地址
目前仅允许单播地址,是SA的目的端点地址
安全协议号
标识是AH还是ESP
安全协议
IPSec使用两种IP传输层的安全协议对传输报文进行封装来提供认证、加密等安全服务
AH和ESP协议类型比较
AH: 报头验证协议
在每一个数据包的标准IP报头后面添加一个AH报文头
ESP:封装安全载荷协议
在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面增加一个ESP尾部
协议比较
报文封装模式
主要分为传输模式和隧道模式,将AH或者ESP的相关字段插入到原始IP报文中,以实现对报文的认证和加密。
注意:AH-ESP封装 :先根据ESP协议对报文进行封装,再根据AH协议进行封装
防火墙——图解常用隧道技术的数据报文解封装过程(详细)-CSDN博客
传输模式
AH头或ESP头被插入到IP头与传输层协议之间
由于未添加额外的IP头,所以原始报文中的IP地址在加密后的报文中可见
源目IP可能是私网地址(因为传输模式不对源目IP做任何操作)
一般用于VPN嵌套的情况(可以避免重复封装IP地址 例如L2TP over IPSec、GRE over IPSec)
封装模式
AH头或ESP头被插到IP头(旧IP头)之前,另外再AH头或ESP头前再生成一个新的IP头
由于添加额外的IP头,所以原始报文中的IP地址再加密后的报文中不可见
一般用于私网与私网互访没有VPN嵌套的情况
加解密、验证算法
加解密——IPSec采用对称加密算法进行数据加密和解密
验证——加密后的报文通过HMAC生成数字签名,将数字签名填写在ICV字段(AH头或ESP头部中的认证字段)中发送过去
密钥交换
在网络中安全的共享对称密钥,实现加密、验证等
密钥交换方式(同SA建立方式)
手工配置密钥(带外共享密钥)
在发送、接收端手工配置密钥进行交换,手工建立SA
动态分发密钥(使用密钥分发协议)
IKE使用DH在网络上安全的分发密钥,动态建立SA
IKE下章详细介绍
IPSec如何确定保护哪些数据流量
IPSec通过定义感兴趣流来筛选出来要保护的流量,让这些流量通过IPSec加密隧道传输
当数据匹配感兴趣流时,会进入感兴趣流对应的隧道,以此来控制不同的数据走不同的隧道
(例如:IPsec与多分支建立IPsec的实验中,总部配置多个ACL(感兴趣流)来使得不同的数据走不同的隧道,使得分支之间通过总部互通)
IPSec多分支实验配置_多谢思考的博客-CSDN博客https://blog.csdn.net/m0_49864110/article/details/124909846
ACL方式
手工方式和IKE自动协商方式建立的IPSec隧道是由ACL来指定要保护的数据流范围
ACL规则允许(permit)的报文将被保护,未匹配任何permit规则的报文将不被保护。
这种方式可以利用ACL的丰富配置功能,根据IP地址、端口、协议类型等对报文进行过滤进而灵活制定IPSec的保护方法。
路由方式
通过IPSec虚拟隧道接口建立IPSec隧道是根据目的地址来确定要保护的数据流范围
将所有路由到IPSec虚拟隧道接口的报文都进行IPSec保护,根据该路由的目的地址确定哪些数据流需要IPSec保护。
其中IPSec虚拟隧道接口是一种三层逻辑接口。
路由方式具有以下优点:
- 通过路由将需要IPSec保护的数据流引到虚拟隧道接口,不需使用ACL定义待加/解密的流量特征,简化了IPSec配置的复杂性。
- 支持动态路由协议。
- 通过GRE over IPSec支持对组播流量的保护。