【学习笔记】Https证书如何升级到国密

〇、基本概念

1、国密

国密 即国家密码管理局公布认定的国产密码算法,也称为商用密码(在此语境下与国密通用,简称SM),指能够实现商用密码算法的加密、解密和认证等功能的技术,涵盖密码算法编程技术和密码算法芯片、加密卡等的实现技术。它是保障国家信息安全的重要手段,我国将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护其秘密。

应用场景:主要用于涉及国家安全、国计民生等重要领域,如国防、外交、政务、金融、能源等领域,保障国家关键信息基础设施和重要信息的安全。

管理机构:由国家密码管理局统一管理和监督,确保国密相关工作的规范有序进行,保障其安全性和合规性。

加密算法:国密采用特定的加密算法,如SM系列算法(SM1、SM2、SM3、SM4、SM7、SM9)和祖冲之密码算法(ZUC)等。这些算法经过严格的安全评估和验证,具有较高的安全性和自主可控性。

安全要求:具有极高的安全性和保密性要求,以应对复杂的安全威胁,保护国家核心利益和重要信息资产。

2、商密

商密即商业密码,指用于商业领域,保护商业秘密和交易安全的密码技术,通常由企业或商业机构自主研发或采购。它具有灵活性,可根据企业具体需求定制开发;具有经济性,适合企业大规模应用;具有保密性,旨在保护企业的商业秘密和交易安全。

应用场景:广泛应用于商业领域,如企业内部的信息交流、商业交易、客户数据保护、电子商务、金融交易等,用于保护商业机密、企业敏感信息和客户隐私等,帮助企业维护其竞争优势。

管理机构:由企业或组织自行管理,企业可根据自身的安全需求和商业运营特点,制定相应的商密管理措施和保密策略。

加密算法:商密的加密算法相对灵活,企业可根据具体需求选择合适的算法。既可以采用国家密码管理局认定的国产商用密码算法,如 SM 系列算法,也可以使用其他符合相关标准和规范的商业加密算法。

安全要求:安全性要求相对国密较低,但也要满足一般商业领域的保密需求,能够抵御常见的安全威胁,保护企业的商业利益。

小结: 商用密码的概念来自于《密码法》,商用密码不等于商密。

一、什么是 HTTPS?什么又是"国密HTTPS"

1、普通 HTTPS

(1)用国际通用算法(RSA、ECC)加密传输

(2)证书由全球 CA 机构签发

(3)适用于大多数商业网站

2、国密 HTTPS

(1)用中国自主可控的SM2、SM3、SM4 算法体系

(2)证书由具备国密资质的 CA 签发(如 CFCA、天威诚信等)

(3)符合《商用密码法》,是政府、金融、信创项目的标配

3、比较

(1)普通 HTTPS:用"国际标准的锁"锁门

(2)国密 HTTPS:用"国家标准的锁"锁门(有统一认证)

二、须用国密 HTTPS的场景

  1. 合规要求政府采购、金融机构、央企等必须用符合《商用密码法》的加密算法。

  2. 信创环境支持国产浏览器(360 安全浏览器、红旗浏览器)、国产 OS(麒麟、UOS)默认支持国密算法。

  3. 验收硬性条件招标文件、验收规范中常明确写明"须支持国密算法和国密证书"。

  4. 安全信任链国密证书由国家认可的权威机构签发,更容易通过安全审计。

三、相关问题解读

Q1:国密 HTTPS 会让访问变慢吗?

影响不大,现代硬件足够快,用户几乎感知不到。

Q2:普通浏览器能直接访问国密 HTTPS 网站吗?

大部分国际浏览器需要安装国密插件,或使用双证书方案来兼容。

Q3:部署国密 HTTPS 成本高吗?

成本主要在证书购买、部署调试上,相对整个项目成本比例很小。推荐国密反向代理 + 内部标准 HTTPS的架构,降低改造成本。

Q4:需要改很多代码吗?

一般只需在 Web 服务器配置证书,少量业务代码适配。

四、实施五步法

1、要求确认

确认需求从合同或招标文件中确认是否必须支持国密 HTTPS。

2、选择证书找有国密资质的 CA 机构。

目前支持SM的权威机构包括 CFCA、中国金融认证中心、天威诚信、北京数字认证等。选择权威 CA,能确保证书被国产浏览器和信创系统广泛信任。

3. 部署模式

(1)单商密:仅国密证书(适合国产环境)

(2)双证书:国际+国密证书并存(兼容所有浏览器)

SM的HTTPS 与传统HTTPS不同,采用签名证书 + 加密证书双证书模式:

其中,签名证书,SM2签名,用于身份认证

加密证书,SM2加密,用于会话密钥交换

采购时要确认两者齐全,缺一不可。

4. 成本预算及实施周期

SM证书成本通常高于国际证书,测试环境可用自签或低价 CA,生产环境建议采购1-3年期权威证书,更稳定更划算。

5、部署示例

(1)环境准备

涉及浏览器国密插件安装、移动端兼容性测试、负载均衡及反向代理的证书配置。

使用支持国密算法的 Web 服务器(比如:国密版 Nginx/Tengine、Tomcat+国密JDK)

安装 GmSSL / BouncyCastle 国密库导入国密根证书到系统/浏览器信任库。

(2)部署配置(以Nginx为例)

就是下面这sign.crt、sign.key、encrypt.crt、encrypt.key四个证书

cpp 复制代码
server {    
    listen 443 ssl;
    ssl_protocols TLSv1.1 TLSv1.2;    
    ssl_ciphers ECDHE-SM2-WITH-SM4-SM3;
    ssl_certificate      /etc/nginx/certs/sign.crt;      # 签名证书    
    ssl_certificate_key  /etc/nginx/certs/sign.key;
    ssl_certificate      /etc/nginx/certs/encrypt.crt;   # 加密证书    
    ssl_certificate_key  /etc/nginx/certs/encrypt.key;
}

此处需注意 双证书分别配置,否则浏览器可能会提示握手失败。

6、测试验收

(1)测试验收使用国产浏览器访问、抓包确认加密算法。

(2)SM证书需匹配操作系统、浏览器、中间件:

1)操作系统:统信 UOS、麒麟

2)浏览器:360 国密浏览器、改造版 Chrome/Firefox。

浏览器需支持 GM/T 0024 国密协议,并正确导入国密 CA 根证书

Java/APP 客户端需使用商密兼容的 JDK 或加密库。

3)中间件:东方通、TongWeb、Tomcat 商密增强版

采购时要向厂商要兼容性说明,避免后续部署踩坑。

参考文献:

1、https://mp.weixin.qq.com/s/KEgsDEsJ_cKTXa_wRjy1-A?scene=1\&click_id=19

2、https://blog.csdn.net/jayjaydream/article/details/148109121

相关推荐
Zhao-Jichao1 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李2 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
La Pulga3 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd3 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白5 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
欢欢李5 小时前
【LTE L3 笔记 04】LTE帧结构
笔记·无线通信·物理层·lte·空口协议
Zhao-Jichao7 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
lisw058 小时前
作为人类代理的大语言模型及其角色分类!
人工智能·学习·语言模型
Z21-X8 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
坤坤子吖8 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习