基于标识的加密(IBE):从 Boneh-Franklin 方案到 SM9 标识密码体系

密码学概念 · 2026-07-18

概述

在公钥密码学的发展历程中,加密范式经历了两次根本性变革:

  • 对称密码:通信双方共享同一把密钥,密钥分发成为核心难题
  • 公钥基础设施(PKI):每人持有公钥-私钥对,公钥通过数字证书由可信第三方(CA)签发绑定到身份,Diffie-Hellman(1976)和 RSA(1978)开创了这一范式
PKI 范式引入了一个沉重的工程负担:证书管理。每个用户的公钥必须由 CA 签发证书,证书需要存储、分发、验证和吊销。在一个拥有十亿级用户的互联网中,证书管理占据了 HTTPS 部署的大部分运营成本。

1984 年,Adi Shamir(RSA 中的"S")提出了第三种范式——基于标识的加密(Identity-Based Encryption, IBE)

用户的公钥可以是任何有意义的字符串——邮箱 alice@company.com,手机号 +86-13800138000,甚至一段文字描述。
用户的私钥由一个可信的中心化机构(称为私钥生成器,Private Key Generator, PKG)根据公钥字符串和自身掌握的主密钥计算生成。Alice 若要给 Bob 加密邮件,只需在信封上写下 Bob 的邮箱,无需事先获取 Bob 的证书——PKG 可事后为 Bob 生成对应私钥。

这个构想虽然优雅,但在 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 签名算法的理论前身之一)
但 Shamir 未能构造出安全的 IBE 方案。他证明了签名可以很容易地实现标识化(Identity-Based Signature, IBS),但加密需要的单向陷门函数结构与标识化不兼容——如果你知道 PKG 的主密钥,理论上可以伪造任何用户的私钥,这与 PKG 不应当能解密用户消息的期望相矛盾。

这一困难使得 IBE 成为密码学中最著名的开放问题之一,被称为"Shamir's Challenge"。

Boneh-Franklin 突破(2001)

2001 年,Boneh 和 Franklin 在 CRYPTO 会议上发表了里程碑论文 *"Identity-Based Encryption from the Weil Pairing"*,解决了 Shamir 的挑战。其关键创新在于:

  • 使用 Weil 配对(Weil Pairing)构造双线性映射,使得加密/解密可以在不暴露主密钥的情况下运作
  • 引入随机预言机模型(ROM)证明安全性——哈希函数被建模为理想的随机函数
  • 通过用户私钥与密文嵌入身份哈希,使得 PKG 虽持有主密钥却只能为特定身份生成私钥,无法"打开"已加密的密文(称为密钥托管问题的缓解)
Boneh-Franklin IBE 的安全性依赖于双线性 Diffie-Hellman 假设(BDH 假设):给定 $P, aP, bP, cP$(其中 $a,b,c$ 随机),计算 $e(P,P)^{abc}$ 是计算不可行的。

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)$
Extract($ID, s$)
  • 计算用户公钥(椭圆曲线上的点)$Q_{ID} = H_1(ID)$
  • 生成用户私钥 $d_{ID} = s \cdot Q_{ID}$
  • 通过安全信道将 $d_{ID}$ 分发给对应用户
Encrypt($ID, M$)
  • 计算 $Q_{ID} = H_1(ID)$
  • 选取随机 $r \leftarrow \mathbb{Z}_q^*$
  • 计算密文 $C = \langle rP, M \oplus H_2(e(Q_{ID}, P_{pub})^r) \rangle$
- 第一分量 $rP$:临时公钥 - 第二分量 $M \oplus H_2(\cdots)$:消息与派生密钥的异或

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$$

加解密流程示意图

安全性分析

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 成为性能瓶颈的最坏情况被消除
  • 各层私钥生成可离线进行(夜间批处理、断网环境部署)
  • 各层实体可独立管理自己的用户群,符合组织权限分配
代价:密文长度和计算成本随层级 $k$ 线性增长,且层次结构中的每一级都可能引入额外的信任假设。

基于格的 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(标准模型)
当前状态(2026 年):格基 IBE 的密钥尺寸远大于配对基方案(配对基方案公钥约 256 bit + 较短的密文,格基方案公钥在 KB 量级、密文在百字节至 KB 量级,具体取决于安全参数 $n, m, q$ 的选择),工程化仍处于早期阶段。NIST PQC 标准化侧重于 KEM(密钥封装)和数字签名,未覆盖 IBE,但学术界已开始探索与 ML-KEM 和 ML-DSA 兼容的 IBE 构造路线。

国密 SM9 标准化实践

SM9 的发展历程

SM9 是中国国家密码管理局制定的标识密码算法标准体系,对应国际上的 IBE 范式。其标准化历程:

  • 2016 年:GM/T 0044.1~0044.4-2016 发布,首次定义 SM9 算法
  • 2026 年:GB/T 47471-2026《SM9 标识密码算法 消息格式规范》发布,定义加密和签名的消息编码语法
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$ 时获胜
优势:$\text{Adv}^{IND-ID-CPA}_{\text{IBE}}(\mathcal{A}) = |\Pr[b' = b] - \frac{1}{2}|$

如果对于所有概率多项式时间的敌手,其优势都是可忽略的,则方案是 IND-ID-CPA 安全的。

升级到 IND-ID-CCA2 只需在查询阶段允许敌手还提交密文进行解密询问(但不能解密挑战密文 $C^*$ 本身)。

Selective-ID vs Adaptive-ID

IBE 安全性分析中一个重要安全强度分层

模式定义安全性
Selective-ID (sID)敌手必须在看到公开参数前就宣布目标身份 $ID^*$最强(最易证明)
Adaptive-ID (aID)敌手可在看到公开参数、甚至部分私钥后选择 $ID^*$最弱(最符合实际)
Boneh-Franklin(2001)在 ROM 下证明了 Adaptive-ID CCA2 安全性,这是最强的安全保证。

Waters HIBE(2005)原生仅在 Selective-ID 模型下可证安全,但后来的 Gentry-Silverberg 方法可将其提升至 Adaptive-ID 标准模型下(使用 Waters 的双系统加密技术)。

密钥托管的安全影响

从安全模型视角,密钥托管意味着:

  • PKG 总是能解密任何密文(天生优势)
  • 因此 IND-ID-CPA/CCA2 安全游戏允许敌手持有主密钥(在某些变体中)
  • 若 PKG 被攻陷(主密钥泄露),则所有历史通信可被解密(无向前安全性)
这是 IBE 在绝大多数应用场景中的主要安全限制。实际部署中通过时间分段(Time-Period IBE)或在 SM9 KEM 中引入临时密钥来部分缓解。

IBE 与 PKI 体系的对比

维度PKI(证书体系)IBE(标识密码)
公钥形式随机大整数/椭圆曲线点任意字符串(邮箱、手机号、设备 ID)
公钥分发CA 签发证书公开信息,无需分发
私钥生成用户本地生成PKG 生成(需安全信道分发)
信任模型分布式:多级 CA、信任链中心化:单一 PKG(或其分布式扩展)
证书管理需要(签发、验证、存储、吊销)不需要
前向安全性支持(Diffie-Hellman 变体)受限(主密钥泄露可解密所有历史消息)
离线加密需要对方证书(需在线查询 CRL/OCSP)只需对方标识(完全离线)
密钥吊销CRL/OCSP 机制时间分段、身份附加有效期
核心价值主张:IBE 消除了证书管理的全部代价,用对 PKG 的信任替代了对 CA 复杂体系的信任。在以下场景中尤为适用:
  • 通信双方事先缺乏信任关系(如医疗转诊、临时商务合作)
  • 设备或用户规模极大,证书管理成本不可接受
  • 消息系统天然包含可验证的身份标识

应用场景

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 在消息互操作性上迈出关键一步,有望在隐私计算和数据要素流通领域发挥更大价值。

参考来源