IP安全 SEC VPN_2

IPSec协议框架

IPsec 不是一个单一协议,而是一个框架,包含三个核心标准协议:

  • ESP(Encapsulating Security Payload) :真正干活的"保镖",负责加密和完整性校验,保护用户数据。

  • AH(Authentication Header) :只负责完整性校验和身份认证,不加密(现网很少单独使用)。

  • IKE(Internet Key Exchange) :幕后"管家",负责自动协商出 ESP/AH 工作所需的各种参数(密钥、算法、SPI 等)。

一句话 :IKE 负责"谈好条件",ESP/AH 负责"按条件执行"。绝大数现网 VPN 只用 IKE + ESP,AH 几乎被淘汰。

完整工作流程(以 IKEv1 主模式 + ESP 隧道模式为例)

bash 复制代码
1. 触发 VPN 流量(如访问对端子网)
   ↓
2. IKE 第一阶段(主模式)
   ├─ 消息1-2:明文协商 IKE 策略(加密算法、哈希、DH组等)
   ├─ 消息3-4:DH 交换 → 计算出 DH 共享密钥,生成随机数
   └─ 消息5-6:在加密隧道中交换身份和认证数据 → 建立 IKE SA
   ↓
3. IKE 第二阶段(快速模式)
   ├─ 在 IKE SA 保护下,协商感兴趣流(ACL)、新随机数
   ├─ 使用 SKEYID_d + 随机数派生出 ESP 加密密钥和认证密钥
   └─ 建立一对 IPsec SA(入方向和出方向)
   ↓
4. 数据包处理(以 ESP 隧道模式为例)
   ├─ 原始 IP 包(如 PC→Server)
   ├─ 防火墙/网关根据 ACL 匹配,决定送入 IPsec 隧道
   ├─ 查找出方向的 IPsec SA,获得 SPI、加密密钥、认证密钥
   ├─ 对原始 IP 包加密,加上 ESP 头和尾,计算 ICV
   ├─ 封装在新的 IP 头中(源=本端公网IP,目的=对端公网IP,协议=50)
   └─ 发送到公网
   ↓
5. 接收端处理
   ├─ 收到协议 50 的包,提取 SPI,查找入方向的 IPsec SA
   ├─ 验证序列号(抗重放)
   ├─ 验证 ICV(完整性)
   ├─ 解密载荷
   └─ 还原原始 IP 包,转发给内网服务器

在IPsec VPN中,IKE(Internet Key Exchange)是唯一的"谈判官"和"信使"。两台防火墙之间所有关于"如何保护数据"的细节------用什么加密算法、用什么哈希算法、用什么密钥、保护哪些流量、多长时间换一次密钥------都必须由IKE协议来承载和传递。没有IKE,就没有自动协商,只能靠手工配置(现网基本不用)。

一句话:IKE负责所有控制层面的沟通,数据层面(ESP/AH)只管"埋头干",不问"怎么干"。

IKE的协商

IKE主模式的前4条消息确实是明文发送的,其中包含了DH公共值(ga mod p 和 gb mod p)和随机数(Nonce)

这正是IKE协议的精妙所在。它的设计前提,就是让DH交换在公开的、不安全的信道上完成,并且交换的内容是安全的。

IKE(Internet Key Exchange)的前期交换(IKE_SA_INIT / 主模式前4个包)确实是明文传输。但这并不危险,因为:

  1. 真正敏感的"身份信息"(ID、预共享密钥哈希)在加密的交换阶段才发送。

  2. 用于生成加密密钥的DH公开值(公钥)即使明文泄露,也无法反向计算出共享密钥(离散对数难题)。

  3. 设计之初就假设网络是"可窃听但不可篡改"的(只防被动攻击,不防中间人) -- 中间人攻击需要靠预共享密钥或证书来防范。

底层原理 & 设计逻辑(以IKEv1为例)

IKEv1主模式(Main Mode)交换分3个"交换对",共6个包:

交换对 报文内容 是否加密 泄露风险
1 (包1-2) IKE策略提议(加密算法、哈希算法、DH组、认证方式) ❌ 明文 低 -- 攻击者知道你在用什么算法,无法直接破解
2 (包3-4) DH公开值 (ga mod p)、Nonce(随机数) ❌ 明文 极低 -- 离散对数难题 :知道g^a mod pg^b mod p,无法算出g^{ab} mod p(DH共享密钥)
3 (包5-6) 身份ID(IP或FQDN)、认证数据(预共享密钥哈希或证书签名) 已加密 无 -- 此时双方已用DH共享密钥 + Nonce 派生出SKEYID_e(加密密钥),报文加密

IKE SA与IPSec SA

IKE SA 是"控制通道",IPsec SA 是"数据通道"。

IKE SA 负责安全地协商 出用于加密数据流的密钥和参数;IPsec SA 则使用这些参数实际加密传输业务数据。两者是"司令官"与"士兵"的关系:司令(IKE SA)下达作战方案后,士兵(IPsec SA)执行加密传输任务。



IKE SA状态检测机制

IKE SA 状态检测(DPD / Heartbeat)的本质是:在无连接的 UDP 协议(IKE 基于 UDP 500/4500)之上,模拟"心跳"机制来探测对端是否存活。

由于 IKE 协议本身没有 Keepalive 机制,当一端崩溃、链路断开或设备重启,另一端会一直保留"僵尸"IKE SA,误以为通道正常,导致业务数据发向黑洞而丢包。DPD(Dead Peer Detection,对等体失效检测)和 Heartbeat 就是填补这个空白的"探针"。



IPSec VPN


IPSec VPN 点到点应用场景


IPSec VPN点到多点应用场景


IPsec隧道两端用于定义"保护流"的ACL规则,必须互为镜像

比如,如果有A和B两个站点,你在A端设置ACL规则为"源192.168.1.0 → 目的192.168.2.0",那么在B端你就必须设置ACL规则为"源192.168.2.0 → 目的192.168.1.0"。这样两端定义的ACL就形成了互相映射的关系,才能保证加密流正常封装。

为什么必须这样做?

IPsec要保护的数据流,理论上包括从A端到B端的通信,也包括从B端回A端的通信。如果只有一端配置了流向规则,另一方没有对应的反向规则,会导致SA无法建立,或者只能单向通信。只有两端都正确配置了镜像ACL,无论哪一端先发起通信协商,都能成功建立隧道。



IPSec VPN点到多点应用场景


GRE over IPSec应用场景

相关推荐
Mr_愚人派2 小时前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao19 小时前
【无标题】
人工智能·安全
Alsn8619 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院20 小时前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智20 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest20 小时前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_20 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_9618451520 小时前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序员mine20 小时前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
零零信安21 小时前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安