GB35114 A级过检

43 篇文章 0 订阅

最近公司要求支持GB35114 A级过检,折腾了两周,终于验证通过,在此记录一下,方便以后自己查看。

GB35114 A级过检

  1. 单向认证,设备需要发送签名信息给服务器验证

    签名信息的组装注意事项:
    a) 按照GB协议规则组装待签名的字符串.
    b) 对组装好的字符串进行sm3杂凑算法,这里使用sm3杂凑算法时要使用设备自己的公钥,用户id是1234567812345678,长度为16.
    c) 对32字节sm3杂凑值进行签名,使用设备私钥.
    d) 对签名算出来的 r和s值进行ans.1(der)编码.
    e) 对der编码后的数据再进行base64编码,得到签名值.

  2. 双向认证,服务器验证设备身份的同时,设备也验证服务器的身份

    验签服务器签名的方法:
    a) 按照GB协议规则组装待签名的字符串.
    b) 对组装好的字符串进行sm3杂凑算法,这里使用sm3杂凑算法时要使用服务器的公钥,用户id是1234567812345678,长度为16.
    c) 使用base64解出服务器发送过来的签名数据.
    d) 对base64解析出来的签名数据进行der解码得到 r和s值.
    e) 使用服务器的公钥和sm3计算出来的hash值,以及r和s数据进行验签.

  3. 信令验证,设备和服务器要相互验证对的消息

    验证方法
    a) 按照GB协议规则组装待杂凑的字符串.
    b) 对组装好的字符串使用sm3杂凑算法得到hash值,不带userid和公钥.
    c) 解码nonce中的base64数据得到一个hash值.
    d) 比较两个hash值,判断数据是否被更改过.

GB35114主要验证两个方面来保证数据安全:

  1. 验证签名时,通过公钥来验证使用私钥签的名,来保证数据的来源是安全的.
  2. 使用sm3算法对消息整体进行摘要,得到hash值,接收数据方要通过同样的算法计算出一个hash值,比较两个值是否相同,来保证数据没改篡改过,保证数据安全.
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿木小呆呆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值