密钥策略 ABE(KP-ABE)与比较
比较 KP-ABE(策略位于密钥中)与 CP-ABE,并了解二者背后的密码学构造。
密钥策略 ABE(KP-ABE)与比较 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
KP-ABE 定义
在密钥策略基于属性的加密(KP-ABE)中,访问策略由密钥授权机构嵌入用户的秘密密钥,而密文携带属性集合。当密文的属性集合满足用户密钥中编码的策略时,解密成功。授权机构通过选择每个用户密钥所嵌入的策略来授予解密能力。
Goyal 等人的 KP-ABE(2006)
Goyal、Pandey、Sahai 和 Waters 于 2006 年提出了奠基性的 KP-ABE 构造。该构造使用访问树,其中叶节点是属性,内部节点是阈值门。密钥授权机构将访问树转换为线性秘密共享方案,并将主密钥的份额编码到用户密钥中。加密过程很简单:选择一个随机秘密 y,并将份额分配给密文中的每个属性。
KP-ABE 解密过程
在 Goyal 等人的 KP-ABE 中,解密通过配对运算,将与属性关联的加密组件和密钥中的份额组合起来。对于对应于密文中存在属性的每个叶节点,用户都会计算一次配对。随后,根据访问树的结构(对阈值节点使用多项式插值)组合这些值,以恢复消息加密密钥。
CP-ABE 与 KP-ABE:谁持有策略
CP-ABE 与 KP-ABE 的根本区别在于由谁指定访问策略:加密方(CP-ABE)还是密钥授权机构(KP-ABE)。在 CP-ABE 中,加密方决定“此文档要求角色=医生 AND 部门=心脏科”。在 KP-ABE 中,授权机构决定“此用户可以解密任何带有{医疗,患者数据}标签的内容”。具体选择取决于应由哪一方控制访问。
云存储首选 CP-ABE
当访问控制应由加密方指定时,CP-ABE 是更合适的选择。在云存储中,文件所有者在加密时就知道谁应当访问自己的文件,因此会将策略嵌入密文并上传。密钥授权机构签发通用的属性密钥。这种模型符合传统访问控制:数据所有者控制自己的数据,授权机构只负责证明属性归属,而不负责决定每个文件的访问权限。
内容分发首选 KP-ABE
当授权机构授予基于能力的访问权限时,KP-ABE 是更合适的选择。在内容分发场景中,媒体公司会向订阅者签发密钥。高级订阅者的密钥可能嵌入策略“可以解密带有{高级}或{标准}标签的内容”,而基础订阅者的密钥则嵌入“可以解密{标准}”。加密方只需根据内容类型添加标签;授权机构通过用户密钥中的策略控制每个订阅者可以访问的内容。
作为前身的模糊 IBE
CP-ABE 和 KP-ABE 都源于 Sahai 和 Waters 于 2005 年提出的模糊 IBE。模糊 IBE 将身份表示为属性集合,并允许在发送方和接收方的属性集合至少有 t 个属性重叠时进行解密。模糊 IBE 是 KP-ABE 的一种特殊情况,其中策略是针对身份属性的阈值门。它是第一个使用属性进行访问控制的构造。
双策略 ABE
双策略 ABE(DP-ABE)将 CP-ABE 和 KP-ABE 结合在同一个方案中。密文和用户密钥都包含访问策略。要完成解密,密文的属性必须满足密钥中的策略,且密钥的属性必须满足密文中的策略。DP-ABE 适用于表达相互约束,例如“此文档要求具备医疗资质,且仅限 EMEA 地区的订阅者访问”。
多授权机构 ABE
标准 ABE 由单一可信授权机构颁发所有属性密钥。多授权机构 ABE(MA-ABE)将属性颁发工作分散到多个独立的授权机构。不同组织可以在各自的领域内颁发属性(医院颁发角色=医生,药剂师委员会颁发执照=药剂师),而无需相互合作。这样可以消除单一信任点,并实现跨组织访问控制。Chase 于 2007 年提出了第一个 MA-ABE 构造。
标准与产品中的 ABE
虽然 ABE 尚未被 NIST 或 ISO 标准化,但它已经部署在研究原型和一些产品中。IBM 研究院已经制作了用于医疗健康数据共享的 ABE 原型。Zeutro 将 CP-ABE 商业化,用于企业数据安全。微软研究院探索了将 KP-ABE 用于数字版权管理。更广泛采用 ABE 的主要障碍是性能(配对运算)以及大规模管理属性授权机构的复杂性。
KP-ABE 的安全性
KP-ABE 的安全性要求用户无法解密其属性集合不满足密钥策略的密文。更准确地说,拥有互不相交属性集合的用户联盟,不能通过组合各自的密钥,解密任何一个用户单独都无法解密的密文。这种抗合谋特性使 ABE 区别于更简单的基于属性的系统,并且需要经过谨慎设计的方案;该特性可以在 DBDH 等基于配对的假设下得到证明。
KP-ABE 策略位置测验
在 KP-ABE 中,访问策略位于什么位置?
KP-ABE 与对比回顾
KP-ABE 将策略嵌入由授权机构颁发的用户密钥中,密文携带属性集合。Goyal 等人于 2006 年提出了奠基性构造。当加密方控制策略时(例如云存储),通常优先使用 CP-ABE;当授权机构授予能力时(例如内容分发),通常使用 KP-ABE。Sahai-Waters 于 2005 年提出的模糊 IBE 是常见的前身。多授权机构 ABE 将密钥颁发工作分散到多个组织,从而消除单一信任点。抗合谋性是使 ABE 区别于更简单方案的一项关键安全属性。
常见问题解答
「密钥策略 ABE(KP-ABE)与比较」课时是免费的吗?
是的 — 「密钥策略 ABE(KP-ABE)与比较」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「密钥策略 ABE(KP-ABE)与比较」这节课中我会学到什么?
比较 KP-ABE(策略位于密钥中)与 CP-ABE,并了解二者背后的密码学构造。 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「密钥策略 ABE(KP-ABE)与比较」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 超越公钥:函数加密
- 密文策略 ABE(CP-ABE)
- 密钥策略 ABE(KP-ABE)与比较
- ABE 的实际应用