




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)b1级安全数据库安全机制的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
堕玺鎏三堡盔兰堡圭兰垡笙苎 摘。要 随着计算机的广泛使用和i n t e r n e t 的迅速普及,出现了大量的信息,在 这些信息中既有一般的可公开信息,也有需要保密的重要信息。数据库系统 必须保证保密信息的安全存储和访问,如何保障数据库的安全性就成了一个 亟待解决的问题。 多级安全数据库通过为访问数据库的主体和数据库中的客体指定安全 级,主体的对客体的访问遵循强制存取控制策略,实现了对数据库中信息的 保护。多级安全数据库中引入了安全级的概念,因此和传统的关系数据库相 比,产生了一些新的问题。本文研究了多级安全数据库中的一些特殊问题, 如:多级关系、推理问题、多实例和强制存取控制。在数据库中引入规则可 以使数据库具有主动反映的特性。本文对在多级数据库中引入规则进行了研 究,提出了多级规则的语法和多级规则的表示方法,研究了规则的执行等问 题。查询处理是数据库管理系统的一个重要组成部分。本文重点研究了多级 安全环境下,利用约束处理来实现查询处理的方法。在扩充传统s o l 语言的 基础上,本文提出了多级安全s o l 语言的语法并研究了其实现问题。本文最 后还研究了b 1 级安全数据库系统的设计方案。 关键字:数据库;多级安全;安全级;查询处理 哈尔滨工程大学硕士学位论文 a b s t r a c t w i t ht h e w i d e l y u s eo fc o m p u t e ra n dt h e p e r v a s i o no fi n t e r n e t ,m u c h i n f o r m a t i o nh a sb e e np r o d u c e da n ds t o r e di nt h ed a t a b a s e ,a m o n gw h i c ht h e r ea r c p u b l i c i n f o r m a t i o na n ds e c r e ti n f o r m a t i o na sw e l l d a t a b a s em u s tp r o t e c tt h e a c c e s so fs e c r e ti n f o r m a t i o ns t o r e di ni t t h u s ,i ti sa l lu r g e n ta n di m p o r t a n tt a s kt o e i l s u r et h es e c u r i t yo f t h ed a t a b a s e i nm u l t i l e v e ls e c u r ed a t a b a s e ,s u b j e c t sa c c e s s i n gt h ed a t a b a s ea n do b j e c t s s t o r e di nt h ed a t a b a s ea r ea s s i g n e ds e c u r i t yl a b e l s s u b j e c t sa c c e s st h eo b j e c t s a c c o r d i n g t ot h e r e l a t i o n s h i p b e t w e e nt h e i r s e c u r i t yl a b e l s ,f o l l o w i n g t h e m a n d a t o r ya c c e s sc o n t r o lp o l i c y t h ei n t r o d u c i n go fs e c u r i t yl a b e lb r i n g sa b o u t m a n y n e w p r o b l e m s ,s u c h a sm u l t i l e v e l r e l a t i o n ,i n f e r e n c e p r o b l e m , p o l y i n s t a n t i a t i o na n dm a n d a t o r y a c c e s sc o n t r 0 1 w ed i s c u s st h e s ep r o b l e m si nt h i s p a p e r i n c o r p o r a t i n g r u l e si n t od a t a b a s ec a n g i v ei tt h ea b i l i t yt or e s p o n s ea c t i v e l y w e g i v e t h es y n t a x ,r e p r e s e n t a t i o no fm u l t i l e v e lr u l e sa n dd i s c u s st h ee x e c u t i o no f i t q u e r yp r o c e s s i n gp l a y sa ni m p o r t a n tr o l e i nt h ed a t a b a s ef u n c t i o n a l i t y w e f o c u so nt h er e s e a r c ho fq u e r ym o d i f i c a t i o nb ya p p l y i n gs e c u r i t yc o n s t r a i n t s b a s i n g o nt r a d i t i o n a ls q l ,w eg i v et h e s y n t a xo fm u l t i l e v e l s e c l l r e s q la n d d i s c u s si t s i m p l e m e n t a t i o n f i n a l l y , w ed e s i g nt h ea r c h i t e c t u r eo fb 1l e v e ls e c u r e d a t a b a s ea n dd i s c u s ss o m ei s s u e sr e l a t i v et oi m p l e m e n t a t i o n k e y w o r d s :d a t a b a s e ;m u l t i l e v e ls e c u r i t y , s e c u r i t yl a b e l ;q u e r yp r o c e s s i n g 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) : 日期:年月目 堕玺鎏占鹜盔主鎏圭主些鲨銮 1 1 引言 第1 章绪论 随着计算机在社会各个领域的广泛应用,越来越多的数据被存储在计 算机中,这其中既有大量的供用户共享的一般信息,也有一些涉及到部门 或商业机密的敏感数据,对于对敏感数据的存取必须加以控制,以防止信 息的泄漏造成严重后果。数据库作为存储信息的地方,其安全性的重要就 不言而喻了。现有的商业数据库虽然提供了一些访问权限控制,但远不能 满足一些重要部门如国防、金融、政府等对数据安全性的要求,这种情况 迫切要求研究出一种真正意义上的安全数据库。安全数据库是相对于一般 的数据库而言的,它是满足一组安全特性要求的数据库,通常是指满足b 1 安全级以上要求的数据库。 1 2 国内外研究现状 对计算机安全的研究开始于2 0 世纪六、七十年代。1 9 6 7 年1 0 月,在 美国国防科学技术委员会的赞助下成立了特别工作组,致力于计算机安全 保护、远程访问保护、远程共享计算机系统的保密信息。从6 0 年代末、7 0 年代初期开始出现一系列有关计算机安全的论文【1 】。 从7 0 年代初期,欧美等发达国家就开始重视计算机系统的安全问题。 1 9 7 3 年,b e l l 和l a p a f l u l a 提出了著名的b e l l l a p a d u l a l 2 1 模型,以形式化方 法研究了操作系中的安全策略问题。美国政府在1 9 8 5 年发布了“可信计算 机系统评价标准( t c s e c ) ”桔皮书( 简称d o d 8 5 ) 1 3 ;欧洲四国也发布 了“信息技术安全评价标准( i t s e c ) ”。许多重要的国际标准化组织,如 堕笙鎏三垄盔耋璧圭耋垡鎏耋 。 i e e e p o s i x 的f i p s 、x o p e n 等,都在安全性方面展开了工作。在d o d 8 5 中,就系统的安全级别( 或可信级别) 给出了很具体的描述。d o d 8 5 将可 信系统划分为四类七个级别,即d ,c ( c 1 、c 2 ) ,b ( b 1 、b 2 、b 3 ) 和a 类,后 来又发展到超a 级,其可信程度由d 到a 依次升高,其中d 级为最小安 全保护。这个可信标准主要用于计算机操作系统的评估上。d e n n i n g 等 人于1 9 8 6 年提出了s e a v i e ws e c u r i t y m o d e l ( 安全数据视图模型) h 2 3 2 “,并 据此实现了一个a l 级的数据库原型系统,对数据库安全的研究具有重大 的示范意义。 1 9 9 4 年4 月,美国国家计算机安全安全中心( n a t i o n a lc o m p u t e r s e c u r i t yc e n t e r , n c s c ) 颁布了t d i ,即“可信计算机系统评估标准在数据库 管理系统的解释”( t r u s t e dd a m b a s em a l l a g e m e n ts y s t e mi n t e r p r e t a t i o no f t h et r u s t e dc o m p u t e re v a l u a t i o nc r i t e r i a ) 它将t c s e c 扩展到数据库管理系 统。t d i 沿用t c s e c 的做法,将数据库分为d 、c 1 、c 2 、b 1 、b 2 、b 3 和a 1 共7 个安全等级。对每一个安全等级,从安全策略、责任、保证和 文档四个角度描述了安全性划分的标准。表1 1 显示了t c s e c 各个级别的 基本定义。 表1 1t c s c e 各个安全级别的基本定义 级别定义 a 1 设计的形式化验证( v e r i f i e d d e s i g n ) b 3 安全域( s e c u r i t yd o m a i n l b 2 结构化保护( s t r u c t u r a lp r o t e c t i o n ) b 1 带标记的安全保护( l a b e l e d s e c u r i t yp r o t e c t i o n ) c 2 受控的存取保护( c o n t r o l l e d a c c e s sp r o t e c t i o n ) c l 自主安全保护f d i s c r e t i o n a r y s e c u r i t yp r o t e c t i o n ) d 最小保护( m i n i m a p r o t e c t i o n ) 2 哈尔滨工程大学硕士学位论文 我国政府对计算机系统的安全性问题给予了高度的重视。1 9 9 4 年2 月 国务院发布了中华人民共和国计算机系统信息安全保护条例,标志着我 国计算机信息处理工作对安全性的需求进入了一个新的阶段。近年我国已 经根据t d i 和t c s e c 编制了相应的适用于数据库管理系统安全标准的国 标。 在美国的大型d b m s 中,多数产品已经通过美国n c s c 的安全认证,达 到b 1 级或者相当于b l 的级别,估计个别的系统已经达到b 2 级,具体产品 有:i n f o r m i x 公司的i n c o r p o r a t e d1 n f o r m i x o n l i n e s e c u r e5 0 ,o r a c l e 公司的t r u s t e do r a c l e 7 。s y s b a s e 公司的s e c u r es e r v e rv e r s i o n l l 0 6 等【5 】。目前我国也开发出了一些安全数据库产品,如:北京大学和中国人 民大学等合作开发的c o b a s e 、东软集团研发的o p e n b a s e s e c u r e 、原华中 理工大学研发的d m ( 达梦) 系列数据库以及南京大学与南大苏富特软件股 份有限公司共同开发研制的s o f t b a s ev 1 0 。美国的g e o r g em a s o n u n i v e r s i t y ( 乔治梅森大学) 对安全数据库方面的研究十分活跃。 1 3 本文的研究内容 本文研究了数据库安全的一些特有的问题,如多级安全关系、多实例、 推理问题以及强制存取控制。本文也研究了在多级安全数据库中引入规则 以增加数据库的安全性,还研究了利用约束处理增加安全性的问题。本文 重点研究了多级安全数据库查询处理,对查询处理的策略,约束处理和查 询处理器的设计和实现进行了研究。最后,本文还提出了b 1 级安全数据库 管理系统的设计方案。 第2 章安全数据库中的新问题 2 1 多级关系 安全数据库中的数据,是被赋予了不同的密级的,这是它与普通数据 库中的数据不一样之处。因此,为了处理多级数据,必须对标准的关系模 型进行扩展。不同的安全模型对多级关系有不同的处理方法,主要在于它 们对多级关系模式的定义不同。以贾让第沙胡模型( j a j o d i aa n d s a n d h u m o d e l ) 6 1 为例,它对多级关系的定义如下: 一个多级关系由如下两部分组成: 1 ) 一个独立于状态的多级关系模式r ( a l ,c 1 ) 一a 。,c 。,t c ) ,这里,每一a i 是定义在域d t 上的数据属性,每一c - 是a 的密级属性,t c 是元组的密级 属性。c ,的域是一个由【l j ,h i 描述的范围,是存取级的从l 到h i 的子格。 t c 的域仍是一个范围,此范围可形式化地描述为 1 u b l i :i = l ,n ) ,l u b h i :i = l ,n 】。t c 域的最低元素和最高元素,分别等于 属性的密级域的最低元素和最高元素的最小上界。 2 ) 一个依赖于状态的关系实例集合r c ( a i ,c k a n ,c n ,t c ) ,在给定的格中, 对每个存取级c ,有一个关系实例。每个实例是形如( a i ,c i ,a n ,c 。,t c ) 的元 组集合,其中每个元素a i 或是域d i 中的一个值,或者是n u l l ;每个c i 是小于 等于c 的特定范围中的一个值,即c i 属于 l j ,h i ,c i - c ,t c 是元组中属性存取 级的最小上界,即t c = l u b c i :i = l n 。 一个关系在给定存取级的实例表示关系在给定存取级的副本。在元组 t 中,每个元素t a i 在存取级为t c i ,或存取级更高的实例中是可见的;丽 在较低存取级的实例中,每个t m n 替换为空值。表2 1 是一个多级关系 的实例,表2 2 和表23 是多级关系在不同存取级的实例。 堕垄鎏三堡奎耋堡圭茎堡垒耋 表2 1 一个名为“职工”的多级关系 姓名 c 1 部门 c 2 工资 c 3t c 鲍华 s 生产 s1 0 0 0ss 安林 s 情报 s2 0 0 0t st s 赵明 t s 情报 t s3 0 0 0t st s 表2 2 职工关系的s 级实例 姓名 c 1 部门 c 2 工资 c 3t c 鲍华 s 生产 s 1 0 0 0ss 安林 s 情报 s ss 表2 3 职工关系的t s 实例 姓名 c i 部门 c 2 工资 c 3t c 鲍华 s 生产 s1 0 0 0 ss 安林 s 情报 s2 0 0 0t s t s 赵明 t s 情报 t s3 0 0 0t s t s s m i t h w i n s l e t t 模型是由s m i t h 和w i n s l e t t 等人在1 9 9 2 1 9 9 4 年提 出的,模型是在关系数据库系统中应用强制存取控制策略保汪数据的安全 的。模型是基于置信( b e l i e f ) 的。 模型引入了多级数据库的概念。一个多级数据库可以看作是通常的关 系数据库的集合,对一个安全格中的每个安全级有一个数据库。所有数据 库共享同样的模式,对每个数据库分配一个安全级( 或称为密级) 。一个给 定安全级的数据库包含同一安全级的所有主体所相信的反映在数据库模式 中现实世界状态。一个主体相信与其具有相同安全级的数据库的内容。一 个主体看到的是他和比他安全级低的主体所置信的数据。即一个主体能读 取的是安全级低于或等于其本身安全级的数据库中的内容。 e 。茁;鎏王臣;ii 圭i j 玺垒:l 一 与s e a v i e w 模型和j a j o d a - s a n d h u 模型不同,s m i t h w i n s l e t t 模型不 支持对单个属性划分安全级,只对码属性和整个元组分配安全级。在 s m i t h w i n s l e t t 模型中,一个多级关系模式可表示为: r ( k ,k c ,a 1 ,a n ,t c ) 其中,k 是码属性集合,每一个a i 是关系中的属性,k c 和t c 分别是码和 元组的密级。偶对( k ,k c ) 成为实体标识( e i d ) 。表2 ,4 一给出了一个多级关 系的实例。 表2 4 一个多级关系 姓名 k c部门工资t c 鲍华 u生产1 0 0 0u 安林 u生产1 0 0 0u 安林 u情报2 0 0 0c 赵明s情报 2 0 0 0s 2 2 推理问题 如果用户可以从数据库中的低密级数据推导出高密级的数据,则数据 库中存在一条推理通道口】。数据库中推理通道的存在将导致敏感数据的泄 漏,这种信息泄漏并非来自直接对安全机制的攻击而是来自信息本身的特 性和语义。基于强制安全策略的系统可以防止低存取级的用户读到高密级 的数据,但不能防止他们基于语义和应用来推导高密级的数据。 推理通道分为静态推理通道和动态推理通道两种。静态推理通道是指 当数据库处于某个特殊的状态时,可以从低密级的数据和约束本身推导出 高密级的数据。所谓动态推理通道指当数据库状态发生某种特定状态的改 变时,如可能由于低存取级用户的一个操作违反了某种约束而拒绝执行该 操作时,从而使用户推导出高密级的数据的存在。 由于推理通道会导致敏感数据的泄漏,因此必须加以检测并进行消除。 目前已经提出了一些检测和消除推理通道的方法。推理通道是近年来安全 数据库研究领域的一个重要研究方向。 2 3 多实例 安全数据库中为了引入安全级,需要对传统的关系模式进行扩充,形 成多级关系。多级关系中可能存在这样的元组,它们具有相同的外观主码 ( 传统关系模式中的关键字) 但外观主码的存取级不同,这种情况是允许的, 因为高密级的数据往往才是真实的数据,而低密级的数据只不过是用来隐 藏高密级数据的存在。这就产生了多实例【9 】。由于多实例的存在,多级关 系的关键字的定义也相应的发生了改变,多级关系中关键字定义为外观主 码,外观主码的密级以及所有非码属性的密级。表2 5 显示了一个多级关 系,其中元组2 和元组3 是多实例元组。 表2 5 一个多级关系 姓名 c 1年龄c 2工资c 3t c 张海 u2 8u1 0 0 0uu 王立u3 0u1 5 0 0uu 王立u3 0u3 0 0 0cc 赵强 u4 5u4 0 0 0ss 2 4 强制存取控制 强制存取控制策略中主体对客体的存取是根据二者之间安全级的关 系。在强制存取控制策略中,系统中的主体和客体都被赋予了安全级,主 体的安全级称为许可证( c l e a r a n c e ) ,客体的安全级称为密级 ( c l a s s i f i c a t i o n ) 。强制存取控制策略一般遵循b e l 卜l a p a d u l a 模型的规 则,即主体能读客体,仅当主体的安全级支配客体的安全级;主体能写客 体,仅当主体的安全级被客体的安全级所支配。强制存取控制根据主客体 的安全级来决定主体是否能存取客体,排除了由于主体随意转让权限而造 成信息泄漏的可能,能提供较强的安全保障,但由于对存取控制的限制过 于严格,有时会造成主体根本不能存取客体的情况,即产生不可用性。 在经典强制存取控制模型b e l l l a p a d u l a r 中,为保证系统的安全,模 堕奎鎏苫堡盔主璧圭誊j 耋鎏銮 。 型定义了一组必须满足的规则集合。系统中每个要求的操作由系统的访问 监视器控制。当且仅当操作满足模型的所有规则时,此操作才能允许执行。 安全规则如下: f 1 1 简单安全规n ( s s 规则) 仅当一个主体的安全级别支配另一个客体的安全级别时,主体爿能具有对此客 体读或写的存取权限。 此规则的目的是防止主体读取安全级别比它的允许安全级别高的客 体中的信息。它防止主体直接从不允许他存取的级别的客体中存取信息。 ( 2 ) 星( + ) 规则 一个不可信主体可以对一个客体具有“添加”( a p p e n d ) 权限,仅当此 客体的安全级别支配主体的当前安全级别。 一个不可信主体可以对一个客体具有“写”( w r i t e ) 权限,仅当此客体 的安全级别等于主体的当前安全级别。 一个不可信主体可以对一个客体具有“读”( r e a d ) 权限,仅当此客体的 安全级别受主体的当前安全级别的支配。 上述两条规则可以总结为下面两个基本规则: 1 ) n or e a d u ps e c r e c y 一个主体仅能读取其安全级别受此主体安全 级别支配的客体的信息。 2 )n ow r i t e d o w ns e c r e c y 一个主体仅能向其安全级别支配此主体 安全级别的客体写信息。 通常又把这两条规则简称为“不上读,不下写”规则。 2 5 本章小结 多级安全数据库与传统的数据库不同之处在于访问数据库的主体和数 据库中的客体( 存储在数据库中的数据) 都被赋予了安全级,主体对客体 童玺鎏苫堡盔兰堡圭兰堡垒塞 。 的存取实行强制存取控制。正是由于上面的不同,多级安全数据库中出现 了传统数据库中不存在的一些新问题,如多级关系、推理问题、多实例和 强制存取控制。多级关系对传统的数据库关系模式进行了扩展,引入了安 全级,这一方面增加了数据库的安全性,另一方面也带来了语义上的问题。 不同的安全模型对安全关系有不同的定义。推理是指低安全级的用户能够 推出高安全级的数据,这是违背安全数据库中信息流动原则的,是安全数 据库中要努力消除的问题。目前已经提出了很多解决数据库中推理问题的 方法。多实例是指数据库中存在的关键字相同,而关键字的安全级不同的 元组,多实例的引入是为了避免引入推理通道。引进多实例在增强数据库 安全性的同时,也使得多级安全数据库的语义更加复杂。多级安全数据库 中主体对客体的访问必须遵循强制存取控制策略,即根据主客体安全级的 关系决定主体能否访问客体。经典强制存取控制模型b e l l l a p a d u l a r 规 定主体对客体的存取原则是“不上读、不下写”。 第3 章多级安全规则 产生式规则系统正在迅速被引入到数据库系统中,这样就产生了主动 数据库。规则使传统的被动数据库增加了反应能力,允许用户自定义约束, 传播更新的效果,并将相应的变化通知给有关用户。主动数据库的规则读 数据也改变数据,在不需要用户干预的情况下,能够对数据库状态的变化 做出回应。规则可以是面向集合的,并可以在一次执行中影响数据的大量 子集。规则可以触发其他的规则,引起规则的链式执行。 在数据库中引入规则极大的增强了用户操作数据库的能力。规则可以 充当用户的代理,它们可以自动施加策略和高级别的约束。与此相对照的 是,安全数据库限制它们所管理的数据对象。安全策略严格的控制着用户 和进程对数据的提取和改变。 引入主动规则对数据库安全的影响的研究刚刚开始。规则的许多方面 和规则的执行都对安全具有影响。 规则的描述规则的描述是一种形式的数据,数据库必须限制对它们的 存取。例如:企业的知识库可能包含了通过很大代价获取的专业知识。知 识库中规则的描述可能包含了一些分类的等式和协议等。 规则的触发规则是由事件和数据库状态的变迁触发的,当一个事件是 由有安全级别的用户执行时,任何没有被指定安全级的规则既不能被看见, 也不能被触发。数据库必须能够将事件当作安全对象加以分类和保护。 规则的动作规则可以读和更新数据库。数据库必须限制对规则动作的 存取特权。否则个非密级的用户可以利用某一规则去读数据,如航班的 目的地,或者错误的更新它。 所有这些要求都必须被满足并被集成到一个单一的可理解的安全框架 中。 本文中,我们采用多级安全关系数据库模型作为主动数据库规则的框 架。我们用主动规则来扩展这个模型,来达到主动数据库的功能而又不违 反强制安全。 0 哈尔滨工程火学硕士学位论文 多级安全数据库规则遵循事件一条件- 动作( e c a ) 规则模型。规则由 事件触发,然后条件谓词被检验,如果检验条件为真,就执行相应的动作。 多级安全规则是面向集合的同时也是基于s q l 的,与s t a r b u s t 数据库的规 则一样,但不同于一般专家系统中的产生式规则。 多级安全规则在很多方面适应多级安全环境的要求。 规则描述和触发事件都表示在带安全标记的元组里,是受到数据库保 护的安全客体。 所有用户可定义的主动部件( 规则的动作,触发检测的后台程序) 都 必须符合对多级安全主体的强制安全约束。 本文描述了一个减轻隐蔽存储通道的规则实现策略和一个减轻隐蔽时 间通道的执行算法级联事务。 尽管许多其它的数据库功能都会用于引入规则受到影响,如并发控制、 恢复和高效的存取等等,本文中,我们主要关注规则和多级安全的交互, 我们还讨论了其他一些与安全有关的问题,如效率和事务。已经有许多工 作讨论了在系统安全中引入各种规则的问题。 3 1 多级安全规则的语法 多级安全规则具有如下的语法形式: w h e nt r a n s i t i o np r e d i c a t e ( t h e e v e n t ) i fc o n d i t i o np r e d i c a t e ( t h e c o n d i t i o n ) t h e n o p e r a t i o nb l o c k ( t h e a c t i o n ) 变迁谓词变迁是一个事务中的一组操作。事务中用户定义的动作可以 构成一个变迁,事务中执行的规则的动作也可以构成一个变迁。规则可能 在每个变迁的最后执行。 变迁谓词由u p d a t e d ,i n s e r t e d 和d e l e t e d 后面跟上关系数据库中表的名 字丽构成。当在一个变迁中,指定的操作发生在表上时,变迁谓词的值为 真,例如,u p d a t e de m p l o y e e 指对关系e m p l o y e e 的一次更新。 当规则变迁谓词值为真时,规则被触发。规则执行的前提条件是:变 迁滑词 i f 哈尔滨工程大学硕士学位论文 在每一个变迁的最后被检验;在每一个变迁中,规则被试探性的触发,当 满足规则的变迁谓词的事件发生时,规则被放到未决规则集里;在变迁的 最后阶段,未决规则集里每一个规则的变迁谓词再次被检验,如果它仍然 为真,那么规则被触发。如果一条规则在变迁的未决规则集中,但是没被 认为要执行,下一次它将不会被放到未决规则集中。 对多级安全规则来说,满足变迁谓词的事件必须对该规则可见。 条件谓词条件谓词可以是任意的s e l e c ts q l 语句。如果s e l e c t 的结 果不为空,条件谓词被满足。i f 语句可以被省略,省略i f 语句时认为i f 语句总是被满足。 s e l e c t 语句可以引用4 个变迁表,即包含被当前变迁所影响的元组集 合的临时表。这4 个表示i n s e r t e d ,d e l e t e d ,n e wu p d a t e d 和o l du p d a t e d 。这 些表都是内存表,从变迁开始时存在,到变迁中所有被触发的规则执行完 毕后消失。 s e l e c t 语句可以带有b e l i e v e db y 语句。 动作语句块动作语句块由非空的s q l 语句序列组成。 动作语句可以引用变迁表。由于强制安全的限制,规则的动作语句块 仅能影响和正在执行的规则安全级相同的数据。 3 2 多级安全规则的一个例子 表3 1 关系s t s t a r s h i pk cn a t i o n a l i t ym i s s i o n ld e s t i n a t i o n s p e e d s e c t o rt c e n t e r o r i s euf e d e r a t i o n e x p l o r a t i o nie a r t h3 ov e n u su e n t e r o r i s euf e d e r a t i o n s e c u r i t y l e a r t h 3 0v e n u ss f a l c o nur o l t t m a n m i n i n g fj u p i t e r2 0p l u t ou 关系s t , 安全级的取值为u ,c ,s ,其中u c s 。 关系中的前n + n t l l n 于同一个实体,它们具有相同的元组标识 e n t e r p r i s eu 。第三个元组属于另一个实体。第一个元组代表了u 级用户所 相信的e n t e r p r i s eu 的信息。这是e n t e r p r i s eu 的基本元组,第二个元组则 不是e n t e r p r i s eu 的基本元组,因为它从第一个元组中重载了信息,s 级用 1 2 哈尔滨工程大学硕士学位论文 户相信除了m i s s i o n 以外的所有u 级用户所相信的信息。 假设下面一种情况,随着敌意的增加,s 级别的智能生命发现r o m u l a n 正在 海王星的一颗卫星上攻击“夜鹰”号飞船。任何靠近海王星的r o m u l a n 飞 船都被密切监视。s 级智能生命相信任何出现的飞船都将出于军事任务加 入到对“夜鹰”号的战斗中。因此,我们定义了一个s 级规则w a t c h n e p t u n e , 它包括了列 s 级任务解释的知识和相应的反应。规则w a t c h n e p t u n e 监视出现在海王 星附近慢慢减速的r o m u l a n 飞船。如果发现了这样的飞船,将为s 级“夜 鹰”号增加一个元组,该飞船的任务和目的地将被更新,同时将该事件通 知给中央控制室。规则定义如下。 w h e n u p d a t e ds t i f ( s e l e c t + f r o mn e w u p d a t e ds t w h e r e n a t i o n a l i t y = “r o m u l a n ”a n d s e c t o r = “n e p t u n e , a n d s p e e d 2 o ) ) w h e r e t r u e ; 哈尔滨工程大学硕士学位论文 规则t r a c k e d f a s t s h i p s 显示了多级安全环境下一个规则同时存在于多个 安全级的必要性。在每一个安全级,看到的飞船的数目可能不同,例如, 如果“夜鹰”号是一个快速飞船,那么s 级将看到2 艘快速飞船( “夜鹰” 号和“企业”号) ,c 级和u 级则只能看到1 艘快速飞船( “企业”号) 。虽 然,s 级规则足够计算出每一个安全级的快速飞船的总数,但是s 级规则 不能将这些信息传递给低安全级,因为用户的写规则必须遵循+ 规则。因此, 规则t r a c k e d f a s t s h i p s 必须运行在每一个安仝级。图3 3 显示了关系s t 的所有级别的规则。 3 4 规则关系 图3 3 关系s t 的所有级别的规则 多级安全规则用规则关系来表示,每个规则关系含有8 个字段。 名字:用户定义的规则名称。 变迁:触发规则的事件。 表:变迁所依附的表。 1 5 哈尔滨工程大学硕士学位论文 k c :关键字的安全级。 条件:规则的条件。 动作:操作语句块。 状态:规则的当前状态( 未激活或者激活) 。 t c :元组安全级。 名字是用户指定的规则名字。变迁和表规定了触发规则的事件。变迁 可能是d e l e t e d ,i n s e r t e d 或者u p d a t e d 中的一种。表可以是用户模式的表, 也可以是规则关系。k c 是规则插入时的安全级。n a m e ,t r a n s i t i o n ,t a b l e ,k c 组成了规则的实体标识符,以区分规则关系中不同的实体。条件和动作是 相应的字符串。一个规则的状态要么是未激活状态,要么是激活状态。规 则一直处于未激活状态,直到用a c t i v a t e 命令将它激活或者用d e a c t i v a t e 命 令将规则钝化。 规则关系通过规则处理接口插入,规则处理接口将文本规则转换成规 则关系元组,并保证每个字段的值属于它们的值域。插入后,所有规则自 动被赋予未激活状态,并且只能在未激活状态被删除。规则的条件和动作 只能在规则未被激活时更新。状态字段不能在u p d a t e ,i n s e r t ,d e l e t e 操作中赋 值。 一个规则关系示例如下。 表3 4 一个规则关系 n a m et r m a s i t i o nt a b l ek cc o n d i t i o n 1 a c t i o n 1 s t a t et c t r a c k e d - f a s t s h i p s i n s e r t e ds tup r e d i c a t e l 卜a c t i o n l 1du w a t c h n e p t u n e i n s e r t e ds ts ,p r e d i c a t e 2 i a c i t i o n 2 一 d s 3 5 规则的激活和钝化 当一条规则处于激活状态时,它被安装到数据库管理系统的运行系统 中。它被当作安全级别等于其元组安全级的主体处理。将规则安装到数据 库运行时系统包括建立和修改一个称为附属过程的后台处理程序,该后台 处理程序监视与规则有关的事件并在适当的时机触发规则。 1 6 哈尔滨工程大学硕士学位论文 主体通过a c t i v a t e 命令使规则处于激活状态。a c t i v a t e 命令的形式如下: a c t i v a t e w h e r ep b e f i e v e db yl ; a c t i v a t e 命令与下述作用在规则关系上的更新命令具有相同的效果。 u f c a t er u l e s s e t ( c o n d i t i o n = c o j l d i t i o na n da c t i o n = a c t i o na n ds t a t e = a 、 w h e r e p b e l i e v e db yl p 由一系列s q l 语句组成,l 是安全级的列表。除了与u p d a t e 语句具 有相n 4 乍用2 _ # b ,a c t i v a t e 命令同时将被激活的规则安装到数据库的运行 系统中。 为了在s 级激活表3 4 中的规则t r a c k e d - - f a s t s h i p s , s 级的主体需要发 出下列命令。 a c t i v a t e w h e r e n a m e = t r a c k e d - f a s t - s h i p s b e l i e v e db yu ; 此时规则关系如表3 5 所示。 表3 5 激活后的规则关系 n a m e ft r a n s i t i o nf t a b h :k cc o n d i t i o n a c t i o ns t a t et c t r a c k e d - f a s t s h i p sl i n s e r t l s tu d r e d i c a l 嚣1 - a c t i o n l a s t r a c k e d - f a s t s h i l :sli n s e r t js tu- o r e d i c a t e l - a e t i o n l du w a t c h - n e p t u n e li n s e r tls ts - p r e d i c a t e 2 - a c t i o n 2 ds 相应的,钝化命令d e a v t i v a t e 的形式如下: d e a a c t i v a t e v g h ( r e p ; d e a c t i v a t e 命令选择与执行该命令主体安全级一一样的一系列规则,将 它们从数据库运行系统中移出,并将它们的状态字段置为,d ,。 激活和钝化命令都属于s q l 命令,它们需要满足2 个完整性条件。 如果一个事务触发一个事件( u p d a t e ,d e l e t e ,i n s e r t ) 在一个表上,那么它将 i7 哈尔滨工程大学硕士学位论文 不能激活或者钝化在该表上触发的规则。 如果事务t 1 在t 2 之前提交,那么由t 1 激活和钝化的规则必须对t 2 可见,由t 2 激活和钝化的规则对t l 必须不可见。 3 6 多级安全规则的执行 在这一部分我们扩展多级安全关系模型来支持激活规则的执行。 3 6 1 多级安全约束下的规则执行 多级安全规则在传统的数据库事务中执行。当事务执行时,事件触发 规则,被触发的规则保存在未决规则集里,当事务执行到提交点时,在规 则处理阶段,规则被一次性执行。执行一条规则可能会触发更多的规则, 这些被触发的规则也被放到未决规则集里。当未决规则集里没有规则时, 执行就结束了。多级安全规则的执行必须遵守多级安全标准的读和更新存 取约束。 事件被赋予激起它们的多级安全主体的安全级,在数据库中被当作安 全数据对象。一条规则被激活,当它在安全约束下能看到某一事件。例如: 如果一个s 级用户对表s t 执行更新操作,事件u p d a t es t 被当作安全级为 s 的对象。事件 u p d a t es t 的一个u 级的激活看不到也不会被这个事件触发,但是相同规 则的s 级激活可以看到并被该事件触发。 多级安全规则谓词的激活也遵循多级安全约束。因为用来表示谓词的 s e l e c t 语句是s q l 表达式,它只选择安全级被执行它的激活规则的安全级 所支配的元组。在s e l e c t 语句中,可以引用变迁表。我们假设s e l e c t 语句 中使用的变迁表是内存表。 动作执行语句块的执行也要遵守多级安全存取约束。语句块里的每一 个操作都是一个s q l 命令,因此操作只改变激活级别的数据,只从被激活 级别支配的安全级别读数据。 堕玺鎏苫堡盔誊鎏圭耋堡垒苎 3 6 2 规则执行中的隐蔽时间通道 在规则执行阶段,可能形成规则链,即一条规则的执行可能产生触发 更多规则的事件。规则链在结束之前可能继续触发其他规则。在多级安全 数据库中,规则链被+ 规则所限制,以防止信息的向下传播。例如,不允许 在c 级执行的规则触发任何比c 级低的安全级中的规则,因为c 级规则触 发的c 级事件对低于c 级的规则是不可见的。 我们要求规则链以安全级单调上升的方向前进,级联上升,如图3 6 所示那样。因此,所有任何在c 级规则之前结束的u 级未决规则允许被执 行。任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猫咪睡觉课件
- 安全教育的培训需求课件
- 安全教育培训领导分工课件
- 聊城社工面试题库及答案
- 跨零电商面试题库及答案
- 口腔护士面试题目及答案
- 安全教育培训责任课件
- 安全教育培训课件需求
- 安全教育培训记录课件
- 云计算技术应用案例分析
- GB/T 12755-2008建筑用压型钢板
- GB 31644-2018食品安全国家标准复合调味料
- 26个英文字母(课堂PPT)
- 《生产与运作管理(第四版)》整套教学课件
- Unit 1 Reading B A letter to my daughte课件-高中英语上教版(2020)必修第一册
- 空白教案模板(表格形式-已排版)
- 常用抗肿瘤中药简介课件
- 配网识图、绘图课件
- 硫化氢考试题库
- 途虎八步及10大保养质检流程试题及答案
- 舒尔特训练方格 可打印(5×5)
评论
0/150
提交评论