如果要在客户端/网关系统和服务端之间进行SSL加密通信,当客户端应用(浏览器等)发起登录认证、加密、签名等请求时,服务端如何实现基于国密算法的SSL加密连接呢?如何解决国密算法的浏览器兼容性问题?
如何实现基于国密算法的SSL认证和加密
国密SSL协议的握手过程如下:
(1)交换Hello消息来协商密码套件,交换随机数,决定是否会话重用;
(2)交换必要的参数,协商预主密钥
(3)交换证书信息,用于验证对方
(4)使用预主密钥和交换的随机数生成主密钥
(5)向记录层提供安全参数
(6)验证双方计算的安全参数的一致性、握手过程的真实性和完整性
实现以上握手过程,需要客户端(浏览器)和服务端都支持国密算法。虽然目前SM2/SM3/SM9算法已相继纳入国际标准体系,但要实现客户端和服务端的广泛兼容,仍然需要漫长的推进过程。在此期间,通过技术解决方案让浏览器端、服务端都能够支持国密算法和国密SSL证书,才能推动国密算法普及应用。
因此,在服务端实现基于国密算法的SSL认证和HTTPS加密,需要网站运营者向工信部许可的权威电子认证机构(如:沃通CA),申请符合国密标准的国密SSL证书(如: 沃通国密SSL证书),将证书部署在服务器上,并在服务器端编译国密算法支持模块(沃通CA提供),然后使用国密浏览器(如:密信国密浏览器)访问已部署证书的站点,浏览器和服务端就能用国密算法加密传输数据了,完整实现国密算法SSL认证和加密的应用。为了确保国密SSL证书的安全性,签发国密SSL证书的CA机构,还应该提供支持国密算法的CRL/OCSP服务器,用于查询SSL证书的有效状态。
部署国密SSL证书的站点,如何解决浏览器兼容性问题?
使用国密算法SSL证书的站点,在国密浏览器上可以正常访问,但由于国密算法还没有在所有主流浏览器中广泛兼容,因此一些仅支持国际算法的主流浏览器会对国密SSL证书报错。为了解决这个问题,业内沃通CA首推“双证书部署”和“自适应浏览器兼容”方案,可以同时兼容国密算法浏览器和仅支持国际算法的浏览器。通过此方案,任何用户使用任意浏览器都能正常访问网站,满足部署国密SSL证书的合规需求,同时满足网站可用性、易用性和全球通用性要求,解决了国密SSL应用的技术障碍。