请插入sm2专用key

在密码协议层面国密标准定义叻sm2密钥交换协议、IPSec技术规范、SSL 技术规范三个密码协议。在实际应用系统中为保障系统完整性、保密性、不可抵赖性三方面应采用规范协議实现安全性保障,不要采用自定义密码协议

本文通过江南天安开源国密openssl 和 360国密浏览器,实现了国密SM2 HTTPS可以基于这个框架开发安全应用。

国家密码管理局相关标准国密算法为sm(商密)系列下面三种算法最常用

- sm4 对称分组加密算法

和国际算法对应,sm2对应RSAsm3对应sha256,sm4对应AES根据國密标准要求,应用系统中应该采用国密算法进行信息系统安全性保护并且采用的协议应尽量使用国家密码管理局审核的协议。

在密码協议层面国密标准定义了sm2密钥交换协议、IPSec技术规范、SSL技术规范三个密码协议。在实际应用系统中为保障系统完整性、保密性、不可抵赖性三方面用户如果采用自定义协议,保证自定义协议是采用国密算法的但协议的安全性以及整套系统的安全性,还是需要进行评估认證因此建议在系统中采用国密IPSec和SSL 实现安全性保障。

目前IPSec 和 SSL 产品形态是一台网关硬件,部署在资源前端实现用户的身份认证和资源的防护。

我们也可以搭建国密算法的https服务器测试国密协议。

能够进行测试的国密https站点:

360 浏览器访问中国银行能够执行国密标准,验证国密证书

访问沃通网站,360浏览器不能很好执行国密算法根据沃通网站的特点,通过兼容TLSv1.2实现

密信浏览器访问中国银行,提示ERR_CERT_AUTHORITY_INVALID说明根證书没有添加到密信浏览器的信任区中,请沃通或密信浏览器的开发人员注意预置国密批准的sm2运行CA证书

密信访问沃通,能成功实现sm2协议但沃通的测试服务证书不是国密局签发sm2根证书。

采用开源国密算法由江南天安发布的tassl,和改造后的Nginx项目地址如下:

配置360浏览器,配置信任证书

虽然浏览器和服务器测试通过但是浏览器没有执行服务端证书核验,意味着服务端仿冒、钓鱼网站等问题

还留有国密客户端双向认证没有做。

4.国密SSL协议开发总结(附报文详细分析) 

国密浏览器实现方案(测试网址) 

1、生成SM2私钥及证书请求

1、sm2加解密democ语言实现;

2、sm2加解密注意事项,如公钥前添加0x04,sm2加密后密文顺序等新版本是C1|C3|C2

*功能: 计算 SM3 杂凑值(可能包含为满足 SM2 签名要求所做的预处理操作) 中有一个成立就直接计算输入数据 input 的 SM3 杂凑值, 如果四个条件全部不成立才执行 SM2 算法签名预处理操作, 預处理计算过程遵循 GM/T 0009《 SM2 密码使用规范》 // 下面为满足 SM2 签名的要求,做预处理操作 国密规范中要求把 ENTL(用 2 个字节表示的 ID

我要回帖

 

随机推荐