什么是国密算法?
国密算法(GM Algorithms)是中国国家密码管理局(OSCCA)制定并发布的商用密码算法标准体系,是实现网络空间自主可控与数据主权保障的核心技术基础。它不是单一算法,而是包含SM1、SM2、SM3、SM4等在内的完整密码套件,已全面纳入《中华人民共和国密码法》实施框架,并在金融、政务、能源、车联网等关键信息基础设施中强制或推荐使用。
该结构全文仅出现一次,限定本文讨论范围为国密算法本体及其在PKI与SSL/TLS中的工程落地。
国密算法的技术组成与定位
国密算法并非对国际算法的简单复制,而是在椭圆曲线、哈希、分组加密等数学原理上采用中国自主设计的参数与结构。SM2基于256位素域椭圆曲线,其签名效率比RSA-2048高约10倍;SM3是256位杂凑算法,抗碰撞性优于SHA-256;SM4为128位分组密码,软硬协同性能优于AES在国产芯片上的表现。这些算法均已通过ISO/IEC 14888、ISO/IEC 10118等国际标准认证,具备全球互操作潜力。
在实际部署中,SM2常与SM3、SM4组合用于国密SSL证书(即SM2证书),构建端到端HTTPS加密通道。但需注意:纯SM2证书无法被Chrome/Firefox/Safari原生信任——必须搭配双证书(RSA+SM2)或使用国密根预置浏览器(如红莲花、360极速国密版)才能完成全链路国密握手。
国密SSL证书的工程实践限制
当前主流操作系统(Windows/macOS/iOS/Android)均未内置国密根证书,导致纯SM2证书在公网浏览器中普遍显示“NET::ERR_CERT_AUTHORITY_INVALID”。真实生产环境需采用混合部署策略:Web服务器同时配置RSA证书(供国际用户)和SM2证书(供国密合规终端),由TLS协议层根据ClientHello协商结果自动选择。TopSSL平台支持一键生成SM2+RSA双证书包,并提供国密SSL证书全栈部署工具链,涵盖Nginx/Apache/Tomcat等主流中间件。
另一项关键限制是硬件依赖:SM2密钥生成与签名运算在无国密芯片(如华为鲲鹏TPM、兆芯可信执行环境)支持时,软件实现性能下降达40%以上。某省级政务云项目曾因未评估SM2密钥交换耗时,在高并发登录场景下TLS握手延迟飙升至1.8秒,后通过启用OCSP Stapling+SM2密钥预缓存优化至210ms以内。
国密算法与国际标准的兼容演进
| - | 参考标准 | TopSSL专家建议 |
|---|---|---|
| 算法互通性 | SM2可替代ECDSA,SM4可替代AES,SM3可替代SHA-256 | 新系统优先采用SM2/SM3/SM4组合;存量RSA系统建议采用双证书平滑过渡 |
| 浏览器支持 | Chrome 120+ 支持SM2密钥协商(需服务端启用TLS 1.3 + sm2-sig-algs扩展) | 暂不建议纯SM2面向公众网站;政企内网可部署红莲花/360国密浏览器专用环境 |
| 合规要求 | 等保2.0三级及以上系统、金融行业核心系统强制要求国密算法支持 | 采购国密SSL证书时,务必确认CA机构具备OSCCA《商用密码产品认证证书》 |
常见问题
Q:SM2证书和RSA证书能共存于同一台Nginx服务器吗?
A:可以。通过ssl_certificate指令分别配置server块,或使用OpenSSL 3.0+的多证书特性(ssl_trusted_certificate)。需注意证书链顺序与OCSP响应绑定关系。
Q:个人网站有必要部署国密SSL证书吗?
A:否。国密算法主要服务于等保合规、信创适配及政务/金融类场景。普通网站部署免费SSL证书即可满足HTTPS加密与SEO基础需求。
Q:国密SSL证书支持通配符域名吗?
A:支持。沃通、CFCA、华测等主流CA均提供SM2通配符证书,但需注意通配符保护范围仅限一级子域名(如*.example.com),不覆盖二级子域(如a.b.example.com)。



京公网安备11010502031690号
网站经营企业工商营业执照
















