国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?

作者站长头像
站长
· 阅读数 9

关于GM/T-0022《IPSec VPN技术规范》秘钥交换签名载荷验证失败的疑问?

GM/T-0022秘钥交换流程

国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?

疑问点

  1. 报文3和报文4中签名载荷的是对哪些数据进行签名?

    根据规范:SIG_b=Asymmetric_Sign(Ski_b | Ni_b | IDi_b | CERT_enc_i_b,priv_i)个人理解:

    • Ski_b: 16字节临时秘钥
    • Ni_b: 16字节NONCE值原文 + padding
    • IDi_b: 4字节ID载荷的头 + ASN1编码的ID值原文 + padding
    • CERT_enc_i_b: 1字节证书类型 + ASN1的证书编码

    对以上数据使用 本端的私钥进行签名 得到签名载荷

  2. 使用sm2进行签名时使用的 ID 是什么?

    不知道ID是什么,目前和第三方设备对接时,签名载荷总验证失败

不知道有没有哪位有这方面的经验,对上面两个疑问进行指正,感谢,感谢 !!

调试日志

  1. 随机生成临时秘钥,并用公钥加密国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?
  2. 生成NONCE和获取ID,各自对数据填充后,连接起来并使用 临时秘钥加密(对称加密)国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?
  3. 要签名的数据Ski_b + Ni_b + IDi_b + CERT_enc_i_b国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?
  4. 签名使用的 ID和签名结果国密双证构建IPSec隧道,ISAKEP的签名载荷总验证失败?
回复
1个回答
avatar
test
2024-07-14

经过反复尝试和分析解决了以上问题

  1. 签名载荷

Ski_b: 16字节临时秘钥Ni_b:16字节NONCE (不带padding)IDi_b:4字节ID载荷头 + ASN1编码ID (不带padding)CERT_enc_i_b:1字节证书类型 + ASN1证书编码

  1. 签名的ID为默认值 "1234567812345678"
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容