IPSec技术深度解析

IPSec(Internet Protocol Security)是一组基于IP网络的开放安全标准协议,旨在通过加密、认证等机制,为IP层数据传输提供机密性、完整性、数据源认证及抗重放攻击等安全服务。它并非单一协议,而是IETF(互联网工程任务组)制定的协议套件,工作在OSI模型的网络层(L3),可直接保护IP数据包,无需依赖上层应用改造,因此成为构建VPN(虚拟专用网)、企业内网互联、远程安全接入的核心技术。
早期IP协议(IPv4)设计时未考虑安全性,数据明文传输易被窃听、篡改。IPSec最初为IPv6强制要求,后移植到IPv4,现已成为互联网基础设施级的安全基石,广泛应用于跨地域企业组网、云上私有连接、物联网设备安全通信等场景。

IPSec的核心是“安全联盟(SA)+ 协议处理 + 密钥管理”的协同框架,各组件分工明确,共同实现端到端安全:


核心组件 | 作用 |
安全联盟(SA) | IPSec的“安全上下文”,定义通信双方的安全参数(加密算法、认证算法、密钥、生存周期等)。SA是单向的,双向通信需2个SA(入站/出站)。 |
安全策略(SP) | 定义“哪些流量需要IPSec保护”“如何保护”(如匹配源/目的IP、端口,指定SA参数),由安全策略数据库(SPD)维护。 |
协议处理模块 | 对IP数据包执行封装、加密、认证(如ESP/AH协议),是IPSec的“执行引擎”。 |
密钥管理 | 动态协商SA参数(如加密密钥、认证密钥),避免手动配置密钥的安全风险,核心协议为IKE(Internet密钥交换)。 |

IPSec协议族包含三大核心协议,分别承担认证、加密、密钥协商功能。
在建立IPSec隧道前,隧道端点之间需要进行SA建立,SA帮助IPSec对特定要素进行约定,比如加密算法、认证算法、封装方式等。


1. AH(认证头,Authentication Header)
AH协议号51,负责认证与完整性保护,核心功能是验证ip数据包来源真实性和数据完整性。
核心目标:提供数据源认证、数据完整性校验、抗重放攻击,但不提供加密(数据明文传输)。
工作原理:在IP包头后插入AH头,包含“序列号”(防重放)、“认证数据”(ICV,完整性校验值)。ICV通过对“IP头+数据载荷+AH头部分字段”计算哈希生成(如HMAC-SHA256)。
局限性:不加密数据,且因认证范围包含IP头,无法穿越NAT(NAT会修改IP头,导致ICV校验失败)。
2. ESP(封装安全载荷,Encapsulating Security Payload)
ESP协议号50,不仅具备AH协议所有功能,还新增数据加密能力,实现数据机密性。
核心目标:同时提供加密(机密性)、认证(完整性+数据源认证)、抗重放攻击,是IPSec最常用协议。
工作原理:在IP包中插入ESP头(含SPI、序列号)和ESP尾(含填充数据、认证数据),对“数据载荷+ESP尾”加密(如AES-GCM),对“ESP头+加密后数据+ESP尾”计算认证数据(ICV)。
优势:支持加密,且认证范围不包含外层IP头(仅内层数据),可配合NAT-T(NAT穿越)技术适配NAT环境。
3. IKE(Internet密钥交换,Internet Key Exchange)
IKE负责秘钥管理与SA协商,核心作用是在两个IPSec对等体之间,安全、自动地协商生成SA和共享密钥,无需人工配置,简化IPSec部署和维护流程。
核心目标:动态协商SA参数(加密算法、认证密钥、SA生存周期等),避免手动配置SA的安全隐患(如密钥泄露、更新困难)。
版本:IKEv1(RFC 2409)和IKEv2(RFC 4306,更高效、抗DoS攻击,推荐生产使用)。
工作流程:分两个阶段——
阶段1(ISAKMP SA):建立“管理通道”,双方认证身份(预共享密钥/数字证书),协商加密算法(如AES-256)、认证算法(如SHA-384),生成共享密钥。
阶段2(IPSec SA):基于阶段1的安全通道,协商具体IPSec参数(如ESP/AH协议、加密密钥、SA生存周期),最终生成用于数据保护的IPSec SA。

IPSec支持两种工作模式,适配不同场景需求:
1. 传输模式(Transport Mode)
封装方式:仅保护IP包的数据载荷,原IP头不变,在IP头与数据载荷间插入AH/ESP头(ESP还会在载荷后加ESP尾)。
[IP头][AH/ESP头][数据载荷][ESP尾](若为ESP)
特点:开销小(无额外IP头),但暴露原IP地址,适用于主机到主机(End-to-End)通信(如两台服务器直连加密)。
2. 隧道模式(Tunnel Mode)
封装方式:保护整个原IP包,将其作为“数据载荷”封装在新的IP头中,新IP头包含网关地址(如VPN网关公网IP)。
[新IP头][AH/ESP头][原IP头][原数据载荷][ESP尾](若为ESP)
特点:隐藏内部网络拓扑(原IP头被加密),适用于网关到网关(Site-to-Site)或远程接入VPN(如企业分支与总部通过VPN互联)。
两种IPsec封装模式如下:


模式对比:
特性 | 传输模式 | 隧道模式 |
保护对象 | 仅数据载荷 | 整个原IP包(头部+载荷) |
IP头数量 | 1个(原IP头) | 2个(新IP头+原IP头) |
IP头部处理 | 不修改原始IP头部,不添加新IP头部 | 添加新的隧道IP头部,隐藏原始IP头部 |
安全性 | 较低,原始IP地址暴露 | 较高,隐藏原始IP地址和网络拓扑 |
典型场景 | 主机直连(如服务器间),端到端通信 | VPN网关互联(如分支-总部),站点到站点通信(网关-网关,网络-网络) |
NAT兼容性 | 差(AH认证IP头,NAT会破坏ICV) | 好(配合NAT-T可穿越NAT) |

以“分支网关A(公网IP:1.1.1.1)与总部网关B(公网IP:2.2.2.2)通过隧道模式ESP建立VPN”为例,完整流程如下:
步骤1:流量触发与安全策略匹配
分支内网主机(192.168.1.10)访问总部内网(10.0.0.20),数据包到达网关A。
网关A查询SPD(安全策略数据库),发现该流量匹配“需IPSec保护”的策略(如源192.168.1.0/24→目的10.0.0.0/24,使用ESP隧道模式)。
步骤2:IKE阶段1(建立ISAKMP SA)
主模式(Main Mode,6次握手):
A→B:提议IKE参数(如加密算法AES-256、认证算法SHA-384、DH组14)。
B→A:确认参数。
A→B:发送DH公钥(基于Diffie-Hellman算法,生成共享密钥材料)。
B→A:发送DH公钥。
A→B:身份认证(如预共享密钥签名)。
B→A:身份认证。
结果:双方建立ISAKMP SA,生成加密密钥(用于阶段2通信加密)和认证密钥(验证阶段2消息)。
步骤3:IKE阶段2(建立IPSec SA)
快速模式(Quick Mode,3次握手):
A→B:提议IPSec参数(如ESP协议、加密算法AES-GCM、SA生存周期3600秒)。
B→A:确认参数,生成IPSec SA(含SPI=100、加密密钥K1、认证密钥K2)。
A→B:确认,生成反向IPSec SA(含SPI=200、加密密钥K3、认证密钥K4)。
结果:双方各持2个IPSec SA(入站/出站),用于后续数据加密。
步骤4:数据加密传输(ESP隧道模式)
封装:网关A将原IP包(192.168.1.10→10.0.0.20)作为载荷,外层封装新IP头(1.1.1.1→2.2.2.2),插入ESP头(SPI=100、序列号=1),用K1加密原IP包+ESP尾,用K2计算ICV(认证数据)。
传输:加密后的数据包经公网路由至网关B。
步骤5:数据解密与转发
网关B收到数据包,根据外层IP头找到对应IPSec SA(SPI=100),用K2验证ICV(确保完整性),用K1解密载荷得到原IP包(192.168.1.10→10.0.0.20),转发至总部内网。
步骤6:SA过期与重新协商
当IPSec SA生存周期到期(如3600秒)或流量达到阈值,IKE阶段2自动重新协商新SA,无缝切换(旧SA到期后删除,避免密钥长期使用风险)。

IPsec使用隧道模式封装时,除了能够保护数据流量,还能实现VPN的功能,称为IPsecVPN。


应用场景
1、IPSec VPN点到点场景
点到点IPSec VPN也称为局域网到局域网IPSec VPN或网关到网关IPSec VPN,主要用于两个网关之间建立IPSec隧道,从而实现局域网之间安全地互访。点到点IPSec VPN两端网关必须提供固定的IP地址或固定的域名,通信双方都可以主动发起连接。


2、IPSec VPN点到多点场景
点到多点多用于一个总部与多个分支建立IPSec VPN的场景。在实际的应用中,经常使用Hub-Spoke类型的组网,即一个总部到多个分支机构的组网,分支节点建立到总部的IPSec隧道,各个分支机构之间的通信由总部节点转发和控制。


3、GRE over IPSec场景
IPSec VPN本端设备无法感知对端有几个设备,本端共用一个IPSec SA。报文封装中没有对端设备的下一跳,所以无法传输组播、广播和非IP报文,比如OSPF协议,导致分支与总部的内部网络之间无法使用OSPF路由。 GRE over IPSec可利用GRE和IPSec的优势,通过GRE将组播、广播和非IP报文封装成普通的IP报文,通过IPSec为封装后的IP报文提供安全地通信,进而可以提供在总部和分支之间安全地传送广播、组播的业务。


GRE over IPSec报文封装
当网关之间采用GRE over IPSec连接时,先进行GRE封装,再进行IPSec封装。GRE over IPSec使用的封装模式可以是隧道模式也可以是传输模式。采用AH协议的GRE over IPSec报文封装过程如下:


GRE over IPSec的优势



1、IPSec通过“协议框架协同+多模式适配+动态密钥管理”,实现了网络层端到端安全。其核心价值在于:透明保护IP流量(无需应用改造)、支持灵活部署(传输/隧道模式)、适配复杂网络(NAT穿越、高可用性)。尽管配置复杂度较高,但其安全性与通用性使其成为企业级网络安全的事实标准,也是理解现代VPN技术的基石。
2、IPSec的核心是“安全联盟(SA)+ 协议处理 + 密钥管理”的协同框架,共同实现端到端安全。
3、IPsec协议族包括AH,ESP和IKE。AH提供认证相关功能。ESP提供认证和加密能力。
IKE负责秘钥管理与SA协商,核心作用是在两个IPSec对等体之间,安全、自动地协商生成SA和共享密钥,无需人工配置,简化IPSec部署和维护流程。
4、IPsec的封装模式有传输模式和隧道模式
5、IPsec隧道模式可用于VPN功能,在应用场景上包括IPSec VPN点到点场景、
点到多点场景、GRE over IPSec场景。
参考文献:
https://zhuanlan.zhihu.com/p/16735416304
注:转载文章来源于网络,版权归原作者或企业所有,侵删!