国密SSL产生背景
随着互联网技术的兴盛和网络应用的普及,网络安全问题日益突出,大量的数据在网络上传递并遭受攻击和威胁,数据的安全性受到越来越多人的重视,因此产生了多种安全协议和相关规范。SSL协议就是在这种背景下由Netscape提出的,其中SSLv3.0自1996提出并得到大规模应用成为了业界标准,在2015年才被弃用。1999年,IETF收纳了SSLv3.0并以此为基础提出TLS规范,版本已由TLS1.0发展到如今的TLS3.0,是被应用最广泛的安全协议之一。
安全协议的核心和基础就是密码算法,为了确保我国的信息安全,国内的相关安全产品以及协议如HTTPS、SSL VPN、STMPS等就不能直接使用TLS标准规范和密码算法,因此必须要有一个属于中国的密码算法和传输层安全协议,国密SSL协议顺势产生。
国密SSL协议概述
目前TLS版本包含TLS1.0、TLS1.1、TLS1.2、TLS1.3以及GMTLS1.1。
国密 SSL协议在GM/T中不是一个独立的协议标准[1],而是按照相关密码政策、法规结合我国实际情况并参照RFC4346 TLS1.1规范,在GM/T 0024-2014《SSLVPN技术规范》中对其进行了相关定义。主要不同体现在以下几方面:
-
国密主要采用SM2/SM3/SM4算法,不同于国际密码算法;
- 版本号是0x0101,不同于TLS规范;握手协议和加密协议的细节存在不同以及增加网关到网关协议;
- 采用SM2双证书体系。
- 记录层协议
- 握手协议族
-
密码规格变更协议
- 报警协议
- 握手协议
- 国密SSL协议密码套件
-
在Client支持的密码套件列表中,Client会按照密码套件使用的优先级顺序进行排列,优先级最高的密码套件会排在首位。国密SSL支持的密码套件列表如下所示:
密码套件列表[2]
序号
名称
值
1
ECDHE_SM1_SM3
{0xe0,0x01}
2
ECC_SM1_SM3
{0xe0,0x03}
3
IBSDH_SM1_SM3
{0xe0,0x05}
4
IBC_SM1_SM3
{0xe0,0x07}
5
RSA_SM1_SM3
{0xe0,0x09}
6
RSA_SM1_SHA1
{0xe0,0x0a}
7
ECDHE_SM4_SM3
{0xe0,0x11}
8
ECC_SM4_SM3
{0xe0,0x13}
9
IBSDH_SM4_SM3
{0xe0,0x15}
10
IBC_SM4_SM3
{0xe0,0x17}
11
RSA_SM4_SM3
{0xe0,0x19}
12
RSA_SM4_SHA1
{0xe0,0x1a}
在国密SSL标准中实现ECC和ECDHE的算法是SM2,实现IBC和IBSDH的算法是SM9,RSA算法的使用需要符合国家密码管理主管部门的要求。
注[2]:在《GB/T38636-2020信息安全技术 传输层密码协议(TLCP)》标准中增加了GCM的密码套件,并且删除了涉及SM1和RSA的密码套件。
-
网关到网关协议
网关到网关协议定义了SSL VPN之间建立网关到网关的传输层隧道,对IP数据报文进行安全传输时所采用的报文格式(包括控制报文与数据报文)以及控制报文交换过程和数据报文封装过程。
- 控制报文定义了保护域的信息交换报文;
-
数据报文包含承载协议(记录层协议)和隧道状态(SSL连接状态)。
国密SSL测试的需求
为了保障数据安全,国家密码管理局要求相关系统均要进行国密改造,改用国密的密码算法,目前国密算法已经成为了数据安全保障的基础。因此国密设备在实验室的概念设计、研发设计、生产、部署验收都有测试的必要。
在概念设计和研发阶段需要确定设备是否符合相关要求,能否正常的进行国密SSL加密以对数据进行保护;设备研发成型阶段还需要进行整机测试,验证设备各项功能和性能是否满足实际应用;在部署验收阶段也需要进行整体测试,验证国密设备在真实网络环境中能否正常对数据进行传输以及与整网的兼容适配。国密测试分为功能测试和性能测试,目前市场上针对功能测试主要采用的是利用具备同样国密功能的设备与被测设备对接测试,而性能测试则是采用自研类软件模拟多终端进行测试,测试能力相对较弱且操作复杂,因此专业的测试工具在国密SSL的研发和推广过程中就愈发重要。
信而泰国密SSL测试方案
信而泰经过多年潜心研制,推出了基于PCT架构的新一代B/S架构测试平台ALPS,该平台支持真实的应用层流量仿真。HTTPS /SMTPS Application Simulator是一个7层测试组件,可基于国密SSL模拟现实网络环境中的HTTPS/SMTPS协议流量,进而测试设备处理客户端应用层流量的能力。该平台可以针对防火墙、负载均衡、VPN、网关等应用层安全设备进行相关测试,测试拓扑如下图所示:
信而泰国密SSL支持以下测试功能和特性:
- 支持GMTLSv1.1版本版本
-
支持NAT
-
支持一层VLAN,双层VLAN
-
支持新建速率测试
-
支持并发连接测试
-
支持添加测试条件
-
支持查看实时统计结果
-
支持查看/删除历史统计结果
-
支持国密密码套件的配置,包括ECC_SM4_SM3和ECDHE_SM4_SM3两种
-
支持国密证书和对应私钥文件(PEM格式)的导入
-
支持客户端认证功能
-
支持导入CA证书用于用户证书的校验
-
客户端/服务器认证方式支持Do Not Check Cert, Allow UntrustedCert和Require Trusted Cert三种
-
支持SSL Not Verified Cert Count,SSL Verified Trusted Cert Count和SSL Verified UntrustedCert Count等多种SSL统计项
HTTPS/SMTPS应用流配置界面:
SSL Client Session统计界面:
SSL Server Session统计界面: