searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

GB35114之设备注册验签

2023-06-12 10:01:57
381
0

1 术语、定义

 GB35114

  GB35114-2017标准是国内第一个关于视频监控联网信息安全方面的技术标准,对于保障视频监控联网信息的安全具有重要作用。

 GB/T 28181

  GB/T 28181标准规定了公共安全视频监控联网系统(以下简称联网系统)的互联结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。

 签名与加密

  数据加密使用的是接受方的密钥对,任何知道接收方公钥的都可以向接受方发送消息,但是只有拥有私钥才能解密出来。

  数据签名使用的是发送方的密钥对,任何接受方都可以用公钥解密,验证数据的正确性。

 国密算法

  参阅 https://blog.csdn.net/lishuoboy/article/details/118458483

  CA

 安全认证机构(CA)也称为认证中心(Certificate Authority),受理数字证书的申请、签发数字证书,以及对数字证书的管理。
 各类证书密钥文件后缀的解释 参阅 https://blog.csdn.net/bluishglc/article/details/123565671

2 环境与工具

2.1 前端设备  

海康IPC

2.2 开源的密码工具箱

GmSSL http://gmssl.org  密钥、证书生成都基于最新3.0.0版本,其中信令服务验签部分代码也是完全使用GmSSL提供的方法。

2.3 在线签名与验签工具

GB35114的前端设备注册的验签主要涉及SM2 with SM3算法,使用https://const.net.cn/tool/sm2/verify/

3 注册验签过程

3.1 生成密钥对和证书

1.使用GmSSL生成CA密钥对,生成CA自签crt证书

2.使用GmSSL生成信令服务密钥对,生成csr证书请求文件,通过CA私钥签名成crt证书

3.使用GmSSL通过CA私钥签名IPC的证书请求csr文件,生成crt证书。

3.2 导入证书到IPC

将设备的crt证书导入到IPC中,双向认证可以将CA证书和信令服务证书一同导入到设备上。

导入成功如图:

 

3.3 注册验签

设备端勾选启用国密模式,启动注册,信令服务按照GB35114要求构建回复报文,通过抓包搜集验签数据,所抓报文如下图:

 依据GB35114中要求和使用gmssl方法,流程如下:

1.对random1,random2做base64解码,然后将random2,random1,serverid内存相加

2.对上面相加的内存数据进行sm3获取摘要

3.使用sm2方法验签,其中sm2_verify_init需要输入一个id值,查询各方面资料,没有提这个id值的来源,猜测可能就是sm2的默认值,或者是IPC的设备国标id,两种方法值都有尝试,还是验签不通过。

此时觉得可能有如下问题:

1.待验签的源数据构建有问题。

2.sm2_verify_init 中传入的id不对。

基于以上怀疑,觉得待签名数据可能有4种情况:

1.直接用报文中的random2+random1+serverid

2.基于1的数据主动调用SM3获取摘要

3.对random2,random1进行base64解码后和serverid相加

4.基于3的数据主动调用SM3获取摘要

之前提到的id,2种可能的情况:

1.sm2头文件的默认值

2.设备国标id

于是针对以上的可能性,首先用在线工具进行验证,直到出现验证成功,如下图:

接着修改代码同样验签通过。

4 总结

1.待验签的数据为报文中的random2+random1+serverid

2.不需要对待验签数据主动调用gmssl中的SM3算法

3.sm2_verify_init中id使用sm2头文件中的默认值1234567812345678字符串

0条评论
0 / 1000
l****n
4文章数
1粉丝数
l****n
4 文章 | 1 粉丝
l****n
4文章数
1粉丝数
l****n
4 文章 | 1 粉丝
原创

GB35114之设备注册验签

2023-06-12 10:01:57
381
0

1 术语、定义

 GB35114

  GB35114-2017标准是国内第一个关于视频监控联网信息安全方面的技术标准,对于保障视频监控联网信息的安全具有重要作用。

 GB/T 28181

  GB/T 28181标准规定了公共安全视频监控联网系统(以下简称联网系统)的互联结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。

 签名与加密

  数据加密使用的是接受方的密钥对,任何知道接收方公钥的都可以向接受方发送消息,但是只有拥有私钥才能解密出来。

  数据签名使用的是发送方的密钥对,任何接受方都可以用公钥解密,验证数据的正确性。

 国密算法

  参阅 https://blog.csdn.net/lishuoboy/article/details/118458483

  CA

 安全认证机构(CA)也称为认证中心(Certificate Authority),受理数字证书的申请、签发数字证书,以及对数字证书的管理。
 各类证书密钥文件后缀的解释 参阅 https://blog.csdn.net/bluishglc/article/details/123565671

2 环境与工具

2.1 前端设备  

海康IPC

2.2 开源的密码工具箱

GmSSL http://gmssl.org  密钥、证书生成都基于最新3.0.0版本,其中信令服务验签部分代码也是完全使用GmSSL提供的方法。

2.3 在线签名与验签工具

GB35114的前端设备注册的验签主要涉及SM2 with SM3算法,使用https://const.net.cn/tool/sm2/verify/

3 注册验签过程

3.1 生成密钥对和证书

1.使用GmSSL生成CA密钥对,生成CA自签crt证书

2.使用GmSSL生成信令服务密钥对,生成csr证书请求文件,通过CA私钥签名成crt证书

3.使用GmSSL通过CA私钥签名IPC的证书请求csr文件,生成crt证书。

3.2 导入证书到IPC

将设备的crt证书导入到IPC中,双向认证可以将CA证书和信令服务证书一同导入到设备上。

导入成功如图:

 

3.3 注册验签

设备端勾选启用国密模式,启动注册,信令服务按照GB35114要求构建回复报文,通过抓包搜集验签数据,所抓报文如下图:

 依据GB35114中要求和使用gmssl方法,流程如下:

1.对random1,random2做base64解码,然后将random2,random1,serverid内存相加

2.对上面相加的内存数据进行sm3获取摘要

3.使用sm2方法验签,其中sm2_verify_init需要输入一个id值,查询各方面资料,没有提这个id值的来源,猜测可能就是sm2的默认值,或者是IPC的设备国标id,两种方法值都有尝试,还是验签不通过。

此时觉得可能有如下问题:

1.待验签的源数据构建有问题。

2.sm2_verify_init 中传入的id不对。

基于以上怀疑,觉得待签名数据可能有4种情况:

1.直接用报文中的random2+random1+serverid

2.基于1的数据主动调用SM3获取摘要

3.对random2,random1进行base64解码后和serverid相加

4.基于3的数据主动调用SM3获取摘要

之前提到的id,2种可能的情况:

1.sm2头文件的默认值

2.设备国标id

于是针对以上的可能性,首先用在线工具进行验证,直到出现验证成功,如下图:

接着修改代码同样验签通过。

4 总结

1.待验签的数据为报文中的random2+random1+serverid

2.不需要对待验签数据主动调用gmssl中的SM3算法

3.sm2_verify_init中id使用sm2头文件中的默认值1234567812345678字符串

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0