基于标识的加密(IBE):从 Boneh-Franklin 方案到 SM9 标识密码体系
概述
在公钥密码学的发展历程中,加密范式经历了两次根本性变革:
- 对称密码:通信双方共享同一把密钥,密钥分发成为核心难题
- 公钥基础设施(PKI):每人持有公钥-私钥对,公钥通过数字证书由可信第三方(CA)签发绑定到身份,Diffie-Hellman(1976)和 RSA(1978)开创了这一范式
1984 年,Adi Shamir(RSA 中的"S")提出了第三种范式——基于标识的加密(Identity-Based Encryption, IBE):
用户的公钥可以是任何有意义的字符串——邮箱用户的私钥由一个可信的中心化机构(称为私钥生成器,Private Key Generator, PKG)根据公钥字符串和自身掌握的主密钥计算生成。Alice 若要给 Bob 加密邮件,只需在信封上写下 Bob 的邮箱,无需事先获取 Bob 的证书——PKG 可事后为 Bob 生成对应私钥。alice@company.com,手机号+86-13800138000,甚至一段文字描述。
这个构想虽然优雅,但在 Shamir 提出后的 17 年间一直停留在存在性层面:Shamir 本人构造了第一个 IBE 方案(基于 RSA 和二次剩余),但其安全性远未达现代标准,且密文膨胀严重。直到 2001 年,Dan Boneh 和 Matthew Franklin 提出了第一个基于双线性对(Bilinear Pairing)的实用 IBE 方案,在随机预言机模型(Random Oracle Model, ROM)下证明了自适应选择密文攻击安全性(IND-CCA2),IBE 才从构想走向工程现实。
历史:从 Shamir 到 Boneh-Franklin
Shamir 的原始构想(1984)
1984 年,Shamir 在论文《Identity-Based Cryptosystems and Signature Schemes》中首次提出 IBE 概念,同时给出了:
- 基于 RSA 的识别协议(成为后来的 Fiat-Shamir 识别协议基础)
- 基于二次剩余的标识签名方案(仍是今日 SM2 签名算法的理论前身之一)
这一困难使得 IBE 成为密码学中最著名的开放问题之一,被称为"Shamir's Challenge"。
Boneh-Franklin 突破(2001)
2001 年,Boneh 和 Franklin 在 CRYPTO 会议上发表了里程碑论文 *"Identity-Based Encryption from the Weil Pairing"*,解决了 Shamir 的挑战。其关键创新在于:
- 使用 Weil 配对(Weil Pairing)构造双线性映射,使得加密/解密可以在不暴露主密钥的情况下运作
- 引入随机预言机模型(ROM)证明安全性——哈希函数被建模为理想的随机函数
- 通过用户私钥与密文嵌入身份哈希,使得 PKG 虽持有主密钥却只能为特定身份生成私钥,无法"打开"已加密的密文(称为密钥托管问题的缓解)
Waters HIBE(2005)
Boneh-Franklin 原始方案仅支持单层身份标识。2005 年,Brent Waters 提出了第一个层次化标识加密(Hierarchical IBE, HIBE)方案:
$$ID = (ID_1, ID_2, \ldots, ID_k)$$
其私钥可由上级标识持有者(如 company.com)为下级(如 alice.company.com)生成,无需每次都咨询根 PKG。这在组织结构中极为实用:公司总部持有根密钥,各部门持有下级密钥,员工私钥由部门主管分发。
数学基础
双线性对(Bilinear Pairing)
IBE 的核心数学工具是双线性对。设 $G_1, G_2, G_T$ 是阶为素数 $q$ 的循环群,双线性对是一个映射 $e: G_1 \times G_2 \rightarrow G_T$,满足以下性质:
1. 双线性(Bilinearity): $$e(aP, bQ) = e(P, Q)^{ab} = e(bP, aQ)$$
对所有 $P \in G_1, Q \in G_2, a,b \in \mathbb{Z}_q^*$ 成立。这是 IBE 的核心性质——指数可以从输入"提取"到指数中。
2. 非退化性(Non-degeneracy): 存在 $P, Q$ 使得 $e(P,Q) \neq 1$($1$ 是 $G_T$ 的单位元)。
3. 可计算性(Efficiency): 存在有效算法在多项式时间内计算 $e(P, Q)$。
最常用的构造是Weil 配对和Tate 配对(基于超奇异椭圆曲线上的点群),以及Ate 配对和最优 Ate 配对(用于 BN 曲线、BLS 曲线等配对友好曲线)。
对于 SM9 标识密码,GM/T 0044.1-2016 定义在256 位素数域 $\mathbb{F}_p$ 上的BN 曲线(Barreto-Naehrig 曲线)上实现最优 Ate 配对,嵌入度为 12。
BDH 假设(Bilinear Diffie-Hellman)
BDH 假设是 Boneh-Franklin 方案的安全性基础:
给定:随机选取 $a,b,c \leftarrow \mathbb{Z}_q^*$,公开参数为 $P, aP, bP, cP$
目标:计算 $e(P, P)^{abc}$
BDH 假设断言:不存在概率多项式时间的敌手能以不可忽略的概率完成上述计算。该假设是密码学中最强的计算假设之一,强于标准 DDH 假设(决策 Diffie-Hellman),因为敌手需要得到具体的群元素而非判断它。
注意:BDH 假设是一个非标准假设(non-standard assumption)。虽然与配对相关的变体已被广泛研究,但在实际部署中,SM9 标准通过额外的安全分析来弥补。
Boneh-Franklin IBE 方案
算法描述
Boneh-Franklin 方案由四个算法组成:
Setup($\lambda$):
- 生成双线性群参数 $(q, G_1, G_2, G_T, e, P)$,选取随机主密钥 $s \leftarrow \mathbb{Z}_q^*$
- 计算主公钥 $P_{pub} = sP$
- 选取哈希函数 $H_1: \{0,1\}^* \rightarrow G_1^+$(将任意字符串映射到 $G_1$ 上的点)和 $H_2: G_T \rightarrow \{0,1\}^n$(将群元素映射为比特串)
- 主密钥:$s$
- 公开参数:$(q, G_1, G_2, G_T, e, P, P_{pub}, H_1, H_2)$
- 计算用户公钥(椭圆曲线上的点)$Q_{ID} = H_1(ID)$
- 生成用户私钥 $d_{ID} = s \cdot Q_{ID}$
- 通过安全信道将 $d_{ID}$ 分发给对应用户
- 计算 $Q_{ID} = H_1(ID)$
- 选取随机 $r \leftarrow \mathbb{Z}_q^*$
- 计算密文 $C = \langle rP, M \oplus H_2(e(Q_{ID}, P_{pub})^r) \rangle$
Decrypt($\langle U, V \rangle, d_{ID}$):
- 计算 $V \oplus H_2(e(d_{ID}, U))$
- 输出 $M$
正确性证明
解密正确性的核心在于双线性对的性质:
$$e(d_{ID}, U) = e(s \cdot Q_{ID}, rP) = e(Q_{ID}, P)^{sr} = e(Q_{ID}, sP)^r = e(Q_{ID}, P_{pub})^r$$
因此解密方恢复出与加密方相同的 $H_2$ 输入,通过与第二分量的异或操作恢复明文:
$$V \oplus H_2(e(d_{ID}, U)) = (M \oplus H_2(e(Q_{ID}, P_{pub})^r)) \oplus H_2(e(Q_{ID}, P_{pub})^r) = M$$
加解密流程示意图
加密方 (Alice) 解密方 (Bob)
│ │
│ (ID_Bob, M) │ d_Bob = s·Q_Bob
│ │
├─ 1. Q_Bob = H1(ID_Bob) │
├─ 2. 选取随机 r │
├─ 3. g = e(Q_Bob, P_pub)^r │
├─ 4. C = ⟨rP, M⊕H2(g)⟩ │
│──────── C ────────→ │
│ ├─ 5. 计算 e(d_Bob, rP)
│ │ = e(s·Q_Bob, rP)
│ │ = e(Q_Bob, P_pub)^r = g
│ ├─ 6. M = V ⊕ H2(g)
│ │安全性分析
Boneh-Franklin 方案在随机预言机模型(ROM)下可证明安全,其安全性归约到 BDH 假设。
证明思路:假设存在敌手 $\mathcal{A}$ 能以不可忽略的优势 $\epsilon$ 攻破方案(IND-CCA2)。则模拟器 $\mathcal{B}$ 可利用 $\mathcal{A}$ 作为子程序解决 BDH 问题实例 $(P, aP, bP, cP)$。
关键技术在于 $H_1$ 随机预言机的构造(即"哈希查询"响应):模拟器通过谨慎设置部分 $H_1$ 查询响应,使其与 BDH 挑战元一致,当 $\mathcal{A}$ 在某些特定身份上发起密文不可区分性询问时,$\mathcal{B}$ 可提取 BDH 解。
方案达到的IND-CCA2安全等级意味着:即使在敌手能选择密文并询问其解密(仅限制不能询问目标密文本身)的情况下,仍无法区分两个等长明文的加密结果。
密钥托管问题(Key Escrow)
IBE 最深层的安全挑战是密钥托管:PKG 持有主密钥 $s$,可以为任何身份 $ID$ 生成私钥 $d_{ID} = s \cdot H_1(ID)$。这意味着 PKG 可以解密任何用户的任何密文。
这不是安全漏洞,而是 IBE 设计的固有特性。缓解方式包括:
- 多 PKG 分布式生成:将主密钥 $s$ 在 $n$ 个 PKG 之间共享(如 Shamir 门限方案),需要 $t$ 个 PPKG 联合才能生成用户私钥
- 时间层面密钥分离:将身份设为 $ID \| t$(如
alice@co.com | 2026-Q3),PKG 只能在特定时间段为特定身份生成私钥 - 混合加密:用 IBE 加密一个会话密钥,再用传统公钥加密(如 SM2)加密消息本身,使得 PKG 只能解密外层,无法获知消息内容
- PKG 职能拆分:将身份认证与密钥生成分离,PKG 只生成私钥分片,完整私钥由用户在本地组合
Waters HIBE:层次化标识加密
Waters HIBE (2005) 通过将身份表示为层次结构 $(ID_1, \ldots, ID_k)$ 并支持上级代理分发下级密钥,解决了大规模组织中的 PKG 瓶颈问题。
在 Waters 方案中:
- 根 PGC 持有主密钥,仅用于为一级实体(如公司、政府部委)生成私钥
- 一级实体持有 $d_{(ID_1)}$,可为二级实体(如部门、地方分支机构)生成私钥 $d_{(ID_1, ID_2)}$
- 类推至第 $k$ 层
- 根 PGC 成为性能瓶颈的最坏情况被消除
- 各层私钥生成可离线进行(夜间批处理、断网环境部署)
- 各层实体可独立管理自己的用户群,符合组织权限分配
基于格的 IBE:后量子 IBE
随着量子计算威胁的迫近(参见 NIST PQC 迁移进展),基于配对的传统 IBE 面临被 Shor 算法破解的风险(双线性对在量子算法下同样无效)。
2010 年,Gentry、Peikert 和 Vaikuntanathan (GPV) 提出了第一个基于格密码(Learning With Errors, LWE 问题)的 IBE 方案。GPV-IBE 的安全性基于最坏情况下最短独立向量问题(SIVP)的困难性,与 SIS(短整数解)问题等价。
GPV-IBE 的核心思想
- 主公钥:一个随机矩阵 $\mathbf{A} \in \mathbb{Z}_q^{n \times m}$(公开参数)
- 主私钥:矩阵 $\mathbf{A}$ 对应的格 $\Lambda^\perp(\mathbf{A})$ 的陷门基 $\mathbf{T}_\mathbf{A}$(Trapdoor Basis)
- 用户公钥:对身份 $ID$ 应用陷门函数 $H(ID) = \mathbf{A}_{ID}$(将身份 hash 为矩阵)
- 用户私钥:使用 $\mathbf{T}_\mathbf{A}$ 在 $\Lambda^\perp(\mathbf{A}_{ID})$ 上采样短向量
- 加密/解密:基于 Regev 加密的变种,通过格上的舍入和噪声实现
效率对比
| 方案 | 公钥长度 | 密文长度 | 加密计算 | 安全性基础 |
|---|---|---|---|---|
| BF-IBE (2001) | ~256 bit | ~512 bit | $O(n)$ 配对 | BDH(ROM) |
| GPV-IBE (2008) | $O(n^2 \log q)$ | $O(n \log^2 q)$ | 矩阵向量乘 | LWE/SIS(标准模型) |
国密 SM9 标准化实践
SM9 的发展历程
SM9 是中国国家密码管理局制定的标识密码算法标准体系,对应国际上的 IBE 范式。其标准化历程:
- 2016 年:GM/T 0044.1~0044.4-2016 发布,首次定义 SM9 算法
- 2026 年:GB/T 47471-2026《SM9 标识密码算法 消息格式规范》发布,定义加密和签名的消息编码语法
| 子标准 | 内容 |
|---|---|
| GM/T 0044.1 | 算法描述(双线性对定义、参数、密钥生成、加解密、签名) |
| GM/T 0044.2 | 标识加密算法(基于 BF-IBE 思路的国密变体) |
| GM/T 0044.3 | 标识签名算法(IBS——即 SM9 数字签名) |
| GM/T 0044.4 | 密钥封装机制(KEM——SM9-KEM,用于协商对称密钥) |
SM9 与 BF-IBE 的技术对比
| 特性 | Boneh-Franklin (2001) | SM9-IBC |
|---|---|---|
| 双线性对 | Weil 配对(超奇异曲线) | 最优 Ate 配对(BN 曲线,256 bit) |
| 主密钥 | 标量 $s \in \mathbb{Z}_q^*$ | 椭圆曲线上的点(G1 上) |
| 哈希函数 | $H_1$ 随机预言机 | 基于 SM3 的专用哈希(SM3 比特压缩) |
| 安全模型 | ROM (Random Oracle Model) | ROM + 标准模型部分分析 |
| 数字签名 | 不原生支持(需 Fujisaki-Okamoto 变换) | 原生 IBS(GM/T 0044.3) |
| 标准化 | 学术研究算法 | 国标 GM/T 0044.1-4,GB/T 47471 |
| 国密合规 | 无 | OSCCA 认证 |
深入阅读:关于 SM9 的详细算法公式、双线性对实现和安全性分析,请参见 SM9 标识密码算法原理详解:从双线性对到身份基密码体系。
SM9 的产业应用
截至 2026 年,SM9 在以下领域获得规模化应用:
- 邮件加密:国家电子政务系统中使用 SM9 加密邮件,发件人使用收件人邮箱作为公钥,无需 CA 证书
- 物联网设备认证:工业传感器出厂时嵌入标识私钥(基于设备序列号),实现设备与平台的安全双向认证
- 区块链身份:部分国产联盟链使用 SM9 作为去中心化身份(DID)的信任锚,公钥即为用户 DID 标识
- 金融数据保护:用于银行间客户数据共享场景,实现"一个标识一把密钥"的细粒度访问控制
安全模型
形式化定义
IBE 的安全性通过游戏序列来形式化定义。最常用的是 IND-ID-CPA(选择明文攻击下的身份不可区分性):
安全游戏:
- 挑战者运行 Setup,将公开参数发送给敌手,保留主密钥
- 查询阶段 1:敌手可适应性询问任意身份 $ID_i$ 对应的私钥 $d_{ID_i}$
- 挑战:敌手提交目标身份 $ID^*$ 和两个等长明文 $M_0, M_1$,挑战者随机选择 $b \leftarrow \{0,1\}$,返回 $C^* = \text{Encrypt}(ID^*, M_b)$
- 查询阶段 2:敌手可继续询问除 $ID^*$ 外的任何身份私钥
- 猜测:敌手输出 $b'$,当 $b' = b$ 时获胜
如果对于所有概率多项式时间的敌手,其优势都是可忽略的,则方案是 IND-ID-CPA 安全的。
升级到 IND-ID-CCA2 只需在查询阶段允许敌手还提交密文进行解密询问(但不能解密挑战密文 $C^*$ 本身)。
Selective-ID vs Adaptive-ID
IBE 安全性分析中一个重要安全强度分层:
| 模式 | 定义 | 安全性 |
|---|---|---|
| Selective-ID (sID) | 敌手必须在看到公开参数前就宣布目标身份 $ID^*$ | 最强(最易证明) |
| Adaptive-ID (aID) | 敌手可在看到公开参数、甚至部分私钥后选择 $ID^*$ | 最弱(最符合实际) |
Waters HIBE(2005)原生仅在 Selective-ID 模型下可证安全,但后来的 Gentry-Silverberg 方法可将其提升至 Adaptive-ID 标准模型下(使用 Waters 的双系统加密技术)。
密钥托管的安全影响
从安全模型视角,密钥托管意味着:
- PKG 总是能解密任何密文(天生优势)
- 因此 IND-ID-CPA/CCA2 安全游戏允许敌手持有主密钥(在某些变体中)
- 若 PKG 被攻陷(主密钥泄露),则所有历史通信可被解密(无向前安全性)
IBE 与 PKI 体系的对比
| 维度 | PKI(证书体系) | IBE(标识密码) |
|---|---|---|
| 公钥形式 | 随机大整数/椭圆曲线点 | 任意字符串(邮箱、手机号、设备 ID) |
| 公钥分发 | CA 签发证书 | 公开信息,无需分发 |
| 私钥生成 | 用户本地生成 | PKG 生成(需安全信道分发) |
| 信任模型 | 分布式:多级 CA、信任链 | 中心化:单一 PKG(或其分布式扩展) |
| 证书管理 | 需要(签发、验证、存储、吊销) | 不需要 |
| 前向安全性 | 支持(Diffie-Hellman 变体) | 受限(主密钥泄露可解密所有历史消息) |
| 离线加密 | 需要对方证书(需在线查询 CRL/OCSP) | 只需对方标识(完全离线) |
| 密钥吊销 | CRL/OCSP 机制 | 时间分段、身份附加有效期 |
- 通信双方事先缺乏信任关系(如医疗转诊、临时商务合作)
- 设备或用户规模极大,证书管理成本不可接受
- 消息系统天然包含可验证的身份标识
应用场景
1. 加密邮件
Alice 要给 Bob 发加密邮件——只需在信封上写 bob@company.com。Bob 首次阅读时向 PKG 验证身份并获取私钥。不需要证书、不需要预共享密钥、不需要在线握手。
2. 文件自动归档加密
企业文档管理系统可按部门层级加密:一份标记为 legal/contract/2026Q3 的文档,只有持有对应层级私钥的法务部 2026 年第三季度人员才能解密。
3. 物联网设备身份
工业传感器出厂时即与唯一设备标识(如 MAC 地址或序列号)绑定私钥。上传到云端时自动与标识匹配,平台端可立即验证数据来源的真实性,无需设备内置证书存储空间。
4. 区块链与分布式身份(DID)
区块链使用地址作为天然标识——地址即为公钥 hash,实现"一个地址一把密钥"。SM9 可用于 DID 文档的加密访问控制:DID 文档公开存于链上,可解密密钥由标识持有者的私钥推导。
5. 金融数据隔离
银行间数据共享平台使用不同机构的法定机构编码作为公钥标识,确保只有目标机构能解密特定数据集。机构代码本身即完成访问控制。
总结
基于标识的加密(IBE)代表了继 PKI 之后的第三次公钥加密范式创新,其核心优势在于以身份本身作为公钥,从根本上消除证书管理负担——这是十亿级用户互联网和物联网设备规模化的关键工程难题。
技术上,Boneh-Franklin 通过双线性对的构造实现了第一个实用 IBE 方案,其安全性建立在 BDH 假设之上;Waters 的 HIBE 扩展使其适用于层级组织结构;基于格的 GPV-IBE 则为后量子时代的标识密码迁移铺平道路。 在国密领域,SM9 标识密码算法(GM/T 0044.1-4)将 IBE 标准化为国家级密码基础设施,覆盖加密、签名和密钥封装三大功能,已广泛应用于电子政务、物联网和金融行业。
IBE 面临的核心挑战是密钥托管(PKG 持有所有用户的私钥生成能力)和前向安全性(主密钥泄露可解密历史通信)。工程实践中,通过分布式 PKG、时间分段和混合加密等手段,可以在大多数应用场景中将这些风险控制在可接受范围内。随着 GB/T 47471-2026 消息格式标准的发布(2026 年),SM9/IBC 在消息互操作性上迈出关键一步,有望在隐私计算和数据要素流通领域发挥更大价值。
参考来源
- SM9 标识密码算法原理详解:从双线性对到身份基密码体系 — 站内知识库文章,深入分析 SM9 算法实现细节
- SM9 标识密码在工业边缘计算的身份认证协议 — SM9 在物联网中的协议级应用
- GB/T 47471-2026 SM9 消息格式规范深度解读 — 国标最新发布解读
- 公钥基础设施(PKI)基础概念:信任模型、证书体系与安全服务 — PKI 体系对比参考
- 后量子密码学:从量子威胁到 NIST 标准化的新密码体系 — 后量子 IBE 迁移背景
- Shamir, A. (1984). *Identity-Based Cryptosystems and Signature Schemes*. CRYPTO 1984. https://dx.doi.org/10.1007/978-3-642-70010-4_40
- Boneh, D., & Franklin, M. (2001). *Identity-Based Encryption from the Weil Pairing*. CRYPTO 2001. https://dx.doi.org/10.1007/3-540-44647-8_23
- Waters, B. (2005). *Efficient Identity-Based Encryption Without Random Oracles*. EUROCRYPT 2005.
- Chen, L., & Cheng, Z. (2005). *Security proof of Sakai-Kasahara's identity-based encryption scheme*. IMA 2005.
- Gentry, C., Peikert, C., & Vaikuntanathan, V. (2008). *Trapdoors for hard lattices and new cryptographic constructions*. STOC 2008.
- GM/T 0044.1-2016, *SM9 标识密码算法 第1部分:算法描述*. 国家密码管理局.
- GM/T 0044.3-2016, *SM9 标识密码算法 第3部分:标识签名算法*. 国家密码管理局.
- GB/T 47471-2026, *信息安全技术 SM9 标识密码算法 消息格式规范*. 2026.