Page 314 - 《软件学报》2025年第9期
P. 314
韩将 等: 面向跨信任域互联网场景的拜占庭容错访问控制架构 4225
Web API 后台的少数节点触发了严重的拜占庭攻击, 造成整个系统用户访问速度的显著降低, 导致 Cloudflare API
服务受损长达 6 h 33 min.
可见, 如何使跨信任域部署的分布式 PDP 节点安全快速地达成一致决策, 从而防止攻击者仅通过入侵部分安
全防护较弱的 PDP 节点便影响整个系统的访问权限正常授予, 仍然是分布式访问控制机制设计领域亟待解决的
迫切问题. 针对此问题, 本文首先提出了基于共识的访问权限控制 (consensus-based access control, CBAC) 模型, 随
后基于异步拜占庭容错共识技术 Dumbo BFT [27] 给出了强安全高性能的 CBAC 访问控制引擎算法, 对底层的共识
技术进行了多重设计优化, 最后还开展了 CBAC 访问控制引擎算法的软件原型实现和大量测试验证. 具体来讲,
本文具有以下 3 点贡献.
▪ 第一, 为解决了不同信任域之间难以安全地对用户权限达成一致的问题, 提出了基于共识的访问权限控制模
型 (CBAC), 严格定义了 CBAC 模型的安全性. 即使部分 PDP 节点被敌手完全控制, 仍然满足: 即时性 (timeliness),
表明诚实节点在期望常数交互轮之后能够达成决策; 统一性 (unitarity), 表明所有诚实 PDP 节点的决策都是相同
的; 正确性 (correctness), 表明用户最终被 CBAC 模型授予的访问权限不会高于大多数诚实节点的本地决策. 本文
还给出了 CBAC 模型的实现框架, 将 CBAC 的安全性归约到了共识算法的终止性、有效性和一致性, 并在异步网
络下证明了 CBAC 模型的正确性定义已经达到最优, 即不可能在异步网络下设计算法保证分布式授予的用户访
问权限小于或等于所有诚实节点的本地决策.
▪ 第二, 围绕提出的 CBAC 访问控制模型, 提出了强安全高性能的 CBAC 访问控制引擎算法 Super-Dumbo. 围
绕小飞象异步拜占庭容错共识算法 (Dumbo BFT) [27] 的性能瓶颈, Super-Dumbo 对消息广播、随机掷币、共识算法
设计等关键步骤的设计进行了优化. 在安全性方面, Super-Dumbo 实现了经典的异步拜占庭容错公共子集 (asyn-
chronous common subset, ACS) 的安全性, 在容忍攻击者入侵 1/3 的 PDP 节点的同时, 还解决了攻击者可能控制
PDP 间通信的问题, 从而在异步网络下保障了 CBAC 访问权限控制模型的安全性. 在性能方面, Super-Dumbo 相
比之前的小飞象算法, 大大减少了数字签名验证等计算开销、有效提升了带宽利用率, 从而在吞吐量和延迟时间
等性能方面取得大幅提升, 满足了 CBAC 访问控制模型对底层共识算法低延迟、大吞吐量的性能要求.
▪ 第三, 开发并开源了基于 Super-Dumbo 共识算法的 CBAC 访问权限控制模型的软件原型实现, 代码量超过
10 000 行. 在服务器环境对上述原型实现进行了部署和测试, 通过控制节点之间的带宽和延迟时间等参数模拟了
广域网部署环境, 并从节点规模、网络条件等多维度进行了性能测试, 包括在 4–64 个不同数量节点的情况下与小
飞象等现有异步共识算法进行了全面对比. 实验结果表明 Super-Dumbo 相比现有异步共识算法取得了显著的确
认延迟降低和吞吐量提升, 验证了基于 Super-Dumbo 算法的 CBAC 访问控制模型的实用性.
第 2 节介绍之前的分布式访问权限控制技术以及难以应对拜占庭攻击行为和异步网络环境的缺点. 第 3 节提
出基于共识的访问权限控制模型 (CBAC) 的安全目标, 刻画了异步网络环境和拜占庭攻击等安全风险, 证明
CBAC 安全性可以归约到异步公共子集算法 (即一类特殊的异步拜占庭容错共识算法). 第 4 节针对 CBAC 的性能
要求, 提出了 Super-Dumbo 异步公共子集算法, 解释 Super-Dumbo 中有效提升异步共识效率的设计思想. 第 5 节
介绍实验设定和测试结果.
2 相关工作
访问控制策略是一个经典的计算机科学的问题, 已经有长期的研究发现, 传统的访问控制策略包括了以下几
类方式 [28−30] . 自主访问控制 (discretionary access control, DAC) [15] , DAC 基于拥有权的概念, 其中用户对其自己的
资源和设备拥有完全控制权, 并可以确定其他用户对这些资源和设备的权限. 尽管提出了许多变种, 但 DAC 通常
被视为基于身份的访问控制模型, 其中访问权限是根据用户的身份分配的. 提出了各种实施 DAC 的方法, 包括访
问矩阵、授权表、访问控制列表 (ACL) 和能力列表. 强制访问控制 (mandatory access control, MAC) [16] , 与 DAC
不同, MAC 依赖于一组系统规则, 而不是对象所有者的自行决定. 这些规则通常是根据与主体和对象相关的安全
标签定义的. 基于角色的访问控制 (RBAC) [7,17] , RBAC 依赖于角色的概念, 以简化组织内访问权限的规范和管理.

