文档介绍:一个新的多级安全数据库模型及实现刘欣沈昌祥(Email: jfz97@)
由于现有多级安全模型的约束条件与现实工作需求存在着矛盾,本文提出了一个基于扩展安全级的安全模型,本模型实现了强制访问控制,可达到B1级安全。本文描述了其基本定义、规则和定理,并简单介绍了其实现。
1、前言
上述模型的不足
2、新模型形式化描述
3、应用本模型的SDBMS实现
4、结束语
上述模型的不足
BLP作为经典强制访问控制模型,其规则过于严格,会与实际工作需求发生冲突;比如,某高安全级主体可能要求写比其安全低的数据;下面例子说明该冲突:
比如,设一个表equipment中,Price是公开,purpose是秘密,则操作:
UPDATE equipment
SET price=price*
Where purpose =”missle test”
是无法执行的。
SeaView模型做为BLP模型与Biba模型的结合,为维护数据库完整性和避免隐通道,引入了多实例的概念,并将多级关系分解成单级关系存储,这就大大降低了数据库效率。
同样上面的例子,若price 与purpose的完整级均为VI,而主体的写级与读级分别为<U,C>和<S,VI>,则由于完整性约束,使主体仍不能执行上述操作。
如何既解决上述模型与实际需求的冲突,又保证强制访问策略实施,达到B1级标准,本文提出了一个多级数据库安全模型。
新模型概述
本模型通过给出一个安全级的新定义,扩展了保密等级的概念,使一个主体具有最高保密等级和最低保密等级,并更改了“写”操作检查规则,使主体可以在一定范围内向下写,增加了模型的灵活性和实用性。
本模型安全级由保密性等级、完整性等级和范围的集合组成。一般说来,保密性等级是如下四元素集合中的任一元素:{绝密TS,机密S,秘密C,公开U},此集合是全序的,即绝密TS>机密S>秘密C>公开U。完整性等级是如下集合中的一个元素:{极重要C,非常重要VI,重要I,公开U}。此集合也是全序的,即C>VI>I>U。范围的集合是系统中分类元素集合的一个子集。这些元素依赖于所考虑的环境和应用领域。
安全级形成服从偏序关系的格,此偏序关系称为支配(≥)关系。
系统中每个主体的写保密等级是一个取值范围,而非一个值,分别用Cmin, Cmax,则主体的写保密等级为偶对<Cmin,Cmax,>,读保密等级Cmax。
如果一个主体的读保密等级严格支配其最低写保密等级(Cmax> Cmin),则称主体是可信的;允许可信主体将数据以低于读保密等级的某保密等级写入,但必须证明主体没有向下传播信息(第二节将详细介绍)。
写操作安全检查规则:
(1)①主体的当前保密等级被客体的保密等级支配;②主体的完整等级支配客体的完整等级;③主体的范围包含于客体的范围;或
(2)①客体保密等级属于主体的写保密等级;②主体的完整等级支配客体的完整等级;③主体的范围包含于客体的范围;④符合保密性约束规则()
本规则扩展了安全级的概念,给主体写操作一个范围,但同时又进行了保密性约束。
读操作安全检查规则:
①主体的保密等级支配客体的保密等级;②主体的完整等级被客体的完整等级支配;③主体的范围包含客体的范围。
这条规则符合BLP模型不上读和Biba模型不下读的规则。
读写操作安全检查规则:
(1)①客体保密等级等于主体的当前保密等级;②客体的完整等级等于主体的当前完整等级;③主体的范围等于客体的范围。或
(2)①客体保密等级属于主体的写保密等级;客体的完整等级等于主体的当前完整等级;③主体的范围等于客体的范围。④符合保密性约束规则