首页/网络/BGP 与广域网速查/AEAD(GCM)与 CBC+HMAC 的选择
IPsec VPN60 条

AEAD(GCM)与 CBC+HMAC 的选择

AES-GCM 将加密与完整性合一(AEAD),配置更简洁;老设备可能只支持 CBC+HMAC-SHA2,对接前先确认对端支持矩阵。

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

两种算法组合的区别

IPsec 的加密与完整性校验可以分开做,也可以合并做。传统组合是分组加密加消息认证,例如 AES-CBC 配 HMAC-SHA2,配置里要分别指定加密算法与完整性算法;AEAD 类算法把两者合成一次运算,典型是 AES-GCM,只需指定一个算法名并附带 ICV 长度。AEAD 的优势是配置简洁、运算效率高、不易出现只配一半的错误;代价是对端必须支持同一套 AEAD 实现,老平台可能只认 CBC 组合,对接前要先核对双方支持矩阵。

基本信息

AEAD 代表AES-GCM,一次运算完成加密与完整性校验
传统组合AES-CBC 加 HMAC-SHA1/SHA2,两者分别指定
关键差异AEAD 不再单独配置完整性算法,多配会被忽略或报错
兼容性老平台与部分第三方实现可能只支持 CBC 组合
协商方式按 proposal 列表顺序逐个尝试,全部失败则第一阶段或第二阶段失败

典型使用场景

  • 新建设备间隧道:优先选 AEAD,配置更少且不易出错
  • 与老设备对接:对端只支持 CBC 时降级组合,先核对支持列表
  • 性能敏感链路:AEAD 单次运算比加密加校验两次处理开销更低
  • 合规改造:按等保或行业要求选用指定强度的算法组合
  • 互通验证:把多种组合同时列入 proposal,观察实际协商结果

配置对照

配置对照
# Cisco:AEAD 变换,只给加密部分
crypto ipsec transform-set TS-GCM esp-gcm 256
# Cisco:传统组合,加密与完整性分开写
crypto ipsec transform-set TS-CBC esp-aes 256 esp-sha256-hmac
# strongSwan:AEAD 写法
# esp_proposals = aes256gcm16
# strongSwan:CBC 写法
# esp_proposals = aes256-sha256
show crypto ipsec sa            # 看实际协商出的算法

常见组合与选择

组合特点适用场合
AES-GCMAEAD,一次运算,配置省心新设备、双方都支持 AEAD
AES-CBC + SHA2兼容性最好,需要分别指定老设备或第三方实现互通
AES-CBC + SHA1强度偏低,多数场景不推荐仅用于无法升级的历史设备
协商失败双方无交集组合查看日志中的 proposal 列表逐条比对
proposal 里可以同时列出 GCM 与 CBC 组合,设备会按顺序尝试;排查互通问题时,把两端 proposal 逐条抄下来对照,比反复猜测高效。
AEAD 模式下 DH 与 PFS 仍然是独立配置项,PFS 关不关与是否使用 GCM 没有直接关系。

易错点

  • 只配 GCM 而不管对端能力:对端仅支持 CBC 时协商失败,隧道起不来
  • 以为 GCM 还要另配 HMAC:AEAD 已内含完整性校验,多余配置会被忽略或直接报错
  • 只看加密算法不看密钥长度与 ICV 长度:两端算法名相同但强度参数不同,仍然协商不上
  • 混用不同强度的算法而未做对端核对:现场调试时才发现无交集,延长故障时间

数据来源与参考

  • RFC 4106: AES-GCM for ESP
  • Cisco: transform-set 配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌