GM/T 0038-2014 证书认证密钥管理系统检测规范:CA 密钥安全的全生命周期管控框架
title: "GM/T 0038-2014 证书认证密钥管理系统检测规范:CA 密钥安全的全生命周期管控框架" slug: "gm-t-0038-2014-key-management-system-detection-spec" excerpt: "深度解读 GM/T 0038-2014《证书认证密钥管理系统检测规范》,系统阐述 CA 密钥管理中根密钥、中间密钥、终端实体密钥的分类体系,以及密钥生成、存储、分发、备份恢复、销毁各环节的检测要求与合规要点。" category: standard tags: - GM/T - 密钥管理 - CA系统 - 密评合规 - 标准解读
概述
GM/T 0038-2014《证书认证密钥管理系统检测规范》是国密 PKI 体系建设的配套标准之一,专门针对 CA 系统的密钥管理环节提出检测要求。该标准与 GM/T 0034-2014《基于 SM2 密码算法的证书认证系统密码及其相关安全技术规范》和 GM/T 0037-2014《证书认证系统检测规范》共同构成国密 CA 系统的完整标准体系。
在密评实践中,密钥管理往往是 CA 系统最容易出问题的环节。密钥生成方式不当、密钥存储不符合安全等级要求、密钥分发过程缺乏身份认证、密钥备份恢复流程不健全等问题,都可能导致系统无法通过密评。GM/T 0038-2014 正是针对这些问题,提供了详细的检测依据。
标准基本信息:
| 属性 | 值 |
|---|---|
| 标准编号 | GM/T 0038-2014 |
| 标准名称 | 证书认证密钥管理系统检测规范 |
| 发布日期 | 2014-02-13 |
| 实施日期 | 2014-02-13 |
| 归口单位 | 密码行业标准化技术委员会 |
| 主管部门 | 国家密码管理局 |
| 状态 | current(现行有效) |
标准定位与体系关系
GM/T 0038-2014 在国密标准体系中处于配套检测标准的位置,与以下标准形成完整链条:
┌─────────────────────────────────────────────────────────────────────┐
│ 国密 CA 标准体系 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────┐ │
│ │ GM/T 0034-2014 │ │ GM/T 0038-2014 │ │ GM/T 0037-2014│ │
│ │ 证书认证系统 │ │ 密钥管理系统 │ │ 证书认证系统 │ │
│ │ 密码及安全规范 │───▶│ 检测规范 │ │ 检测规范 │ │
│ │ (架构要求) │ │ (密钥专项检测) │ │ (综合检测) │ │
│ └──────────────────┘ └──────────────────┘ └──────────────┘ │
│ ▲ │ ▲ │
│ │ │ │ │
│ └──────────────────────────┴────────────────────┘ │
│ 共同构成 CA 系统合规检测体系 │
│ │
└─────────────────────────────────────────────────────────────────────┘与相关标准的对比关系:
| 标准编号 | 名称 | 定位 | 与GM/T 0038的关系 |
|---|---|---|---|
| GM/T 0034-2014 | 基于SM2密码算法的证书认证系统密码及其相关安全技术规范 | 架构要求标准 | GM/T 0038的检测依据来自GM/T 0034的密钥管理要求 |
| GM/T 0037-2014 | 证书认证系统检测规范 | 综合检测标准 | GM/T 0038是GM/T 0037中密钥管理章节的专项细化 |
| GM/T 0028-2014 | 密码模块安全技术要求 | 密码模块安全等级 | 密钥存储安全等级判定依据 |
| GM/T 0029-2014 | 密码模块安全检测要求 | 密码模块检测 | 配套密钥模块检测标准 |
密钥分类与分级管理要求
GM/T 0038-2014 将 CA 系统的密钥分为三个层次,每层密钥具有不同的安全要求和管理规则。
根密钥(Root Key)
根密钥是 CA 体系的最高层级密钥,负责签发中间 CA 证书。其核心要求:
| 检测项 | 要求 | 检测方法 |
|---|---|---|
| 密钥生成 | 必须在 HSM 内部生成,不得导出明文 | 检查 HSM 日志、密钥生成记录 |
| 密钥存储 | 必须存储在符合 GM/T 0028 安全三级及以上的密码模块中 | 检查密码模块认证证书、安全等级 |
| 密钥备份 | 必须采用 M-of-N 分割方案,至少需要 2 人同时在场才能恢复 | 检查备份介质、恢复流程记录 |
| 密钥使用 | 仅用于签发中间 CA 证书,不得用于其他用途 | 检查证书签发记录 |
| 密钥销毁 | 密钥轮换或废弃后必须安全销毁,确保不可恢复 | 检查销毁记录、验证销毁效果 |
中间密钥(Intermediate Key)
中间密钥用于签发终端实体证书,是 CA 体系的核心操作密钥。
| 检测项 | 要求 |
|---|---|
| 密钥生成 | 必须在 HSM 内部生成或使用可信的密钥协商协议(如 GM/T 0003.3) |
| 密钥存储 | 必须存储在符合 GM/T 0028 安全二级及以上的密码模块中 |
| 密钥备份 | 可以采用数字信封或 M-of-N 分割方案 |
| 密钥轮换 | 建议每年轮换一次,最长不超过 3 年 |
| 密钥吊销 | 密钥泄露或被怀疑泄露时,必须立即吊销并重新生成 |
终端实体密钥(End-Entity Key)
终端实体密钥是最终用户使用的密钥,包括 TLS 服务器证书密钥、客户端证书密钥等。
| 检测项 | 要求 |
|---|---|
| 密钥生成 | 可使用 HSM 生成或由客户端本地生成后导入 |
| 密钥存储 | 服务器端必须存储在密码模块中,客户端可存储在安全容器中 |
| 密钥备份 | 通常不需要备份(用户自有密钥) |
| 密钥管理 | 由终端实体自主管理,CA 系统仅负责证书签发和吊销 |
密钥全生命周期检测要求
1. 密钥生成检测
密钥生成是密钥生命周期的起点,也是密评的重点检测项。
检测要点:
1.1 随机数源验证
□ 随机数生成器是否符合 GM/T 0005-2012《随机性检测规范》
□ 是否使用硬件随机数发生器(HRNG)或 TRNG
□ 软件随机数发生器是否采用 CSPRNG 算法(如 HMAC-DRBG、CTR-DRBG)
1.2 密钥长度合规性
□ SM2 密钥对:素数域 p = 2^256 - 2^32 - 977,密钥长度 256 位
□ SM3 杂凑值:输出长度 256 位
□ SM4 密钥:128 位
1.3 密钥生成方式
□ 是否在密码模块内部生成(禁止外部导入明文密钥)
□ 是否使用 KGC 主密钥协商协议(如适用)
□ 密钥生成后是否立即销毁生成参数
1.4 密钥对完整性
□ 私钥是否以密文形式存储(禁止明文存储)
□ 公钥是否正确嵌入证书中
□ 密钥对是否可正确完成签名-验签操作常见违规案例:
| 违规类型 | 现象 | 风险 |
|---|---|---|
| 软件生成根密钥 | CA 根密钥由普通服务器软件生成 | 根密钥可能泄露,整个 CA 体系被破坏 |
| 明文导入密钥 | 将 HSM 生成的密钥明文导出到服务器 | 密钥在传输过程中可能被截获 |
| 弱随机数 | 使用系统时间作为随机种子 | 密钥可预测,加密形同虚设 |
| 密钥长度不足 | SM2 使用 256 位以下的素数域 | 安全性低于标准要求 |
2. 密钥存储检测
密钥存储是密钥管理中最核心的安全环节,直接影响整个 CA 体系的安全性。
存储安全等级要求:
| 密钥类型 | 最低安全等级(GM/T 0028) | 推荐安全等级 |
|---|---|---|
| 根密钥 | 安全三级 | 安全四级 |
| 中间密钥 | 安全二级 | 安全三级 |
| 终端实体密钥 | 安全一级 | 安全二级 |
2.1 密码模块认证
□ 使用的密码模块是否通过 GM/T 0028 安全等级检测
□ 密码模块认证证书是否在有效期内
□ 密码模块型号是否与证书一致
2.2 密钥加密存储
□ 私钥是否使用密钥加密密钥(KEK)加密存储
□ 密钥加密密钥是否以分层方式保护(管理密钥 → KEK → 会话密钥)
□ 加密算法是否符合要求(SM4-CBC/GCM 等)
2.3 物理安全
□ HSM 设备是否放置在安全的机房环境中
□ 是否有物理访问控制(门禁、监控)
□ 是否有防篡改机制(外壳破坏检测)
2.4 逻辑安全
□ 密钥访问是否有严格的访问控制策略
□ 操作权限是否实现三权分立(管理员、操作员、审计员)
□ 是否有密钥访问审计日志3. 密钥分发检测
密钥分发指密钥从生成方传输到使用方的过程,包括中间 CA 证书的签发、会话密钥的协商等。
分发安全要求:
3.1 传输通道安全
□ 是否使用加密通道(TLS/TLCP)进行密钥传输
□ 传输通道是否经过身份认证(双向证书认证)
□ 是否使用国密密码套件(如 ECDHE-SM2-SM4-SM3)
3.2 分发方式选择
□ 根密钥是否需要离线分发(通常不建议)
□ 中间 CA 证书是否通过离线介质分发
□ 会话密钥是否通过密钥协商协议动态生成
3.3 分发过程审计
□ 密钥分发操作是否有完整的审计日志
□ 日志是否包含时间戳、操作者、目标对象、分发结果
□ 日志是否防篡改(SM3 哈希链或类似机制)4. 密钥备份与恢复检测
密钥备份是确保密钥不会因硬件故障或人为误操作而丢失的重要措施。
备份策略要求:
4.1 备份方式选择
□ 根密钥必须采用 M-of-N 分割备份方案
□ 中间密钥可采用数字信封或 M-of-N 方案
□ 终端实体密钥通常不需要备份(用户自有)
4.2 备份介质安全
□ 备份介质是否加密存储
□ 备份介质是否分散存放于不同地点
□ 备份介质是否有访问控制
4.3 恢复流程检测
□ 密钥恢复是否有严格的审批流程
□ 恢复操作是否需要多人协同(M-of-N)
□ 恢复后旧密钥是否立即销毁
□ 恢复操作是否有完整的审计记录M-of-N 分割备份检测示例:
以 3-of-5 分割方案为例:
- 根密钥 K 被分割为 5 个份额 {S₁, S₂, S₃, S₄, S₅}
- 任意 3 个份额可以恢复密钥 K
- 任意 2 个或更少份额无法获得关于 K 的任何信息
- 5 个份额分别存储于 5 个不同的安全位置
检测要点:
□ 是否实际实现了 M-of-N 分割算法(如 Shamir 秘密共享)
□ 恢复过程是否需要至少 M 个参与者协同
□ 分割参数(M, N)是否符合安全要求
□ 份额存储介质是否足够安全5. 密钥销毁检测
密钥销毁是密钥生命周期的终点,确保废弃密钥不可恢复是防止密钥泄露的最后防线。
销毁方法检测:
| 销毁方法 | 适用场景 | 技术要求 |
|---|---|---|
| 多次覆写 | 软件存储的密钥 | 至少覆写 3 次,使用随机数据 |
| 加密覆写 | 加密存储的密钥 | 使用新的随机密钥加密旧密钥区域 |
| 物理销毁 | 物理介质上的密钥 | 消磁、粉碎、燃烧等物理方式 |
| 安全擦除 | HSM 内置存储 | 调用 HSM 的安全擦除功能 |
5.1 销毁时机
□ 密钥达到预定有效期时是否自动销毁
□ 密钥泄露或被怀疑泄露时是否立即销毁
□ 密钥轮换后旧密钥是否及时销毁
5.2 销毁方法
□ 是否使用了符合要求的销毁方法
□ 销毁后密钥是否无法通过任何技术手段恢复
□ 销毁操作是否有验证机制(如读取验证)
5.3 销毁记录
□ 销毁操作是否有审计日志
□ 日志是否包含操作者、时间、目标密钥、销毁方法
□ 日志是否长期保存(不少于 5 年)密钥操作人员管理检测
GM/T 0038-2014 强调密钥管理操作的权限分离,防止单一人员掌握过多权限。
三权分立要求
| 角色 | 职责 | 禁止职责 |
|---|---|---|
| 系统管理员 | 系统配置、用户管理 | 密钥操作、审计查看 |
| 密钥操作员 | 密钥生成、分发、销毁 | 系统配置、审计查看 |
| 审计员 | 审计日志查看、合规检查 | 密钥操作、系统配置 |
权限检测要点
□ 是否实现了三权分立的权限模型
□ 系统管理员账号是否由独立人员持有
□ 密钥操作员账号是否由独立人员持有
□ 审计员账号是否由独立人员持有
□ 是否存在账号共享或权限越界的情况
□ 权限变更是否有审批流程和审计记录
□ 离职人员的账号是否及时禁用审计日志要求
审计日志是密钥管理合规性的关键证据,也是密评现场必查项目。
日志内容要求
| 日志类型 | 必须包含的字段 |
|---|---|
| 密钥生成日志 | 时间戳、操作者、密钥标识、生成方式、随机数源、生成结果 |
| 密钥存储日志 | 时间戳、操作者、密钥标识、存储位置、加密算法、存储结果 |
| 密钥分发日志 | 时间戳、操作者、密钥标识、分发方式、目标对象、分发结果 |
| 密钥备份日志 | 时间戳、操作者、密钥标识、备份方式、备份位置、备份结果 |
| 密钥恢复日志 | 时间戳、操作者、密钥标识、恢复方式、恢复结果、审批人 |
| 密钥销毁日志 | 时间戳、操作者、密钥标识、销毁方法、销毁结果、验证方式 |
| 权限变更日志 | 时间戳、操作者、变更内容、审批人 |
日志安全要求
□ 日志是否防篡改(如使用 SM3 哈希链、可信时间戳)
□ 日志是否长期保存(不少于 5 年)
□ 日志访问是否有严格的权限控制
□ 审计员是否可以独立查看日志
□ 日志是否有异地备份密钥逃逸事件处理检测
密钥逃逸是指密钥在非预期情况下被泄露或被未授权方获取的事件。GM/T 0038-2014 对密钥逃逸事件的处理流程有明确要求。
事件响应流程
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 发现密钥逃逸 │────▶│ 启动应急响应 │────▶│ 评估影响范围 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌────▼─────┐
│吊销相关 │
│证书 │
└────┬─────┘
│
┌────▼─────┐
│重新生成 │
│密钥 │
└────┬─────┘
│
┌────▼─────┐
│报告上级 │
│主管部门 │
└──────────┘检测要点
□ 是否有密钥逃逸应急预案
□ 应急响应流程是否清晰、可执行
□ 是否定期演练应急响应流程
□ 事件发生后是否及时报告主管部门
□ 是否进行了影响范围评估
□ 是否及时吊销了受影响的证书
□ 是否及时重新生成了逃逸密钥
□ 是否进行了事件根因分析
□ 是否采取了防止类似事件再次发生的措施与 GB/T 39786-2021 的对应关系
GM/T 0038-2014 的检测要求可与 GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》中的相关要求进行对应:
| GB/T 39786 要求 | GM/T 0038 检测项 | 合规要点 |
|---|---|---|
| 密钥管理要求 | 密钥全生命周期检测 | 所有密钥管理环节需符合标准要求 |
| 身份鉴别要求 | 三权分立检测 | 密钥管理操作需权限分离 |
| 安全审计要求 | 审计日志检测 | 密钥操作需完整审计记录 |
| 密钥备份与恢复 | 密钥备份恢复检测 | 根密钥需 M-of-N 分割备份 |
密评合规建议
检测准备建议
1. 文档准备清单
□ 密码模块认证证书(有效期、型号、安全等级)
□ 密钥管理策略文档
□ 密钥操作操作规程
□ 应急处理预案
□ 审计日志(最近一年)
□ 培训记录(密钥管理人员)
2. 现场检查配合
□ 密码模块设备运行状态
□ 密钥管理操作界面演示
□ 审计日志查阅
□ 应急响应演练
□ 密钥销毁验证常见问题与整改建议
| 问题 | 原因 | 整改建议 |
|---|---|---|
| 根密钥由软件生成 | 采购时未明确要求 HSM 生成 | 更换符合要求的密码模块,重新生成根密钥 |
| 密钥未加密存储 | 开发时未实现密钥加密 | 实现分层密钥保护架构 |
| 审计日志不完整 | 日志采集方案不完善 | 完善日志采集,增加存储容量 |
| 密钥备份无 M-of-N 方案 | 实现时未采用分割方案 | 重新实现密钥分割,更新备份策略 |
| 三权分立未落实 | 权限模型设计缺陷 | 重新设计权限模型,实现角色分离 |
总结
GM/T 0038-2014《证书认证密钥管理系统检测规范》为 CA 系统的密钥管理提供了全面的检测依据。该标准的核心要点可以归纳为:
- 密钥分类管理:根密钥、中间密钥、终端实体密钥三层分级,每层有不同的安全要求
- 全生命周期管控:从生成、存储、分发到备份恢复、销毁,每个环节都有明确的检测要求
- 权限分离:三权分立是基本前提,防止单人掌握过多权限
- 审计追溯:完整的审计日志是合规证据,必须防篡改、长期保存
参考来源
- GM/T 0038-2014《证书认证密钥管理系统检测规范》原文
- GM/T 0034-2014《基于 SM2 密码算法的证书认证系统密码及其相关安全技术规范》
- GM/T 0037-2014《证书认证系统检测规范》
- GM/T 0028-2014《密码模块安全技术要求》
- GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》
- 国家密码管理局公告(2014年第1号)