什么是属性基加密(ABE)?
属性基加密(Attribute-Based Encryption, ABE)是一种基于属性的公钥加密方案。与传统公钥加密(PKI)不同,ABE 不再用「某个用户身份」来标识公钥和私钥,而是用一组属性(Attributes)。
核心思想:加密时指定一个「谁能解密」的策略,解密时用户的私钥包含其拥有的属性。当用户属性满足策略时,即可解密。
ABE 有两种基本范式:
| 范式 | 策略在哪 | 含义 |
|---|---|---|
| KP-ABE(密钥策略) | 私钥中 | 用户私钥绑定策略,密文携带属性 |
| CP-ABE(密文策略) | 密文中 | 密文绑定策略,用户私钥携带属性 |
论文背景
ABE 的概念最早由 Sahai 和 Waters(2005) 提出,但他们的方案是 KP-ABE 范式:用户的私钥中包含访问策略,而密文只携带一组属性。
KP-ABE 的问题:数据所有者(加密者)无法控制「谁能访问」。策略是预先嵌入在用户密钥里的,这意味着你必须知道所有合法用户的属性集合才能生成密钥——这对实际场景非常不友好。
Bethencourt、Sahai、Waters(2007) 在论文 “Ciphertext-Policy Attribute-Based Encryption” 中提出了 CP-ABE,将策略与属性的角色完全反转:
- ✅ 密文携带访问策略(Access Policy)
- ✅ 用户私钥携带属性集合
这样,数据所有者在加密时就能精确控制「只有满足这个策略的用户才能解密」,而用户只需持有自己的属性密钥即可。
CP-ABE 的核心创新
1. 角色反转
| |
2. 基于 LSSS 的访问结构
论文使用 线性秘密共享方案(LSSS, Linear Secret Sharing Scheme) 来表达任意单调访问结构。
LSSS 的核心:用一个矩阵 M 和一个向量 v 来表示访问策略:
- 矩阵的每一行对应一个属性
- 向量 v 是秘密的编码,满足 M * λ = (s, 0, 0, …, 0)
- 一个属性集合满足策略,当且仅当存在一组系数使对应行线性组合出 v
示例:策略「(A AND B) OR (C AND D)」对应的 LSSS 矩阵:
| 行 | 属性 | 向量 |
|---|---|---|
| 1 | A | (1, 0) |
| 2 | B | (1, 0) |
| 3 | C | (0, 1) |
| 4 | D | (0, 1) |
3. 双线性配对上的构造
方案基于 双线性配对(Bilinear Pairing) 和 DBDH(Decisional Bilinear Diffie-Hellman) 假设:
- 加密阶段:将明文与访问策略结合,生成携带策略的密文
- 密钥生成:根据用户属性集合生成私钥
- 解密阶段:利用双线性配对验证属性是否满足策略,并恢复明文
方案组成
Setup(系统初始化)
生成系统公共参数 PK 和主密钥 MK:
| |
KeyGen(密钥生成)
对用户属性集 S,生成私钥:
| |
Encrypt(加密)
给定明文 M 和访问策略 A,生成密文:
| |
其中 λ_j 是 LSSS 矩阵对应的秘密共享值。
Decrypt(解密)
用户用私钥 D_S 解密:
- 检查属性集 S 是否满足策略 A
- 若满足,找到对应行和系数 {w_j}
- 通过配对运算恢复共享值
- 从共享值中恢复明文 M
安全性
论文在 标准模型 下证明了选择性安全(Selective Security),基于 DBDH 假设。
安全性证明使用 归约(Reduction) 技术:假设存在一个能攻破 CP-ABE 的攻击者 A,则可以构造一个解决 DBDH 问题的算法 B,从而矛盾。
应用价值
CP-ABE 在以下场景有重要应用:
| 场景 | 说明 |
|---|---|
| 云存储访问控制 | 数据上传时指定策略,云服务商无法绕过策略解密 |
| 电子健康记录 | 按角色和权限属性精细控制病历访问 |
| 物联网数据分发 | 按设备属性加密,满足条件的设备自动解密 |
| 数字版权管理 | 按用户订阅属性控制内容访问 |
局限与后续发展
论文中的原始方案存在以下限制:
- 选择性安全:攻击者必须先声明挑战属性集,实际中可能不够强
- 密文膨胀:密文大小与策略复杂度成正比
- 密钥托管问题:主密钥持有者可生成任意属性密钥
- 不支持非单调策略:只能表达单调访问结构(AND/OR),无法表达 NOT
后续改进方向:
- 双系统加密:达到自适应安全(Adaptive Security)
- 密钥策略与密文策略的融合:支持更灵活的策略表达
- 可撤销 ABE:解决密钥托管和用户撤销问题
- 高效实现:减少双线性配对计算次数
学习心得
这篇论文是属性基加密领域的里程碑之作。从 KP-ABE 到 CP-ABE 的范式反转看似简单,但实现起来需要在双线性配对上做大量精巧的数学构造。特别是将 LSSS 与加密结合的设计,展现了密码学方案设计中「抽象代数工具 + 密码学假设」的经典范式。
理解了这篇论文后,再去看后续的 ABE 变体(如内积 ABE、功能加密等)会顺畅很多——它们大多是在这个基础上做的扩展和加强。
论文原文:Bethencourt, J., Sahai, A., & Waters, B. (2007). Ciphertext-Policy Attribute-Based Encryption. IEEE Symposium on Security and Privacy, 40-53.
论文链接:https://ieeexplore.ieee.org/abstract/document/4223236