无证书与隐式证书公钥机制:从密钥托管困境到轻量级 PKI 新范式

密码学概念 · 2026-07-17

概述

公钥密码学解决了对称加密中密钥分生的根本性难题,但公钥本身需要可信分发机制。过去七十年间,这一需求催生了三种渐次演进的信任框架:传统 X.509 公钥基础设施(PKI)、基于身份的密码学(Identity-Based Cryptography, IBC),以及试图兼取二者之长的无证书公钥密码学(Certificateless Public Key Cryptography, CL-PKC)与隐式证书(Implicit Certificates)。

传统 PKI 依赖数字证书——由证书颁发机构(CA)签发的身份与公钥绑定凭证。证书的存储、验证、吊销伴随巨大的计算与带宽开销,在资源受限的物联网(IoT)场景中几乎无法承受。基于身份的密码学由 Boneh 和 Franklin 在 2001 年提出,用用户身份(如邮箱地址)直接充当公钥,彻底消除了证书需求;但代价是密钥生成中心(KGC)持有所有用户的完整私钥——即\"密钥托管\"问题。

2003 年,Al-Riyami 和 Paterson 在欧洲密码学大会(Asiacrypt 2003)上提出无证书公钥密码学的新范式,核心思想是将私钥拆分为两部分:KGC 利用主密钥生成\"部分私钥\",用户独立选择\"秘密值\",二者组合成完整私钥。由于 KGC 不知道用户的秘密值,因此无法恢复完整私钥,密钥托管问题得以从根本上解决;同时,公钥仍然可以从用户身份与 KGC 的公开参数直接推导,无需证书。

2023 年 12 月,国家密码管理局发布 GM/T 0130-2023《基于SM2算法的无证书及隐式证书公钥机制》,将无证书和隐式密码技术纳入国密标准体系,为 5G 通信、车联网、工业物联网等场景提供了标准化的轻量级公钥管理方案。

本文要点

  • 系统梳理从传统 PKI 到无证书/隐式证书的演进脉络
  • 深入解析 Al-Riyami-Paterson 范式的数学原理与两类敌手模型
  • 解读 GM/T 0130-2023 国密标准的核心流程和技术要求
  • 提供四种公钥管理机制的对比矩阵与选型建议

传统 PKI 证书管理的三个核心困境

1. 证书存储与分发开销

一张标准 X.509 v3 证书通常包含版本号、序列号、签名算法标识、颁发者名称、有效期、主体名称、主体公钥信息、CA 数字签名等字段,总长度在 700 字节到 2 KB 之间。对于证书链验证场景(如 HTTPS TLS 握手),证书链的总长度可达 6-10 KB。

在资源受限的嵌入式设备(如传感器节点、RFID 标签)上,证书存储占用显著,证书链传输消耗的带宽可能远超有效负载本身。

2. 证书吊销难题

证书吊销列表(CRL)和在线证书状态协议(OCSP)是 PKI 应对 CA 私钥泄露、主体身份变更的标准机制。然而:

  • CRL 体积膨胀:大型 CA 的 CRL 可能包含数十万条吊销记录,MB 级的 CRL 周期性分发给客户端带来巨大带宽消耗。
  • OCSP 隐私泄露:客户端向 OCSP 响应器查询证书状态,暴露了用户正在访问哪些网站的信息。OCSP Stapling 缓解了部分痛点,但增加了部署复杂性。
  • 窗口期风险:从证书被攻破到吊销信息发布之间的时间窗口内,旧证书仍然有效。

3. CA 层级信任维护

PKI 依赖根 CA → 中间 CA → 叶子 CA 的层级信任模型。根 CA 的私钥保护、中间 CA 的路径验证、交叉认证的复杂性,使 PKI 成为系统运维中最昂贵的组件之一。

截至 2025 年,全球浏览器信任的根 CA 项目已收录超过 150 个根 CA,且每年仍在增长。根 CA 私钥泄露事件(如 DigiNotar 2011 年事件)造成的连锁损失难以估量。


基于身份的密码学(IBE):用身份替代证书

核心思想

Boneh 和 Franklin 在 2001 年提出的基于身份的加密方案(IBE)消除了证书。在 IBE 中:

  • 公钥 = 用户身份字符串(如 user@company.com
  • 私钥 = 由 KGC 使用主密钥对身份字符串进行单向函数运算生成
  • 加密:发送方直接以接收方身份加密,无需获取接收方证书
  • 解密:用户从 KGC 请求并获取私钥后解密

数学构造(BF-01 IBE, 简化版)

设 $G_1, G_2$ 为素数阶 $q$ 的双线性对群,$e: G_1 \times G_1 \to G_2$ 为双线性对。KGC 选择主密钥 $s \in \mathbb{Z}_q^*$,计算公钥 $P_{pub} = sP$($P$ 为 $G_1$ 的生成元)。

对于身份 $ID$:

  • $Q_{ID} = H_1(ID) \in G_1$(哈希到曲线上的点)
  • 私钥 $d_{ID} = s \cdot Q_{ID}$
  • 公钥即身份 $ID$ 本身(验证时用 $Q_{ID}$)

密钥托管:致命缺陷

KGC 持有主密钥 $s$,可以为任意身份 $ID$ 计算私钥 $d_{ID} = s \cdot Q_{ID}$。这意味着:

  • KGC 可以解密所有用户的密文
  • KGC 可以伪造所有用户的签名
  • 企业 KGC 的离职员工或受损的 KGC 备份文件可造成不可逆的灾难
在政务、金融等高安全场景中,KGC 的密钥托管风险是不可接受的,IBE 的实际应用因此受限。SM9 标识密码(GM/T 0044-2016)是我国对 IBE 路线的标准化延续,同样需要可信的 KGC 基础设施。


无证书公钥密码学(CL-PKC):打破密钥托管

Al-Riyami-Paterson 范式(2003)

Al-Riyami 和 Paterson 在 Asiacrypt 2003 上发表的奠基性论文《Certificateless Public Key Cryptography》提出了 CL-PKC 的核心范式。与 IBE 的关键区别在于私钥生成方式:

传统 PKI:私钥完全由用户独立生成,CA 仅对公钥进行数字签名绑定身份。

IBE(SM9):私钥完全由 KGC 生成并分发,KGC 知道所有用户的完整私钥。

CL-PKC:私钥由两部分组成:

  • 部分私钥(Partial Private Key, $D_{ID}$):由 KGC 使用主密钥对用户身份 $ID$ 进行生成
  • 秘密值(Secret Value, $x_{ID}$):由用户独立选择,KGC 不知道
完整私钥 $sk_{ID} = (D_{ID}, x_{ID})$,公钥 $pk_{ID} = x_{ID} \cdot P + Q_{ID}$($Q_{ID}$ 与部分私钥关联)。

由于 KGC 不知道 $x_{ID}$,因此 $sk_{ID}$ 不会泄露给 KGC,密钥托管问题得以根本解决。

CL-PKC 的六个算法

算法执行者输入输出
SetupKGC安全参数 $1^k$主密钥 $s$,公开参数 $params$
Partial-Private-Key-ExtractKGC$params, s, ID$部分私钥 $D_{ID}$
Set-Secret-Value用户$params, ID$秘密值 $x_{ID}$
Set-Private-Key用户$params, D_{ID}, x_{ID}$完整私钥 $sk_{ID} = (D_{ID}, x_{ID})$
Set-Public-Key用户$params, x_{ID}$公钥 $pk_{ID}$
Set-Public-Key-Recovery任意方$params, ID$公钥 $pk_{ID}$(从身份直接推导)
注意 Set-Public-Key-Recovery:CL-PKC 的核心优势在于任何一方都可以从用户身份 $ID$ 与公开参数 $params$ 计算出公钥 $pk_{ID}$,无需证书分发。这是与纯自认证密钥(Self-Certified Keys)的区别——后者仍然需要证书分发公钥。

两类敌手模型

CL-PKC 的安全性分析需要明确敌手的能力边界:

Type 1 敌手(外部攻击者 / Public Key Replacement)

  • 不知道 KGC 的主密钥 $s$
  • 可以在用户声明公钥后将其替换为任意值
  • 代表网络上的主动攻击者或应用程序漏洞
  • 安全目标:即使允许替换公钥,敌手也无法伪造有效签名或解密密文
Type 2 敌手(恶意 KGC / Key Escrow)
  • 知道 KGC 的主密钥 $s$
  • 不知道用户的秘密值 $x_{ID}$
  • 不能替换已声明的公钥
  • 代表完全妥协的密钥生成中心
  • 安全目标:单凭主密钥不足以伪造签名或解密(即密钥托管被打破)
一项安全的 CL-PKC 方案必须同时抵御两类敌手:对 Type 1 的 EUF-CMA 安全(Existential UnForgeability under Chosen-Message Attack)和对 Type 2 的 IND-CCA2 安全(Indistinguishability under Adaptive Chosen-Ciphertext Attack)。


隐式证书(Implicit Certificates):证书的极致压缩

概念区分

概念证书形态验证方式
显式证书(Explicit Certificate)独立数据结构:身份 + 公钥 + CA 签名验证 CA 签名的正确性
隐式证书(Implicit Certificate)嵌入在公钥重构数据中公钥重构过程的正确性即包含认证
传统 X.509 证书是显式证书:证书是一张\"卡片\",将身份和公钥绑定,CA 签名的有效性独立于公钥本身。

隐式证书的核心思想是:证书不再是一个独立的签名结构,而是\"编码\"在公钥的生成过程中。用户证书中的数据(隐式证书)与证书持有者的重构公钥之间存在密码学约束——如果不知道私钥,就无法重构出满足约束的公钥。因此,公钥的重构正确性本身证明了持有者拥有对应的私钥。

ECQV 隐式证书方案

实践中应用最广泛的隐式证书方案是基于椭圆曲线的 ECQV(Elliptic Curve Qu-Vanstone),由 SEC(Standards for Efficient Cryptography Group)规范于 SEC 4 中,也被 IEEE 1363.3、ISO/IEC 18033-2 等引用。

Setup

  • 椭圆曲线参数 $(p, a, b, G, n)$
  • CA 私钥 $c \in [1, n-1]$,公钥 $Q_{CA} = c \cdot G$
证书申请(用户 Alice 身份为 $ID_A$):
  • Alice 随机选择 $k \in [1, n-1]$,计算 $R_A = k \cdot G$
  • 将 $R_A$ 和 $ID_A$ 发送给 CA
签发证书(CA):
  • CA 计算重构点 $\bar{R}_A = R_A + k' \cdot Q_{CA}$($k'$ 为 CA 随机值)
  • 计算 $e_A = H(\bar{R}_A \| ID_A)$
  • 证书 $\bar{R}_A$ 即为 Alice 的隐式证书
  • CA 计算 $s_A = e_A \cdot k + c \mod n$, 发送 $s_A$ 和 $\bar{R}_A$ 给 Alice
Alice 完成密钥生成
  • Alice 计算自己的私钥 $d_A = e_A \cdot k + s_A \mod n$
  • Alice 的公钥 $Q_A = e_A \cdot R_A + \bar{R}_A + e_A \cdot Q_{CA}$ —— 这是通过证书和身份重构的
验证(任何第三方):
  • 重构 $Q_A' = e_A \cdot \bar{R}_A + Q_{CA}$(具体公式依赖于 ECQV 变体)
  • 比较 $Q_A'$ 是否等于声明的 $Q_A$

ECQV 的优势

  • 证书极小:ECQV 证书仅 ~65 字节(一个压缩椭圆曲线点),相比 X.509 的 KB 级证书,证书带宽降低两个数量级。
  • 零签名验证:无需 CA 数字签名,公钥重构验证嵌入在 ECC 标量乘法中。
  • 密钥绑定与身份绑定同步完成:公钥重构过程同时证明(a)持有者拥有对应私钥(b)CA 对身份-公钥绑定进行了授权。

安全分析

ECQV 的安全性基于以下假设:

  • ECDLP 困难性:从 $Q = d \cdot G$ 推导私钥 $d$ 计算不可行
  • 随机预言机假设:哈希函数 $H$ 被视为随机预言机
  • CA 私钥安全性:CA 私钥 $c$ 不可被攻破
ECQV 与 CL-PKC 是互补的:它将证书的概念\"内嵌\"到公钥重构中,实现证书的极致压缩,同时避免了 IBE 的密钥托管问题。


GM/T 0130-2023:国密无证书与隐式证书机制

标准定位

2023 年 12 月发布、2024 年 6 月 1 日实施的 GM/T 0130-2023《基于SM2算法的无证书及隐式证书公钥机制》,首次将无证书和隐式密码技术纳入国密标准体系。

属性说明
标准编号GM/T 0130-2023
中文名称基于SM2算法的无证书及隐式证书公钥机制
发布机构国家密码管理局
发布日期2023-12-04
实施日期2024-06-01
相近标准GM/T 0003-2012(SM2)、GM/T 0009-2012(SM2使用规范)、GM/T 0044-2016(SM9)

核心流程

GM/T 0130-2023 定义了基于 SM2 椭圆曲线的无证书公钥机制,包含以下核心算法:

1. 系统建立(Setup)

KGC 执行:

  • 选择 SM2 椭圆曲线参数(与 GM/T 0003.5-2012 一致)
  • 随机选择主密钥 $d_{KGC} \in [1, n-1]$
  • 计算主公钥 $P_{pub} = d_{KGC} \cdot G$
  • 公开参数 $params = (E, G, n, P_{pub}, H_1, H_2, \ldots)$
2. 部分私钥提取(Partial Private Key Extract)

KGC 为用户 $ID$ 生成部分私钥:

  • 计算 $H_1(ID \| params) \to$ 椭圆曲线上的点 $Q_{ID}$
  • 部分私钥 $D_{ID} = d_{KGC} \cdot Q_{ID}$(或类似构造,具体取决于标准变体)
  • 通过安全通道将 $D_{ID}$ 分发给用户
3. 用户密钥生成

用户 $ID$ 执行:

  • 随机选择秘密值 $x_{ID} \in [1, n-1]$
  • 计算公钥 $P_{ID} = x_{ID} \cdot G + Q_{ID}$(或类似构造)
  • 完整私钥 $sk_{ID} = (D_{ID}, x_{ID})$
4. 公钥恢复

任意方可以从 $ID$ 和 $params$ 恢复公钥 $P_{ID}$,无需证书分发。

数字签名机制

GM/T 0130-2023 定义了基于 SM2 的无证书数字签名方案:

签名(用户 $ID$ 对消息 $m$):

  • 选择随机数 $k \in [1, n-1]$
  • 计算 $R = k \cdot G = (x_R, y_R)$
  • 计算 $e = H(m)$
  • 计算 $s = (k - e \cdot x_{ID}) \cdot (1 + d_{ID})^{-1} \mod n$(简化示意)
  • 签名 $\sigma = (R, s)$
验证(任意方):
  • 从 $ID$ 恢复公钥 $P_{ID}$
  • 计算 $e = H(m)$
  • 验证 $s \cdot (P_{ID} + D_{ID}) + e \cdot P_{ID} = R$(简化示意)

公钥加密机制

GM/T 0130-2023 还定义了无证书公钥加密方案,发送方使用接收方身份 $ID$ 和公开参数 $params$ 恢复公钥后直接加密,无需证书查询。

密钥交换协议

标准还定义了无证书密钥交换协议,允许双方基于各自的身份和 KGC 公开参数协商共享密钥,无需证书交换。


安全性分析

安全目标

GM/T 0130-2023 的安全性建立在以下目标之上:

  • 不可伪造性(EUF-CMA):在两类敌手模型下,伪造有效签名在计算上不可行
  • 不可区分性(IND-CCA2):在两类敌手模型下,区分密文对应明文在计算上不可行
  • 前向安全性:长期私钥泄露不会导致历史会话密钥泄露

密钥托管问题的解决

在 GM/T 0130-2023 中,KGC 仅持有主密钥 $d_{KGC}$,可以为用户 $ID$ 生成部分私钥 $D_{ID}$,但不知道用户的秘密值 $x_{ID}$。完整私钥 $sk_{ID} = (D_{ID}, x_{ID})$ 的生成需要用户独立选择 $x_{ID}$,KGC 无法恢复。

这意味着:

  • KGC 无法伪造用户的签名(需要 $x_{ID}$)
  • KGC 无法解密发给用户的密文(需要 $x_{ID}$)
  • 即使 KGC 主密钥泄露,历史密文和签名仍然安全

与 SM9 的关系

SM9(GM/T 0044-2016)是国密对 IBE 路线的标准化,KGC 持有完整私钥,存在密钥托管问题。GM/T 0130-2023 是国密对 CL-PKC 路线的标准化,解决了密钥托管问题。

两者在国密体系中形成互补:

  • SM9:适用于 KGC 完全可信的场景(如企业内部、政务内网),效率更高
  • GM/T 0130-2023:适用于 KGC 不完全可信的场景(如跨组织通信、物联网),安全性更强

四种公钥管理机制对比

维度X.509 传统 PKIIBE(SM9)无证书(CL-PKC)隐式证书(ECQV)
证书开销~1-2 KB00~65-100 字节
密钥托管有(KGC 持有完整私钥)无(KGC 仅持有部分私钥)
公钥分发证书分发身份即公钥身份 + 公开参数推导证书分发(极小)
吊销机制CRL / OCSPKGC 主密钥轮换KGC 主密钥轮换CA 吊销列表
带宽开销极低极低
计算开销高(签名验证)中(双线性对)中(双线性对)低(标量乘法)
适用场景传统互联网企业内网IoT, 5G, 车联网传感器, RFID
国密标准GM/T 0015-2023GM/T 0044-2016GM/T 0130-2023GM/T 0130-2023

选型建议

  • 传统 Web 应用:继续使用 X.509 + 国密双证书(GM/T 0015-2023),生态成熟
  • 企业内网:SM9(GM/T 0044-2016),KGC 完全可控,效率最高
  • 跨组织通信 / 物联网:GM/T 0130-2023 无证书机制,避免密钥托管
  • 传感器 / RFID:GM/T 0130-2023 隐式证书,证书带宽最小

应用场景与展望

1. 物联网设备认证

物联网设备通常资源受限(KB 级内存、低功耗 CPU),无法承受 X.509 证书链的存储和验证开销。GM/T 0130-2023 的无证书机制允许设备使用身份(如设备序列号)作为公钥,无需证书分发,大幅降低认证开销。

2. 5G 通信中的密钥分发

5G 网络切片、边缘计算场景需要大量设备间的快速密钥协商。无证书密钥交换协议(GM/T 0130-2023 定义)允许设备基于身份直接协商会话密钥,无需证书查询和 CA 交互,降低握手延迟。

3. 车联网 V2X 凭证管理

车联网 V2X(Vehicle-to-Everything)通信要求毫秒级认证延迟,传统 PKI 的证书链验证无法满足。隐式证书(ECQV)的 ~100 字节证书和快速重构验证,使其成为 IEEE 1609.2 V2X 安全凭证的首选方案。

4. 后量子迁移

无证书和隐式证书机制可以与后量子密码学(如 ML-KEM、ML-DSA)结合,构建后量子安全的轻量级公钥管理体系。GM/T 0130-2023 的框架设计为未来算法迁移预留了空间。


总结

无证书公钥密码学和隐式证书代表了公钥管理范式的重大演进:

  • 从证书到无证书:CL-PKC 通过\"部分私钥 + 秘密值\"的拆分,在消除证书的同时解决了 IBE 的密钥托管问题
  • 从显式到隐式:ECQV 等隐式证书方案将证书嵌入公钥重构过程,实现证书的极致压缩
  • 从理论到标准:GM/T 0130-2023 的发布标志着无证书和隐式密码技术正式进入国密标准体系
  • 从通用到场景:四种公钥管理机制(X.509、IBE、CL-PKC、隐式证书)各有适用场景,选型取决于信任模型、带宽约束和安全需求
随着 5G、物联网、车联网的规模化部署,轻量级公钥管理将成为密码应用的关键基础设施。GM/T 0130-2023 为这些场景提供了标准化的技术路径,值得密码应用建设单位和密评机构重点关注。

参考来源

  • Al-Riyami, S. S., & Paterson, K. G. (2003). Certificateless Public Key Cryptography. *Advances in Cryptology — ASIACRYPT 2003*, LNCS 2894, pp. 452–473.
  • Boneh, D., & Franklin, M. (2001). Identity-Based Encryption from the Weil Pairing. *Advances in Cryptology — CRYPTO 2001*, LNCS 2139, pp. 213–229.
  • GM/T 0130-2023《基于SM2算法的无证书及隐式证书公钥机制》
  • GM/T 0044-2016《SM9 标识密码算法》
  • GM/T 0003-2012《SM2 椭圆曲线公钥密码算法》
  • GM/T 0015-2023《数字证书格式》
  • SEC 4: Elliptic Curve Qu-Vanstone Implicit Certificate Scheme (Standards for Efficient Cryptography Group)
  • IEEE 1363.3-2013: Identity-Based Cryptographic Techniques Using Pairings
  • ISO/IEC 18033-2: Information technology — Security techniques — Encryption algorithms — Part 2: Asymmetric ciphers

相关实践