隐私选项形式语言:POL的特性、转换与扩展
1. POL到PPL的翻译规则
在处理复杂的POL合约时,例如 c13 = data a1 p1 ‘and‘ data a2 p2,需要将其翻译成PPL的策略集(PolicySet)。具体步骤如下:
1. 将数据语句转换为策略集。
2. 把这些策略集封装在一个新的策略集中。
3. 添加两个义务(Obligation),这两个义务在数据a1或a2被使用时触发,目的是在一个数据项被使用时,立即使用另一个数据项。
对于其他POL原语的翻译规则如下:
- ‘or’操作 :对于合约 c4 = c1 ‘or‘ c2,先将c1和c2转换为策略集,放入一个新的策略集,再添加一个义务,当c1或c2中的数据被使用时,删除c1和c2中的数据。
- ‘until’操作 :对于合约 c9 = until b c1,先将c1转换为策略集,封装在新的策略集中,添加一个义务,当条件b为真时触发,触发后删除数据。
- ‘if’和‘ifnot’操作 :对于合约 c5 = if b c1 或 c6 = ifnot b c1,将c1转换为对应的策略集,放入新的策略集,添加义务,根据b的真假删除c1中的数据。
在翻译过程中,使用数据删除来强制执行POL原语在PPL中的语义。但当策略集树的不同分支中的数据项相同时,PPL需要一种根据全局状态激活或停用策略的方法。如果使用匿名凭证表示数据项,则可以避免这些问题。
2. POL合约的规范形式
POL在隐私研究领域具有重要
超级会员免费看
订阅专栏 解锁全文
8

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



