参考文献为2022年发表的Efficient and Secure Attribute-Based Access Control With Identical Sub-Policies Frequently Used in Cloud Storage
动机
ABE是实现在云存储中一种很好的访问控制手段,但是其本身的计算开销导致在实际场景中应用收到限制。本论文研究了一种LSSS矩阵的特殊情况,对于这种特殊情况,用户可以实现减少计算开销。本论文的底层ABE还是来自2011年CP-ABE经典方案。
引言
什么是子策略?
用户拥有一系列属性,在获取密文中频繁使用的属性集我们说是子策略。如下图中一个用户是中国科学技术大学并且是博士或者教授这三个属性集合就是一个子策略。
对于该学校内加密的文件,可能有多个文件是由这上述描述的子策略或者子策略的扩展加密形成的。因此,数据拥有者在使用子策略加密一次后,可以存储相关子策略的参数并存储以后再次加密直接可以使用这些参数而不需要重新计算。对于数据使用者,在使用子策略解密后,也能存储子策略相关的参数,下次解密包含子策略的访问策略密文,直接使用存储的信息辅助解密。
结果
本论文,对于一个包含子策略的LSSS矩阵做出详细描述(正常的LSSS矩阵,如果含有子策略则可以表达成论文中所呈现的样子),通过第一次计算后获得子策略参数后,可以使用该参数辅助计算,减少计算开销。本论文的方案是语义上对于选择明文攻击安全的(证明和2011年那一篇一模一样)。
LSSS矩阵中存在子策略
包含指定子策略的LSSS矩阵如下图所示:
我们将一个常用的子策略视为独立的访问策略时,用矩阵表示:
此外,是被定义为一个新的矩阵,用来表达访问控制策略,其中包括了一个子策略被当作单独的一个属性或者树中的一个叶节点来对待。
将子策略视为单独的节点的做法,让我们可以有效地处理那些具有相同子策略要求的多个密文,而不需要在每个密文中重复整个子策略。例如,如果某个特定的子策略是所有教授的数据都必须满足的,并且这个要求在多个文件的访问控制策略中频繁出现,那么我们可以将这个子策略作为一个单独的节点来处理,以便在实施这些策略时,不需要每次都完整地考虑所有相关教授的属性集合。在构建访问策略矩阵时,子策略 被作为单一实体与其他规则 和 结合起来。这样,当用户尝试解密一个密文时,他们需要的是一个满足整个矩阵 的属性集合。如果他们的属性集合满足 行向量所表示的子策略,那么这部分就会被视为已经满足了一个整体的条件。同时,他们还必须满足 和 中定义的其他规则。
具体方案构建
在本方案中,我们认为在访问策略中子策略时必须符合,也就是其他策略和子策略是通过与门连接在一起的。