DH 组决定什么
DH(Diffie-Hellman)组决定密钥交换的强度与计算开销,是 IKE 协商的必选项之一:双方必须在各自的组列表中找到共同支持的组,否则阶段一直接失败。组号越大通常越安全、计算越贵;ECP 组在同等强度下比传统 MODP 组更高效。
基本信息
| group 2 | 1024 位 MODP,已被视为弱组,逐步淘汰 |
|---|---|
| group 5 | 1536 位 MODP,多用于兼容存量设备 |
| group 14 | 2048 位 MODP,当前常见基线 |
| group 19 / 20 | ECP 256 / 384 位,推荐方向,效率更好 |
| group 24 | 2048 位子群,带素因子,特定合规场景使用 |
典型使用场景
- 新建 IPsec 隧道选组:优先 group 14 及以上
- 与存量设备对接:对方只支持旧组时,评估风险后临时兼容
- 合规要求场景:按规范指定组号,不凭经验选择
- 阶段二启用 PFS 时:PFS 的组同样要与对端一致
- 排查协商失败:先确认两端组列表是否存在交集
配置位置
配置位置
crypto isakmp policy 10
encryption aes 256
hash sha256
group 14 # IKEv1 阶段一使用 2048 位 MODP
!
crypto ikev2 proposal P1
encryption aes-cbc-256
integrity sha256
group 19 # IKEv2 场景建议使用 ECP 组
!
# 开源实现示例(strongSwan):
# proposals = aes256-sha256-modp2048常用组速查
| 编号 | 描述 | 建议 |
|---|---|---|
| 2 | 1024 位 MODP | 淘汰中 |
| 5 | 1536 位 MODP | 仅用于兼容 |
| 14 | 2048 位 MODP | 常见基线 |
| 19 / 20 | ECP 256 / 384 | 推荐方向 |
| 24 | 2048 位子群 | 特定合规要求场景 |
组协商取交集:两端组列表没有共同项时阶段一直接失败,日志往往只报协商失败而不指明具体项,需要人工对照两端配置。
ECP 组在同等安全强度下计算开销优于同强度 MODP 组:设备支持时优先选择 19 或 20。
各平台支持的组集合与默认值不同,示例只作参考;上线前用实际配置核对,并在两端都确认最终协商到的组。
阶段一会用配置的加密、散列、认证与 DH 组组成若干提议,再按优先级与对端取交集;把强组放在策略靠前的位置,就能在兼容旧设备的同时优先协商出更安全的组合。
排查组相关失败时,先看两端各自声明了哪些组,再看实际协商出的 SA 参数;日志通常只报协商失败,具体差异需要人工比对两端配置。