Email:2225994292@qq.com
CNY
国密SSL证书认证流程中的信任链建立(国密视角)
更新时间:2026-05-29 作者:国密SSL证书

国密SSL证书的信任链建立过程,既遵循了X.509公钥基础设施(PKI)的通用框架,又融入了国密算法特性、双证书机制、国家密码管理局监管要求等中国特色元素。深入理解国密SSL信任链的建立原理与流程,对于正确部署国密SSL证书、保障网络通信安全具有重要意义。

一、国密SSL证书体系基础

1. 国密算法体系

国密SSL证书基于我国自主研发的商用密码算法体系,核心算法包括:

  • SM2椭圆曲线公钥密码算法:用于数字签名和密钥交换,替代国际通用的RSA和ECC算法,安全性更高,计算效率更优
  • SM3密码杂凑算法:用于生成数字摘要,替代国际通用的SHA-256算法,输出长度为256位
  • SM4分组密码算法:用于对称加密,替代国际通用的AES算法,分组长度和密钥长度均为128位

2. 国密SSL证书标准

国密SSL证书遵循以下主要标准:

  • GM/T 0015-2012《基于SM2密码算法的数字证书格式规范》:规定了国密数字证书的基本格式、扩展项和编码规则
  • GM/T 0024-2014《SSL VPN技术规范》:定义了基于国密算法的SSL/TLS协议实现要求,即国密SSL协议
  • GM/T 0034-2014《基于SM2密码算法的证书认证系统密码技术规范》:规范了国密CA系统的技术要求
  • GB/T 38636-2020《信息安全技术 传输层密码协议(TLCP)》:将国密SSL协议上升为国家标准,正式命名为TLCP协议

3. 国密双证书机制

国密SSL证书最显著的特点是采用双证书机制,即每个终端实体同时拥有两张证书:

  • 签名证书:用于数字签名和身份认证,私钥由用户自己生成并保管,CA无法获取
  • 加密证书:用于数据加密和密钥交换,私钥由CA生成并备份,以便在必要时进行数据恢复

双证书机制是我国密码管理政策的要求,既保证了用户身份的不可否认性,又满足了国家对重要数据的监管需求。在国密SSL通信中,签名证书用于服务器身份验证,加密证书用于会话密钥的协商。

二、国密SSL信任链的基本结构

国密SSL信任链与国际通用信任链一样,采用树形结构,由根CA、中间CA和终端实体三级组成:

1. 根CA证书

根CA是信任链的起点,是整个PKI体系中最权威的实体。国密根CA证书由国家密码管理局批准的电子认证服务机构颁发,其私钥受到最高级别的物理和逻辑保护。

国密根证书的特点:

  • 自签名证书:使用自己的私钥对自己的公钥进行签名
  • 预装在操作系统和浏览器中:用户无需手动安装即可信任
  • 有效期长:通常为10-20年
  • 数量有限:目前国内获得国家密码管理局批准的国密根CA仅有数家

2. 中间CA证书

中间CA是根CA与终端实体之间的桥梁,由根CA授权颁发证书。引入中间CA的目的是:

  • 分散风险:避免根CA私钥直接用于颁发终端证书,减少根CA私钥暴露的风险
  • 分级管理:便于CA机构按业务类型、地域或客户群体进行分级管理
  • 灵活部署:中间CA证书可以根据需要随时吊销和更换,而不影响根CA的信任

国密中间CA证书由根CA使用SM2算法签名颁发,有效期通常为3-5年。

3. 终端实体证书

终端实体证书是颁发给服务器或用户的证书,用于证明其身份。国密终端实体证书包括签名证书和加密证书两张,均由中间CA使用SM2算法签名颁发,有效期通常为1-2年。

三、国密SSL认证流程中的信任链建立

国密SSL/TLCP协议的认证流程与国际通用的TLS 1.2协议类似,但在证书发送、证书验证和密钥协商阶段有显著差异。整个流程可以分为以下几个阶段:

1. 客户端发起连接请求

客户端(通常是浏览器)向服务器发送ClientHello消息,包含以下关键信息:

  • 支持的最高TLCP协议版本
  • 客户端生成的随机数(Client Random)
  • 支持的国密密码套件列表(如ECC-SM2-SM4-CBC-SM3)
  • 支持的压缩算法
  • 扩展项(如服务器名称指示SNI)

特别地,国密客户端会在密码套件列表中优先声明支持国密算法套件,表明其希望使用国密SSL协议进行通信。

2. 服务器响应并发送证书链

服务器收到ClientHello消息后,选择双方都支持的最高版本TLCP协议和最合适的国密密码套件,然后向客户端发送ServerHello消息,包含以下信息:

  • 选定的TLCP协议版本
  • 服务器生成的随机数(Server Random)
  • 选定的国密密码套件
  • 选定的压缩算法

紧接着,服务器发送Certificate消息,这是信任链建立的关键步骤。与国际SSL协议不同,国密服务器需要发送完整的双证书链:

  • 服务器签名证书
  • 服务器加密证书
  • 颁发服务器证书的中间CA证书
  • 颁发中间CA证书的上级CA证书(如有)

注意:服务器不需要发送根CA证书,因为根CA证书已经预装在客户端的信任库中。

3. 客户端验证证书链

客户端收到服务器发送的证书链后,开始进行逐级验证,这是信任链建立的核心过程。验证步骤如下:

(1)证书格式验证

客户端首先验证每张证书的格式是否符合GM/T 0015-2012标准,包括:

  • 证书版本是否正确(应为V3版本)
  • 证书序列号是否唯一
  • 签名算法是否为SM2-with-SM3
  • 颁发者和主体名称是否符合X.500规范
  • 有效期是否在当前时间范围内
  • 公钥算法是否为SM2
  • 必要的扩展项是否存在(如密钥用法、基本约束)

(2)证书链完整性验证

客户端从终端证书开始,逐级向上验证证书链的完整性:

  • 取出服务器签名证书的颁发者名称
  • 在证书链中查找颁发者名称与该名称匹配的上级证书
  • 重复上述步骤,直到找到根CA证书
  • 验证根CA证书是否存在于客户端的信任库中

如果证书链中缺少任何一张中间证书,或者最终无法追溯到信任的根CA证书,客户端将终止连接并提示证书不可信。

(3)数字签名验证

数字签名验证是信任链建立的核心环节,用于确保证书在传输过程中没有被篡改,并且确实是由声称的颁发者颁发的。验证过程如下:

  • 取出待验证证书的签名值
  • 取出颁发者证书的SM2公钥
  • 使用SM3算法计算待验证证书的TBS(To Be Signed)部分的哈希值
  • 使用颁发者的SM2公钥和SM2验证算法,对签名值进行验证
  • 如果验证通过,说明证书是真实有效的;否则,证书无效

客户端需要对证书链中的每一张证书(除了根CA证书)都进行数字签名验证。根CA证书是自签名的,其有效性由客户端的信任机制保证。

(4)证书扩展项验证

客户端还需要验证证书的关键扩展项,确保证书被正确使用:

  • 基本约束:验证CA证书是否具有CA属性,路径长度约束是否符合要求
  • 密钥用法:验证签名证书是否具有数字签名和密钥协商的用法,加密证书是否具有数据加密和密钥加密的用法
  • 增强型密钥用法:验证服务器证书是否具有服务器身份验证的用法
  • 证书吊销状态:通过CRL(证书吊销列表)或OCSP(在线证书状态协议)检查证书是否被吊销

特别地,国密证书的吊销状态检查遵循GM/T 0029-2014《数字证书撤销列表格式规范》和GM/T 0030-2014《在线证书状态协议》。

(5)服务器身份验证

最后,客户端验证服务器证书的主体名称是否与访问的域名一致。如果服务器使用了通配符证书或多域名证书,客户端需要验证访问的域名是否在证书的主体备用名称(SAN)扩展项中。

4. 密钥协商与会话建立

证书链验证通过后,客户端与服务器开始进行密钥协商,生成会话密钥。国密SSL协议支持两种密钥协商方式:

(1)SM2密钥交换方式

  • 客户端生成临时SM2密钥对
  • 客户端使用服务器加密证书的SM2公钥,加密客户端临时公钥和预主密钥,发送给服务器
  • 服务器使用自己的加密证书私钥解密,得到客户端临时公钥和预主密钥
  • 双方根据客户端随机数、服务器随机数和预主密钥,使用SM3算法计算出会话密钥
  • 双方使用会话密钥和SM4算法进行加密通信

(2)ECDHE_SM2密钥交换方式

  • 服务器生成临时SM2密钥对,使用服务器签名证书的私钥对临时公钥进行签名,发送给客户端
  • 客户端验证服务器的签名,生成自己的临时SM2密钥对,将临时公钥发送给服务器
  • 双方根据对方的临时公钥和自己的临时私钥,计算出共享密钥
  • 双方根据客户端随机数、服务器随机数和共享密钥,使用SM3算法计算出会话密钥
  • 双方使用会话密钥和SM4算法进行加密通信

密钥协商完成后,客户端和服务器分别发送ChangeCipherSpec消息和Finished消息,确认会话建立成功。至此,国密SSL信任链建立完成,双方可以进行安全的加密通信。

四、国密SSL信任链与国际SSL信任链的差异

国密SSL信任链与国际通用的RSA/ECC SSL信任链相比,主要有以下差异:

对比项国密 SSL 信任链国际 SSL 信任链
算法体系SM2/SM3/SM4RSA/ECC/SHA/AES
证书机制双证书 (签名 + 加密)单证书
签名算法SM2-with-SM3RSA-with-SHA256、ECDSA-with-SHA256
密钥交换SM2 密钥交换、ECDHE_SM2RSA 密钥交换、ECDHE_RSA、ECDHE_ECDSA
加密算法SM4-CBC、SM4-GCMAES-CBC、AES-GCM
哈希算法SM3SHA-256、SHA-384
根 CA 管理国家密码管理局批准浏览器厂商决定
证书格式GM/T 0015-2014X.509 v3

其中,双证书机制是国密SSL信任链最核心的差异。在国际SSL协议中,一张证书同时用于签名和加密;而在国密SSL协议中,签名和加密功能由两张不同的证书分别实现,这不仅符合我国密码管理政策,也提高了系统的安全性。

五、国密SSL信任链部署与实践要点

1. 根证书的预装与更新

国密根证书的预装是信任链建立的前提。目前,主流的国产操作系统(如统信UOS、麒麟OS)和国产浏览器(如360安全浏览器、QQ浏览器、搜狗浏览器)已经预装了国家密码管理局批准的国密根证书。但国际主流浏览器(如Chrome、Firefox、Edge)尚未预装国密根证书,需要用户手动安装或使用国密浏览器插件。

为了保证信任链的有效性,CA机构会定期更新根证书和中间证书。系统管理员需要及时关注CA机构的通知,更新服务器和客户端的证书库。

2. 中间证书的正确配置

部署国密SSL证书时,必须正确配置中间证书链。如果服务器只发送终端证书而不发送中间证书,客户端将无法验证证书链的完整性,导致连接失败。

正确的配置方法是:将服务器签名证书、服务器加密证书和所有中间CA证书按顺序拼接成一个证书文件,然后在服务器配置中指定该文件。注意,不要将根CA证书包含在证书链中。

3. 双证书链的部署

国密SSL服务器需要同时部署签名证书和加密证书。在配置服务器时,需要分别指定签名证书文件、签名证书私钥文件、加密证书文件和加密证书私钥文件。

不同的服务器软件对国密双证书的支持程度不同。目前,主流的国产服务器软件(如Nginx国密版、Apache国密版、Tomcat国密版)已经支持国密双证书配置。国际服务器软件需要安装国密补丁或使用国密代理才能支持。

4. 证书吊销状态检查

为了防止被吊销的证书被滥用,客户端必须检查证书的吊销状态。国密SSL证书支持CRL和OCSP两种吊销状态检查方式。

在实际部署中,建议同时配置CRL和OCSP服务,并确保CRL文件和OCSP响应能够被客户端正常访问。对于高安全性要求的场景,可以使用OCSP Stapling技术,由服务器在TLS握手过程中主动发送OCSP响应,提高验证效率和用户体验。

5. 常见问题排查

在国密SSL信任链建立过程中,常见的问题包括:

  • 证书链不完整:缺少中间证书
  • 证书顺序错误:证书链中的证书顺序不正确
  • 证书过期:证书已超过有效期
  • 证书吊销:证书已被CA吊销
  • 域名不匹配:证书的主体名称与访问的域名不一致
  • 算法不支持:客户端或服务器不支持国密算法
  • 根证书未预装:客户端信任库中没有对应的国密根证书

排查这些问题时,可以使用国密SSL检测工具(如国密SSL在线检测工具、openssl国密版)对服务器配置进行检测,定位问题所在。

国密SSL证书的信任链建立是一个复杂而严谨的过程,它融合了X.509 PKI的通用框架和我国自主研发的商用密码算法体系,形成了一套符合我国网络安全要求的数字信任机制。与国际通用的SSL信任链相比,国密SSL信任链在算法自主可控、双证书机制、国家监管等方面具有显著优势,能够为我国关键信息基础设施提供更高水平的安全保障。


Dogssl.cn拥有20年网络安全服务经验,提供构涵盖国际CA机构SectigoDigicertGeoTrustGlobalSign,以及国内CA机构CFCA沃通vTrus上海CA等数十个SSL证书品牌。全程技术支持及免费部署服务,如您有SSL证书需求,欢迎联系!
相关文档
立即加入,让您的品牌更加安全可靠!
申请SSL证书
0.200198s