可信计算与密码支撑平台:GM/T 0011-2023 架构解读与国密可信根
概述
可信计算(Trusted Computing)是通过硬件级信任根建立系统安全基础的核心技术。GM/T 0011-2023《可信计算 可信密码支撑平台功能与接口规范》是中国可信计算技术体系的重要组成部分,定义了基于国密算法的可信密码支撑平台(TC-CSP)的功能要求与接口规范。
该标准于 2023 年发布,是国密可信计算标准体系的关键一环,与以下标准形成完整链条:
| 标准编号 | 标准名称 | 定位 |
|---|---|---|
| GM/T 0011-2023 | 可信密码支撑平台功能与接口规范 | TC-CSP 核心标准 |
| GM/T 0012-2012 | 可信密码模块接口规范 | 底层密码模块接口 |
| GM/T 0013-2012 | 可信密码模块符合性检测规范 | 检测认证依据 |
| GB/T 39786-2021 | 信息系统密码应用基本要求 | 等保合规依据 |
标准背景与可信计算生态
可信计算的核心思想
可信计算通过建立一个硬件级的"信任根"(Root of Trust),确保系统从启动到运行的全过程都可信:
CODE
信任根(RoT)
│
▼
可信平台模块(TPM / TC-CSP)
│
▼
可信启动链(PCR 测量)
│
▼
安全操作系统 / 可信执行环境
│
▼
安全应用(密钥保护、远程证明等)国际 TPM vs 国产 TC-CSP
| 维度 | 国际 TPM(TCG) | 国产 TC-CSP(GM/T 0011-2023 |
|---|---|---|
| 标准组织 | Trusted Computing Group | 国家密码管理局 |
| 密码算法 | RSA、ECC、SHA | SM2、SM3、SM4 |
| PCR 数量 | 通常 24 个 | 可扩展配置 |
| 密钥导出 | 允许(受策略控制) | 密钥不出平台 |
| 适用场景 | 国际通用 | 国内合规要求 |
为什么需要国密可信密码支撑平台?
- 合规要求:等保三级及以上系统要求使用国密算法
- 安全自主:避免国际 TPM 可能存在的后门风险
- 本土适配:与国内密码产业链(可信芯片、安全启动)深度集成
- 标准统一:为国产操作系统、固件提供统一的密码服务接口
可信密码支撑平台架构
整体架构
GM/T 0011-2023 定义的可信密码支撑平台采用分层架构:
CODE
┌─────────────────────────────────────────┐
│ 应用层(可信应用) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 远程证明 │ │ 密钥管理 │ │ 安全存储 │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
└───────┼─────────────┼─────────────┼───────┘
│ │ │
┌───────▼─────────────▼─────────────▼───────┐
│ GM/T 0011-2023可信密码支撑平台 │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 随机数生成 │ │ 密钥管理 │ │
│ │ (CSPRNG) │ │ (Key Mgmt) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ ┌──────▼──────┐ ┌──────▼──────┐ │
│ │ 密码运算 │ │ 度量验证 │ │
│ │ (SM2/SM3) │ │ (PCR) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ ┌──────▼─────────────────▼──────┐ │
│ │ 安全存储(加密存储) │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────────────┘
│
┌───────▼─────────────────────────────────────┐
│ 硬件信任根(SoC/安全芯片) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 安全启动 │ │ 密钥生成 │ │ 防篡改 │ │
│ │ (ROM) │ │ (TRNG) │ │ 机制 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────┘核心组件
| 组件 | 功能 | 标准依据 |
|---|---|---|
| 信任根(RoT) | 系统启动时的第一级可信锚点 | GM/T 0011-2023 第 5 章 |
| 随机数发生器(TRNG) | 生成密码学安全的随机数 | GM/T 0011-2023 第 6.2 节 |
| 密钥管理模块 | 密钥生成、存储、使用、销毁 | GM/T 0011-2023 第 6.3 节 |
| 密码运算模块 | SM2/SM3/SM4 算法实现 | GM/T 0011-2023 第 6.4 节 |
| 平台配置寄存器(PCR) | 存储度量值,支持远程证明 | GM/T 0011-2023 第 6.5 节 |
| 安全存储模块 | 加密存储敏感数据 | GM/T 0011-2023 第 6.6 节 |
关键安全机制
1. 信任根(Root of Trust)
信任根是可信计算的基石,GM/T 0011-2023 定义了两种信任根实现:
| 类型 | 说明 | 典型实现 |
|---|---|---|
| RoT-KEK | 密钥加密密钥信任根 | 安全芯片内固化的主密钥 |
| RoT-Start | 启动信任根 | ROM 中固化的启动代码 |
CODE
1. ROM 代码(不可篡改)执行初始验证
│
▼
2. 验证 Bootloader 签名(SM2 验签)
│
▼
3. 测量 Bootloader 哈希到 PCR[0]
│
▼
4. Bootloader 验证 OS 内核签名
│
▼
5. 测量 OS 内核哈希到 PCR[1]
│
▼
6. OS 启动后报告 PCR 值(远程证明)2. 随机数生成器(TRNG)
GM/T 0011-2023 要求 TC-CSP 提供符合国密标准的随机数服务:
| 要求 | 说明 |
|---|---|
| 熵源 | 至少一个硬件熵源(如热噪声、振荡器 jitter) |
| 后处理 | 使用 SM3 或 CTR_DRBG 进行熵提取 |
| 健康测试 | 上电自检(POST)+ 持续在线测试 |
| 输出速率 | ≥ 100 Mbps(典型值) |
- 如果 TRNG 自检失败,TC-CSP 应停止提供随机数服务
- 记录审计日志并触发告警
- 系统应拒绝启动或进入安全状态
3. 密钥管理体系
TC-CSP 的密钥管理遵循"密钥不出平台"原则:
| 密钥类型 | 存储位置 | 可见性 | 用途 |
|---|---|---|---|
| 平台密钥(PK) | 安全芯片内 | 不可见 | 平台身份标识 |
| 存储根密钥(SRK) | 安全芯片内 | 不可见 | 保护其他密钥 |
| 平台 HMAC 密钥(PH) | 安全芯片内 | 不可见 | 平台认证 |
| 延伸密钥(EK) | 安全芯片内 | 不可见 | 密钥加密 |
| 用户密钥 | 安全芯片内 | 不可见 | 用户认证 |
CODE
PRE_ACTIVE → ACTIVE → DEACTIVATED → ARCHIVED → DESTROYED
│
└──► 紧急销毁(Tamper Response)4. 平台配置寄存器(PCR)
PCR 是可信计算的核心数据结构,用于存储系统度量值:
| PCR 索引 | 典型用途 | 测量内容 |
|---|---|---|
| PCR[0] | 固件完整性 | BIOS/UEFI 代码哈希 |
| PCR[1] | 引导加载程序 | Bootloader 哈希 |
| PCR[2] | 操作系统内核 | Kernel 哈希 |
| PCR[3] | 引导参数 | Command line 哈希 |
| PCR[4-7] | 运行时度量 | 动态加载模块哈希 |
| PCR[8-15] | 扩展测量 | 应用级度量 |
CODE
PCR[new] = SHA256(PCR[old] || measurement)CODE
PCR[new] = SM3(PCR[old] || measurement)与 TCG TPM 的对比分析
架构差异
| 维度 | TCG TPM 2.0 | GM/T 0011-2023 TC-CSP |
|---|---|---|
| 密码算法 | RSA/ECC/SHA | SM2/SM3/SM4 |
| PCR 数量 | 24 个(默认) | 可扩展(通常 16+) |
| 密钥导出 | 允许(受策略控制) | 不允许(密钥不出平台) |
| 远程证明 | TPM Quote / Attestation | 国密远程证明协议 |
| 管理接口 | TPM Command Set | GM/T 0012-2012 接口 |
| 合规要求 | FIPS 140-2/3 | 密评、等保 |
功能映射
| TPM 功能 | TC-CSP 对应 | 说明 |
|---|---|---|
| NV Storage | 安全存储模块 | PCR 外存储 |
| PCR Extend | PCR 扩展操作 | SM3 哈希 |
| RSA Sign/Verify | SM2 签名/验签 | 国密算法 |
| ECC Key Gen | SM2 密钥生成 | 指定曲线 |
| Sealing | 绑定 PCR 加密 | 数据绑定系统状态 |
| Identity | 平台身份(AIK) | 国密数字证书 |
密评合规要点
GB/T 39786-2021 要求映射
| 合规要求 | GM/T 0011-2023对应 | 检查项 |
|---|---|---|
| 可信验证 | PCR 度量链 | 启动过程完整性 |
| 身份鉴别 | 平台身份认证 | PH 密钥使用 |
| 访问控制 | 权限分离机制 | 角色权限矩阵 |
| 安全审计 | 操作日志记录 | 审计链完整性 |
| 密钥管理 | 密钥生命周期 | 密钥不出机 |
密评必查清单
CODE
□ 信任根:是否存在硬件级信任根(安全芯片)?
□ 安全启动:启动链是否完整度量(BIOS → Bootloader → OS)?
□ PCR 完整性:PCR 值是否防篡改(只扩展、不覆盖)?
□ 随机数:TRNG 是否通过国密算法验证?
□ 密钥安全:是否存在密钥明文导出?
□ 远程证明:是否支持基于国密算法的远程证明?
□ 抗侧信道:是否具备防功耗分析、防时序攻击措施?
□ 审计日志:关键操作是否记录完整审计链?工程应用场景
场景 1:服务器安全启动
CODE
1. 上电 → ROM 代码执行(信任根)
2. ROM 验证 BIOS 签名(SM2 验签)
3. BIOS 测量自身到 PCR[0]
4. BIOS 加载 Bootloader,验证签名
5. Bootloader 测量自身到 PCR[1]
6. Bootloader 加载 OS,验证签名
7. OS 测量自身到 PCR[2]
8. OS 启动后报告 PCR[0-7] 给远程证明服务场景 2:远程证明
CODE
证明方(TPM/TC-CSP) 验证方(远程证明服务)
│ │
│ 1. 生成随机数 Nonce │
│←───────────────────────────────│
│ │
│ 2. 用 EK 加密 Nonce + PCR 值 │
│ │
│ 3. 用 AIK 签名证明 │
│───────────────────────────────▶│
│ │
│ │ 4. 验证签名(AIK 公钥)
│ │ 5. 验证 PCR 值是否在白名单
│ │ 6. 返回证明结果场景 3:密钥安全存储
CODE
用户密钥生成流程:
1. 用户在安全通道注册
2. TC-CSP 内部生成 SM2 密钥对
3. 私钥用 SRK 加密存储(绑定 PCR[0-3])
4. 使用时:检查 PCR 值 → 解密私钥 → 执行签名
5. PCR 不匹配时拒绝操作(防止离线攻击)与相关标准的关系
标准体系图
CODE
┌─────────────────────────────────────────────────┐
│ 应用层(可信应用) │
│ 远程证明 | 安全存储 | 密钥管理 | 可信执行 │
└───────────────────┬─────────────────────────────┘
│ 接口调用
┌───────────────────▼─────────────────────────────┐
│ GM/T 0011-2023 可信密码支撑平台 │
│ (功能与接口规范) │
└───────────────────┬─────────────────────────────┘
│ 依赖
┌───────────┼───────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│GM/T 0012-2012│ │GM/T 0013-2012│ │ GM/T 0030-2014 │
│(接口规范) │ │(检测规范) │ │(服务器密码 │
│ │ │ │ │ 机规范) │
└───────────┘ └───────────┘ └───────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ 硬件信任根 │
│ 安全芯片 / SoC 集成安全模块 │
│ (GM/T 0008-2012安全芯片规范) │
└─────────────────────────────────────────────────┘参考来源
| 标准编号 | 标准名称 |
|---|---|
| GM/T 0011-2023 | 可信计算 可信密码支撑平台功能与接口规范 |
| GM/T 0012-2012 | 可信计算 可信密码模块接口规范 |
| GM/T 0013-2012 | 可信计算 可信密码模块符合性检测规范 |
| GB/T 39786-2021 | 信息安全技术 信息系统密码应用基本要求 |
| TCG TPM 2.0 Part 1 | Platform Level Specification |
相关实践文章
- GM/T 0030-2014 服务器密码机技术规范 — 密码设备层规范
- GM/T 0028-2014 密码模块安全技术要求 — 安全等级划分
- GB/T 39786-2021 信息系统密码应用基本要求 — 密评合规依据