GM/T 0014-2023 数字证书认证系统密码协议:CA 核心操作的密码学协议层

标准规范 · 2026-08-15

概述

说明:本文基于 GM/T 0014-2023 标准解读,部分小节编号(如"第 5.2 节")为便于阅读添加,实际标准章节结构请以官方发布的标准文本为准。
GM/T 0014-2023《数字证书认证系统密码协议规范》是国家密码管理局于 2023 年修订发布的核心标准之一,是国密 PKI 体系中与 CA 系统运行直接相关的密码协议层规范。该标准规定了数字证书认证系统在证书签发、证书吊销、密钥恢复、证书查询等核心业务操作中所应遵循的密码协议流程与算法要求。

在国密 PKI 体系的标准谱系中,GM/T 0014-2023 与以下标准形成完整协作链:

标准编号名称定位
GM/T 0034-2014基于SM2的证书认证系统密码及安全规范系统架构层:规定 CA/RA/KMC 组件功能与安全要求
GM/T 0014-2023数字证书认证系统密码协议规范协议层:规定各核心操作的密码协议流程
GM/T 0015-2023数字证书格式数据层:规定证书的数据结构与编码格式
GM/T 0028-2014密码模块安全技术要求实现层:规定密码模块的安全等级要求
GM/T 0037-2014证书认证系统检测规范检测层:规定 CA 系统的检测方法与通过准则
该标准于 2012 年首次发布(GM/T 0014-2012),2023 年进行了全面修订。修订的核心驱动因素是国密算法体系的完善和 PKI 应用场景的扩展——2023 版新增了对 SM2 证书全生命周期的密码协议要求,并明确了与 GB/T 39786-2021 的对接关系。

标准版本演进

GM/T 0014-2012 vs GM/T 0014-2023 核心变化

变化维度2012 版2023 版
签名算法主要基于 RSA/ECDSA明确要求使用 SM2 签名算法
哈希算法允许 SHA-256 等强制使用 SM3
密钥交换未详细规定明确 SM2 密钥交换协议(GM/T 0003.3)的使用规范
证书格式参照 X.509 v3参照 GM/T 0015-2023 数字证书格式
双向认证仅服务端认证强化双向认证机制,支持 RA 与 CA 间的相互认证
密钥恢复简单恢复流程引入门限恢复机制,支持多方授权
安全等级参考 GM/T 0028 二级明确与 GM/T 0028 三级要求的对应关系

修订背景

2012 版发布于国密标准体系建设的初期,当时 SM2/SM3/SM4 算法标准刚刚成型,PKI 场景相对单一。经过十余年的发展,国密改造从政务、金融扩展到能源、交通、医疗等多个关键信息基础设施领域,CA 系统面临的应用场景和安全要求发生了显著变化:

  • SM2 全面替代:2023 版统一了所有密码操作使用 SM2/SM3/SM4,消除了多算法混用的合规风险
  • 双向认证强化:针对 CA 与 RA 之间、RA 与用户之间的双向身份认证提出了更严格的要求
  • 密钥恢复安全:传统单点密钥恢复存在内部威胁风险,2023 版引入了门限密码学思想
  • 与等保 2.0 衔接:明确了 GM/T 0014 在 GB/T 39786-2021 密码应用安全性评估中的具体位置

核心协议流程

1. 证书签发协议

证书签发是 CA 系统最核心的操作。GM/T 0014-2023 规定了完整的证书签发密码协议流程,涵盖从身份验证到证书分发的全过程。

#### 1.1 协议参与方

证书签发协议涉及三方参与者:

参与方角色职责
用户(UE)证书申请方提交 CSR,验证证书内容
注册管理(RA)身份认证方验证用户身份,转发签发请求
认证中心(CA)证书签发方验签 CSR,签发证书,返回证书
#### 1.2 协议交互流程

#### 1.3 密码算法要求

根据 GM/T 0014-2023 第 5.2 节的规定,证书签发协议的密码算法使用要求如下:

操作环节算法要求标准依据
用户密钥对生成SM2 密钥对(GM/T 0003.5)GM/T 0003.5-2012
CSR 签名SM2 签名(GM/T 0003.2)GM/T 0003.2-2012
CSR 摘要计算SM3 杂凑(GM/T 0004)GM/T 0004-2012
RA 身份认证SM2 签名 + SM3GM/T 0003.2-2012
CA 身份认证SM2 签名 + SM3GM/T 0003.2-2012
证书签名SM2 签名 + SM3GM/T 0003.2-2012
证书传输加密SM4-CBC 或 SM4-GCMGM/T 0001-2012
会话密钥协商SM2 密钥交换(GM/T 0003.3)GM/T 0003.3-2012
#### 1.4 CSR(Certificate Signing Request)格式

CSR 是证书签发的核心数据载体。GM/T 0014-2023 规定 CSR 应遵循 PKCS#10 格式,并使用 SM2 签名保护:

CODE
CertificateRequest ::= SEQUENCE {
    certificationRequestInfo CertificationRequestInfo,
    signatureAlgorithm AlgorithmIdentifier,  -- SM2WithSM3
    signatureValue BIT STRING               -- SM2签名值
}

CertificationRequestInfo ::= SEQUENCE {
    version       INTEGER  DEFAULT v1,
    subject       Name,                           -- 主体信息
    subjectPKInfo SubjectPublicKeyInfo,          -- 公钥信息
    attributes    [0] IMPLICIT Attributes       -- 扩展属性
}

关键要求:

  • 公钥算法标识必须使用 SM2(OID: 1.2.156.10197.1.301)
  • 签名算法标识必须使用 SM2WithSM3(OID: 1.2.156.10197.1.501)
  • 扩展属性中必须包含 challengePassword 或等效的身份验证信息

2. 证书吊销协议

证书吊销协议用于在证书到期前撤销其有效性。GM/T 0014-2023 规定了 CRL(Certificate Revocation List)和 OCSP(Online Certificate Status Protocol)两种吊销信息查询协议。

#### 2.1 CRL 签发协议

CRL 是 CA 定期发布的证书吊销列表,包含所有已吊销但未过期的证书序列号及其吊销原因。

CODE
CRL 签发流程:
┌─────────┐     ┌─────────┐     ┌─────────┐
│  CA     │────▶│  收集    │────▶│  签发   │
│  密钥管理 │     │  吊销请求 │     │  CRL    │
└─────────┘     └─────────┘     └─────────┘
                       │                 │
                       ▼                 ▼
                  ┌─────────┐     ┌─────────┐
                  │ 用户申请 │     │ 自动吊销 │
                  │  吊销    │     │ (过期等) │
                  └─────────┘     └─────────┘

CRL 的密码保护要求:

  • CRL 签名算法:SM2WithSM3(GM/T 0003.2)
  • CRL 哈希算法:SM3(GM/T 0004)
  • CRL 版本号:v2(X.509 v2 CRL 扩展)
  • 分发点:至少两个独立路径(主备 CRL 分发点)
#### 2.2 OCSP 响应协议

OCSP 提供实时证书状态查询服务,适用于对吊销状态实时性要求较高的场景。

CODE
请求方                        OCSP 响应器(CA代理)
   │                                  │
   │  ① OCSPRequest                   │
   │  (含证书序列号、请求者ID)          │
   │─────────────────────────────────▶│
   │                                  │
   │                          ② 查询吊销状态
   │                                  │
   │◀─────────────────────────────────│  ③ OCSPResponse
   │                              (含状态: good/revoked/unknown)
   │                              (签名: SM2WithSM3)

OCSP 响应签名要求:

  • 响应器使用 CA 授权的 OCSP 签名密钥(与 CA 主密钥分离)
  • 签名算法:SM2WithSM3
  • 响应时间戳:使用 GM/T 0033 时间戳接口规范
  • nonce:防止重放攻击,请求和响应中必须包含相同的 nonce
#### 2.3 吊销原因码

GM/T 0014-2023 定义了以下吊销原因码(对应 RFC 5280 标准):

原因码含义适用场景
0未指定默认值
1密钥 compromised私钥泄露
2CA compromisedCA 密钥泄露
3affiliation changedaffiliation 变更
4superseded证书被新证书替代
5cessation of operation业务终止
6privilege withdrawn权限收回

3. 密钥恢复协议

密钥恢复是 CA 系统的关键安全操作,用于在私钥丢失或损坏时恢复加密私钥。GM/T 0014-2023 对密钥恢复协议提出了严格的安全要求。

#### 3.1 密钥恢复的两种模式

模式一:简单恢复(单密钥恢复)

适用于低安全等级场景,恢复过程由 CA 管理员独立完成:

CODE
用户 ──▶ RA ──▶ CA 管理员 ──▶ 恢复私钥 ──▶ 用户

模式二:门限恢复(多方授权)

适用于高安全等级场景,恢复操作需要 N 个管理员中至少 M 个联合授权(典型配置:5 选 3):

CODE
用户 ──▶ RA ──▶ M-of-N 门限恢复协议 ──▶ 恢复私钥 ──▶ 用户
                │
        ┌───────┼───────┐
        ▼       ▼       ▼
      管理员A  管理员B  管理员C
      (授权1)  (授权2)  (授权3)

#### 3.2 门限密钥恢复的密码学构造

GM/T 0014-2023 推荐使用 Shamir 秘密共享方案实现门限恢复:

分片阶段(密钥生成时):

  • CA 管理员将加密私钥 $d$ 作为秘密
  • 选择随机多项式 $f(x) = d + a_1 x + a_2 x^2 + ... + a_{M-1} x^{M-1} \pmod{n}$
  • 计算 $M$ 个分片:$(1, f(1)), (2, f(2)), ..., (M, f(M))$
  • 每个分片分发给一个管理员
恢复阶段:
  • 任意 $M$ 个管理员提交各自的分片
  • 使用拉格朗日插值恢复秘密:
$$d = f(0) = \sum_{i=1}^{M} y_i \cdot \prod_{j \neq i} \frac{x_j}{x_j - x_i} \pmod{n}$$
  • 验证恢复的密钥是否有效(通过签名测试)
#### 3.3 密钥恢复的安全约束

GM/T 0014-2023 第 6.3 节规定了密钥恢复的严格约束:

  • 操作审计:每次恢复操作必须记录完整的审计日志,包括操作人、时间、原因、恢复的密钥标识
  • 双人原则:恢复操作必须由至少两名授权人员共同执行
  • 密钥封装:恢复的私钥必须以加密形式传输,不得以明文形式暴露
  • 时限控制:恢复操作应在规定时间窗口内完成,超时自动回滚

4. 证书查询协议

证书查询协议用于验证证书的有效性和获取证书链信息。GM/T 0014-2023 规定了两种查询方式:

#### 4.1 CRL 下载协议

CODE
查询方 ──▶ CA/CRL 分发点
              │
              ├── 查询最近的 CRL 发布时间
              ├── 下载指定版本的 CRL
              ├── 验证 CRL 签名(SM2WithSM3)
              └── 检查目标证书序列号是否在吊销列表中

CRL 下载的安全要求:

  • 传输通道:使用 TLS 1.2+ 或国密 TLS(GM/T 0024)
  • CRL 签名验证:必须验证 CA 的 SM2 签名
  • 新鲜性验证:检查 CRL 的 nextUpdate 字段,确保未过期
  • 完整性保护:CRL 下载过程应使用数字签名验证数据来源
#### 4.2 证书链验证协议

证书链验证是证书验证的核心步骤,GM/T 0014-2023 规定验证流程如下:

CODE
验证流程:
1. 获取证书链:从叶子证书到根证书的完整路径
2. 验证每层证书的签名:
   - 使用上层证书的公钥验证下层证书的签名
   - 签名算法:SM2WithSM3(国密场景)
3. 验证有效期:检查 each certificate's notBefore/notAfter
4. 验证吊销状态:
   - 查询 CRL 或 OCSP
   - 确认证书不在吊销列表中
5. 验证用途:检查 Extended Key Usage 扩展
6. 验证信任锚:确认证书链可追溯至受信任的根证书

国密证书链的特殊要求:

  • 国密双证书体系下,签名证书和加密证书需分别验证
  • 根证书的信任锚应在 HSM 中硬编码,不允许动态替换
  • 跨域信任时,需验证交叉认证证书的有效性

协议安全要求

1. 身份认证要求

GM/T 0014-2023 规定了多层身份认证机制:

认证层次认证方被认证方认证方式
用户-RA用户RASM2 双向签名认证
RA-CARACASM2 双向签名认证
CA-用户CA用户SM2 证书认证
管理者间管理员A管理员B智能密码钥匙(GM/T 0016)

2. 通信安全要求

协议通信过程中的数据安全要求:

安全目标实现方式标准依据
机密性SM4-CBC/GCM 加密GM/T 0001-2012
完整性SM3 哈希 / SM2 签名GM/T 0004-2012
身份认证SM2 数字证书GM/T 0015-2023
抗重放Nonce/时间戳GM/T 0033-2023
不可否认性SM2 数字签名GM/T 0003.2-2012

3. 密钥安全管理要求

GM/T 0014-2023 对密钥生命周期管理提出严格要求:

  • 密钥生成:必须在 HSM 中生成,不得在软件层面生成
  • 密钥分发:使用密钥封装技术(Key Wrapping),参考 GM/T 0018
  • 密钥存储:HSM 安全存储,密钥材料不得离开 HSM
  • 密钥更新:支持密钥轮换,旧密钥不得立即销毁
  • 密钥销毁:符合 GM/T 0028 安全等级的销毁要求

与 GB/T 39786-2021 的合规映射

GM/T 0014-2023 在 GB/T 39786-2021《信息系统密码应用基本要求》中具有明确的合规定位:

GB/T 39786 要求GM/T 0014-2023 对应条款合规等级
第三级:身份鉴别第 5.1 节:双因素身份认证必须满足
第三级:通信安全性第 5.3 节:通信加密传输必须满足
第三级:数据完整性第 5.4 节:数据完整性保护必须满足
第三级:数据保密性第 5.5 节:数据加密存储必须满足
第三级:密钥安全性第 5.6 节:密钥安全管理必须满足
第三级:安全管理第 5.7 节:安全管理制度必须满足
密评关注重点:
  • CA 系统的密码协议是否符合 GM/T 0014-2023 要求
  • 证书签发、吊销、查询等核心操作是否使用国密算法
  • 密钥管理是否符合 HSM 安全要求
  • 审计日志是否完整记录所有密码操作

工程实践要点

1. CA 系统密码协议实现的常见错误

错误类型现象正确做法
算法混用CSR 使用 SHA-256 哈希强制使用 SM3
签名算法错误使用 ECDSA 签名使用 SM2WithSM3
密钥管理不当私钥在软件层面生成必须在 HSM 中生成
吊销状态不及时CRL 更新周期过长遵循标准要求的时间间隔
双向认证缺失仅 CA 认证用户实现 RA-CA 双向认证

2. 国密 CA 系统密码协议检查清单

在进行密评准备时,建议按以下清单逐项检查:

  • [ ] 证书签发协议符合 GM/T 0014-2023 第 5.2 节要求
  • [ ] 使用 SM2 算法生成密钥对和签名
  • [ ] 使用 SM3 算法计算哈希和签名摘要
  • [ ] 证书吊销协议符合 GM/T 0014-2023 第 5.3 节要求
  • [ ] CRL 签发使用 SM2WithSM3 签名
  • [ ] OCSP 响应使用 SM2WithSM3 签名
  • [ ] 密钥恢复协议符合 GM/T 0014-2023 第 5.4 节要求
  • [ ] 高安全场景使用门限恢复机制(M-of-N)
  • [ ] 证书查询协议符合 GM/T 0014-2023 第 5.5 节要求
  • [ ] 通信加密使用 SM4 算法
  • [ ] 会话密钥协商使用 SM2 密钥交换协议
  • [ ] 密钥管理符合 HSM 安全要求
  • [ ] 审计日志完整记录所有密码操作

总结

GM/T 0014-2023 是国密 PKI 体系中的核心协议标准,与 GM/T 0034(系统架构)、GM/T 0015(证书格式)、GM/T 0028(密码模块安全)共同构成完整的 CA 系统标准体系。对于从事 CA 系统建设、密评合规的工程师来说,深入理解该标准的协议流程和密码要求是确保系统合规的基础。

在实际工程中,建议将 GM/T 0014-2023 与 GB/T 39786-2021 的合规要求对照使用,确保每一个协议操作都有明确的标准依据。同时,注意区分不同安全等级下的具体要求——第三级系统要求最为严格,需要特别注意门限密钥恢复、双因素认证等高安全要求。

相关实践

参考来源

  • GM/T 0014-2023《数字证书认证系统密码协议规范》(国家标准全文公开系统)
  • GM/T 0034-2014《基于SM2密码算法的证书认证系统密码及其相关安全技术规范》
  • GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》
  • GM/T 0003.2-2012《SM2椭圆曲线公钥密码算法 第2部分:数字签名算法》
  • GM/T 0004-2012《SM3密码杂凑算法》
  • GM/T 0015-2023《数字证书格式》
  • RFC 5280《Internet X.509 Public Key Infrastructure Certificate and CRL Profile》
  • PKCS#10《 Certification Request Standard》