您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 一个新的多级安全数据库模型及实现
一个新的多级安全数据库模型及实现刘欣沈昌祥(Email:jfz97@sohu.com)由于现有多级安全模型的约束条件与现实工作需求存在着矛盾,本文提出了一个基于扩展安全级的安全模型,本模型实现了强制访问控制,可达到B1级安全。本文描述了其基本定义、规则和定理,并简单介绍了其实现。1、前言1.1现有安全模型1.2上述模型的不足1.3新模型概述2、新模型形式化描述2.1定义2.2规则2.3模型的定理系统3、应用本模型的SDBMS实现4、结束语1.2上述模型的不足BLP作为经典强制访问控制模型,其规则过于严格,会与实际工作需求发生冲突;比如,某高安全级主体可能要求写比其安全低的数据;下面例子说明该冲突:比如,设一个表equipment中,Price是公开,purpose是秘密,则操作:UPDATEequipmentSETprice=price*1.1Wherepurpose=”missletest”是无法执行的。SeaView模型做为BLP模型与Biba模型的结合,为维护数据库完整性和避免隐通道,引入了多实例的概念,并将多级关系分解成单级关系存储,这就大大降低了数据库效率。同样上面的例子,若price与purpose的完整级均为VI,而主体的写级与读级分别为U,C和S,VI,则由于完整性约束,使主体仍不能执行上述操作。如何既解决上述模型与实际需求的冲突,又保证强制访问策略实施,达到B1级标准,本文提出了一个多级数据库安全模型。1.3新模型概述本模型通过给出一个安全级的新定义,扩展了保密等级的概念,使一个主体具有最高保密等级和最低保密等级,并更改了“写”操作检查规则,使主体可以在一定范围内向下写,增加了模型的灵活性和实用性。1.3.1安全级的定义本模型安全级由保密性等级、完整性等级和范围的集合组成。一般说来,保密性等级是如下四元素集合中的任一元素:{绝密TS,机密S,秘密C,公开U},此集合是全序的,即绝密TS机密S秘密C公开U。完整性等级是如下集合中的一个元素:{极重要C,非常重要VI,重要I,公开U}。此集合也是全序的,即CVIIU。范围的集合是系统中分类元素集合的一个子集。这些元素依赖于所考虑的环境和应用领域。安全级形成服从偏序关系的格,此偏序关系称为支配(≥)关系。1.3.2主体读保密等级与写保密等级系统中每个主体的写保密等级是一个取值范围,而非一个值,分别用Cmin,Cmax,则主体的写保密等级为偶对Cmin,Cmax,,读保密等级Cmax。如果一个主体的读保密等级严格支配其最低写保密等级(CmaxCmin),则称主体是可信的;允许可信主体将数据以低于读保密等级的某保密等级写入,但必须证明主体没有向下传播信息(第二节将详细介绍)。1.3.3安全检查规则写操作安全检查规则:(1)①主体的当前保密等级被客体的保密等级支配;②主体的完整等级支配客体的完整等级;③主体的范围包含于客体的范围;或(2)①客体保密等级属于主体的写保密等级;②主体的完整等级支配客体的完整等级;③主体的范围包含于客体的范围;④符合保密性约束规则(第2.2节规则2)本规则扩展了安全级的概念,给主体写操作一个范围,但同时又进行了保密性约束。读操作安全检查规则:①主体的保密等级支配客体的保密等级;②主体的完整等级被客体的完整等级支配;③主体的范围包含客体的范围。这条规则符合BLP模型不上读和Biba模型不下读的规则。读写操作安全检查规则:(1)①客体保密等级等于主体的当前保密等级;②客体的完整等级等于主体的当前完整等级;③主体的范围等于客体的范围。或(2)①客体保密等级属于主体的写保密等级;客体的完整等级等于主体的当前完整等级;③主体的范围等于客体的范围。④符合保密性约束规则2模型介绍•2.1定义定义1系统状态v:集合V中元素,v∈V=(B×M×F×I×CT×H)当前存取集B:B∈(S×O×A)访问方式集合A:A={r,w,e,a}定义2保密性规则集合CVP:保密性规则cvp∈CVP是客体到{Yes,No}是映射,其中Yes=1,No=0。Yes表示符合保密性规则,No表示不符合保密性规则。函数k:k是CVP和Sec_L间的映射。,有且仅有唯一的k(cvp)∈Sec_L。安全级sec_l∈Sec_L对应的保密性规则集合sec_l_cvp,sec_l__cvp={cvp|k(cvp)=sec_l,cvp∈CVP}。定义3安全代理集合DS函数m:m是DS和Sec_L间的一一映射。有且仅有唯一的k(ds)∈Sec_L;,有且仅有唯一的m-1(sec_l)∈DS;定义4对一个写保密等级偶对(Cmin,Cmax)和一个保密等级c,若Cmin≤c≤Cmax,称c属于该写保密等级。2.2规则我们用rq(Si,Oj,x)表示主体Si对客体Oj的x访问请求。规则1对任意b=(s,o,x)∈B:(1)x=a→fc(s)≤fo(o),ic(s)≥io(o),cts(s)cto(o);或者fmin(s)≤fo(o)≤fc(s),ic(s)≥io(o),cts(s)cto(o)且满足规则2;(2)x=w→f(s)=fo(o),ic(s)=io(o),cts(s)=cto(o)或者fmin(s)≤fo(o)≤fc(s),ic(s)=io(o),cts(s)=cto(o)且满足规则2;(3)x=r→fc(s)≥fo(o),ic(s)≤io(o),cts(s)cto(o);(读规则不变)(4)x=e→fmax(s)≥fo(o),imax(s)≥io(o),cts(s)cto(o)规则2在(b,M,f,i,ct,H)状态,a∈Mij∈M,fmin(s)≤fo(o)≤fc(s),ic(s)≥io(o),cts(s)cto(o)时,对rq(Si,Oj,a)的处理:(1)Si激活客体Oj’,Oj’的安全级为sel_11=(fo(Oj’),io(Oj’),cto(Oj’))且fo(Oj’)=fc(Si),io(Oj’)=ic(Si),cto(Oj’)=cts(Si)。对rq(Si,Oj’,a)授权,构造b1*={(Si,Oj’,a)}∪b,进入(b1*,M,f,i,ct,H)状态。(2)安全级sel_12=(fo(Oj),io(Oj),cto(Oj))对应的保密性规则集为sel_12_cvp。If,cvp(Oj’)=YESThen进入步骤(3))构造f*,使得fo(Oj’)=fo(Oj)。(4ElseSi删除客体Oj’,拒绝rq(Si,Oj,a)。(3)安全级sel_12对应的安全代理为Si’(5)对rq(Si’,Oj’,r)授权,构造b2*={(Si’,Oj’,r)}∪b1*,进入(b2*,M,f*,i,ct,H)状态。(6)对rq(Si’,Oj,a)授权,构造b3*={(Si’,Oj,a)}∪b2*,进入(b3*,M,f*,i,ct,H)状态。Si’删除Oj’。2.3模型的定理系统推论1当客体的保密等级属于主体的写保密等级,客体的完整级被主体的完整级支配,主体的范围包含于客体的范围,且,主体写入客体的内容符合客体安全级对应的保密性规则时,主体可以间接写入客体。证明rq(Si,Oj,a)时主体Si写入客体Oj的内容为ContentWij,主体Si从客体Oj读出的内容为ContenRij,客体Oj的内容为Contentj。在(b,M,f,i,ct,H)状态,a∈Mij∈M,fc(Si)≤fo(Oj),ic(s)≥io(o),cts(s)cto(o)时,主体写入客体的内容为ContentWij。a)根据规则2步骤(1),激活客体Oj’对rq(Si,Oj’,a)授权后,ContentWij=ContentWij’=Contentj’。b)根据规则2步骤(2),当Contentj’符合保密性规则集sec_l2_cvp后,经规则(2)步骤(5),对rq(Si’,Oj’,r)授权后ContenRi’j’=Contentj’。c)根据规则2步骤(6)对rq(Si’,Oj,a)授权后ContentWi’j=ContenRi’j’。由a)、b)、c)ContentWij=ContentWi’j,即主体Si写入客体Oj的内容符合保密性规则后通过代理Si’写入客体Oj。定理1若状态(b,M,f,i,ct,H)满足BLP公理,则由规则2得到状态(b3*,M,f,i*,H)满足BLP公理。定理2规则1满足BLP公理。定理3模型符合BLP模型。定理4模型符合Biba模型。3、应用本模型的SDBMS实现从图中我们可看出,本安全模型由MAC模块与TCB模块组成,完成强制和自主访问控制。系统管理员负责自主访问控制,安全管理员负责强制访问控制,只有安全管理员才能定义和修改主客体安全级,DBA也受强制访问策略的制约;而SSO的权限又受到DBA的限制,使系统权力分离,增加了系统安全性。在应用本模型加强数据库安全时,应该考虑其安全标识的实现,包括安全级在系统中的表示及定义、多级关系的存储、数据字典的扩充,SQL语句的功能扩充,主要是增加安全检查规则,这些实现了模型的强制访问控制功能。4、结束语由于现有多级安全模型规则过于严格,使得现实工作需求与安全限制间的存在着矛盾,造成工作的不便。比如,在一个办公系统中,一个人可能会在多个主体安全级间变换以完成他的工作。这不仅加重安全管理员的负担,也降低了安全性,使严格的安全模型失去了意义。本模型就是源于这个问题而提出的,模型实现了强制访问控制,可达到B1级安全。其优点是:读、写安全级分开,为写操作确立一保密等级区间,增加了模型灵活性,提高了可用性;谢谢!
本文标题:一个新的多级安全数据库模型及实现
链接地址:https://www.777doc.com/doc-1251551 .html