首页/网络/BGP 与广域网速查/PFS:阶段二密钥的前向安全
IPsec VPN60 条

PFS:阶段二密钥的前向安全

PFS 让阶段二密钥独立重新派生:阶段一密钥泄露不影响历史会话;代价是计算开销上升,两端需同时启用且 DH 组一致。

BGP 与广域网速查网络更新于 2026-10-13

PFS 的作用

PFS(Perfect Forward Secrecy,完美前向安全)让阶段二的子 SA 密钥独立于阶段一重新派生:即使阶段一的密钥后来泄露,也无法反推出历史会话的密钥。代价是每次重协商都要多做一次 DH 交换,计算开销上升。两端需要同时启用,且 DH 组必须一致。

基本信息

作用子 SA 密钥独立派生,提升前向安全性
配置位置crypto map 或 ipsec profile 下的 set pfs
一致性要求两端同时启用,且使用的 DH 组相同
核对方式show crypto ipsec sa 中的 PFS 字段
常用组group14(2048 位 MODP)、group19(ECP 256)

典型使用场景

  • 安全基线要求前向安全:启用 PFS 并统一两端组号
  • 对端协商排障:阶段一正常而阶段二反复失败
  • 设备性能有限:评估 PFS 带来的额外 DH 计算开销
  • 合规审计:提供两端均已启用 PFS 的配置证据
  • 调整 SA 生命周期时同步复核 PFS 设置

配置与核对

配置与核对
crypto map CMAP 10 ipsec-isakmp
 set peer 203.0.113.2
 set transform-set TS
 set pfs group14                  # 阶段二重新派生密钥,用 group14
!
crypto ipsec profile PROF
 set pfs group14
!
show crypto ipsec sa | include PFS  # 核对实际协商到的 PFS 状态

排查要点

现象含义排查方向
阶段一通、阶段二失败PFS 不一致或组号不匹配核对两端 PFS 开关与组号
两端配置相同仍失败实现间对分组处理存在差异按对接要求统一配置并抓包确认
SA 频繁重协商PFS 叠加了过短的 SA 生命周期在安全与开销之间重新平衡
部分实现允许一端启用、另一端不启用并协商成功,但实际保障与设计预期不符;配置评审应以两端协商结果为依据,而不是只看单端配置。
PFS 的组号不要求与阶段一的组一致,但两端必须相同;把这两个组混为一谈,是阶段二失败最常见的误判原因。
启用 GCM 类加密算法时,部分平台对完整性算法的配置方式与 HMAC 不同,改动前先确认版本支持情况,避免配出无效组合。
阶段二的重新协商由流量或生命周期触发,PFS 生效的时机是在子 SA 重建时:配置改完可以等一次重协商或主动清除 SA 来验证,只盯配置文件容易误判已经生效。

易错点

  • 一端开 PFS 一端不开:实现间行为差异大,实际保障强度与预期不符
  • PFS 组号两端不一致:阶段一正常建立,阶段二反复失败
  • 把 PFS 的组与阶段一的组混为一谈:核对时看错对象,排查方向随之偏掉
  • 重协商过于频繁:PFS 叠加很短的 SA 生命周期会带来资源开销与路径波动

数据来源与参考

  • RFC 7296: 子 SA 密钥派生
  • Cisco: set pfs
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌