摘 要:基于多实例的思想提出了一种新的模糊级别的多级安全模型,将多个仅密级不同的元组合并表示,并用安全模式来表示元组所适用的密级,只要主体的许可级别匹配此安全模式,便可存取此元组。这种模型解决了现有多级安全数据模型中存在的数据冗余度大及隐通道等问题。
关键词:多级安全;多实例;数据模型;合并;安全模式
现有的多级安全数据模型都遵循BLP模型[1]中提出的“向下读,向上写”的多级关系的强制访问控制规则,从而确保信息的向上单向流动。然而,在大多数应用中,主体(用户或程序)和客体的敏感度很难严格地划分等级,只存在一些模糊级别。许可级别高的用户未必一定允许查看密级(表示该客体所包含信息的敏感度)低的信息,例如:一个许可级别较高的用户不允许查看另一部门的较低密级的信息。
另外,在一般的多级安全关系数据库中,为了对低许可级的主体隐藏高密级的敏感信息,引入了多实例(Polyinstantiation)和伪元组(Cover Story)的概念,使得真实世界的单个实体在一个多级关系表中会产生多个元组,每个元组对应着不同密级的实例,并为每个字段设置相应的密级附加字段,以记录各数据项的密级信息。当不同实例间的数据差异很大时,这样的设计是合理的。然而,研究表明实际应用时,数据库中敏感数据(即需要对低许可级主体隐藏的数据)所占的比例通常仅仅只有约5%[2],这意味着多实例间的数据差异通常非常小,高密级的元组除个别字段外,绝大部分数据(90%以上)与低密级元组相同[3],造成数据的大量冗余,而且数据定义与操纵规则相当复杂。
为了解决上述问题,本文提出了一种新的模糊级别的多级安全关系数据库模型,采用类似于“同级读,同级写”的原则,既可以防止“高”许可级用户查看或修改“低”密级的信息,造成信息泄漏;又可以防止“低”许可级主体修改“高”密级的数据,形成隐通道,还可以通过多密级共享元组来减少数据冗余。
1 对基于多实例的多级关系的改进