(计算机软件与理论专业论文)安全数据库强制访问控制策略研究.pdf_第1页
(计算机软件与理论专业论文)安全数据库强制访问控制策略研究.pdf_第2页
(计算机软件与理论专业论文)安全数据库强制访问控制策略研究.pdf_第3页
(计算机软件与理论专业论文)安全数据库强制访问控制策略研究.pdf_第4页
(计算机软件与理论专业论文)安全数据库强制访问控制策略研究.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 数据库系统担负着存储和管理业务数据和信息的任务,保证和加强数据库系 统的安全性和保密性是信息安全的一个重要方面。传统数据库系统提供的访问控 制策略能够满足一般应用的要求,但无法满足一些重要部门或敏感领域的需求。 这是因为在传统数据库中,一般访问控制能力只能达到自主访问控制级别,对于 敏感信息和普通信息是按照统一的方式管理的,仅通过用户的权限进行访问控 制,对于那些蓄意的破坏者,特别是内部人员来讲,就无法达到防护的作用。为 了满足越来越高的安全要求,需要提高数据库系统的访问控制能力到强制访问控 制级别,给敏感数据提供特殊的保护。为了达到强制访问控制级别需要在数据库 系统中应用多层关系模型,迄今为止已经提出了很多多层关系模型,但仍然存在 一些不足。主要问题在于模型除了需要具备安全性和功能性以外,还必须具备合 理清晰的语义;另外对于理论模型在系统实现中需要考虑的问题以及系统的性能 问题等,也没有给予足够的重视。 鉴于以上原因,本文重新设计了多层关系模型,并对模型实现和系统性能的 问题提出了解决方法。主要包括以下四方面内容: 1 在对s a n d h u 的m l r 模型分析的基础上,改进了数据语义模型,提出了 对多层关系中所存储数据的新的解释,解决了关系中的元组与现实世界 中的客观事物之间的对应问题。 2 在新的语义模型下,改进了数据借用的规则,使得数据借用操作更加灵 活完善;同时对m l r 模型的5 条完整性约束也做了相应的修改,以适 应新的语义和数据借用操作。 3 针对如何根据改进后的m l r 理论模型进行系统实现的问题,提出了系 统的设计方法。 4 针对增加的安全性会导致系统性能下降的问题,提出了一种适合多层安 全数据库的索引方法,并通过实验证明本文的索引方法对提高多层安全 数据库的性能是有效的。 关键字:多层关系模型安全数据库强制访问控制数据库性能索弓 中图分类号:t p 3 1 1 a b s t r a c t 1 1 圮d a t a b a s e s y s t e ma s s u m e st h et a s k o fd a t as t o r a g ea n di n f o r m a t i o n m a n a g e m e n t , s ot h a te n s u r i n gt h es e c u r i t yo fd a m b 黜s y s t e mi sa ne s s e n t i a lp a r to f i n f o r m a t i o ns e c u r i t y t h ef l c c 七s sc o n t r o lo f t r a d i t i o n a ld a m b a s es y s t e mc a no n l yr e a c h d a c ( d i s e r e t i o n a la c c e s sc o n t r 0 1 ) l e v e l ,b u tn o w a d a y sm o r ea n dm o r ea p p l i c a t i o n f i e l d sn e e dh i g h e ra e a c e s sl e v e lt op r o v i d es p e c i a lp r o t e c t i o nt os e n s i t i v ei n f o r m a t i o n a p p l y m gt h em u l t i l e v e lr e l a t i o n a lm o d e lc a nu p g r a d et h e a c c e s sc o n t r o ll e v e lo f d a t a b a s es y s t e mt om a c ( m a n d a t o r ya c c e s sc o n t r 0 1 ) l e v e l n l em u l t i l e v e lr e l a t i o n a l m o d e l s u p p o r t s ad a t a b a s e s y s t e m w h i c hg o r e sd a t ao fd i f f e r e n t s e c u r i t y c l a s s i f i c a t i o n sa n dp r o v i d e st h e s ed a t at ou e r sw i t hd i f f e r e n tc l e a r a n c e s i no r d e rf o ra u s e rt ob eg r a n t e da c c e s st oi n f o r m a t i o n , h em u s tb ea s s i g n e dac l e a r a n c et h a t d o m i n a t e st h ea c c e s sc l a s so ft h ei n f o r m a t i o n t h e r eh a sb e e nm u c hr e s e a r c hw o r k w h i c hp r e s e n t sm a n yk i n d so fm u l t i l e v e lr e l a t i o n a lm o d e l ,b u tt h e r ea r es t i l ls o m e p r o b l e m st ob es o l v e d f i r s t , b e s i d e s t h es e c u r i t ya n dd a t a b a s ef u n c t i o n , t h em u l t i l e v e l m o d e la l s on e e d sr e a s o n a b l ea n dc l e a rs e m a n t i c s s e c o n d , t h ep r o b l e mi nt h em o d e l i m p l e m e n t a t i o na n dt h ep e r f o r m a n c ep r o b l e mo fm u l t i l e v e ld a t a b a s es y s t e ma r en o t p a i de n o u g ha t t e n t i o n t h e r e f o r e ,i nt h i sp a p e r , w er e d e s i g nt h em u l t i l e v e lr e l a t i o n a lm o d e l ,a n dp r o v i d e s o l u t i o n st ot h ep r o b l e m si nm o d e li m p l e m e n t a t i o na n dt h es y s t e mp e r f o r m a n c e o u r w o r km a i n l yi n c l u d e sf o u r p a r t sa sf o l l o w s : 1 b a s e do nt h ea n a l y s i so ft h em l rm o d e lp r e s e n t e db ys a n d h u , w ei m p r o v e i t ss e m a n t i cm o d e l t h en e ws e m a n t i cg i v e san e we x p l a n a t i o nt ot h ed a t a s t o r e di nt h ed a t a b a s e ,s ot h a tt h ea m b i g u i t yp r o b l e mi nt h em l rs e m a n t i ci s s o l v e d ,a n dt h et u p l e si nt h ed a t a b a s ec a nc l e a r l yr e p r e s e n tt h ei n f o r m a t i o ni n t h er e a lw o r l d 2 u n d e rt h en e ws e m a n t i cm o d e l ,w ei m p r o v et h ed a t ab o r r o wr u l e ,s ot h a tt h e d a t ab o r r o wo p e r a t i o ni sm o r ef l e x i b l ea n dc o m p l e t e a c c o r d i n gt ot h en e w , s e m a n t i ca n dt h en e wd a t ab o r r o wr u l e ,w ea l s or e v i s et h e5i n t e g r i t yr o l e so f m l rm o d e l 3 w e a n a l y z e t h e p r o b l e m s t h a ts h o u l db ec o n s i d e r e d d u r i n g t h e i m p l e m e n t a t i o np r o c e s so fo u rm u l t i l e v e lm o d e l ,a n dw ea l s op r e s e n tt h e s o l u t i o n st ot h e s ep r o b l e m s 4 a l t h o u g ht h em u l t i l e v e ls e c u r i t y d a t a b a s ec a np r o v i d eh i g h e rs e c u r i t y , 2 r e s p o n s et i m ei sa l s oi n c r e a s e da tt h e 韶l n l et i m e a i m i n ga tt h i sp r o b l e m , w e p r e s e n tan e wi n d e xt h a tc a l la d a p tt h eo p e r a t i o n so nm u r i l e v e ls e c u r i t y d a t a b a s e ,t h u sd e c r e a s et h er e s p o n s et i m e t h ee x p e r i m e n t a ld a t as h o wt h a t o r ri n d e xi se f f i c i e n tf o ra c h i e v i n gb e t t e rp e r f o r m a n c ei nm u l t i l e v e ls e c u r i t y d a t a b a s e k e yw o r d :m u l t i l e v e lr e l a t i o nm o d e l ,s e c u r i t yd a t a b a s es y s t e m ,m a n d a t o r y a c c e s sc o n t r o l ,d a t a b a s ep e r f o r m a n c e ,i n d e x c l cn u m b e r :t p 3 l l 3 1 1 背景 第一章序言 信息化是当今经济和社会发展的趋势,目前计算机技术已经深入到社会的各 个领域,政治、经济和社会生活中的各种活动对计算机技术的依赖程度越来越大。 数据库系统是计算机信息系统的核心,已经被各行业广泛地应用来存储和管理大 量的数据,包括机密信息、个人数据以及工商业情报等重要数据,一旦遭到破坏 或窃取,将会造成巨大的经济和其他方面的损失,因此数据库系统的安全性成为 人们日益关注的问题。 对数据的访问控制是保障数据安全的一个重要手段,在目前的商用数据库管 理系统中虽然有一定的权限控制机制,但是一般只会到自主访问控制的程度。这 种访问控制级别对于一般的数据库系统使用人员,可以进行访问上的控制,但是 对于那些蓄意的破坏者,特别是内部人员来讲,就无法达到防护的作用。由于传 统数据库中,对于敏感信息和普通信息是按照统一的方式管理的,内部人员进入 系统之后,就可以对一切信息一览无余。对于蓄意的破坏者,只要利用常见的特 洛伊木马模式的攻击就可以轻松地获取敏感信息。例如,个学生想要获取其指 导教师的g r a d e s 表中的数据,可以这样做: 1 ) 创建一个新表m y c n a d e s ,并将这个表上的i n s e r t 权限授予他的指导教师。 2 ) 然后修改教师经常使用的一些d b m s 应用代码做以下两件事情:第一, 读取g r a d e s 表;第二,把结果写到m y g r a d e s 表中。 这样所有的成绩信息就被拷贝到了m y g - r a d e s 表中,然后删除对应用程序的 修改以保证不让教师发现。尽管已经实施了自主访问控制只有教师的代码才 允许存取g r a d e s 表,敏感数据还是被泄露,这种修改代码的入侵手段已经超出 了自主访问控制的范围。 为了满足越来越高的安全要求,就需要数据库系统具有更高级别的访问控制 机制,给敏感数据提供特殊的保护。强制访问控制机制就是致力于解决自主访问 控制中的这些漏洞。在强制访问控制机制中,每一个数据库对象都被赋予一个安 全级别,而每一个主体都被赋予一个访问级别,系统中的安全级别按照偏序关系 进行组织,在这种偏序关系中有最高和最低的安全级别。对于所有的数据库对象 的读写都有这样两条限制: 1 ) 主体只允许读安全级别不高于自身访问级别的客体。 2 ) 主体只允许写安全级别不低于自身访问级别的客体。 4 有了这样额外的限制,强制访问控制就可以阻止上述的特洛伊木马攻击。 g l a d e s 表被赋予s 安全级别,教师也被赋予s 访问级别,而学生被赋予较低的 访问级别c 。学生只能创建c 级别或更低级别的对象,这样表m y g r a d e s 最多只 能是c 级别的。当学生修改并运行教师应用程序代码,试图将g r a d e s 的内容拷 贝到m y g r a d e s 时就会被禁止,因为教师应用程序代码具有s 级别,不能写级别 低于自身的c 级别的表。 1 2 数据库强制访问控制策略研究现状 数据库系统的强制访问控制模型研究始于七十年代初,3 0 多年来,先后出现 了b e l l l a p a d u l a ( b l p ) 模型,s e a v i e w 模型和s a n d h u 的m l r 模型等许多研究成 果。b e l l l a p a d u l a ( b l p ) 模型是最早提出的强制访问控制模型,这个模型的提出 对解决数据库系统安全问题具有深远的指导意义,是以后提出的各种模型的理论 基础;s e a v i e w 模型则是第一个完整的多层安全数据库模型;9 0 年代末,s a n d h u 在前者的基础上提出了基于新的数据语义模型的m l r 模型,使得多层关系模型 有了较为合理的语义。 1 2 1b e l l l a p a d u l a 模型 b e l l l a p a d u l a 模型的强制访闯控制策略由两个安全规则组成:简单的安全特 性和日c - 晋奇性,通过安全级来强制性地约束主体对客体的存取。该模型定义了安全 级( s e c u r i t yl e v e l ) 的概念。安全级由两部分组成:级别( c l a s s i f i c a t i o n ) 和范围 ( c a t e g o r i e s ) ,级别之间具有一定的偏序关系,偏序关系表示了级别的机密程度; 范围是一个集合,范围与范围之间的关系可以是包含相交或者不相交关系;安全 级是级别与范围组成的二元组,安全级的集合形成一个满足偏序关系的格 ( l a t t i c e ) ,此偏序关系称为支配( d o m i n a t e ) ( ) ,支配定义为:对于s 中任意两个安 全级s 。= ( 1 i , c 。) 和s j = ( b ,c j ) ,s , s j 当且仅当1 1 1 j 且c - 包含c j 。 简单的安全特性:当且仅当主体的安全级支配客体的安全级的时候,主体被 允许读客体,即只能向下读。 特性:当且仅当客体的安全级支配主体的安全级的时候,主体被允许写对 象,即只能向上写 简单的安全特性和删奇性阻止了信息从高安全级向低安全级的流动。 1 2 2s e a v i e w 模型 s e a v i e w 模型是在8 0 年代为了满足美国海军建立a 1 级安全数据库的要求而 提出的。它第一个给出了比较完整的多层安全数据库模型,包括强制访问规则、 多层关系的关系模式和完整性约束。s e a v i e w 模型是一个状态机模型,只要初始 条件是安全的,每个步骤也是安全的,那么系统也就是安全的。基于这种理念, 模型定义了每一层中的主体,状态,命令序列,公理以及一组安全规则。一个状 态是安全的当且仅当它满足相应的状态规则,一个命令序列是安全的当且仅当他 满足相应的状态转换规则,一个系统是安全的当且仅当它满足所有模型中定义的 公理和规则,并且初始状态和所有的命令序列都是安全的。 s e a v i e w 模型定义了多层关系的关系模式,为了满足基本的强制访问控制规 则中的简单安全特性和特性,模型定义了数据库、表、元组和元素之间的层次 关系,即元素的级别不高于它所在元组的级别,每个关系实例中元组的级别不高 于实例的级别,数据库中所有关系的级别不低于数据库级别。考虑到数据库系统 的特性,定义了多层关系模式上的完整性约束来维护关系模型上的数据完整性, 包括实体完整性约束、引用完整性约束和多实例完整性约束。 s e a v i e w 模型的设计出发点是在现有的关系数据库模型上建立安全数据库, 因此,模型采用视图的方式保护数据。如果我们把底层的关系模型看作平面的话, 那么不同安全级别的用户进入系统后,系统根据用户的安全级别生成一个属于他 的视图,包括所有安全级别小于等于用户级别的数据。这样,不同的用户将看到 数据库中的不同信息,相对于以往的平面的结构,新的数据库模型从宏观上看就 具备了多个层次,也就变成了多层关系模型。 s e a v i e w 模型和以往的安全模型相比,考虑到数据库系统的特性,针对数据 库系统提出了多层关系模式和维护数据完整性的规则;首先考虑到了多层关系下 的多实例问题,并给出了解决的办法。但是,s e a v i e w 模型仍然有许多不足之处: 1 ) 并没有考虑到关系模型从单层变为多层以后带来的语义问题;2 ) 由于没有考虑 到语义的问题,在完整性约束方面的规定也不尽合理。 1 2 3s a n d h u 模型 s a n d h u 模型自1 9 9 3 年提出,经过改进和完善,于1 9 9 8 年提出了语义相对 清晰、功能比较完善的m l r 模型。s a n d h u 模型与s e a v i e w 模型都是基于多实例 的多层关系模型,两者的主要区别在于s a n d h u 模型考虑到了多层关系的语义问 题,并根据这种语义重新制定了数据完整性约束。 6 在s a n d h u 模型中,一个多层关系由两部分组成:1 ) 一个多层关系模式,表 示为r ( a l ,c l ,a 2 ,c 2 ,a i l ,c 。,t c ) 。这里,每一a l 是定义在域d 。上的数据属 性,每一c 是a l 的安全级属性,t c 是元组安全级属性。2 ) 一个关系实例,表示 为r ( a l ,c i ,a 2 ,c 2 , ,c n ,t c ) 。对每一个安全级c ,有一个关系实例。每个实 例是形如( a l ,c i ,a 2 ,c 2 ,c n ,t c ) 的元组集合,其中每个元素a i 或者是域d i 中的 一个值,或者是n u l l :每个c ,是小于c 的特定范围中的一个值,t c 是元组中属 性安全级的最小上界。 s a n d h u 模型的语义包括以下四方面:1 ) 用户接受的元组:安全级别为c 的 用户只接受t c 为c 的元组,即只能对这些元组进行操作;2 ) 实体:用户定义的 主键k e y 和k e y c 共同定义了一个实体,表示现实世界中的一个对象;3 ) 实体多 实例:t c 不同的元组可以有相同的k e y 和k e y c 值,表示不同级别的用户对于现 实世界中同一个对象有不同的信息,在传统数据库中不允许存在主键值相同的两 条元组,这是多层安全数据库特有的;4 ) 元组的借用关系:关于同一个实体的 元组之间可能存在借用关系,表示现实世界中的同一个对象在某些属性上要保持 相同的值。 在以上定义的多层关系和多层关系语义下,模型定义了5 条数据完整性规 则:实体完整性规则、多实例完整性规则,数据借用完整性规则,外键完整性规 则和引用完整性规则。在多实例完整性规则中,s a n d h u 去掉了s e a v i e w 模型中 的多值依赖,解决了由它带来的不合理限定问题,本质上讲是限制了实体多实例, 要求一个安全级下一个实体只有一个实例。在数据借用完整性规则中,通过信息 借用语义,提出了数据借用的概念,给出了一种全新的数据上写方式。在引用完 整规则中,要求只有元组级别相同的元组之间才可以建立引用关系,通过语义信 息解决了多实体问题带来的引用关系模糊的问题。 m l r 模型的优点是给出了多层关系模型比较合理的语义,并且在这样的语 义下提出了数据借用的概念,使得叫寺性和简单的安全特性在数据库系统中在语 义和功能两方面完美的结合在一起。m l r 模型的不足之处在于:首先,没有解 决元素多实例问题情况下的语义问题,导致数据库中的元组和现实世界中的实体 之间的对应关系仍然存在模糊不清的问题,有些元组所代表的信息无法对应到现 实世界的客体;其次,虽然提出了数据借用的概念,但是数据借用操作不能很好 的支持传递借用和多值借用等有用的操作。 以上介绍了目前在数据库强制访问控制策略方面所做的一些研究,除了模型 本身存在的问题以外,这些研究都没有对多层关系模型的性能给予足够的重视。 为了提高数据库系统的安全性,多层关系上的操作比传统的数据库操作更为复 7 杂,从而带来数据库系统性能的下降。因此在考虑提高数据库系统安全性的同时, 也必须考虑增强的安全性对数据库系统性能带来的影响,在提供较高的安全性的 同时,系统的响应时间也必须是用户可以接受的。 1 3 本文的工作 1 分析了传统数据库管理系统的访问控制机制中所存在的安全隐患,研究 和总结了目前数据库系统在强制访问控制策略方面的研究现状,比较了各种强制 访问控制模型的优点并指出了不足之处。 2 在对s a n d h u 的m l r 模型分析的基础上,改进了数据语义模型,提出了 对多层关系中所存储数据的新的解释,解决了关系中的元组与现实世界中的客观 事物之间的对应问题。 3 在新的语义模型下,改进了数据借用的规则,使得数据借用操作更加灵 活完善;同时对m l r 模型的5 条完整性约束也做了相应的修改,以适应新的语 义和数据借用操作。 4 目前关于多层关系模型具体实现方面的研究不多,本文针对如何根据改 进后的m l r 理论模型进行系统实现的问题,提出了系统的设计方法。 5 在关系上建立索引可以提高数据库的性能,可是由于多层安全数据库的 操作有其特殊性,传统数据库上的索引方法对多层安全数据库并不是很有效,为 了更大地提高多层安全数据库的性能,本文提出了一种新的索引方法。这种索引 方法是针对改进的m l r 模型上的各种数据库操作需要提出的,并且是以本文提 出的模型实现方法为基础的。 1 4 本文组织 本文后续章节结构如下: 第二章多层关系模型。对m l r 模型进行改进,在此基础上给出一个完整 的多层关系模型,包括多层关系的语义、多层关系的完整性约束,以及多层关系 上的基本数据库操作,并给出了模型的实现方法。 第三章多层关系上的索引。分析改进后的多层关系模型上的数据库操作, 以第二章中的模型实现方法为基础,提出如何针对这些操作的特点,建立适当的 索引,来提高多层安全数据库的性能。 第四章实验评估。通过在p o s t g r e s q l 上实现了一个原型系统,对本文提出 的多层关系索引方法进行测试,证明本文的索引方法对提高多层安全数据库的性 8 能是有效的。 第五章结束语。对全文作一个总结,并提出对后续工作的建议。 9 第二章多层关系模型 为了提高数据库系统的安全性,需要提高数据库系统的访问控制能力到强制 访问控制程度,为了实现强制访问控制需要在数据库系统中应用多层关系模型。 本章在m l r 模型的基础上,提出了改进的多层关系模型,分四个部分对模型进 行描述:1 定义基本的多层关系模型并给出对应的数据语义,2 定义多层关系上 的完整性约束,3 定义多层关系上的数据库操作,4 介绍与模型实现相关的问题 及解决方法。 2 1 基本模型及语义 2 1 1 模型定义 一个多层关系包含以下两个部分: 定义1 :多层关系模式表示为r ( a i ,c l ,a 2 ,c 2 , ,a 。,c n ,t c ) 。其中,每一a l 是定义在域d i 上的数据属性,每一c 是a l 的安全级属性,t c 是元组安全级属 性。c ,在一个集合 l l h 。 中,集合中的安全级构成一个范围在l l 和h l 之间的 格。t c 的值域是所有 l i h l 的并集。 定义2 :多层关系实例表示为r ( a i ,c l ,a 2 ,c 2 ,氐,g ,t c ) 。是一组互不相同 的形如( a l ,g l ,a 2 ,c 2 ,a n ,c l l ,t c ) 的元组集合,其中每个元素a l 或者是域d 中的一 个值,或者是n u l h 每个c 。是 l i h i ) 中的一个值;t c = l u b c 。i i = i - - n ) ,l u b 表示最小上界。 我们假设一个用户定义了主键a k ,它由所有a 。的一个子集构成。一般来说 主键可以包含一个或多个属性,下文中我们将会看到,组成键的所有属性必须有 相同的安全级。为了简化标记,我们假设a l 为主键a k ,因此,在文中,a l 和 a k 都表示主键。同样,所有的a 。也可以被看作是具有相同安全级的属性的集合。 元组级别为c 的元组称为c 级的元组,同样,一个主体被赋予的安全级为c , 该主体称为c 级的主体。 下面就是一个多层关系的例子: s h i po b jd e s tt c e n t e r p d s e u s p y s嘲0 5us e n t e r p r i s eu e x p l o r a t i o n u1 砒o suu 1 0 其中s h i p 是用户定义的主键,第一条元组是s 级的元组,第二条元组是u 级的元组。 本文对多层关系的定义和m l r 模型中的定义只有一点微小的区别:在我们 的定义中取消了安全级为n u l l 的情况,这样改变的根据是,2 0 0 2 年国家公安部 颁布的计算机信息系统安全等级保护数据库管理系统技术要求中要求对于进 入数据库系统的所有数据必须进行标记。 定义3 :多层关系数据库是多层关系的集合。数据库状态是在同一时刻数据库中 所有多层关系实例的集合。 2 1 2 数据语义 2 1 2 1 多层关系模型语义中的问题 定义多层关系模型除了要考虑模型的安全功能以外,模型的语义是否清晰完 整也是非常重要的问题。模型的语义也就是多层关系模型对现实世界的描述方 式,应该尽量与传统的关系模型保持一致,以减少用户的理解困难和差错。但是 多层关系模型在提供增加的安全性的同时,也增加了模型语义解释的难度。下面 在给出模型的详细语义之前,先介绍多层关系模型在语义方面所存在的问题和解 决方法。 1 在传统数据库系统中,所有的关系都是单层的,关系中的主键可以唯一标 识一条元组,与现实世界中的一个客观事物相对应。在多层关系中,为了 增加安全性,用户定义的主键不再能唯一标识一条元组,导致元组与客观 事物之间对应模糊的问题。为了使模型的语义清晰,在不影响安全性的前 提下,需要对这种情况加以限制。首先,多层关系中出现的多实例现象是 由于不同级别的用户对同一实体有不同的看法,所以为了与单层关系保持 一致,我们限制同一级别的用户对同一实体应该只存在一种看法。其次, 用户定义的主键虽然不能唯一标识一条元组,但是仍然应该唯一标识一个 客观事物,这一点是我们的模型和m l r 模型在语义上最大的不同。在 m l r 模型中,规定一个客观事物是由a k 和它的安全级别c a r 共同标识 的,a k 相同c a r 不同的两条元组对应两个不同实体的信息,可是在现实 世界中未必是这种情况,a k 相同c a r 不同未必代表两个不同的实体,只 有a k 才是用户定义的主键,系统不能凭c a r 来决定一个实体,这样可能 会导致语义的错误。因此,在我们的模型中,a k 和客观事物一一对应, 同名不同物的情况并不是数据库系统要解决的问题。 2 在单层关系中,所有的用户对任何实体只有一种看法,可是在多层关系中, 对一个实体可能有多种看法,高级别的用户虽然可以看到所有低级别的数 据,但是只会相信其中的一部分信息,许多对高级别用户无用的信息一起 出现将会严重干扰用户对信息的获取。因此,模型需要增加数据借用的语 义,一个用户借用了一条信息,那么就说明他相信这一条信息,没有特别 指定,用户看到的都是自己相信的信息,借用的数据由拥有者来维护。通 过这样的方式,高级别用户一旦确定了可信的信息来源后,就可以建立与 该信息之间的联系,低级别用户维护自己的信息的时候,新的变更自动映 射到高级别用户处,这样就极大地简化了高级别用户的信息获取工作。因 此,数据借用操作是一种新颖且合理的数据上写方式。 2 1 2 2 多层关系模型的语义 接下来我们给出模型语义的形式化描述。 对于所有实例r ( a l ,c l ,a 2 ,c 2 ,a l i ,c n ,t c ) ,和所有元组t r ,数据按如 下方式进行解释: 1 用户定义的主键a l 和它的安全级别c l , t 【a 1 】在关系r 中对应于一个客观存在的事物,唯一标识了一个实体。 t 【a bc 】表示该元组对实体a l 的看法为c j 级用户所拥有,并且c l 级 的用户相信对a 1 所表示的实体的看法。 t 【c 1 】= c l 表示这个元组代表的看法由c l 级主体拥有,且只能由c l 级主 体维护。如果存在数据借用,那么对该元组的修改将直接映射到借用 信息的高级别用户处。 2 元组级别t c - - - t t c - - t c ,t i c l = c l 表示: t 是由t c 级的用户添加,t 中的所有数据被t c 级用户接受。如果没 有这条元组,那么表示c 1 级用户对该实体的看法不被t c 级用户接 受。元组t 所表示的信息无论是t c 级用户自己拥有的还是t c 级用户 从低级别处借来,都需要由t c 级用户添加到关系中。只有这样该元 组才会出现在t c 级用户相信的信息中。 t 只能被级别高于或等于t c 的主体看到,换句话说,一个主体只能 看到级别低于或等于自身级别的元组。 t 既可以由t c 级主体维护,也可由c l 级用户维护。t c 级用户一旦对 元组进行了修改,那么该元组变为t c 级用户自己的元组,即将t c i 】 的值改为t c 。另外,c 1 级用户是这条信息的拥有者,因此也可以维 护该元组。 一当t t c - - t c l 】时,t 是个的基本元组。所有元组t e r 满足t a i , c i 一【a l ,c d ,都是基于t 的,t 和t 是元组借用关系,因此,要求t 和t 保持同步更新。 3 数据属性a i 和级别属性c 。 l a l ,c j 有t c 。】_ c 和t 【t c 】- t c ( c 。 - - t o ) 表示: 一被t c 级用户接受的数据t a 】的信息来源为c 。级的用户,包括两种情 况,这个信息或者是c 。级用户添加的,或者是c 。级用户从低级别用 户元素借用过来的。 一因为信息t a j 来源于c 级用户,那么它可以被c 。级用户或者被t c 级 用户维护( 更新) 。旦被t c 级用户维护,就失去了借用关系。 一当t 【c d u ,本文后面的例子都满足这样的性质。 s h i po b j d e s tt c e n t e r p r i s eu e x p l o r a t i o nu t a l o suu e n t e r p r i s e s s p y s倒o sus s h a n g h a i s t r a n s p o r t sn yss e n t e r p r i s et s e x p l o r a t i o n ut 甜o sst s s h a n g h a i s t r a n s p o r t sn yst s 对于这张表中的信息,u 级别的用户所能看到的只有第一条元组,表示 e n t e r p r i s e 这条船去t a l o s 从事一些探索活动。s 级别的用户所相信的信息是第二 条和第三条元组,分别描述了e n t e r p d s e 船和s h a n g h a i 船两个实体,这里的 e n t e r p r i s e 船与u 级别所知道的e n t e r p r i s e 船是同一个实体,这一点与m l r 模型 中对实体的定义不同。s 级别相信的信息是,e n t e r p r i s e 船去t a l o s 从事间谍活动, 这条元组中d e s t 属性是从u 级别借用来的,表示在目的地这一属性上,s 级别 的用户信任u 级别用户的信息;另一条信息是s h a n g h a i 船去n y 从事一些运输 工作。t s 级别的用户所相信的信息是第四条和第五条元组,仍然是描述e n t e r p r i s e 船和s h a n g h a i 船两个实体。关于s h a n g h a i 船的信息是元组借用,完全借用s 级 别的信息,这条元组为s 级别用户所拥有,所以主键的安全级别是s 。关于 e n t e r p r i s e 船的信息在两个属性上分别借用了u 级别和s 级别的信息,表示在 o b j 属性上相信u 级别的信息,在d e s t 属性上相信s 级别的信息,如果在该 属性上s 级别失去了与u 级别的借用关系,t s 级别的元组在该属性上仍与s 级 别的信息保持一致,这一点与m l r 模型中的数据借用规则不同,在m l r 模型 中不允许出现这种借用情况。整条元组为t s 级用户所拥有,所以主键的安全级 别是t s 。 2 2 完整性约束 在改进的m l r 模型上有5 条完整性约束,其中实体完整性规则e i 和外键完 整性规则f k i 参考了s e a v i c w 模型中的定义,多实体完整性规则p i 、引用完整 性规则r i 和数据借用完整性规则d b i 参考了m l r 模型中的定义,并为了适应 新的语义模型进行了修改。其中多实体完整性规则p i 和引用完整性规则r j ,因 为消除了m l r 模型中的模糊语义作了相应修改;数据借用完整性规则分为元素 级的借用和元组级的借用,这样是为了在删除的时候区别对待,另外,扩展后的 数据借用规则还将支持传递借用。 2 2 1 实体完整性规则( e d 约束1 实体完整性规则( e i ) :a t ( 是关系r 的主键,多层关系r 的一个实例 r 满足实体完整性规则,当且仅当对于所有的元组t r 满足: ( 1 ) a l a k ,则t 【a j n u l l ( 2 ) a ,a je a k ,则t t c 一】= t c j 】 第一条要求与传统关系模型中的实体完整性规则一致,保证r 中的所有元组 在a k 的任何属性上都没有n u l l 值。第二条要求一条元组中,a k 的所有属性 1 4 都有相同的安全级别,所以我们可以定义c a r 为主键a k 的安全级别。要求a k 中的属性必须有一致的安全级别,是因为这些属性构成了一个整体,与现实世界 中的一个实体相对应,不能把它们割裂开,c a i ( 代表了这条元组是c a k 级别的用 户对该实体的看法。 2 2 2 多实例完整性规则( p i ) 约束2 多实例完整性规则( p i ) :多层关系r 的一个实例r 满足多实例完整性 规则,当且仅当对任意的i - - i - - n ,满足: ( 1 ) a t ,t c 唯一决定c l ( 2 ) a l ,c i 唯一确定a 。,c 。 第一条要求在每个访问级t c 下,只相信对a l 所表示的实体的一种看法。第 二条要求同一个级别对同一个实体只能有一种看法。两条共同表示的是,一个级 别的用户,只接受对于一个实体的一种看法,并且一个级别的用户对任何个实 体只能有一种看法。 例如,下面这种情况是允许的: s h i p o b jd e s tt c e n t e r p r i s e t s s p y t s1 w o sut s e n t e r p r i s e s m i n i n g s r i g e l ss e n t e r p r i s e u e x p l o r a t i o nu t a l o suu 因为在三个级别t s ,s 和u ,主体都只有一条关于e n t e r p d s e 船的看法,并且只 接受一条关于e n t e r p r i s e 船的看法。 然而,下面这种情况是不允许出现的,因为在s 级别接受了对e n t e r p r i s e 船 的两个看法: s h i po b jd e s tt c e n t e r p r i s e s s p y s 尉g e l ss e n t e r p r i s e u e x p l o r a t i o n u1 址o sus e n t e r p r i s e u e x p l o r a t i o n u 1 铷o suu 同样下面这种情况也是不允许出现的,因为s 级别对e n t e r p r i s e 船给出了两 种看法: s h i po b jd e s tt c e n t e r p r i s es s p y s 黜g e l ss e n t e r p r i s e s e x p l o r a t i o n u r i g e l ss e n t e r p r i s eue x p l o r a t i o nu嘲o suu 多实例完整性规则限制在一个级别下不出现多实例现象,这样不会发生一个 用户在自己的级别下看到两条键值一样的元组,避免了语义的混乱。另外,我们 的多实例完整性规则也不存在信息的向下泄漏,因为,当低级别用户插入一条元 组的时候,不会因为高级别用户处已经有了键值相同的元组而拒绝插入,唯一导 致不能插入新元组的情况是,在用户的安全级下,已经有了一条键值相同的元组, 而这正是传统数据库中的数据插入规则。 2 2 3 数据借用完整性规则( d b i ) 数据借用规则保证数据可以向高级别流动,低级别数据的改变可以自动的反 映到高级别处,是一种新颖合理的数据上写操作。这条规则包括元组借用和元素 借用两个部分。把数据借用分成这样两类,是为了在低级别用户删除信息的时候, 对于不同的借用方式区别对待,采取不同的方式处理被高级别用户借用的信息, 并且这种处理在语义上是合理的。元组借用是指高级别用户不作任何改动借用整 条元组的信息;相对的,只对某个或某几个属性值的借用,则称为元素借用;从 多个元组的不同属性上借用信息称为多值借用,此时每个存在借用关系的元组之 间保持元素借用关系。 约束3 数据借用完整性规则( d b i ) : ( 1 ) 元组级借用规则( t d 珊) :一个多层关系r 的一个实例r 满足元组级t d b i , 当且仅当对于所有的元组t r 和2 = i - 诅,如果有t c d t t c ,那么存在t r 满足t 【a l 】= t a i 】f i t a t ,c j = t t a 。,c 一】n t t c l - - t c d 。 元组级的借用表示高级别用户对低级别用户的信息完全信任,即高级别 用户对于这个实体没有自己的看法,所有关于这个实体的信息都依赖于低级 别用户对自己的汇报。同时,信息借用以后,高级别用户表中添加的元组必 须以被借用信息的t c 为c l ,以表示关于该实体的信息来源。和m l r 模型 相比主要的不同在于,进行元组级借用以后,并不一定要求有t 【a 1 ,c d = t a 1 ,c l 】。原因在于在m l r 模型中c l 实际上是键的一部分,起到决定实体 的作用,所以为了保证借用是在同一个实体之间的,必须做出这样的要求: 而在改进后的模型中,a l 唯一确定一个实体,因此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论