去中心化复合访问控制:BelLog语言的探索与应用
1. 引言
在现代的访问控制系统中,诸如网格资源共享系统、电子健康记录管理以及高度分布式的Web服务等,都需要同时具备权限委托和策略组合的功能。然而,现有的形式化访问控制语言存在不足,它们要么只能表达权限委托,要么只能表达策略组合,无法同时满足这两个需求。为了解决这个问题,我们开发了一种名为BelLog的逻辑编程语言,它不仅可以表达权限委托和策略组合操作符,还能为去中心化复合访问控制策略提供形式化的基础。
2. 系统模型与示例
我们考虑一个开放的分布式系统,其中包含策略决策点(PDP)和策略执行点(PEP)。PDP负责将访问请求映射到策略决策,而PEP则执行这些决策。系统中有多个主体可以发布策略和属性,并将它们存储在PDP中。其中一个主体被指定为PDP的管理员,管理员编写的策略将用于评估所有请求。
以一个网格系统为例,该系统为多个研究项目存储文件。每个项目都有一个或多个项目负责人,网格系统有一个PDP来决定所有文件的访问权限。PDP的策略如下:
- R1:项目负责人控制项目文件和文件夹的访问权限,并可以委托这些权限。
- R2:如果项目负责人对某个请求的决策存在冲突,则仅允许项目负责人提出的请求访问。
- R3:如果没有策略适用于某个请求,且目标是公共项目文件夹,则批准该请求;否则,拒绝该请求。
- R4:访问权限递归地扩展到子文件夹。
这个策略体现了去中心化复合策略中委托和组合的紧密耦合。PDP需要先根据R1计算每个文件夹的委托,然后根据R2和R3组合每个文件夹的访问权限,最后根据R4将策略决策扩展到子文件夹。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



