其他保单功能
策略表达有多种选择。一些 ABE 方案仅支持纯 AND 策略或纯 OR 策略。有些仅支持特定形式的策略,例如 CNF 或 DNF。
Bethencourt 的 CP-ABE 支持具有阈值节点的策略树。可嵌套的阈值节点足以实现数字属性,如果您想要一个示例,您可以查看libbswabe。
假设我们有四个属性A
、B
和。阈值策略可能如下所示:这意味着只需具有列表中的 2 个或更多属性即可满足策略并能够解密密文。与门 ( ) 只不过是,或门 ( ) 只不过是。C
D=5
2 of (A, B, C)
A AND B
2 of (A, B)
A OR B
1 of (A, B)
数值策略A AND D<=24
在解析时会导致相当大的策略树,因为数值属性以二进制编码,然后为每个位位置生成许多掩码。这是一个非常昂贵的操作(即加密和解密)。
魅力特点
Charm 不支持阈值策略。策略解析器 ( charm.toolbox.policytree
)稍微支持数字属性,但没有代码来处理属性集中的数字属性。也缺少创建位掩码属性的算法。
添加阈值门应该相当容易,但有必要将二叉树更改为具有任意数量子节点的树(请参阅 参考资料charm.toolbox.node
)。
更改不会很复杂,但会有点太多。如果您有兴趣进行这些更改,您应该这样做。如果您设法在不破坏现有代码的情况下添加这些功能(运行魅力测试),您可以相当肯定这些更改将合并到 master.xml 中。