基于属性的加密
基于属性的加密 是什么?
基于属性的加密Sahai 与 Waters 于 2005 年提出的公钥加密方案,密文与密钥分别绑定属性与策略,只有策略满足时才能解密。
基于属性的加密(ABE)源于 Amit Sahai 与 Brent Waters 于 2005 年发表的论文 《Fuzzy Identity-Based Encryption》(IACR ePrint 2004/086)。该论文把「身份」视为一组描述性属性,当两组属性的重叠达到阈值时即可解密。这种为生物特征身份设计的容错性,后来被推广为 ABE——以策略取代固定身份。
ABE 有两种形态。在**密钥策略 ABE(KP-ABE)中,密文携带属性,用户密钥编码访问策略;在密文策略 ABE(CP-ABE)**中——由 Bethencourt、Sahai 与 Waters 在 2007 年 IEEE 安全与隐私研讨会上提出——密文携带关于属性的布尔策略,而每把密钥携带其持有者的属性,因此由加密方决定谁能解密,如同把基于角色的访问控制直接写进密文。只有当某密钥的属性满足密文的策略树时,解密才会成功。
ABE 建立在 BN254 或 BLS12-381 等曲线上的双线性配对之上,天生具备抗合谋性:由于每把密钥按用户随机化,不同用户无法把各自的密钥拼凑起来去满足任何单人都无法满足的策略。参考实现包括 OpenABE 与 Charm-Crypto。实践中仍存在属性撤销、由授权机构托管密钥,以及配对开销等难题,多授权与外包解密方案正致力于解决这些问题。
flowchart TD
subgraph 初始化
A[属性授权机构] -->|主密钥| A
A -->|为属性签发密钥:<br/>医生、心脏科| U[用户密钥]
end
E[加密方] -->|策略:<br/>医生 且 心脏科| C[密文 + 策略树]
C --> D{用户属性是否<br/>满足策略?}
U --> D
D -- 是 --> P[恢复明文]
D -- 否 --> X[解密失败]其典型场景包括共享云存储的细粒度访问控制、电子健康档案、加密数据湖,以及一条密文面向多用户、无需按人重新加密的 DRM。
● 示例
- 01
医院以策略("医生" 且 "心脏科")或 "研究人员" 一次性加密病历。
- 02
OpenABE 与 Charm-Crypto 等库实现了 KP-ABE 和 CP-ABE。
● 常见问题
基于属性的加密 是什么?
Sahai 与 Waters 于 2005 年提出的公钥加密方案,密文与密钥分别绑定属性与策略,只有策略满足时才能解密。 它属于网络安全的 密码学 分类。
基于属性的加密 是什么意思?
Sahai 与 Waters 于 2005 年提出的公钥加密方案,密文与密钥分别绑定属性与策略,只有策略满足时才能解密。
如何防御 基于属性的加密?
针对 基于属性的加密 的防御通常结合技术控制与运营实践,详见上方完整定义。
基于属性的加密 还有哪些其他名称?
常见的别称包括: ABE, KP-ABE, CP-ABE。