国密浏览器如何完成SM2国密SSL协议协商

国密浏览器如何完成SM2国密SSL协议协商

国密浏览器需要遵循国密SSL协议规范GM/T 0024-2014。 GM/T 0024-2014没有单独规范 SSL协议的文件,而是在SSL VPN技术规范中定义了国密SSL协议。国密SSL协议(SSL VPN协议)包括握手协议、密码规格变更协议、报警协议、网关到网关协议和记录层协议。握手协议用于身份鉴别和安全参数协商;密码规格变更协议用于通知安全参数的变更;报警协议用于关闭通知或对错误进行报警;网关到网关协议用于建立网关和网关的传输层隧道;记录层协议用于传输数据的分段、压缩及解压缩、加密及解密、完整性校验等。
一、SSL握手协议的过程
国密SSL握手协议过程如下:
(1)交换Hello消息来协商密码套件,交换随机数,决定是否会话重用;
(2)交换必要的参数,协商预主密钥
(3)交换证书信息,用于验证对方
(4)使用预主密钥和交换的随机数生成主密钥
(5)向记录层提供安全参数
(6)验证双方计算的安全参数的一致性、握手过程的真实性和完整性
国密浏览器客户端发送Hello消息给服务端,服务端回应服务端Hello消息。国密浏览器客户端Hello和服务端hello用于在客户端和服务端进行基于ECC算法(或其他密码算法)的协商,以及确定安全传输能力,包括协议版本、会话表示、密码套件等属性,并产生和交换随机数。
在客户端hello和服务端hello之后是身份验证和密钥交换过程。包括服务端证书、服务端密钥交换,客户端证书、客户端密钥交换。在服务端发送完hello之后,发送自己的证书消息,服务端密钥交换消息。如果服务端需要验证客户端身份,则向客户端发送证书请求信息,客户端返回消息。
然后国密浏览器客户端发生密钥交换消息,协商密钥交换算法。接着客户端发送密码规格变更消息,然后客户端立即使用刚协商的算法和密钥,加密并发送握手结束消息。服务端回应密码规格变更消息,使用刚协商的算法和密钥加密并发送握手结束消息。至此,握手过程结束,服务端和客户端开始数据安全传输。
图片.png

二、国密标准支持的密码套件
国密SSL协议规范要求,客户端(国密浏览器)所支持的密码套件列表,按照密码套件使用的优先级顺序排列,优先级最高的密码套件排在首位。每个密码套件包括一个密码交换算法、一个加密算法和一个校验算法。服务器端将在密码套件列表中选择一个与之匹配的密码套件,如果没有可匹配的密码套件,应返回握手失败报警消息并关闭连接。GMT 0024-2014国密标准支持的密码套件如下表所示。其中,实现ECC和ECDHE的算法为SM2,实现IBC和IBSDH的算法为SM9,RSA算法的使用应符合国家密码管理主管部门的要求。

图片.png

三、国密浏览器展示国密SSL证书的效果
使用密信国密浏览器访问配置国密SSL证书的站点(国密SSL测试站点sm2test.ovss.cn),实现SM2 SSL证书的显示效果如下图。点击浏览器安全锁标识,详情中显示该连接使用GM/T 0024-2014(国密SM2),使用ECC_SM4_SM3进行加密,同时使用SM3进行讯息身份验证并使用SM2作为密钥交换机制。
图片.png

密信浏览器(MeSince Browser)是沃通CA子公司密信技术独立研发的一款国密浏览器。密信浏览器(MeSince Browser)基于 Chromium开源项目开发,完整支持SM2/SM3/SM4等国产密码算法及安全协议,遵循国家标准技术规范,并兼容国际算法体系,同时支持国密算法SSL证书和国际算法SSL证书,满足国密算法使用需求,提供简洁快速的浏览体验。目前,密信浏览器已推出Windows版本(32位和64位),未来将逐步推出Linux、Mac及移动端版本。
密信国密浏览器的发布具有重要意义,密信国密浏览器与沃通提供的国密SM2 SSL证书、服务器国密算法支持模块等产品相结合,形成从客户端、服务器端到数字证书的国密算法全生态支持体系。
图片.png



 

1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » 国密浏览器如何完成SM2国密SSL协议协商

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!