首页/网络/BGP 与广域网速查/完整性算法与 PRF:SHA-2 系列实践
IPsec VPN60 条

完整性算法与 PRF:SHA-2 系列实践

阶段一完整性与 PRF 建议使用 SHA-2 系列(sha256/384/512);MD5/SHA-1 仅用于兼容存量设备,并纳入替换计划。

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

完整性与 PRF 是什么

IKE 阶段一里有两类密码学功能容易被混为一谈:完整性算法负责给 IKE 报文做校验,防止协商过程被篡改;PRF(伪随机函数)负责在密钥交换后推导密钥材料、并参与身份认证的计算。IKEv1 里两者由同一个 hash 字段决定,选了 MD5 就同时是校验和 PRF;IKEv2 把它们拆成 integrity 与 prf 两个独立字段,于是会出现完整性用 sha256、PRF 仍用 sha1 的组合。对接失败时先确认两端这四个字段(IKEv1 hash、IKEv2 integrity/prf)是否逐项一致,比反复重试有效得多。

基本信息

适用设备Cisco IOS/IOS-XE、华为 VRP、strongSwan/Libreswan
IKEv1 字段crypto isakmp policy 下 hash,完整性即 PRF
IKEv2 字段integrity 与 prf 分别指定,可不同
推荐取值sha256 起步,高安全场景 sha384/sha512
兼容取值md5、sha1,仅为存量设备保留
生效时机阶段一协商,任一项不匹配则 SA 建不起来

典型使用场景

  • 新建站点到站点 VPN:直接选 SHA-2 系列,避免后期再改一次
  • 对接第三方厂商设备:先交换参数表,把 integrity 与 prf 单列一行核对
  • 老设备升级过渡期:暂时保留 sha1 保证业务,同时排定替换时间点
  • 等保与合规检查:需要说明弱算法存量清单与整改计划
  • 协商失败排障:抓 IKE 报文看两端提议里实际携带的算法列表

Cisco 配置对照

Cisco 配置对照
# IKEv1:hash 一个字段同时决定完整性与 PRF
crypto isakmp policy 10
 hash sha256
 group 14
! IKEv2:integrity 与 prf 分开写,必须都写清楚
crypto ikev2 proposal P1
 encryption aes-cbc-256
 integrity sha256
 prf sha256
 group 14
! 查看实际生效的提议
show crypto ikev2 proposal P1

算法选择对照

算法现状说明
md5不推荐碰撞与计算强度不足,仅兼容老设备
sha1逐步淘汰仍有存量,安全审计常被点名
sha256推荐性能与安全平衡,最通用的起步选择
sha384/512高安全部分平台性能开销上升,需实测
IKEv2 允许 integrity 与 prf 取不同算法,但多数实现默认两者一致;对接时只看了 integrity 就以为整套对齐,是常见的误判来源。
更换算法属于两端联动操作:建议在同一维护窗口内先改一端、确认 SA 重建成功,再改下一端,避免中途全断。

易错点

  • 只核对 IKEv2 的 integrity 忘了 prf:一端 sha256 一端 sha1 时协商直接失败,日志里往往只写 NO_PROPOSAL_CHOSEN
  • 把 MD5 当成只是兼容选项而无风险:它降低的是整个隧道的密钥推导强度,泄露后果等于密钥暴露
  • 两端在不同时间点各自升级算法:中间会出现一段双方都不匹配的空窗期,业务中断却查不出配置问题
  • 用 wireshark 看 IKEv1 时误以为能看到 hash 明文:实际提议里的算法列表才是判断依据

数据来源与参考

  • RFC 7296: 算法套件
  • Cisco: IKE 策略配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌