(计算机软件与理论专业论文)基于角色的访问控制在sdm3上的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于角色的访问控制在sdm3上的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于角色的访问控制在sdm3上的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于角色的访问控制在sdm3上的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于角色的访问控制在sdm3上的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 l 随着计算机与网络技术的广泛应用,数据库安全技术已成为信息安全的重要研 i 究领域。访问控制是保障数据库安全的重要手段。课题深入探讨了在s d m 3 上实现基 于角色的访问控制( r o l eb a s e da c c e s sc o n t r o l ,r b a c ) 的实现技术。它是实现安 全数据库管理系统的关键技术之一,包括层次r b a c 模型的实现技术和约束r b a c 模 、 型的实现技术两个方面的研究内容。, 层次r b a c 模型要求支持角色继承。首先我们用角色层次图描述层次r b a c 模型 中的角色层次关系,实现了基于角色层次图的层次r b a c 模型,提出了角色层次图的 环路判定算法,从而避免了角色层次图的环路。其次,层次r b a c 模型在支持权限转 授时,必须保证权限的级联回收。我们通过禁止重复关联权限的属主,保证了权限 能被级联回收。如果对授予角色的权限的转授能力施加限制,则通过基于消息的权 限级联回收算法来实现权限的级联回收。如果允许授予角色的权限能够被转授,则 通过基于时间戳的权限级联回收算法来实现权限的级联回收。 约束r b a c 模型要求支持角色互斥,保证静态责任分离和动态责任分离。我们 用互斥角色集描述了约束r b a c 模型中的角色互斥关系,通过对数据字典中的互斥角 色集采用压缩存储,实现了动态创建和删除角色互斥关系,提出了基于互斥角色集 的算法,实现了静态责任分离和动态责任分离。 【关键词】多级安全数据库营趣系统;基于角色的访问控制:角色层次: 角 v 一, 色互斥 华中科技大学硕士学位论文 a b s t r a c t w i t ht h ep r o l i f e r a t i o no fc o m p u t e ra n dn e t w o r kt e c h n i q u e s ,d a t a b a s es e c u r i t yh a s b e c o m ea l l i m p o r t a n t r e s e a r c ha r e ao fi n f o r m a t i o ns e c u r i t y a c c e s sc o n t r o li s a n i m p o r t a n tm e a n st oa c h i e v ed a t a b a s es e c u r i t y t h ep r o j e c ts t u d i e st h et e c h n i q u e so f t h e i m p l e m e n t a t i o no fr o l e b a s e da c c e s sc o n t r o l ( r b a c ) o ns d m 3 i ti so n eo ft h ek e y t e c h n i q u e s o ft h e i m p l e m e n t a t i o n o fas e c u r ed a t a b a s e m a n a g e m e n ts y s t e m ,w h i c h i n c l u d e st h e t e c h n i q u e s o fi m p l e m e n t a t i o no fh i e r a r c h i c a lr b a ca n dc o n s t r a i n e d r b a c t h es u p p o r to fr o l eh i e r a r c h i e si s r e q u i r e di n h i e r a r c h i c a lr b a c w eu s er o l e h i e r a r c h yg r a p ht o d e s c r i b et h er o l e h i e r a r c h y r e l a t i o n so fh i e r a r c h i c a lr b a c a n d i m p l e m e n t h i e r a r c h i c a lr b a cb a s e do nr o l eh i e r a r c h yg r a p h i no r d e rt oa v o i dt h ec i r c l e o fr o l eh i e r a r c h yg r a p h ,w ep r o p o s et h ea l g o r i t h mt oj u d g et h ec i r c l eo fr o l eh i e r a r c h y g r a p h w h e ng r a n t i n gp r i v i l e g e t oa n o t h e ru s e rw i t ha d m i no p t i o n ,t h er e v o k eo f p r i v i l e g ef r o ma n o t h e ru s e rc a s c a d e s t h ec a s c a d er e v o k ei sg u a r a n t e e db yf o r b i d d i n g g r a n t i n gp r i v i l e g et ot h eo w n e ro fp r i v i l e g er e p e a t e d l y i fr e s t r i c tt h ea c t i o no fg r a n t i n g p r i v i l e g et or o l ew i t ha d m i no p t i o n ,t h ec a s c a d er e v o k ec a nb ei m p l e m e n t e db yu s i n gt h e m e s s a g e - b a s e da l g o r i t h m i f n or e s t r i c t i o n ,t h et i m e s t a m p b a s e da l g o r i t h mc a nd oi t t h es u p p o r to ft h em u t e xo fr o l ei s r e q u i r e d i nc o n s t r a i n e dr b a c ,s os t a t i c s e p a r a t i o no fd u t y ( s s d ) a n dd y n a m i cs e p a r a t i o no fd u t y ( d s d ) c a nb eg u a r a n t e e d w eu s em u t e xr o l es e t ( m r s ) t od e s c r i b et h er o l em u t e xr e l a t i o n si nc o n s t r a i n e dr b a c m u t e xr o l er e l a t i o n sc a nb ec r e a t e da n dd r o p p e dd y n a m i c a l l y , w h e nw es t o r em u t e xr o l e s e ti nd a t ad i c t i o n a r yi nc o m p r i s e df o r m a t s s da n dd s da r ei m p l e m e n t e d b yu s i n gt h e m r s b a s e d a l g o r i t h m t k e yw o r d s 】m u l t i l e v e ls e c u r ed a t a b a s em a n a g e m e n ts y s t e m ;r o l eb a s e da c c e s s c o m r o l ;r o l eh i e r a r c h y ;r o l em u t e x 1t 华中科技大学硕士学位论文 1 1 问题的提出 1 绪论 计算机与网络技术的飞速发展与广泛应用,给人们的工作和生活带来了深刻的 变革。越来越多的信息存放在计算机系统中,其中很多是机密信息,这就对计算机 安全技术提出了更高的要求。数据库管理系统作为管理信息系统的基础软件,其安 全性在信息系统的安全中起着至关重要的作用。为保护机密信息不被窃取、破坏, 仅仅使用硬件保护是不够的,还必须采取必要的软件保护措旖。对数据库的威胁主 要有:未经授权非法访问、修改数据库信息;窃取数据或使数据失去真实性、可用 性;来自网络的入侵等。数据库安全技术的研究已成为信息安全的重要研究课题。 数据库安全首先需要确保只授权有资格的主体访问数据库中数据的权限,同 时,令所有未被正常授权的主体无法接触数据,即防止和杜绝末授权的数据访问, 无论是窃取还是破坏。即访问控制问题“1 。 传统的访问控制模型有自主访问控制模型和强制访问控制模型。自主访问控制 模型是基于拥有者的访问控制模型”1 ,访问信息的权限可以由数据的拥有者授予任 何人。自主访问控制没有对用户所获取的信息的使用施加任何控制,即没有对信息 的传播加以控制。这使自主访问控制对于类似于“特洛伊木马”之类的恶意攻击显 得十分脆弱“1 。强制访问控制模型是基于格的访问控制模型“1 。主体和客体被分配 了不同的安全级,系统中所有的访问操作必须遵循向下读,向上写的信息安全规则。 强制访问控制模型允许对信息流进行追踪,因此可以对“特洛伊木马”问题提供某 种类型的保护。但是强制访问控制也有缺点,主要是它太严格,以至于在某些环境 下是不能用的。例如,在一佘瘌用系统中,并不是总能为用户分配一个允许的安全 级,或为数据分配一个敏感级。 在人类社会的组织结构中,组织成员根据身份的不同,具有相应的权限,并承 担相应的职责。在基于角色的访问控制模型中,角色作为权限和职责的统一体被抽 1 华中科技大学硕士学位论文 象出来。角色与组织中的岗位对应,应用比较自然。用户通过成为角色的成员而获 得相应的权限。角色是权限的集合,通过管理角色来管理权限,角色的数目比用户 少”1 ,适应大规模分布式应用环境。角色比用户稳定,避免了因为人员的调动而引 起的授权变化,从而简化了权限的管理。 目前,在s d m 3 原型系统的访问控制中存在两个问题:其一,s d m 3 支持自主访 问控制、强制访问控制,但是,系统级权限的粒度太大,s d m 3 仅仅支持d b a 、r e s o u r c e 、 c o n n e c t 、a u d i t o r 、s s o 等有限的几种系统权限,并且,整个访问控制系统的可扩 展性不强;其二,s d m 3 不支持基于角色的访问控制,原有的角色系统都是系统固定 角色,用户无法自定义角色,实施基于角色的访问控制。因此,需要研究在s d m s 上实现基于角色的访问控制技术。 8 6 3 项目多级安全数据库管理系统技术研究以安全数据库管理系统s d m 3 为 基础,主要研究内容包括安全策略、安全模型、多级安全事务处理、安全访问控制、 安全审计、隐通道分析和数据保密等技术。作者承担了其子课题“安全访问控制” 的研究与开发工作,其目的是使s d m 3 具有包括自主访问控制、强制访问控制、基于 角色的访问控制的安全访问控制功能。 1 2 国内外研究概况 1 2 1 数据库安全技术研究概况 计算机安全在国际上很早就受到了关注,1 9 8 5 年美国国防部d o d 推出“可信计 算机系统评估准则”( t c s e c ) ”1 ,之后在1 9 9 1 年4 月美国国家计算机安全中心( n c s c ) 又颁旆了可信计算机系统评估标准关于可信数据库的解释( t r u s t e dd a t a b a s e m a n 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 ft h et c s e c ,简称t d i ) ,将t c s e c 扩展到 数据库管理系统”1 。根据计算机系统对各项指标的支持情况,t c s e c ( t d i ) 将系统 可靠或可信程度逐渐增高将系统划分为四组七个等级,依次是d ;c ( c l ,c 2 ) :b ( b l , b 2 ,b 3 ) :a ( a 1 ) 。如表1 1 所示。 2 华中科技大学硕士学位论文 表1 1t c s e c t d i 安全级别划分 安全等级 定义 a 1验证设计( v e r i f i e dd e s i g n ) b 3安全域( s e c u r i t yd o m a i n s ) b 2结构化保护( s t r u c t u r a lp r o t e c t i o n ) b l标记安全保护( l a b e l e ds 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 da c c e s sp r o t e c t i o n ) c 1自主安全保护( d i s c r e t i o n a r ys e c u r i t yp r o t e c t i o n ) d最小保护( m i n i m a lp r o t e c t i o n ) 我国自2 0 0 1 年1 月1 日起开始实旋强制性国家标准g b l 7 8 5 9 1 9 9 9 。1 。它将安 全系统划分为一级至五级共五个级别。但是,迄今为止,国内尚未开发任何通过正 式评测的安全数据库产品。 在t c s e c 中,除了d 级以外的所有安全级别都要求数据库系统提供访问控制的 安全性功能。在国家标准g b l 7 8 5 9 中,从第三级开始,要求数据库系统满足强制访 问控制,并且满足基于角色的访问控制的要求来设计和实现数据库系统的强制访问 控制功能“0 1 。国外专家在数据库安全方面已经做了大量的研究工作,并研制了一些 高安全性的原型系统,如s r ii n t e r n a t i o n a l g e m i n ic o m p u t e r s 丌发的 s e a v i e w ( s e c u r ed i s t r i b u t e dd a t av i e w s ) 系统1 、s e c u r ec o m p u t i n gt e c h n 0 1 0 9 y c o r p o r a t i o n 开发的l d v ( l o c kd a t av i e w s ) 系统”和t r w 内部开发的原型系统 a s d ( a d v a n c e ds e c u r ed b m s ) 达到了a 1 级安全。同时,国外的数据库管理系统开发 商也推出了他们的高安全性d b m s ,如:m ss q l s e r v e r2 0 0 0 达到了c 2 级安全标准“, s y b a s es e c u r es q ls e r v e r 1 、t r u s t e do r a c l e 7 和i n f o r m i x o n l i n e s e c u r e , 这三个商用数据库管理系统达到b l 级安全。此外,s y b a s e 公司还开发了一个运行 在裸机上的系统,它在硬件级实现了任务分离和内存保护,把敏感数据分配到自己 的地址空间,完全脱离了不可信的地址空间,满足b 2 级标准”“。 国内在这方面的研究虽然起步较晚,但也取得了一些可喜成果。如北京大学研 制的安全数据库系统原型c o b a s ev 2 0 通过在安全策略方面增加强制访问控制,在 责任方面增加审计功能,具备了b 1 级所要求的功能“。武汉华工达梦数据库公司 3 华中科技大学硕士学位论文 自主开发的安全数据库管理系统s d m 3 ,采用三权分立的机制,通过多级安全实现了 强制访问控制,具备了b 1 级和部分b 2 级所要求的功能。 1 2 2 基于角色的访问控制研究概况 1 基于角色的访问控制模型研究概况 传统的数据库系统的访问控制主要是自主访问控制和强制访问控制。最近,基 于角色的访问控制( r o l eb a s e da c c e s sc o n t r o l ,r b a c ) 受到了广泛的关注。在访 问控制中引入角色的概念,将权限与角色相关联。通过给用户分配适当的角色以授 予用户权限,从而极大地简化了权限管理。 目前,对基于角色的访问控制( r b a c ) 已经有了广泛的研究,最有影响的模型有 r s a n d h u 等提出的r b a c 9 6 模型”2 1 “,美国国家标准与技术局( n i s t ) 的研究小组的 r b a c 2 0 0 0 模型。6 1 以及s q l 3r b a c 模型”7 1 等。 对基于角色的访问控制的研究,主要遵循两个方向进行。一个方向是如何使用 r b a c 取代传统的访问控制模型,因此许多研究人员和研究组织致力于提出r b a c 模 型、制订r b a c 模型的规范和研究在基于角色的访问控制模型上实施传统的访问控制 策略:另一个方向是如何使r b a c 模型与传统访问控制模型共存与互补,如何在现有 系统中实施基于角色的访问控制,以最小的系统修改来获得基于角色的访问控制的 优势。 基于角色的访问控制的表达能力是非常强大的,o s b o r n 等在文献 2 8 中提出了 从体系构造上通过配置基于角色的访问控制来实施传统的强制访问控制和自主访问 控制策略。通过对应于每一个安全级引入读角色和写角色两个角色。然后,针对于 安全级的偏序关系分别构造读角色、写角色的层次关系。这样保证信息的流动满足 向下读,向上写的约束,从而可以实施强制访问控制策略。通过对应于每一个对象 引入若干个管理角色,然后针对于权限操作分配角色,构造管理角色的层次关系。 这样保证满足基于拥有者的访掏授权约束,从而可以实施自主访问控制策略。 d r k u h n 在文献 2 9 中提出了如何在多级安全系统中不改变系统内核实现基 于角色访问控制的方法。它需要在多级安全系统的外围增加一个r b a c 的可信接口。 4 华中科技大学硕士学位论文 可信接口中定义了从r a b c 到m l s 的映射函数,它将客户端的角色请求映射函数转化 为非分级范畴来表达,从而在理论上实现了基于角色的访问控制。 r b a c 得到了广泛的采用,如数据库语言s q l 3 标准将r b a c 作为安全模型的主要 部分。o m g 的c o r b a 安全说明书使用r b a c 作为分布式对象技术中使用的访问控制机 制的范例o “。 2 r b a c 2 0 0 0 参考模型 r b a c 2 0 0 0 参考模型如图i 1 所示,它包括:核心r b a c ,层次r b a c 和约束r b a c 。 图1 1r b a c 2 0 0 0 参考模型 ( 1 ) 核心r b a c 包括了r b a c 的基本特征 定义了r b a c 参考模型中的五类基本元素:用户( u s e r s ) 、角色( r o l e s ) 、客 体( o b s ) 、操作( o p s ) 、权限( p e r m s ) 。 用户与角色相关联,角色与权限相关联,用户只有通过赋予角色来获得权 限。 用户分配关系( u s e ra s s h n m e n tr e l a t i o n s ,u a ) :u aeu s e r s r o l e s ,其 中用户与角色为多对多的关系。 权限分配关系( p e r m i s s i o na s s i g n m e n tr e l a t i o n s ,p a ) :p a p e r m s r o l e s , 其中角色与权限为多对多的关系。 一一一 5 华中科技大学硕士学位论文 允许用户在会话中选择性地激活或禁用角色 用户一会话关系:u s e r s e s s i o n s ( u :u s e r s ) 一2 “,从用户到会话集的映射。 会话一角色关系:s e s s i o n r o l e s ( s :s e s s i o n s ) 一2 ”“5 ,从会话到角色集的映射。 允许用户同时行使多个角色的权限 ( 2 ) 层次r b a c 在核心r b a c 的基础上增加了对角色的层次支持 支持角色间的偏序关系 如果角色r l 与角色r 2 存在偏序关系( 记为:r l r 2 ) ,那么角色r 2 拥有的 权限同时都被授予角色r l ,角色r 1 被授予的用户同时都被授予角色r 2 。 支持角色的继承 允许定义角色的继承,如果角色r l 继承角色r 2 ,那么角色r l 与角色r 2 存在 偏序关系,即r 1 r 2 。 ( :3 ) 约束r b a c 在核心r b a c 的基础上,增加了对互斥角色的支持 责任关系的静态分离:在用户角色分配时,就检查将角色分配的合法性,以 防止将互斥的角色分配给用户。 责任关系的动态分离:直到在用户会话期间,需要激活角色时,彳检奇角色 的互斥。 3 基于角色的访问控制实现研究概况 基于角色的访问控制在应用系统级和支撑系统级均得到了有力的实现。在应用 系统级,基于角色的访问控制的医疗保健管理系统”1 ,基于角色的访问控制的w e b 服务器”,基于角色的访问控制的大型网络m i s 系统等已经得到了应用。在支撑 系统级,许多商用的数据库管理系统已经开始支持r b a c 模型。表1 2 列出了几个通 用d b m s 产品:i n f o r m i x ,o r a c l e ,s y b a s e ,m ss q l s e r v e r 对基于角色的访问控制 特性的支持情况。”。 在这些数据库管理系统中,他们提供了一定的角色管理能力,基本实现了r b a c 核心模型和层次模型,但是,也们对角色管理能力的支持作了很多的约束。也就是 说,对基于角色的访问控制的支持并不完整。例如,o r a c l e 数据库管理系统中,允 许将权限授予角色,但是,不允许同时将该权限的可转授能力授予角色。因此,他 在避免难以处理的权限级联回收的同时,削弱了其权限管理的灵活性。 6 华中科技大学硕士学位论文 表i 2 通用d b m s 对基于角色访问控制特性的支持 特性 i n f o r m i x s y b a s eo r a c l e s q ls e l v e l , 1支持用尸与角色的多对多关系 是是是是 2允许角色被授予者将角色转授其他用户 是否是否 3允许用户会话中选择性激活或禁用角色 是是是是 4 允许用户同时行使多个角色的权限否是是 ( 是) 5 允许将d b w s 系统权限授予一个角色 否 是是是 6允许将d b m s 对象权限授予一个角色 是是 是是 7支持构造角色层次 是是是 是 8支持责任关系的静态分离 否是否 否 9支持责任关系的动态分离 ( 是)是否 ( 是) 数据库管理系统对基于角色的访问控制的支持已经成为数据库管理系统的访 问控制的一个必要的组成部分。各数据库管理系统厂商都提供了对基于角色访问控 制的支持,如何与他们现有的访问控制机制有机的结合,扩展数据库管理系统的权 限管理能力,同时,又不影响系统原有的功能,这是各数据库管理系统厂商扩展访 问控制的重点。由于这些数据库管理系统原有的权限管理策略及其实现方式不同, 各数据库管理系统提供的基于角色的访问控制的能力有差异,提供一个既符合基于 角色的访问控制规范,又能给用户提供更强大的权限管理能力的系统,是基于角色 访问控制实现的发展方向。 1 3 课题主要研究工作 本课题要求研究在国产安全数据库管理系统s d m 3 上实现b l 级的关键技术。作 者负责其中的基于角色的访问控制部分。s d m 3 系统是在华中科技大学计算机学院数 据库与多媒体研究所开发的自主版权数据库管理系统d m 3 的基础上研究丌发的,因 此其体系结构、权限管理的案昭选择、数据字典存储与操作,查询处理等方面己形 成一定的框架,课题的研究应在此基础上展开,不能脱离现有系统或完全改变现有 系统。 一_ 7 华中科技大学硕士学位论文 概括来说,本课题的主要工作包括以下4 个方面。 1 通过对s d m 3 系统原有的访问控制策略和实现方法的分析,结合r b a c 模型的 功能需求,选择可行的r b a c 的实现方案,并进行方案的论证。 2 扩展数据字典表,修改查询处理过程,使s d m 3 的原有固定角色系统升级为 具有角色定制能力的角色系统。s d m 3 将支持角色创建,角色删除,权限角色关联, 用户角色关联等功能。 3 实现层次r b a c 模型,使s d m 3 具有角色继承的功能,并处理引入角色层次后 权限转授与权限级联回收中出现的问题。 4 实现约束r b a c 模型,使s d m 3 具有静态责任分离和动态责任分离的功能。 、 一一 8 华中科技大学硕士学位论文 2s d m 3r b a c 系统的设计 基于角色的访问控制系统是s d m 3 的一个子系统,r b a c 系统的实现必须遵照原 有s d m 3 的系统体系结构,并且与s d m 3 原有的自主访问控制系统,强制访问控制系 统之间保持一致。本章首先分析了s d m 3 的系统结构、查询处理与访问控制,并进一 步分析了基于角色的访问模型r b a c 2 0 0 0 与s q l 3 标准对s d m 3r b a c 系统的要求;在 此基础上,提出了基于角色访问控制的实现方案。 2 1s d m 3r b a c 系统分析 2 1 1s d m 3 的总体结构 s d m 3 系统采用了基于消息通信的客户服务器模型。其总体结构如图2 l 所示。 客户机1客户机2 客户机n 网络 图2 1 s d m 3 总体结构图 s d m 3 系统可由多个服务器和多台客户机组成,客户机与服务器、服务器与服务 器均通过网络互连,通过消息相互通迅,组成一个分布式数据库管理系统。s d m 3 的 一 g 华中科技大学硕士学位论文 核心系统运行在服务器上,服务器间能互相协作,完成用户对数据库的各种操作。 2 1 2s d m 3 的查询处理 查询处理器是s d m 3 核心系统的重要组成部分,由查询分析器,查询优化器, 查询执行器组成。一个s q l 查询的处理需要经过三个阶段。 1 查询分析阶段:查询分析器接收从客户端发送过来的查询语句,经过词法分 析,语法分析,生成逻辑查询计划,创建相应的查询树。 2 查询优化阶段:查询优化器接收查询分析阶段创建的查询树,对查询树进行 等价变换,试图构造更优的查询计划。该过程最终形成物理查询计划。如果逻辑查 询计划不能优化,如d d l 语句的查询计划,那么直接生成物理查询计划。 3 查询执行阶段:查询执行器接收物理查询计划,执行相应的操作,将查询结 果返回给客户端。 查询处理的过程中,系统核心需要访问数据字典,以获取关于用户权限,数据 库元数据信息( 如数据库中的表名信息) ,对象元数据信息( 如表或视图的列类型信 息) ,对象的物理存储信息( 如索引) 等,如果处理的查询语句为d d l ,d c l 语句, 系统核心还需要对数据字典执行写操作。查询处理过程如图2 2 所示。 图2 2 查询处理过程 计划 计划 l o 华中科技大学硕士学位论文 2 1 3s d m 3 访问控制 s d m 3 采用三权分立的安全管理策略。s d m 3 的系统管理员分为数据库管理员d b a , 数据库安全管理员s s o ,数据库审计员a u d i t o r 三类。数据库管理员d b a 主要负责 数据库的建立、维护及自主访问控制;数据库安全员s s o 主要负责强制访问控制: 数据库审计员a u d i t o r 主要负责数据库系统的审计活动。通过设置三种类型的管理 员角色,使他们各司其职,相互制约,从而更为可靠地保证了数据库的安全性。 s d m 3 的访问控制过程分为3 个步骤。 1 用户登录s d m 3 系统时,检查该用户的登录密码是否正确。当用户为合法登 录用户时,接受登录请求。否则,拒绝登录请求。 2 用户进入s d m 3 系统后,发出操作请求时,按照自主访问控制的控制策略的 要求,首先检查用户是否具有客体操作的系统级权限,然后检查用户是否具有客体 操作的表级权限和列级权限。 3 在操作权限检查完后,根据用户当前的操作请求,进行主体和客体安全级匹 配检查,即强制访问控制。 2 1 3 1 s d m 3 自主访问控制 自主访问控制模型是基于拥有者的访问控制模型,核心思想是客体的拥有者( 通 常为其创建者) 能够自主授权其他主体访问该客体。在自主访问控制模型中,客体 的拥有者具有客体的一切权限,能自由地将客体的访问权限授予其他主体,系统安 全管理员原则上不干预授权的传递和转移。 自主访问控制策略具有如下特征: 1 客体的创建者就是客体的拥有者; 2 客体的拥有者具有访问客体的一切权限,包括授权其他主体访问该客体的权 限; 3 严格一自主访问控制策略中除了客体的拥有者以外,主体不能将对客体的访 问权限转授其他主体; 4 自由一自主访问控制策略中允许客体的拥有者将自主授权能力委托给其他 一一 i l 华中科技大学硕士学位论文 的主体,即除了客体的拥有者以外,其他主体也能获得将对客体的访问权限转授其 他主体的能力。 自主访问控制策略对主体访问客体是基于主体的鉴别和主体定义的访问规则, 其优点是灵活,可适用于各种不同类型的系统和应用,因此已经被广泛用于各种商 用和工业环境。 但是,无论是严格一自主访问控制策略还是自由一自主访问控制策略,自主访问 控制策略中,除客体的拥有者以外的其他主体可以将客体的内容拷贝,在未经客体 的原拥有者认证的情况下,将拷贝的访问权限授予其他的主体。这样,未经授权的 主体也可以访问他不应获取的信息。 自主访问控制没有对用户对于所获取信息的使用施加任何控制,即没有对信息 的传播加以控制。这使自主访问控制对于类似于“特洛伊木马”之类的恶意攻击显 得十分脆弱。 s d m 3 的自主访问控制采用自由一自主访问控制策略,禁止未经授权的用户访问 客体,允许主体将自主授权能力委托给他人,同时在回收权限时,级联回收转授出 去的权限。s d m 3 的自主访问控制包括:系统级权限授予与回收;表级权限授予与回 收;行级权限授予与回收;列级权限授予与回收。 s d m 3 通过构造授权传递链的方法来实现自主访问控制。在s d m 3 的每一个客体 记录上,保存了该客体的创建者和由该客体的拥有访问权限的主体构成的授权传递 链。在用户访问客体时,系统检查用户是否拥有相应的访问权限。这时,系统首先 看用户是否为客体的创建者,然后看用户是否是对应的授权传递链上的成员之一, 从而判断出用户是否拥有访问客体的权限。当用户访问客体的权限被回收时,用户 还需要递归地回收相应的授权传递链上用户转授出去的权限。 21 3 2s d m 3 强制访问控制 强制访问控制模型是在自虫访问控制模型的基础上,旋加强制访问策略,以防 止具有高安全级的信息流入低安全级的主体。在强制访问控制模型中,系统给主体 和客体分配了不同的安全级,安全级的分配和修改只能由系统安全管理员来进行。 系统中所有的访问操作必须遵循向下读,向上写的信息安全规则。强制访问控制策 1 2 华中科技大学硕士学位论文 略通过无法回避的访问限制来防止各种直接和间接的攻击。 强制访问控制策略具有如下规则“: 1 简单安全规则:仅当主体的安全级支配客体的安全级时,主体j 能具有对此 客体读访问权限; 2 木一安全规则:仅当客体的安全级支配主体的安全级时,主体才能具有对此客 体写访问权限。 s d m 3 系统采用了基于安全属性的强制访问控制,即多级安全模型,其目的就是 防止未被许可的用户访问他不该访问到的密级的信息。s d m 3 系统中可以定义系统安 全级集合,对每个用户、每个基表均可定义一安全级( 或叫用户签证和客体敏感度) 。 当用户访问s d m 3 数据库时,除了必须具有自主访问的权限外,还受到强制访问的控 制,即必须满足向下读、向上写的原则。“向下读”规定只有当主体安全级大于或等 于客体安全级时,该主体才能读该客体。“向上写”规定只有当主体安全级小于或等 于客体安全级时,该主体才能写该客体。 s d m 3 通过在表的元组上存储客体的安全级,在用户的数据字典中存储用户的安 全级来实现强制访问控制。当用户访问客体时,系统检查该访问是否违反“不向上 读,不向下写”的信息安全规则。系统从数据字典中获取用户的安全级,从待访问 客体( 元组) 上获取客体的安全级,根据访问的类型,检查是否违反强制访问策略, 如果违反强制访问策略,那么该访问操作就被拒绝执行。如果不违反强制访问策略, 那么允许执行该访问操作。 2 1 4r b a c 的需求分析 r b a c 2 0 0 0 包括核心r b a c 模型、层次r b a c 模型和约束r b a c 模型三个子模型。 实现r b a c 2 0 0 0 模型必须要实现核心r b a c 模型,而层次r b a c 模型和约束r b a c 模型 是可选的。s d m 3 采用r b a c 2 0 0 0 模型,将实现核心r b a c 模型、层次r b a c 模型和约 束r b a c 模型。 1 函数功能需求 实现核心r b a c 模型的函数功能需求见附录2 。 一 1 3 华中科技大学硕士学位论文 实现层次r b a c 模型的函数功能需求见附录3 。 约束r b a c 根据责任分离的方式不同分为静态责任分离的约束r b a c 模型和动态 责任分离的r b a c 模型。这两个模型是描述约束r b a c 模型的两个方面。实现约束r b a c 模型的函数功能需求见附录4 、附录5 。 2 语句功能需求 s q l 是用户操作数据库管理系统的主要语言。因为s q l 语言是一个非过程式的, 功能强大的同时又简捷易学的的语言,s q l 语言几乎成了数据库管理系统与用户交 互的唯一语言。在美国标准局( a n s i ) 公布的s o l 3 标准中,r b a c 被作为安全模型 的主要部分。s o l 3 标准对实现基于角色的访问控制提出了s o l 语句级别上的需求。 针对基于角色的访问控制,s q l 3 标准要求增加c r e a t er o l e 等语句,修改g r a n t 等 语句的语法。 s o l 3 中需要增加的语句的功能如下: ( 1 ) c r e a t er o l e :创建角色,指定角色激活的密码: ( 2 ) d r o pr o l e :删除角色,并从该角色被授予的用户或角色中回收该角色: ( 3 ) a l t e rr o l e :修改角色激活的密码; ( 4 ) s e tr o l e :激活或禁用角色。 s q l 3 中需要修改的语句的功能如下: ( 1 ) g r a n tr o l et ou s e r :将角色授予用户; ( 2 ) g r a n tf o l et or o l e :将角色授予角色; ( 3 ) g r a n ts y s p r i vt o r o l e :将系统权限授予角色; ( 4 ) g r a n to b j p r i vt or o l e :将客体权限授予角色: ( 5 ) r e v o k er o l ef r o mu s e r :从用户回收角色; ( 6 ) r e v o k er o l ef r o mr o l e :从角色回收角色: ( 7 ) r e v o k es y s p r i vf r o mr o l e :从角色回收系统权限: ( 8 ) r e v o k eo b j p r i vf 删r o l e :从角色回收对象权限。 1 4 华中科技大学硕士学位论文 2 ,2s b m 3r b a c 系统总体设计 2 2 1s d m 3 访问控制的总体结构 在s d m 3 中,基于角色的访问控制与自主访问控制( d i s c r e t i o n a r ya c c e s s c o n t r o l ,d a c ) 紧密耦合,基于角色的访问控制在自主访问控制的基础上实现,作 为自主访问控制的扩展而存在。强制访问控制( m a n d a t o r ya c c e s sc o n t r o l ,m a c ) 构建在基于角色的访问控制之上,对客体访问施加强制访问策略。访问控制的总体 结构如图2 3 所示。 圈2 3 访问控制的总体结构图 从图2 3 我们可以看出,信息交互的强制访问控制是不能被绕过的。同时,s d m 3 提供了灵活的访闯控制策略,用户可以根据需要使用以下三种策略。 策略一:不采用基于角色的访问控制,仅仅依靠自主访问控制来进行权限管理。 权限管理非常自由,同时也增加了权限管理的复杂性,从而可能导致权限管理的混 乱和不可控制。 策略二:采用不严格的基于角色的访问控制,存在直接授予用户权限和通过角 色授予用户权限的两种可能。在这种情况下,通过角色进行授权管理,提高了权限 管理的效率,但是,无法通过基于角色的访问控制审查到授予用户的所有权限信息, 和权限被授予的所有用户等信鬼,也无法提供责任分离的高级角色特性。 策略三:采用严格的基于角色的访问控制,即对用户的授权一定通过角色进行, 不存在直接将权限授予角色的情况。在这种情况下,基于角色访问控制的优点可以 得到充分的发挥。将大大降低权限管理的复杂性,并提供责任分离等高级特性。 1 5 华中科技大学硕士学位论文 2 2 2s d m 3 中r b a c 的策略选择 因为基于角色访问控制实现方式的不同,各数据库管理系统厂商在r b a c 模型 的策略选择上也各有特色,下面我们讨论在s d m 3 中实现r b a c 的一些策略选择。 2 2 2 1 权限并集策略 在讨论权限并集策略以前,我们首先给出权限符号定义如下: 1 系统权限记为p ,。客体权限记为p 。权限的集合记为p s e t ,权限的全集 记为p s e ta l l ,所以有:p 。p s e ta l l ,p 。“j p s e ta l l ; 2 权限p ( p ;,或p o b j ) 的可转授权限记为p + ,所以有:p + p s e ta l l 。 权限的并操作记为“u ”,定义如下: 1 ,权限p 与p 的可转授权限p + 的并还是p ,记为:p up + = p + : 2 如果p + p s e t ,那么p p s e t 。 角色权限的并集策略:在s d m 3 中,角色所拥有的权限可以是直接授予角色的 权限,也可以是角色从其祖先角色所继承的权限。角色所拥有的权限是这些权限的 并集。角色r o l e 所拥有的权限的集合记为p s e t ( r o l e ) ,根据如下规则确定角色r o l e 所拥有的权限,规则2 1 ,2 2 是判别权限属于角色的充分条件,规则2 3 是判别权 限属于角色的必要条件。 规则2 1 :如果系统执行过将权限p 直接授予角色r o l e 的操作,那么p p s e t ( r o l e ) 。 规则2 2 :如果系统执行过将角色r f a t h e r 直接授予角色r _ s o n 的操作,那么 v p p s e t ( r _ f a t h e r ) p p s e t ( r _ s o n ) 。 规则2 3 :对于v p p s e t ( r o l e ) ,p 或p + 必定可以通过规则2 1 或2 2 得到。 用户权限的并集策略:在s d m 3 中,用户所拥有的权限可以是直接授予用户的 权限,也可以是用户已激活角龟所拥有的权限。用户所拥有的权限是这些权限的并 集。用户u s e r 所拥有的所有权限的集合记为p s e t ( u s e r ) ,根据如下规则确定用户 u s e r 所拥有的权限,规则2 4 ,2 5 是判别权限属于用户的充分条件,规则2 6 是 判别权限属于用户的必要条件。 1 6 华中科技大学硕士学位论文 规则2 4 :如果系统执行过将权限p 直接授予用户u s e r 的操作,那么p p s e t ( u s e r ) 。 规则2 5 :如果系统执行过将角色r o l e 直接授予用户u s e r 的操作,那么 v p p s e t ( r o l e ) ,p p s e t ( u s e r ) a 规则2 6 :对于v p p s e t ( u s e r ) ,p 或p + 必定可以通过规则2 4 或2 5 得到。 2 2 2 2 多属主策略 l 。权限的多属主 在s d m 3 的自主访问控制系统中,系统权限被认为没有属主,客体权限的属主 为客体的创建者。所以权限的属主最多i 个,我们称之为单属主。在s d m 3 扩展了基 于角色的访问控制能力后,权限的单属主概念需要扩充为权限的多属主概念。在允 许权限的多属主的情况下,我们把拥有权限的可转授

温馨提示

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

评论

0/150

提交评论