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

相关文章
|
4月前
|
算法 安全 Java
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
【4月更文挑战第28天】性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
125 1
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
|
4月前
|
NoSQL 测试技术 Go
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
|
6天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
26天前
|
安全 前端开发 网络安全
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
|
26天前
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
|
26天前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
27天前
|
网络安全 C++
【Azure Developer】Visual Studio 2019中如何修改.Net Core应用通过IIS Express Host的应用端口(SSL/非SSL)
【Azure Developer】Visual Studio 2019中如何修改.Net Core应用通过IIS Express Host的应用端口(SSL/非SSL)
|
1月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
176 0
|
2月前
|
安全 前端开发 网络安全
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER(上海蓝云阻断页)
在Azure App Service上部署的应用遇到`SSL: WRONG_VERSION_NUMBER`错误。问题可能由不兼容的TLS版本引起,但即使将最小入站TLS版本改为1.2,问题仍存在。实际原因是上海蓝云的阻断页面,表明网站未完成ICP备案或有安全规定限制。解决方案包括:1) 对App Service绑定自定义域名并进行ICP备案,或2) 使用Application Gateway处理公网请求。在复杂环境中,需仔细排查和适配规则。
113 11
|
2月前
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。