GM/T 0034-2014 密钥管理深度解析:CA系统的安全核心与工程实践

标准规范 · 2026-09-11

GM/T 0034-2014 密钥管理深度解析

标准定位

GM/T 0034-2014 是国密 PKI 体系的核心标准,规范了基于 SM2 算法的证书认证系统(CA)的技术要求。与其他标准相比,GM/T 0034 的独特价值在于:不仅定义架构,更规定了密钥管理的安全细节。

对比维度GM/T 0034GM/T 0028GM/T 0039
侧重点CA系统密码规范密码模块安全检测认证细则
密钥管理完整生命周期模块级要求合规检查点
适用范围CA中心密码设备认证流程

三层密钥架构

#### 根密钥(Root Key)

根密钥是信任锚,必须满足:

  • 存储:只能存储在 HSM 或安全芯片中,不可导出明文
  • 生成:使用合规随机数发生器,双人生成机制
  • 备份:Shamir 秘密共享或多重签名保护
  • 有效期:通常 10-20 年,到期需迁移到新密钥
工程实现要点:

CODE
# 使用 Tongsuo 生成根密钥(HSM 环境)
tongsuo ecparam -genkey -name sm2p256v1 -out root_key.pem
# 实际生产应从 HSM 内部生成,密钥不出硬件

#### 中间 CA 密钥

中间 CA 密钥采用分级结构:

层级用途密钥长度有效期
L1 CA签发二级 CASM2-2565-10 年
L2 CA签发最终实体SM2-2563-5 年
签名 CA代码/文档签名SM2-2561-2 年
加密 CA数据加密SM2-2561-2 年
密钥分离原则:签名密钥与加密密钥必须独立,这是 GM/T 0034 的强制要求。

#### 终端实体密钥

终端实体(EE)密钥的特点:

  • 数量巨大(百万级)
  • 有效期短(1-2年)
  • 自动化生成和管理
  • 支持批量吊销

密钥生命周期管理

#### 生成阶段

GM/T 0034 规定的生成流程:

CODE
1. 初始化随机数种子(符合 GM/T 0005)
2. 在安全环境中生成密钥对
3. 验签密钥对的合法性(点乘验证)
4. 记录元数据(生成时间、生成者、设备ID)
5. 密钥备份(如需)

常见工程陷阱:

  • ❌ 使用 /dev/urandom 直接生成(不符合国密随机数要求)
  • ❌ 在服务器内存中明文存储私钥
  • ✅ 使用 HSM 内部生成,仅导出公钥
#### 存储阶段

密钥类型存储要求访问控制
根密钥HSM/安全芯片物理隔离 + 多因素认证
CA 密钥HSM/安全芯片双人对半原则
EE 私钥智能卡/HSM用户 PIN + 生物特征
EE 公钥证书库公开可访问
国密合规要求:私钥不得以明文形式存在于任何非安全介质中。

#### 分发阶段

CA 密钥分发特点:

  • 根证书通过预装分发(浏览器/操作系统内置)
  • 中间 CA 证书通过在线目录分发
  • 禁止通过不安全通道分发私钥
#### 使用阶段

GM/T 0034 对密钥使用的安全要求:

  • 签名操作:必须在 HSM 内部完成,私钥不出设备
  • 加密操作:同上
  • 密钥派生:使用合规 KDF(如 GM/T 0006 定义的标识密码)
#### 归档阶段

密钥归档不是简单备份,而是满足法律取证要求:

  • 归档内容:私钥 + 生成元数据 + 使用记录
  • 归档位置:离线安全存储
  • 访问控制:司法授权 + 双人操作
#### 销毁阶段

密钥销毁的合规要求:

销毁方式适用场景验证要求
物理销毁HSM/智能卡目视检查确认
覆写硬盘存储多次覆写 + 校验
密码学销毁密钥信封解密后销毁会话密钥
关键原则:销毁后必须确认无法恢复,这是密评检查的重点。

密钥恢复机制

GM/T 0034 允许密钥恢复,但设置了严格条件:

#### 恢复的前提条件

  • 用户在注册时明确同意恢复条款
  • 恢复需要多重授权(通常 3/5 或 5/7 门限)
  • 恢复日志必须完整记录
  • 恢复操作需事后审计
#### 恢复技术实现

注意:此代码仅为说明原理,生产环境必须使用经过认证的 HSM 厂商 SDK。

国密实现要点

#### Tongsuo 中的密钥管理

Tongsuo 是国密场景下的首选实现:

BASH
# 在 HSM 中生成 SM2 密钥对
tongsuo ecparam -genkey -name sm2p256v1 \
  -engine pkcs11 \
  -keyform engine \
  -outform PEM \
  | tee ca_key.pem

# 验证密钥对
openssl ec -in ca_key.pem -text -noout

#### 与 OpenSSL 的区别

特性OpenSSLTongsuo
SM2 支持需扩展原生支持
国密算法有限完整
HSM 集成PKCS#11国密 PKCS#11
合规性国际国密标准
#### 常见工程问题

问题 1:密钥导出违规

CODE
❌ 错误做法:将私钥从 HSM 导出到服务器
tongsuo rsa -in hsm_key.pem -out server_key.pem
# 这违反了 GM/T 0034 的密钥不可导出要求

✅ 正确做法:只在 HSM 内部操作,应用层通过 PKCS#11 接口调用

问题 2:随机数不合规

PYTHON
# ❌ 错误:使用普通 random 模块
import random
key = random.getrandbits(256)

# ✅ 正确:使用符合 GM/T 0005 的随机数源
import os
from gmssl import func
# 使用硬件 RNG 或经过认证的 CSPRNG

密评检查要点

根据 GM/T 0039,密钥管理是密评的核心检查项:

检查项检查内容常见问题
密钥生成是否符合 GM/T 0005使用软件随机数
密钥存储是否使用 HSM私钥明文存放
密钥分发是否安全传输通过邮件发送密钥
密钥备份是否有恢复机制无备份导致密钥丢失
密钥销毁是否彻底删除仅重命名文件

总结

GM/T 0034-2014 的密钥管理要求体现了国密 PKI 的安全设计理念:

  • 分层防御:根密钥 → CA 密钥 → 终端密钥,每层独立保护
  • 硬件信任根:所有私钥操作在 HSM 内完成
  • 多重授权:关键操作需要多人协同
  • 全生命周期覆盖:从生成到销毁的完整管理
对于实施者而言,理解这些要求不仅能通过密评,更能构建真正安全的国密 PKI 系统。

延伸阅读