多级安全主动数据库中的事件检测
1. 多级安全数据库模型
数据库系统由数据库对象组成,数据库状态由对象的值决定,对象值的改变会导致数据库状态的变化。用户负责提交要在数据库上执行的事务和应用程序,事务是对数据库状态的操作,应用程序可能会也可能不会对数据库状态执行操作,事务或应用程序的执行可能会导致数据库状态改变。
多级安全(MLS)数据库与一个安全结构相关联,该结构是一个偏序关系 (L, <),其中 L 是一组安全级别,< 是级别之间的支配关系。如果 L1 < L2,则称 L2 严格支配 L1,L1 被 L2 严格支配;如果 L1 = L2,则两个级别相等;L1 ≤ L2 表示 L2 支配 L1,L1 被 L2 支配;若既不满足 L1 ≤ L2 也不满足 L2 ≤ L1,则称两个级别不可比。假设存在一个级别 U,对应未分类或公共知识级别,U 是 L 中所有级别的最大下界。
每个数据库对象 x 都与一个安全级别 L(x) 相关联,且对象的安全级别在其整个生命周期内保持不变。系统用户被授予不同的安全级别,用户 Ui 的安全许可用 L(Ui) 表示。例如,在军事环境中有四个安全级别:绝密 (TS)、机密 (S)、秘密 (C) 和未分类 (U),用户 Jane Doe 的安全许可为绝密,即 L(JaneDoe) = TS。每个用户有一个或多个主体与之关联,主体数量取决于用户的安全许可,等于被该用户安全许可支配的级别数量,如 Jane Doe 有四个主体:JaneDoe.TS、JaneDoe.S、JaneDoe.C 和 JaneDoe.U。在每个会话中,用户以其中一个主体的身份登录,该会话中用户发起的所有进程都继承相应主体的安全级别。每个事务 Ti 都与一个安全级别相关联,