【问题标题】:Complex policies for abenc_bsw07 in charm crypto魅力加密中 abenc_bsw07 的复杂策略
【发布时间】:2017-06-25 09:54:23
【问题描述】:

我正在尝试使用 Charm Crypto 库 的 cpabe 功能。具体来说,我使用的是 abenc_bsw07 方案。

有没有办法定义比示例中的更复杂的策略和属性:

attributes = ['ONE', 'TWO', 'THREE']

access_policy = '((four or three) and (three or one))'

我希望能够做类似于 cpabe (http://acsc.cs.utexas.edu/cpabe/tutorial.html) 实现的东西。属性有值,策略可以包含相等或更大/更小的关系。

如果它支持所需的功能,我也可以使用替代方案。

【问题讨论】:

    标签: python cryptography charm-crypto


    【解决方案1】:

    其他政策功能

    策略表达有多种选择。一些 ABE 方案仅支持纯 AND 策略或纯 OR 策略。有些仅支持特定形式的策略,例如 CNF 或 DNF。

    Bethencourt 的 CP-ABE 支持具有阈值节点的策略树。可嵌套的阈值节点足以实现数字属性,如果你想要一个例子,你可以查看libbswabe

    假设我们有四个属性ABCD=5。阈值策略可能如下所示:2 of (A, B, C),这意味着只需具有列表中的 2 个或更多属性即可满足策略并能够解密密文。与门 (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 中。

    【讨论】:

    • 您好,感谢您的反馈。我们最终选择在默认表达式之上实施更高级别的策略表达式。它确实有效。
    猜你喜欢
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多