JRIF:Java 中的反应式信息流控制
1. JRIF 标签与经典标签对比
1.1 重新分类描述
JRIF 中的重新分类(Reclassifications)可以用一个标识符(即重新分类器)进行简洁描述。而经典标签的解密(declassifications)和背书(endorsements)则更为冗长,因为它们需要关联目标标签(即附加到输出的标签),有时还必须包含源标签(即附加到输入的标签)。
1.2 标签表达能力
JRIF 标签比经典标签更详细,但也有其优势:JRIF 标签中指定的机密性和完整性更改无法用经典标签表达。使用经典标签的系统需要额外的程序代码来模拟 JRIF 标签,并且这些额外代码的安全性无法自动检查,程序员需要完全负责正确实现预期的策略。
1.3 程序逻辑与策略分离
与使用经典标签的语言相比,JRIF 能更好地将程序逻辑与信息流策略分离,使 JRIF 程序更易于编写和维护。例如,程序员决定不再对游戏玩家的姓名进行解密:
- JRIF :只需修改存储玩家姓名的任何字段上的 JRIF 标签声明,检查并编辑标签的 c - 自动机,使其不包含到映射到其他主体的自动机状态的转换。
- 经典标签语言 :程序员不仅要找到并删除所有明确涉及姓名字段的解密命令,还要删除所有涉及游戏玩家姓名流入的表达式的解密命令。这种删除操作容易出错,因为程序员需要手动推理代码中的信息流,而这原本应该由类型系统完成。
超级会员免费看
订阅专栏 解锁全文
16

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



