授权策略的类型规则
1. 相关工作
在检查安全属性的类型系统方面已有大量研究。在进程演算的背景下,有用于检查spi演算中保密性和认证性属性的类型系统,有用于检查盒装环境演算中移动代码访问控制属性的类型系统,还有用于检查pi演算中自主访问控制和基于角色的访问控制的类型系统。此外,各种实验系统,如JIF和KLAIM,都包含用于访问控制的类型。不过,似乎还没有关于对通用授权逻辑实现进行类型检查的前期工作。
在链空间和基于随机数的协议背景下,Guttman等人在协议的发送动作上标注信任逻辑公式,这些公式在消息发送时必须成立;在接收动作上标注在消息接收时可以假定成立的公式。他们的方法依赖于逻辑定义的对应属性,但假设动态调用外部授权引擎,从而在对协议进行推理时消除了对特定授权策略的依赖。更具体地说,我们将静态授权效果附加到任何操作(输入、解密、匹配)上,而不仅仅是消息输入。
Blanchet的ProVerif通过将其简化为逻辑编程问题来检查应用pi演算中的对应断言。ProVerif可以检查复杂的析取对应关系,但尚未应用于检查通用授权策略。Guelev等人也采用会议程序委员会作为运行示例,用于模型检查访问控制策略的后果。
2. 简单的授权逻辑
2.1 Datalog
Datalog程序由事实和子句组成。事实是关于论域的陈述,子句是用于推断事实的规则。在本文中,我们将程序解释为授权策略。
Datalog的语法如下:
u ::= X | M
term: a logic variable X or a spi calculus