SM2 国密算法SSL证书应用于HTTPS加密,如何实现?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 服务端如何实现基于国密算法的SSL加密连接呢?如何解决国密算法的浏览器兼容性问题?

如果要在客户端/网关系统和服务端之间进行SSL加密通信,当客户端应用(浏览器等)发起登录认证、加密、签名等请求时,服务端如何实现基于国密算法的SSL加密连接呢?如何解决国密算法的浏览器兼容性问题?

如何实现基于国密算法的SSL认证和加密

国密SSL协议的握手过程如下:

(1)交换Hello消息来协商密码套件,交换随机数,决定是否会话重用;
(2)交换必要的参数,协商预主密钥
(3)交换证书信息,用于验证对方
(4)使用预主密钥和交换的随机数生成主密钥
(5)向记录层提供安全参数
(6)验证双方计算的安全参数的一致性、握手过程的真实性和完整性

_ssl_1

实现以上握手过程,需要客户端(浏览器)和服务端都支持国密算法。虽然目前SM2/SM3/SM9算法已相继纳入国际标准体系,但要实现客户端和服务端的广泛兼容,仍然需要漫长的推进过程。在此期间,通过技术解决方案让浏览器端、服务端都能够支持国密算法和国密SSL证书,才能推动国密算法普及应用。

因此,在服务端实现基于国密算法的SSL认证和HTTPS加密,需要网站运营者向工信部许可的权威电子认证机构(如:沃通CA),申请符合国密标准的国密SSL证书(如: 沃通国密SSL证书),将证书部署在服务器上,并在服务器端编译国密算法支持模块(沃通CA提供),然后使用国密浏览器(如:密信国密浏览器)访问已部署证书的站点,浏览器和服务端就能用国密算法加密传输数据了,完整实现国密算法SSL认证和加密的应用。为了确保国密SSL证书的安全性,签发国密SSL证书的CA机构,还应该提供支持国密算法的CRL/OCSP服务器,用于查询SSL证书的有效状态。

部署国密SSL证书的站点,如何解决浏览器兼容性问题?

使用国密算法SSL证书的站点,在国密浏览器上可以正常访问,但由于国密算法还没有在所有主流浏览器中广泛兼容,因此一些仅支持国际算法的主流浏览器会对国密SSL证书报错。为了解决这个问题,业内沃通CA首推“双证书部署”和“自适应浏览器兼容”方案,可以同时兼容国密算法浏览器和仅支持国际算法的浏览器。通过此方案,任何用户使用任意浏览器都能正常访问网站,满足部署国密SSL证书的合规需求,同时满足网站可用性、易用性和全球通用性要求,解决了国密SSL应用的技术障碍。
_2_2

相关文章
|
12天前
|
算法 安全 物联网
如何应用SM2算法进行身份认证
【10月更文挑战第5天】如何应用SM2算法进行身份认证
20 1
|
12天前
|
存储 算法 安全
SM2算法的应用场景有哪些?
【10月更文挑战第5天】SM2算法的应用场景有哪些?
28 1
|
16天前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
安全 网络安全 数据安全/隐私保护
HTTPS中的加密算法
HTTPS中的加密算法
|
16天前
|
安全 网络协议 网络安全
【HTTPS】对称加密和非对称加密
【HTTPS】对称加密和非对称加密
25 0
|
28天前
|
存储 算法 安全
超级好用的C++实用库之国密sm4算法
超级好用的C++实用库之国密sm4算法
39 0
|
2月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
79 1
|
2月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
2月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
66 2
|
2月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
193 1