公钥基础设施(PKI)基础概念:信任模型、证书体系与安全服务

密码学概念 · 2026-07-04

概述

公钥基础设施(Public Key Infrastructure, PKI)是基于公钥密码学的一种安全管理框架,它为数字证书的申请、签发、管理、使用存储和吊销提供了一套完整的基础设施。PKI 是现代信息安全体系的核心组成部分,广泛应用于身份认证、数据加密、数字签名、安全通信等领域。

PKI 的核心价值在于解决了"如何信任一个公钥属于某个特定实体"的问题。在没有 PKI 的世界中,Alice 无法确定她收到的公钥确实属于 Bob 而不是中间人 Eve。PKI 通过引入受信任的第三方(证书颁发机构,CA)来建立这种信任关系。

PKI 的核心组件

1. 证书颁发机构(CA)

证书颁发机构(Certificate Authority, CA)是 PKI 体系中最核心的信任锚。CA 负责:

  • 证书签发:验证申请者身份后,将申请者的公钥与其身份信息绑定,生成数字证书
  • 证书吊销:在证书有效期内,因密钥泄露、信息变更等原因吊销证书
  • 证书更新:证书到期前协助用户续期
CA 的信任等级:

CA 类型信任级别作用示例
根 CA(Root CA)最高信任锚,自签名证书DigiCert Global Root、中国金融认证中心(CFCA)
中间 CA(Intermediate CA)中等受根 CA 授权,负责实际签发各业务线 CA、地域性 CA
注册机构(RA)最低验证申请者身份,不签发证书企业内部的证书审批系统

2. 数字证书

数字证书是 PKI 体系中身份与公钥绑定的载体,遵循 X.509 标准格式。国密体系下使用 GM/T 0015-2023《数字证书格式》定义的国密 X.509 证书。

X.509 证书的核心字段:

国密 X.509 证书与标准 X.509 的主要区别:

字段标准 X.509国密 X.509(GM/T 0015)
签名算法RSA/ECDSASM2
密钥算法RSA/ECCSM2
哈希算法SHA-256SM3
证书格式DER/PEMDER/PEM(国密编码)
扩展项标准扩展国密扩展(含算法标识 OID)

3. 证书吊销机制

PKI 必须解决"证书有效期内如何撤销信任"的问题。主要有两种方式:

CRL(Certificate Revocation List):证书吊销列表,由 CA 定期发布,包含所有已被吊销但尚未过期的证书序列号。

OCSP(Online Certificate Status Protocol):在线证书状态协议,实时查询单个证书的吊销状态,相比 CRL 更高效但隐私性较差。

对比维度CRLOCSPOCSP Stapling
查询方式下载完整列表实时 HTTP 查询服务器主动附带
延迟高(需下载完整列表)中(需额外请求)低(随握手发送)
隐私好(本地查询)差(CA 知道访问记录)好(服务器代为查询)
带宽高(完整列表)低(单个查询)低(单个响应)
适用场景离线验证实时验证TLS 服务器端

4. 密钥管理

PKI 的密钥管理涵盖密钥的完整生命周期:

CODE
密钥生成 → 密钥存储 → 密钥分发 → 密钥使用 → 密钥更新 → 密钥归档 → 密钥销毁

国密体系下的密钥管理要求:

  • 密钥生成:必须使用经认证的密码模块(GM/T 0028),密钥长度符合 SM2 要求(256 位)
  • 密钥存储:私钥必须存储在安全硬件中(USB Key、HSM、安全芯片)
  • 密钥备份:重要 CA 密钥必须采用门限方案备份(GM/T 0034)
  • 密钥恢复:在合法授权下支持密钥恢复,但需记录审计日志

PKI 信任模型

1. 层次型信任模型(Hierarchical Model)

最经典的 PKI 信任模型,采用树状结构:

CODE
┌─────────────┐
        │  根 CA (Root) │  ← 信任锚(Trust Anchor)
        └──────┬──────┘
               │
        ┌──────┴──────┐
        │  中间 CA 1   │
        └──────┬──────┘
               │
        ┌──────┴──────┐
        │  终端实体证书 │  ← Alice 的证书
        └─────────────┘

特点

  • 单一根 CA 作为信任锚
  • 证书链验证路径唯一
  • 管理简单,适合单一组织内部使用
  • 根 CA 单点故障风险高
国密应用:GM/T 0034 定义了国密层次型 CA 体系架构,要求根 CA 必须使用硬件密码模块保护。

2. 桥接型信任模型(Bridge Model)

解决多层次 PKI 互操作问题的方案:

CODE
┌──────────┐     ┌──────────┐
│ PKI A    │     │ PKI B    │
│  Root CA │     │  Root CA │
│    │     │     │    │     │
│    └─────┼─────┘    │     │
│ Bridge CA (桥接 CA)   │     │
│    │     │     ┌────┘     │
│    │     │     │          │
└────┘     └─────┘          │
  │                         │
  ▼                         ▼
实体 A                     实体 B

特点

  • 通过桥接 CA 实现不同 PKI 体系间的信任传递
  • 桥接 CA 持有所有参与 PKI 体系的证书
  • 适合跨国、跨组织的互操作场景
国密应用:在金融、政务跨域认证场景中,桥接 PKI 模型被广泛用于实现不同 CA 体系间的证书互认。

3. 网状信任模型(Web of Trust)

PGP/GPG 采用的去中心化信任模型:

CODE
Alice ──信任──▶ Bob ──信任──▶ Charlie
 ▲              │              ▲
 │              │              │
 └────信任──────┘              │
                               │
                        Dave ──┘

特点

  • 无中心 CA,信任由用户间直接建立
  • 通过签名传递信任(Alice 签名 Bob 的证书 = Alice 信任 Bob)
  • 适合小规模社群,大规模部署困难
国密体系:国密标准未采用网状模型,主要采用层次型和桥接型。

证书链验证

验证流程

当客户端收到一个证书时,需要验证其完整信任链:

CODE
步骤 1: 获取证书链(终端实体 → 中间 CA → 根 CA)
步骤 2: 验证根 CA 证书是否在本地的信任存储中
步骤 3: 从上到下依次验证每层证书的签名:
        - 用上级 CA 的公钥验证下级证书的签名
        - 检查证书有效期
        - 检查证书吊销状态(CRL/OCSP)
        - 检查扩展项约束(Basic Constraints、Key Usage、EKU)
步骤 4: 验证终端实体证书的 Subject/SubjectAltName 是否与目标匹配

关键扩展项

扩展项OID作用国密 OID
Basic Constraints2.5.29.19标识 CA 证书1.2.156.10197.1.501
Key Usage2.5.29.15限制密钥用途1.2.156.10197.1.502
Extended Key Usage2.5.29.37扩展密钥用途1.2.156.10197.1.503
Subject Alternative Name2.5.29.17主体别名1.2.156.10197.1.504
Certificate Policies2.5.29.32证书策略1.2.156.10197.1.505

国密双证书体系

国密 PKI 体系中常见的双证书设计:

CODE
┌─────────────────────────────────────────────┐
│           签名证书(Signature Certificate)    │
│  - 用途:数字签名、验签                       │
│  - 密钥:SM2 签名密钥对                       │
│  - 有效期:较短(1-2 年)                      │
├─────────────────────────────────────────────┤
│           加密证书(Encryption Certificate)   │
│  - 用途:数据加密、解密                       │
│  - 密钥:SM2 加密密钥对                       │
│  - 有效期:较长(3-5 年)                      │
└─────────────────────────────────────────────┘

双证书设计的原因:

  • 密钥分离:签名密钥和加密密钥独立,降低密钥泄露风险
  • 有效期差异化:签名密钥频繁使用,需更短有效期;加密密钥使用较少
  • 合规要求:GM/T 0034 明确要求签名和加密使用不同密钥对

PKI 应用场景

1. TLS/HTTPS 安全通信

最常见的 PKI 应用场景,服务器使用数字证书证明身份:

  • 标准 TLS:RSA/ECC 证书 + RSA/ECDHE 密钥交换
  • 国密 TLS:SM2 证书 + SM2 密钥交换(GM/T 0024)
  • 双证书 TLS:签名证书用于身份认证,加密证书用于密钥封装

2. 代码签名

软件开发者和固件供应商使用 PKI 对代码进行签名:

  • Windows: Authenticode 代码签名证书
  • macOS/iOS: Apple Developer Certificate
  • 国密场景: 嵌入式固件 SM2 签名验证(GM/T 0010)

3. 电子邮件安全

  • S/MIME:使用 X.509 证书加密和签名邮件
  • 国密场景: 基于 SM2 的国密邮件安全协议

4. 物联网设备认证

  • 设备证书:每台 IoT 设备预置 SM2/X.509 证书
  • 双向认证:设备与服务器相互验证证书
  • 批量部署:中间 CA 证书用于批量签发设备证书

PKI 与国密标准的映射

国密标准内容PKI 中的作用
GM/T 0009-2023SM2 密码算法使用规范规定 SM2 证书中密钥的使用方式
GM/T 0010-2023SM2 密码算法加密签名消息语法定义 SM2 CMS 格式证书
GM/T 0015-2023数字证书格式国密 X.509 证书结构
GM/T 0034-2023基于 SM2 的证书认证系统CA 系统架构和安全要求
GM/T 0018-2023密码设备应用接口规范SDF 接口用于证书操作
GM/T 0033-2023时间戳接口规范时间戳服务集成
GM/T 0028-2014密码模块安全技术要求CA 硬件密码模块安全等级

安全威胁与防护

常见威胁

威胁类型描述防护措施
证书伪造攻击者伪造 CA 签发恶意证书证书透明度(CT)日志
私钥泄露CA 私钥被窃取,可签发任意证书硬件密码模块保护、门限签名
中间人攻击拦截 TLS 握手,伪造服务器证书证书链验证、HSTS
过期证书使用已过期但仍被信任的证书严格的有效期管理、自动续期
吊销绕过攻击者阻止 OCSP/CRL 查询OCSP Stapling、预吊销检查

国密 PKI 的特殊安全要求

  • 密钥分离:签名密钥和加密密钥必须使用不同的 SM2 密钥对(GM/T 0034)
  • 硬件保护:根 CA 和中级 CA 的私钥必须存储在通过 GM/T 0028 认证的安全模块中
  • 审计追踪:所有证书签发、吊销操作必须记录审计日志
  • 时间戳绑定:重要证书操作必须附加可信时间戳(GM/T 0033)

相关实践

参考来源

  • GM/T 0034-2023《基于 SM2 密码算法的证书认证系统密码及其相关安全技术规范》,国家密码管理局
  • GM/T 0015-2023《数字证书格式》,国家密码管理局
  • GM/T 0009-2023《SM2 密码算法使用规范》,国家密码管理局
  • RFC 5280 "Internet X.509 Public Key Infrastructure Certificate and CRL Profile"
  • RFC 6960 "Online Certificate Status Protocol (OCSP)"
  • GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》
  • 国家密码管理局 - 商用密码标准体系