(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf_第1页
(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf_第2页
(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf_第3页
(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf_第4页
(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机软件与理论专业论文)基于扩展客体的rbac模型研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 传统的自主访问控制d a c 和强制访问控制m a c 都各自的缺点,d a c 会出现访问 传递问题,而m a c 在同级间缺乏控制机制。基于角色访问控制模型r b a c 比传统的 自主访问控制和强制访问控制更加优越,提供了更高的灵活性和扩展性。但目前 的r b a c 模型在理论和运用上仍存在着诸多问题,本文主要针对模型的客体部分, 提出了多层对象的详细解决方案。 论文通过大量的规则和定义详细描述了对象问的层次关系,并把这种关系 纳入到r b a c 模型中去,得到了一种新型的权限控制模型一层次对象模型 m l o r b a c 。并将权限控制方面已有的设计和实践经验组织成一个类体系结构,构 建了一个应用于多个应用领域的m l o r b a c 权限管理的面向对象框架。 m l o r b a c 模型主要适用于对象比较多的系统,如民航业务系统。论文把模型 运用在该类系统中,满足了业务系统的权限策略,且能适应应用环境的动态变化, 取得了较好的效果。 关键词:基于角色的权限控制,层次客体,角色,访问控制策略 a b s t r a c t a b s 丁r a c t d j s c r e t i o n a r ya c c e s sc o n t r o l ( d a c ) a i l dm a n d a t o r ya c c e s s ( o n t r o l ( m a c ) m o d e l sb o t hh a v es o m ed i s a d v a n t a g e ,d a cw o u l dl e a dt oa c c e s st r a n s f e ra n dm a ci s l a c ko fa c c e s sm e c h a n i s mi ns a m el e v e l c o m p a r e dw i t ht r a d i t i o n a ld a ca i l dm a c m o d e l s ,r 0 1 e b a s e da c c e s sc o n t r o l ( r b a c ) m o d e lc a np r o v i d eb e t t e rf l e x i b i l i t ya n d s c a l a b i l i t v h o w e v e r ,c u r r e n tr b a cm o d e l ss t i l lh a v es o m ep r o b l e m si nt h e o r e t i c a l a n da p p l i c a t i o na s p e c t s 1 1 l ep 印e rf o c u s e so nt h es u b j e c to ft h em o d e l s ,p r e s e n t e d m u l t i o b j e c ts 0 1 u t i o np r 町e c tj nd e t a i l t h ep a p e rd e s c r i b e st h eh i e r a r c h i c a lr e l a t i o n sa m o n go b j e c t sb yu s i n gm a n yn 1 1 e s a n dd e f n m o n s ,w h i c ha r em e r g e di n t or b a cm o d e lt of o r mt h en e wm o d e ln a m e d m u l t i 1 e v e lo b j e c tr b a c ( m l o r b a c ) i na d d i t i o n ,t h em u l t i l e v e lo b j e c tr b a c 0 b j e c t o 以e n t e dn a m e w o r kh a sb e e nb u i l tu s i n gt h ep r a c t i c a la c c e s sc o n t r 0 1d e s i g s a n de x p e r i e n c e s t h em l o r b a cm o d e li sm a i n l yu s e di nt h em u l t i - o b j e c t ss y s t e m s ,s u c ha st h e d v i la v i a t i o no p e t a t i o ns y s t e m t h a tm o d e lh a sb e e na p p l i e dt ot h ec i v i la “a t i o n o p e r a t i o ns y s t e mt os a t i s f yi t sa c c e s sp o l i c y ,w h i c hc a na d a p tt ot h ed y n a m i cc h a n g eo f a p p l i c a t i o ne n v i r o 肿e n t + t h ee x p e r i m e n t ss h o wt h a t t h es t r a t e g yw o r k sw e l l k e y w o r d s :r b a c ,m u l t i - o b j e c t ,r o l e ,a c c e s sc o n t r o lp 0 1 i c y n 缩略语 缩略语 n i s tn a t i o n a li n s t i t u t eo fs t a n d a r d sa n dt e c h n o l o g y d a c d i s c r e t i o n a r ya c c e s sc o n t r o l m a c m a n d a t o r ya c c e s sc o n t r o l s o d s e p a m t i o no fd u t y r b a cr o l e b a s e da c c e s sc o n t r o l u a u s e ra s s j g n m e n t p ap e 硼i s s i o na s s i g n m e n t p l p p r i n d p l eo fl e a s tp r i v i l e g e r hr 0 1 eh i e r a r c h j e s r ir o l eh l h e r i t a c e d s ds t a t i cs 印a r a t i o no fd u t y s s d d y n a m j cs e p a r a t i o no fd u t y m l o r b a cm u l t j i e v e lo b j e c tr o l e b a s e da c c e s sc o n t r o l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: 垫监塾 日期:2 0 0 6 年5 月9 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:圭丑坠 导师签名:叁星 日期:2 0 0 6 年5 月9 日 第一章绪论 第一章绪论 随着计算机技术、通信技术和互联网的飞速发展,计算机安全性已经越来越 引起人们的重视,它要求对数据或操作能进行更有效的管理。而访问控制作为一 种重要的安全技术,已经渗透到操作系统、数据库、网络和应用系统的各个方面。 信息、信息处理过程和对信息起支持作用的信息系统和信息网络都是重要的 商务资产。信息的保密性、完整性和可用性对保持竞争优势、资金流动、效益、 法律符合性和商业形象都是至关重要的,然而,越来越多的组织及其信息系统和 网络面临着各种计算机安全方面的威胁,这与系统的自身设计有很大的关系,所 以必须依靠各种各样的技术手段来确保信息系统的安全,减少不会受到来自内、 外部的损害。 1 1 课题背景和意义 信息保护问题,从概念上,可以为每一个需保护的客体建立一个不可攻破的 保护墙。e l i s a 等讨论了运用强制授权限制在工作流管理系统的运用【1 】,1 9 7 5 年, j ls a l t z e r 和m d s c h r o e d e r 以保护机制的体系结构为中心,探讨了计算机系统的 信息保护问题,重点考察了权能( c a p a b i l i t y ) 实现结构和访问控制表( a c c e s sc o n t t o l l i s t ) 实现结构,提出了信息机制的八条原则:( 1 ) 机制经济性( e c o n o m y ) 原则: 保护机制应设计得尽可能的简单和短小。有些设计和实现错误可能产生意想不到 的访问途径,而这些错误在常规使用中是察觉不出的,难免需要进行诸如软件逐 行排查工作,简单而短小的设计是这类工作成功的关键。( 2 ) 失败一保险( 蜥1 s a f c ) 默认原则:访问判定应建立在显式授权而不是隐式授权的基础上,显式授权指定 的是主体该有的权限,隐式授权指定的是主体不该有的权限。在默认情况下,没 有明确授权的访问方式,应该视作不允许的访问方式,如果主体欲以该方式进行 访问,结果将是失败,这对于系统来说是保险的。( 3 ) 完全仲裁原则:对每一个客 体的每一次访问都必须经过检查,以确认是否已经得到授权。( 4 ) 开放式设计原则: 不应该把保护机制的抗攻击能力建立在设计的保密性的基础之上。应该在设计公 开的环境中设法增强保护机制的防御能力。f 5 ) 特权分离原则:为一项特权划分出 电子科技大学硕士学位论文 多个决定因素,仅当所有决定因素均具备时,才能行使该项特权。正如一个保险 箱设有两把钥匙,由两个人掌管,仅当两个人都提供钥匙时,保险箱才能打开。f 6 1 最小特权原则;分配给系统中的每一个程序和每一个用户的特权应该是它们完成 工作所必须享有的特权的最小集合。f 7 ) 最少公共机制原则:把由两个以上用户共 用和被所有用户依赖的机制的数量减少到最小。每一个共享机制都是一条潜在的 用户间的信息通路,要谨慎设计,避免无意中破坏安全性。应证明为所有用户服 务的机制能满足每一个用户的要求。( 8 v 心理可接受性原则:为使用户习以为常地、 自动地正确运用保护机制,把用户界面设计得易于使用是根本。 1 2 访问控制策略 传统的访问控制技术主要分为两大类,即自主型的访问控制d a c 和强制型 的访问控制m a c 【。 d a c 是目前计算机系统中实现最多的访问控制机制,它是在确认主体身份以 及f 或1 它们所属组的基础上对访问进行限定的一种方法。其基本思想是:允许某个 主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问以及可执行的 访问类型。如w i n d o w s 和u n i x 就是这种类型。强制型的访问控制( m a c ) 是 “强加”给访问主体的,即系统强制主体服从访问控制政策。它预先定义主体的 可信任级别及客体( 信息) 的敏感程度( 安全级别) 。用户的访问必须遵守安全政策划 分的安全级别的设定以及有关访问权限的设定。这种访问控制方式主要适合于多 层次安全级别的军事应用。这两种访问控制方式有其明显的不足,d a c 将赋予或 取消访问权限的一部分权力留给用户个人,这使得管理员难以确定哪些用户对哪 些资源有访问权限,不利于实现统一的全局访问控制。而m a c 由于过于偏重保密 性,对其他方面如系统连续工作能力、授权的可管理性等考虑不足。 9 0 年代以来出现的一种基于角色的访问控制r b a c ( r o l e b a s e da c c e s s c o n t r o l 、技术有效地克服了传统访问控制技术中存在的不足之处,可以减少授权管 理的复杂性,降低管理开销,而且还能为管理员提供一个比较好的实现安全政策 的环境。 在r b a c 中,引入了角色这一重要概念。所谓“角色”,就是一个或一群用 户在组织内可执行的操作的集合。r b a c 的基本思想是:授权给用户的访问权限, 通常由用户在一个组织中担当的角色来确定。例如,一个银行包含的角色可以有出 2 第一章绪论 纳员、会计师和贷款员等。由于他们的职能不同,所拥有的访问权限显然也各不相 同。r b a c 根据用户在组织内所处的角色进行访问授权与控制。也就是说,传统 的访问控制直接将访问主体( 发出访问操作、存取要求的主动方) 和客体( 被调用的 程序或欲存取的数据1 相联系,而r b a c 在中间加入了角色,通过角色沟通主体与 客体。真正决定访问权限的是用户对应的角色。 r b a c 对访问权限的授权由管理员统一管理,而且授权规定是强加给用户的, 用户只能被动接受,不能自主地决定。用户也不能自主地将访问权限传给他人。这 是一种非自主型访问控制。用户以什么样的角色对资源进行访问,决定了用户拥 有的权限以及可执行何种操作。所以在r b a c 中,访问的主体变成了角色。为了 提高效率,避免相同权限的重复设置,r b a c 采用了“角色继承”的概念1 3 1 4 】,定 义了这样的一些角色,它们有自己的属性,但可能还继承其他角色的属性和权限。 角色继承把角色组织起来,能够很自然地反映组织内部人员之间的职权、责任关 系。r b a c 的最大优势在于它对授权管理的支持。通常的访问控制实现方法,将 用户与访问权限直接相联系,当组织内人员新增或有人离开时,或者某个用户的 职能发生变化时,需要进行大量授权更改工作。而在r b a c 中,角色作为一个桥 梁, 沟通于用户和资源之间。对用户的访问授权转变为对角色的授权,然后再将 用户与特定的角色联系起来。一旦一个r b a c 系统建立起来以后,主要的管理 工作即为授权或取消用户的角色。r b a c 的另一优势在于:系统管理员在一种比 较抽象且与企业通常的业务管理相类似的层次上。 1 _ 3r b a c 模型的发展 随着r b a c 模型各种扩展的提出以及各种r b a c 模型的相互比较,r b a c 模型在理论上取得了很多研究成果。这里我们简单介绍一些相关的工作。r b a c 模 型晟初实际上是为了解决m a c 和d a c 模型的问题而提出来的。那么r b a c 模型 究竟能够在多大程度上解决m a c 和d a c 的问题呢? 2 0 0 0 年0 s b o m 等人研究了 这个问题,证明了r b a c 是一种更一般的访问控制模型。他们利用r b a c 模型 成功的模拟了m a c 和d a c 【2 】,通过定义合适的用户、角色和权限,r b a c 模型 可以衍生出更多种类的访问控制模型,从而可以真正取代已有的两种模型。 角色管理是r b a c 模型中最重要的部分,有许多研究都是针对如何处理角色 间的关系以及如何优化角色模型的管理。限制是r b a c 9 6 模型引入的一个角色间 电子科技大学硕士学位论文 关系的概念。由于限制是一个十分抽象的概念,如何定义限制,如何管理限制都 是很重要的问题。 一个模型无论理论上提的多么好,最终的实用性才是检验一个模型好坏的标 准。r b a c 模型从提出至今就一直有着各种应用。如在w e b 上的框架等f 5 】【6 1 ,我们 在这里简要叙述如下,d a v i df e r r a i o l o 在提出第一个r b a c 模型之后,就实现了 一个简单的原型系统。r a v is a n d h u 也实现了自己的基于r b a c 9 6 和a r b a c 9 7 模 型的原型系统。虽然他们发表的文章中给出了系统实现的框架和界面描述,但是 系统仍然太简单,无法实用化,也无法处理各种复杂的角色关系问题。由于在r b a c 模型中有角色继承关系,很多研究者从其他包含继承关系的角度来研究r b a c 模型 的实现。这里有o o 的方法,j a v a 的方法,c 0 r b a 的方法,g r a p h 的方法等等多种 角度。目前并没有见到具体的采用何种方法来实现的实际r b a c 系统,但是不可 否认的是一个真正的r b a c 系统必须综合采用这几种技术爿能实现准确、高效的 角色管理。 目前已有相当的r b a c 实用产品。在操作系统方面,w i n d o w s 系列产品、 s o l 盯i s 都已经蕴涵了角色的概念;数据库产品诸如o r a c l e8 0 、s v b a s e1 1 5 、i n f o 瑚i x 7 2 、m v s q l 5 0 4 川等都实现了不同程度的r b a c 模型;w e b 安全产品中g e t a c c e s s , t m s t e d w e b ,t i v 0 1 i 等都实现了r b a c 的一部分功能。但是目前的r b a c 应用仍 然不是很广,许多理论问题都没有对应的实际解决方案,因此r b a c 的应用层面 仍然需要进行大量研究。 1 4 中间件技术及其发展现状 中间件是处在用户接口与主机或其他系统间的软件,可俗称为应用的操作系 统。在众多关于中间件的定义中,比较普遍被接受是的:中间件是一种独立的系统 软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中 间件位于客户机服务器的操作系统之上,中间件是一类软件,而非一种软件:不仅 仅实现互连,还要实现应用之间的互操作:是基于分布式处理的软件,最突出的特 点是其网络通信功能1 8 j 1 9 l 。 中间件主要用来解决分布异构问题。用一句最通俗的话来说,中间件技术就 是“能把复杂变简单”。中间件是构造三层结构较为理想的解决方案。 从中间件发展到目前的w e b s e r v i s 是一种基于h l t e m e t 的发展需求。我们可 4 第一章绪论 以将w e b s e i c e s 简单理解为对己有中间件技术的更高层次的封装。其业务逻辑和 方法的实现还得依赖于底层的c o i 强a 、j 2 e e 等技术。 中间件平台为企业级软件系统的开发起了很大的作用,也正是我们选择中间 件的理由。从应用系统开发的角度来分析,选择中间件所能带来的如下利益:降低 开发费用;有利于系统维护,二次开发;缩短开发周期和减少项目开发风险;最后, 可以从纯程序员角度,大大减少了应用程序开发人员的工作,使得可以把更多的 注意力放在业务逻辑上。 在以中间件为运行平台的应用系统中,客户端提出的服务请求不是直接提交 给数据库,而是通过中间件提供的高速数据信道传送到服务器端,进而提交给数 据库这种高速数据信道有效地降低客户机与服务器以及客户机与数据库的连接数 量;同时,交易服务中与数据库无关的逻辑处理任务也由中间件完成,从而进一步 分担很多原来需要数据库完成的工作,从而提高了系统的工作效率。除此之外, 它含有更多内涵,它包括平台功能,自身具有自治性、自主性、隔离性、社会化、 激发性、主动性、并发性、认识能力等特性。 中间件提供了应用系统基本的运行执行环境,而中间件服务则提供了更多高 级的功能,如名字服务,事件服务,通告服务,日志等服务,在这些服务之上, 我们还需要考虑不同行业的需求。不同的应用领域。 中间件技术在集成中扮演着重要的角色,我们可以从不同层次采用不同种类, 不同技术的中间件产品进行应用集成。 中间件产品出现在7 0 年代,消息通信和事务管理是其最初具有的功能。到了 9 0 年代,随着互联网的普及和企业计算的需要,对于中间件的需求也逐渐多样化, 从而促使中间件技术进一步细分,产生了不同类别的中间件产品。 中间件分类有很多方式和很多种类,在这里我们由底向上从中间件的层次上 来划分,可分为以下三个大的层次:集成形中间件是中间件的高级发展阶段,将应 用、门户、和业务流程等因素加入进来;通用型中间件有十多年的发展历史,其 代表技术是以c o r b a 为主的分布式体系、基础型中间件是中间件底层构建技术, 其代表技术是虚拟机。 当然,在这个大的层次划分下,中间件还可以细化为一些种类。而2 0 0 0 年左 右,普遍接受的中间件分类是:数据访问中间件、消息中间件,或称面向消息的中 间件、事务( 交易) 中间件,或称事务处理监控程序、面向对象的中间件、w e b 应用 服务器。 电子科技大学硕士学位论文 1 ,5 论文的研究内容和组织结构 r b a c 模型虽然已逐渐成熟,但是仍有许多亟待研究解决的问题。在理论上, 由于引入角色作为主体和客体的中介,方便了对客体的权限进行管理和对用户进 行授权,实现权责分离。但是客体作为操作和对象的综合体,其语义十分模糊, 并没有在模型中给出解释;在应用上,如何将理论模型应用于实际系统中并实现 高效的访问控制,一直都是很难也是业界很关心的问题。本文针对r b a c 模型的 以上不足提出了自己的理论模型,并在一个实际的访问控制系统( 针对银行业务 系统) 中建立了基本的框架,取得了很好的效果。 在一个实际系统中运用r b a c 理论模型时,客体本身的管理比较复杂,它直 接反映了一项基本的权限,包括了一个或多个对象和对对象进行的操作,也直接 影响到角色的管理。当应用系统规模逐渐扩大以后,要控制的客体可能是成于上 万个,这些客体可能是数据或功能等。此时如果不对客体模型做一定的改进,是 很难管理好整个访问控制平台的。针对这种实际情况,传统的r b a c 模型没有相应 的对策,处理起来十分庞杂。本文从客体定义的语义出发,在客体集中引入层次 的概念,并提出一种全新的m l o r b a c 模型框架。这种模型成功的扩展了r b a c 的基本模型,简化了客体和操作配置和管理工作,并且利用客体命名机制极大的 提高了权限检索的效率。 第二章讲述r b a c 基本模型的基本定义和特征,也讨论了r b a c 模型中对用 户的管理一用户组和角色层次,也研究了模型的缓存机制对系统权限控制效率的 提高。 第三章针对传统r b a c 模型在实际运用中局限性给出了层次对象r b a c 模型 的定义,并讨论了m l o r b a c 模型的基本规则和元素,给出了关键算法,并详细 说明了如何在实际系统中定义这些要素。 第四章重点分析了r b a c 模型中间件的框架体系结构,提出了中间件的运用, 提高了m l o r b a c 模型的可重用性和扩展性。 第六章给针对m l o r b a c 模型给出了在银行业务系统中运用和其他业务系统 中运用中的讨论。 第七章对全文工作进行总结,并对下一步研究进行了期望。 第三章层次对象r b a c 模型 第二章基于角色的权限控制策略 2 1r b a c 模型的起源 在基于角色的访问控制模型r b a c 出现之前,自主访问控制d a c ( d i s c r e t i o n a r va c c e s sc 衄t r 0 1 ) 和强制访问控制m a c ( m a n d a t o r va c c e s sc o n t r 0 1 ) 已经提出了二十年并且在诸多应用领域取得了巨大的成功。访问控制已经成为计 算机安全产品中必不可少的组成部分之一。但是在二十世纪八十年代末九十年代 初,随着计算机网络的快速发展和应用系统规模的不断扩大,这两种传统的访问 控制模型已经无法适应新的应用环境。m a c 模型太强,n a c 模型太弱,它们都 无法提供一种策略中立的、具有强扩展性的访问控制框架。 r b a c 模型就是在这种背景下被提出来的。它实际上是一种强制的访问控制 模型,即用户自己不能进行自主授权和权限转移,但是它没有如m a c 中那样限制 信息的流向,而是引入了一种抽象的中介元素一角色一来传递授权信息,从而提 供了足够的灵活性和扩展性。 1 9 9 2 年,美国国家标准与技术研究所( n i s t ) 的d a v i df e r r a i o l o 和r i c kk u h n 在综合了大量的实际研究之后,率先提出基于角色的访问控制模型框架,并给出 了r b a c 模型的一种形式化定义 1 0 j 。该模型第一次引入了角色的概念并给出其基 本语义,指出r b a c 模型实现了最小权限原则( 1 e a s tp r i v i l e g e ) 和职责分离原则 ( s e p a r a t i o no f d u t y ) 。该模型中给出了一种集中式管理的r b a c 管理方案。1 9 9 5 年他们以一种更直观的方式对该模型进行了描述 1 1 j 。 2 0 0 1 年,r b a c 领域的领军人物d a v i df e i f a j 0 1 0 ,r a v is a n d h u 等人联合拟定 了一个r b a c 模型的美国国家标准草案 ”】,力图统一不同模型中的术语,并对所 有r b a c 的基本操作给出伪码定义。该模型类似于r b a c 9 6 模型,只是对权限部 分做了一定的细化,分成操作( o p e r a t i o n ) 和对象( o b j e c t ) 。 2 2r b a c 基本模型 本节首先给出r b a c 模型中各种术语的基本定义,然后介绍目前比较成熟的 电子科技大学硕士学位论文 r b a c 9 6 ,作为后续研究的出发点。 22 1r b a c 的基本特征 r b a c 的基本元素由用户,角色,角色层次,操作和安全对象等术语描述。在 r b a c 中执行一个操作访问一个安全对象,用户必须是处于某种激活的角色状态。 而用户的角色是由整个系统中的安全管理员授权的。通过r b a c ,系统管理者能够 在对角色授权,角色激活以及操作执行这几个方面进行约束。 r b a c 模型中的常用术语如下: 用户( u s e r ) :是一个访问计算机系统中的数据或者用数据表示的其它资源 的主体。我们用u 表示全体用户的集合。用户一般情况下指人,也可为a g e n t 等智 能程序。 权限( p e r m i s s i o n ) :是对计算机系统中的数据或者用数据表示的其它资源进 行访问的许可。我们用p 表示全体权限的集合。权限一般是一种抽象概念,表示 对于某种客体资源的某种操作许可。因此有的模型中将权限细化为二元组( 操作, 对象) ,其中对象是访问控制系统中的真正客体,操作是作用在该对象上的一种 访问方式。由于该二元组中操作一般是与具体的对象相关的,我们在今后的模型 中认为权限是一个语义统一体。 角色( r d i e ) :是指一个组织或任务中的工作或位置,代表了一种资格、权 利和责任。我们用r 表示全体角色的集合。角色是一种语义综合体,可以是一种 抽象概念,也可以对应于具体应用领域内的职位和权利。 管理员角色( a d m i n i s t r a t o rr o i e ) :是一种特定的角色,用来对角色的访问 权限进行设置和管理。在集中式管理控制模型中,管理员角色由一个系统安全管 理员来完成;而在分布式管理控制模型中,可以采用制定区域管理员来对系统进 行分布式管理,每个管理员可以管理该区域内的角色权限的配置情况。当然区域 管理员的创建和权限授予则统一由顶级的系统安全管理员完成。 用户指派( u s e r a s s i g n m 吼t ) :是用户集u 到角色集r 的一种多对多的关系, 即有u a u r ,也称为角色授权( r o l e a u t h o r i z a t i o n ) 。( u ,r ) 己h 表示用户“拥 有角色r ,从语义上来说就表示“拥有r 所具有的权限。 权限指派( p e r l i i i s s i o na s s i g n m e n t ) :是权限集尸到角色集r 的一种多对多 的关系,即有只4 p 月。b 4 ( p ,r ) 表示权眼p 被赋予角色r ,从语义上来说就表 第三章层次对象r b a c 模型 示拥有r 的用户拥有口。 角色激活( r o l e a c t i v a t i o n ) :是指用户从被授权的角色中选择一组角色的过 程。用户访问的时候实际具有的角色只包含激活后的角色,未激活的角色在访问 中不起作用。相对于静态的角色授权来说,角色激活是一种动态的过程,提供了 相当的灵活性。 会话( s e s s i o n ) :对应于一个用户和一组激活的角色,表示用户进行角色激 活的过程。一个用户可以进行几次会话,在每次会话中激活不同的角色,这样用 户也将具有不同的访问权限。用户必须通过会话才能激活角色。 角色继承关系( r o l ei n h e r i t a n c e ) :是角色集尺中元素间的一种偏序关系, 满足 1 自反性:v r r ,r r 2 反对称性:v _ ,r 2 尺,_ 屯n 也苫,1 = 毫也 3 传递性:v ,2 ,r ,_ 匕nr 2 ,3 寺_ 芑r 3 从语义上来说,两个角色r 】zr 2 是指前者比后者级别更高,具有更大的权利。形 式化的说,a 屯蕴涵。2 对应的权限指派r t 也拥有,同时r t 对应的用户指派r 2 也拥有, 即有 苫如辛删虹s f d 阼( 屯) cn 雕i s 5 i 。n ( ) n 孤g r ( ) 孤e r ( r 2 ) 其中a 硎括5 i 彻表示r 对应的权限集,洮e r 表示r 对应的角色集。角色继承关 系允许存在各种形式,包括多重继承。在这个偏序的意义下,角色集中并不一定 存在最大角色和最小角色。 角色层次图( r o l em e r a r c h i e s ) :是给定了角色继承关系之后整个角色集形 成的一个层次图:如果= r 2 ,那么在图上就存在。1 到r 2 的一条有向边。根据不 同的角色偏序定义,角色层次图可以是树,倒装树,格,甚至极为复杂的图。一 般为了简化角色层次图,有向边的箭头被省略,继承关系默认为自上而下。图2 1 就是一个角色层次图的例子。 限制( c o n s t r a i n t s ) :是在整个模型上的一系列约束条件,用来控制指派操 作,指定职责分离( s d ,s 印a r a t i o no f d u t y ) 以及避免冲突等。这是一个非常抽象 的概念,r b a c 模型中并没有给出限制的类型和表述方式。任何独立于前面诸多 电子科技大学硕士学位论文 术语的约束条件都是限制的一种形式。典型的限制包括指定角色互斥关系,角色 基数限制等。根据职责分离的不同阶段,限制一般可分为静态职责分离和动态职 责分离。 项目生产工 程师1 项目管理员1 项目质量工 程师2 管理员 项目管理员2 项目生产工 程师l 工程师i工程师2 、 项目1 j 漏i 项目2 员工 图2 1 角色层次示意图 项目质量工 程师2 角色互斥关系( m u t u a i l ye x c l u s i v er o l e s ) :限制的一种,用于指定两个角色 具有不同的职责,不能让一个用户同时拥有。银行的出纳和会计便是角色互斥的 简单例子。角色互斥关系的目的是为了在r b a c 模型中引入业务逻辑的规则,避 免冲突的发生。根据互斥的程度和影响的范围不同,角色互斥有很多种形式。 角色基数限制( r o l ec a r d i n a l i t yc o n s t r a i n t s ) :限制的一种,用于指定一个 角色可被同时授权或激活的数目。比如总经理只能由一个用户担任,那么总经理 角色的角色基数就为1 。根据下面定义的静态和动态的职责分离,角色基数限制有 静态角色基数限制和动态角色基数限制两种。 静态职责分离( s t a t i cs d ) :是指限制定义在用户指派( 角色授权) 阶段, 与会话及角色激活无关。以角色互斥为例,如果定义两个角色为静态的角色互斥, 那么任何一个用户都不能同时被指派到这两个角色。静态职责分离实现简单,语 义清晰,便于管理,但是不够灵活,有些实际情况无法处理。 第三章层次对象r b a c 模型 动态职责分离( d y n a m i cs d ) :是指限制定义在角色激活阶段,作用域在会 话内部。仍以角色互斥为例,如果定义两个角色为动态的角色互斥,那么一个用 户可以同时被指派这两个角色,但是在任何一个会话中都不能同时激活它们。由 此可见动态职责分离更灵活,基本上能处理各种实际情况,但实现略复杂。 2 2 1 1 用户、角色、客体 在r b a c 中,用户代表了一个人,角色是功能函数的集合,而操作则代表了 访问一个或多个保护对象的一种特殊模式。下图表示了用户和进程的关系 臣三p j 至习 图2 2 用户与进程图 下面的伪函数描述了用户,进程,和角色之间的映射关系: s u b j e c t u s e r ( s :s u b j e c t ) :进程s 相关连的用户; a u t h o r i z e d r o l e sf s :s u b i e c t ) :与s u b i e c t ”s 哜目关连的角色; r 0 1 e m e m b e r s r r :r o l e 、:拥有角色r 授权的用户: u s 盯一a u t h o f i z e d r o l e s ( u :u s 盯1 :用户u 拥有的角色; 和一个进程相关联的用户由一个唯一的用户标识标记。每一个进程和一个用 户相关联,并与一个或多个角色相关联。r b a c 要求如果a u t h o r i z e d m l e s ( s ) = r 并 且s u b i e c t u s e r ( s ) = u ,那么用户n u ”必须和角色集合”剐相关联,也就是如下的设定: 设定1 :( 一致性s u b j e c t ) 一致性s u b j e c t 设定满足仅当: s :s h b j e c ,m :m s e r ,r ,r :r o z e s : s “坷已c f 一“j 已r ( 占) = “ 口m 旃o r 忍已d r d f e s ( 占) = r h r d 2 e m e m 6 e 坶( r ) = 争r r r b a c 中的操作和安全对象依赖于所实现的应用系统。例如在一个操作系统 中,操作可能包括读,写和执行;在一个业务系统中可能是是否允许执行某项菜单 的权限;而在一个数据库管理系统中,操作可能包括插入,删除,附加,更新等。 r b a c 中的对象集合含盖所有的r b a c 中操作访问的对象。 一个操作代表了一个可被角色引用的控制单元。操作和简单的访问模式是不 一样的,操作能够用于描述特定应用中安全相关的细节和约束,而筒单的访问方 电子科技大学硕士学位论文 式却不可以的。 下图描述了操作和对象之间的关系: 匝三仁习 图2 3 操作与对象图 当用户被授权为某个角色的成员时,则用户具备了执行和此角色相关联的操作的 能力。每一个操作都有一个唯一的标识,操作的概念以及角色和操作的关系的伪 函数描述如下: m l e - 叩e r a t i o n s ( r :r o l e s ) :和角色r 相关联的操作; 0 p e r a t i o n o b j e c t s ( o p :o p e m t i o n ) :操作o p 可以访问的授权对象; 2 2 1 2 角色层次 角色可以有重叠的责任和特权,属于不同角色的用户可能都需要执行一些共 同的普遍性的操作。在一些企业中,有一些操作是所有用户都需要执行的。因此, 当创建角色时,重复的为每个角色赋予这些普遍的操作非常的低效和不方便。为 了提高效率,r b a c 引入了角色层次的概念。一个角色层次定义了角色的独有属 性以及此角色可能包含的其它角色。也就是说一个角色可能间接的包含另一个相 关联的角色的操作,约束和对象。角色层次是组织角色的一种非常自然的方式。 角色层次可以表现为继承的关系。直接的亲属关系表现为一个有序对 ,r i 十1 是直接的父亲,r i 是孩子, 是一个包含关系。因此,r i + l r i 表示r i + l 包含r i 。 角色层次可阻被如下规则描述: 规则1 ( 角色层次) 如果一个进程被授权访问一全角色并且这个角色包含另外一个角 色,那么进程同样也能够访问这个被包含的角色: v s :s “坼c f ,“,:r o f 8 s 巧口“m d r 副一r d z 鼬0 ) 巧 r l j 一口h 确d ,咖d r 口胁( 5 ) 221 3 角色授权 用户和角色的关联能够有如下三点来描述: 1 1 用户不应该有超出执行他的任务所需要的特权 第三章层次对象r b a c 模型 2 ) 用户正在授权的角色不应该和此用户已经授权的角色有互斥性 3 ) 被授权为某个角色成员的用户数不可以超出角色的上界 第一个特性是确保和最小权利原理( p l p ,p r i n c i p l eo fk a s tp r i v i l e g e ) 保持一致。最 小权利原理要求一个用户不能被赋予超出执行他的任务以外的权利。为了确保最 小权利原理,需要仔细的确认用户的功能以决定最小的可以执行此功能的权利集 合,并将用户限制在一个只具有这些权利的域内。r b a c 能够进行配置使得只有 一个角色需要的操作被赋予这个角色。当操作有重叠发生的时候,可以建立前面 提到的角色层次。 上面所列的第二个属性是为了说明责任静态分离规则f s s d ) 。在r b a c 中,当 一个用户被授权为某一个角色成员时,此用户不可以被授权为其它的一个角色成 员。在企业中这种规则是非常必要的。例如在银行中,如果一个用户被授权为了 出纳员角色,那他就不可以被再授权为会计的角色。也就是说出纳员和会计的角 色是互斥的。这种制约在r b a c 中叫作责任静态分离规则( s s d ) 。责任静态分离规 则可以被集中声明并统一的强加在某些特殊的角色上。对于一个给定的角色,所 有和此角色互斥的角色由以下伪函数说明: m u t l l a l l y - e x d u s i v e a u t h o r i z a t i o n ( r :r o l e ) :所有和角色r 互斥的角色列表; 规则2 ( 责任静态分离) 一个用户被授权为一个角色成员仅当此角色和用户所有己经 授权的角色并没有形成互斥: v “:“s p ,一,j :阳k 5 ;f ,; “r d 彪一垅绷6 e 瑚p ) “r d k 一胁硎6 已船( 巧) = , “h 舭d f 眵一x z 淞f v e n “坊d r 担f i o n ( 巧) 在r b a c 中,某些角色必须只能被授权于一定数量的用户,一个最明显的例 子就是任何企业中,总经理都只能有一个。某个角色所允许授权的用户数量以及 某个角色当前存在的授权用户数量由以下的伪函数说明: m e m b e r s h i p 1 i m i t ( r :r o l e s ) = 角色r 允许的成员数量; n u m b e 卜o f - m e m b e r s ( r r o l e s ) = 角色r 己经存在的授权成员数量; 角色容量能被以一下规则描述: 规则3 ( 角色容量) 一个角色的容量不能够超出此角色已经存在的角色数量: 、r :r o l s : m e m 6 e 阳 妒一1 i m 打( ,) 芑m f m 凸盯一0 ,一m 朗q b p r s ( r ) 电子科技大学硕士学位论文 2 2 1 ,4 角色激和 在用户的一个会话( s e s s i o n ) 期间,用户和他所具有的角色集合的一个子集相关 联。用户具有角色授权是此用户能执行操作的一个必要而非充分条件。在r b a c 中,在用户可以执行某一个操作以前,用户必须首先被授权为一个激活的角色。 一个角色可以被激活如果: 1 1 用户被授权为可以执行此操作的角色; 2 、欲激活的角色和此用户的其它激活角色并不互斥冲突; 3 1 欲执行的操作被授权为将激活的角色; 下面的伪函数使得进程能够执行r b a c 操作并为进程定义了一个激活得角色: e x e c :( s :s u b j e c t ;叩:o p e r a t i o 玎) :如果s u b j e c t ”s ”能 够执行操作”o p ,执行结果为真”否则为假 a c t i v e r o l e s ( s :s u b j e c t ) :s u b j e c t ”s 。的活动角色列表 一个进程欲激活的角色必须在这个进程的授权的角色集合里,规则说明如下: 规则4 ( 角色授权) 一个进程永远不能激活没有被授权给此进程的角色: v s :占“巧p c f ,印:d p b r 口f f d n ; 口c 矗v p 一,d 彪s 0 ) n “如d r 垃e d r d k 0 ) 一旦一个角色属于一个进程的授权的角色集合时,如果这个角色是激活状态 的,那么操作就可以执行。尽管一个角色可能是在角色集合中,一些规则( 例如下 面描述的责任动态分离规则) 将使角色无法激活。下面是角色执行规则的说明: 规则5 俑色执行) 一个进程能够执行一个操作仅当进程扮演一个激活的角色: v s :5 “巧e c f ,d p :d p e ,口砌n ; 巴x p c 0 ,d p ) = 争庳c “v p 一,o 跆o ) 中 r b a c 提供给管理者制定责任动态分离( d s

温馨提示

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

评论

0/150

提交评论