(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf_第1页
(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf_第2页
(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf_第3页
(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf_第4页
(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于角色的web服务访问控制研究.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 访问控制是用来保护系统资源免于被非法用户访问、更改、破坏的一项重要技 术。目前,基于角色的访问控制( r o l e - b a s e aa c c e s sc o n t r o l ,r b a c ) 和基于任务的访问 控制( t a s k - b a s e da c c e s sc o n :h o l ,t b a c ) 都得到了广泛的应用。但是,由于r b a c 模型 和t b a c 模型都存在各自的缺陷。因此,在r b a c 基础上,结合强调工作流程的 1 1 3 a c 思想,利用a o p 技术实现了w e b 服务访问控制模块,细化了企业应用系统的 安全访问控制粒度,适应了工作流程的动态变化。 通过a o p 技术将企业应用系统中具有横切行为的访问控制模块抽取出来,封装成 独立的模块,然后将该模块“无缝”地集成到企业应用系统中。由于企业应用系统采 用了不同的开发平台,使得企业应用系统的集成代价过高。考虑到w e b 服务在企业应 用集成方面的优势,通过将a o p 技术实现的访问控制模块发布为w e b 服务形式供企 业应用系统中的对象调用。这一方法将访问控制模块从企业应用系统中彻底独立出 来。a o p 技术实现的、基于r b a c 和t b a c 的访问控制模块能够对系统内各种对象进 行主动的权限校验。为了能够对系统中对象进行细粒度的权限控制,访问控制模块将 w 曲页面代表的功能看作包含多个步骤的工作流程。在系统运行时,访问控制模块根 据企业应用系统的工作流程上下文对系统对象采用适当的访问控制。同时由于访问控 制模块以w e b 服务的形式作为系统与外部交流的接口,能够使新的系统和别的系统之 间保持松耦合的关系,保持较高的可扩展性。因此,这种访问控制模块的实现方式取 代了将权限控制功能模块分散到系统的多个对象中的传统开发方式,从而提高了系统 的安全性和可维护性,具有良好的适应性和灵活性。 关键词:权限控制;舶a c ;a o p :w e b 服务 大连理工大学硕士学位论文 r e s e a r c ho nr o l e b a s e dw e bs e r v i c e sa c c e s sc o n t r o lm o d e l a b s t r a c t a c c e s sc o n t r o li sa l li m p o r t a n tt e c h n i q u ew h i c hi su s e dt op r o t e c ts y s t e mr e s o u r c e sf r o m a c c e s s ,m o d i f i c a t i o na n dd a m a g eb yu n a u t h o r i z e du s e r c u r r e n t l y ,r o l e - b a s e da c c e s sc o n 仃o l ( r b a c ) a n dt a s k - b a s e da c c e s sc o n t r o l ( t b a c ) h a sb e e nw i d e l yp u ti n t oa p p l i c a t i o n h o w e v e r , c o n s i d e r i n gt h a tb o t ho ft h e mh a v et h e i ro w nd e f e c t i o n sr e s p e c t i v e l y t h er b a c - a n d - t b a c - b a s e dw e bs e r v i c e sa c c e s sc o n t r o lm o d u l eu s i n ga o pt e c h n i q u e sr e f i n e dt h e g r a n u l a r i t yo fs e c u r i t ya c c e s sc o n t r o li nt h ee n t e r p r i s ea p p l i c a t i o ns y s t e m , a n dm e a n w h i l e c a t e r e dt ot h ed y n a m i cc h a n g e si nw o r kf l o w , i t h ea c c c s sc o n 打o lm o d u l ew i t hc r o s s c u tb e h a v i o r si sf i r s t l ye x t r a c t e df r o me n t e r p r i s e a p p l i c a t i o ns y s t e m , t h e ne n c a p s u l a t e da sa ni n d e p e n d e n tm o d u l e ,a n df i n a l l yi n t e g r a t e di n t o t h ee n t e r p r i s ea p p l i c a t i o ns y s t e m ss e a m l e s s l yw i t ha o p t e c h n i q u e s a se n t e r p r i s ea p p l i c a t i o n s y s t e mw a sd e v e l o p e du n d e rav a r i e t yo fd e v e l o p m e n tp l a t f o r m s ,i ti st o oc o s t l yt oc o m p l e t e e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n w i t ht h ea d v a n t a g e so fw e bs e r v i c e si ne a i ,t h ea p c c e s s c o n t r o lm o d u l ew a st e l e a s e da sw e bs e r v i c e si n t e r f a c e s ,a n ds e r v e dg r e a tf a e i l 硒e sf o rt h e o b j e c t si ne n t e r p r i s ea p p l i c a t i o ns y s t e n xa tt h es 锄et i m e t h i sa p p r o a c hc o m p l e t e l ys e p a r a t e s a c x 3 e s sc o n l r o lm o d u l ef r o mt h ee n t e r p r i s ea p p l i c a t i o ns y s t e ma n dc a nt a k ea c c e s sv e i l f yo na l l k i n d so fs y s t e mo b j e c t sa u t o m a t i c a l l y i no r d e rt oo b t a i nt h ef i n eg r a n u l a r i t yo ft h es e c u r i t y a c c e s sc o n t r o l ,t h ea c c e s sc o n t r o lm o d u l en e e d st ot a k ef u n c t i o n a l i t yr e p r e s e n t e db yw e b p a g e a sam u l t i s t e pw o r k f l o w h e n c e ,i nt h ee x e c u t i o no f e n t e r p r i s ea p p l i c a t i o ns y s t e m , t h ea c c e s s c o m r o lm o d u l ea l s ot a k e sa p p r o p r i a t ea c c e s sv e r i f yp o l i c yo nt h es y s t e mo b j e c t sa c c o r d i n gt o t h ec o n t e x to fe n t e r p r i s ea p p l i c a t i o ns y s t e m b e c a u s et h ea c ( 七s sc o n 仃o lm o d u l ei sr e l e a s e da s w e bs e r v i c e si n t e r f a c e sf o rf f x t e r i l a le x c h a n g e s ,t h en e ws y s t e mw i t hh i 曲s e a l a b i l i t ya c h i e v e d al o o s e - c o u p l e dr e l a t i o n s h i pw i t ho t h e rs y s t e m s s o ,t h ea p p r o a c hr e p l a c e dt r a d i t i o n a l d e v e l o p m e n tm o d e ,i nw h i c ha c c e s sc o n t r o li ss c a t t e r e di n t om o d u l e so ft h ee n t e r p r i s e a p p l i c a t i o ns y s t e m , a n de n h a n c e dt h es a f e t y ,m a i n t a i n a b i l i t y ,a d a p t a b i l i t ya n df l e x i b i l i t yo f t h e s y s t e m k e yw o r d s :a c c e s sc o n t r o lv e r i f y ;r b a c ) a o p ;w e bs e r v i c e s i - 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究_ 工: 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他入已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:蕴遣雁日期:丝绦丝旦! 窭 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使 用规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和 电子版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇 编学位论文。 作者签名:蕴塑匿 导师签名: 聱武 型年也月红日 大连理工大学硕士学位论文 1 绪论 1 1 研究背景及意义 随着当前网络技术的广泛普及,出现了电子商务、电子政务等形式的软件系统为 人们的生活带来了巨大的影响和极大的便利。与以往的c s 架构系统相比,b s 架构的 企业应用系统中对信息安全控制变得更为重要。允许哪些人,在什么时候,能够对哪 些系统资源进行哪些操作成为系统设计人员所关心的问题。信息安全技术包括如下五 个课题:入侵检测( i n t r u s i o nd e t e c t i o n ) 、加密( e n 删) 、认i 正( a u t h e n t i c a t i o n ) 、访问 控弗i j ( a c c c s sc o n t r 0 1 ) 和审核( a u d i t i n g ) 等。在这里我们需要仔细辨别“认证”和“访问 控制”所代表的具体意义,“认证”主要用于建立、确认系统用户的身份,而“访问 控制”是建立在系统用户已经通过认证的过程得到了正确的身份。因此,“认证”是 “访问控制”的前提,“访问控制”的有效性依赖于“认证”的正确性。访问控制系 统一般包括:( 1 ) 主体( s u b j e c t ) :发出访问操作、存取要求的主动方,通常指用户或者 用户的某个进程;( 2 ) 客体( o b j e c t ) :被调用的程序或者想要存取的数据访问;( 3 ) 安全 访问策略:一套规则,用于确定主体对客体是否拥有相应的访问权限。 用户权限管理通常有3 种方澍: ( 1 ) 自主访问控制技术( d i 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 ) d a c 涉及到定义、建模以及对属性的访问实施。该技术是在确认主体身份及所属 组的基础上,对访问进行限定的一种控制策略,访问控制策略保存在访问控制矩阵 ( a c c e s sc o n t r o lm a t r i x ) 中,矩阵的每个元素表示一个主体对一个客体的访问控制。访问 控制矩阵一般比较大,通常使用访问控制表( a c l ) 、容量表( c l ) 来实现。这一方法可以 控制主体对客体的直接访问,但是不能控制间接访问。其优点是比较直观、易于理 解,缺点首先是当系统关系较为复杂时,对用户权限的修改变得十分困难;其次是可 能存在层叠授权问题【3 】,所谓层叠授权问题即是说当两个或者两个以上主体同时将菜一 个存取模式授权给其他用户时,在取消该项授权时导致了层叠取消授权;最后,由于 通过包含在数据中的数据进行更新数据有可能引起数据的不一致。 ( 2 ) 强制访问控制技术( m a n d a t o r ya c c e s sc o n t r o l ,简称m a c ) 强制访问控制技术不仅涉及到定义、建模等问题,它还涉及到对系统中的信息流 进行处理的问题。m a c 采用预先定义用户、及信息的级别,并通过比较这两者的级别 来进行合法性验证,是系统强制主体服从事先制定的访问控制策略。其缺点是这种事 先的权限划分与现实可能存在一定的差距;至今对标记数据的粒度没有统一的划分标 基于角色的w e b 服务访问控制研究 准,导致了标记指定的不一致性和不完整性:同级的数据之间缺乏控制机制,且整个 体系是事先制定的,修改比较繁琐;执行完整性操作相当复杂,对强制访问控制中数 据的完整性的实现和分析相当复杂【4 】。 ( 3 ) 基于角色的存取控制技术( r o l e b a s e da c c e s s c o n t r o l ,简称r s a c ) 强制访问控制技术和自主访问控制技术是两种传统的访问控制方法。m a c ,即系 统强制主体服从访问控制政策,通过系统管理人员指定的安全标签( s e c u r i t yl a b 幽来控 制信息的流向,这一方法严格然而缺乏应有的灵活性,很难适应较为复杂的企业应用 系统环境;在d a c 方法下,资源拥有者可以自己决定资源的访问权限,是在确认主体 身份以及( 或) 它们所属的组的基础上,对访问进行限定的一种方法,它具有较大的灵活 性的同时却又不能控制信息的流向。这两种方法的共同点就是都关注于:读( r e a d ) ,写 ( w r i t e ) ,删除( r e v o k e ) ,增力 ( a p p e n d ) ,执行( e x e c u t e ) 等最基本的访闯权限,但是这些最 基本的访问权限并不能完全满足大多数企业应用的需求。对于大多数企业应用中的业 务行为而言,一次具体的业务行为很可能涉及到数次读、写、执行等动作,使用上述 两种访问控制方法中的任何一种都会显得过于繁琐而失去了应用的意义。 基于以上考虑,美国国家标准局( n i s t ) 提出了基于角色的访问控制方法,相对于 强制访问控制和自主访问控制技术,r b a c 是在前两者中进行改进的一种中性策略, 在r b a c 模型中可以表示d a c 和m a c 模型。其核心思想就是将访问权限与角色相联 系,通过给用户分配合适的角色,让用户与访问权限相联系。r b a c 通过在用户与权 限之间设置角色,通过为角色定义权限集合间接地对用户和权限之间的关系分隔。一 旦为用户分配角色,那么该角色所对应的权限也随之分配给该用户。权限的变化被限 制在角色和权限之间,大大减轻了系统管理员的负担并具有极大的灵活性,从而满足 了商业应用的需求。 本文在前人工作的基础上探讨了访问控制技术在企业应用系统中的应用价值,并 通过a o p 技术将访问控制模块“无缝”加载到已有的遗留系统或者正在开发项目中 去,最后以w e bs e r v i c e 方式发布在i n t r a n e t 上。 1 2 研究现状 在过去的2 0 年中,人们提出了众多的、除r b a c 以外的访问控制模型:二十世纪 7 0 年代,h a l t i s o n ,r u z z o 和u l l m a n 提出了般u 模型:1 9 7 6 年,j o n e s 等人提出了 t a k e - g r a n t 模型;以及上文所述的自主访问控制模型( d a c ) 、强制访问控制模型 ( m a c ) 、基于角色的访问控制( r s a c ) 。f e r r a i o l o 和r a v is a n d h u 对此作了许多研究 大连理工大学硕士学位论文 1 5 , 6 。由于r b a c 具备了:容易理解、支持最小权限原则、易于管理、责任分离、权限 继承等优点,而得到了人们广泛的应用和深入的研究。 上述传统访问控制方法都是根据主体属性、对象属性以及要求权利来决定授权 的。属性涉及:主体( 客体) 属性,一致性( i d e n t i t y ) 和容量( c a p a b i l i t y ) 。在d a c 中,客 体属性是访问控制表( a c e ) ,主体属性是容量表( c l ) ;而在m a c 中,主体属性是主体 的安全级标记,客体属性是客体的敏感度标记。在上述几种访问控制模型都是从系统 的上下文环境是静态的角度来保护系统内资源,只有当主体对某一客体有访问操作请 求,而且主体拥有该权限时,系统对该主体开放该客体的相关权限,符合这一特征的 安全模型被我们称之为被动安全模型。由于在对访问控制模块进行设计的同时并没有 考虑到系统程序执行时的上下文环境,因此,这样的访问控制模块存在潜在的安全隐 患1 7 3 】。我们必须将系统程序所处的上下文环境作为判断是否应该授予主体对某一客体 的某些权限的一个重要的因素来考虑。这里所说的系统程序的上下文环境即是当前的 一个研究热点:工作流。所谓的工作流【9 】是为完成某一目标而由多个相关的任务( 步骤) 构成的业务流程。传统的访问控制技术并不能够直接应用工作流到访问控制当中,为 了能够采用“面向任务”的观点来对企业应用系统进行访问控制,前人提出了一种新 的安全模型一t b a c ( t a s kb a s e da c , t :e s sc o n t r o l ,基于任务的访问控制) 【5 1 。t b a c 对系统 中对象的访问权限控制并不是静态的,而是随着系统程序执行环境和执行任务的上下 文环境发生变换,因此我们也将其成为主动安全模型。具体而言,t b a c 有如下两点 含义:( 1 ) 由于在工作流的环境中,每一步对数据的处理都与前面的数据处理密切相 关,所以t b a c 是一种上下文相关的访问控制模型;( 2 ) t b a c 不仅能够对不同的工作 流实行不同的访问控制,还能对同一个工作流的不同任务实例实行不同的访问控制策 略,所以,t b a c 又是一种“基于实例”( i n s t a a c e - b a s e d ) 的访问控制模型;( 3 ) 在 t 田 a c 中,用户只能在有效时间范围内使用该用户被授予的权限。 为了更为方便控制和管理访问控制模块中的权限粒度,人们还提出了一种基于角 色和任务的工作流授权模型。该模型的基本思想是角色和权限相互不直接联系,而是 通过任务将两者联系在一起。给用户指派合适的角色,用户通过该角色可以获得执行 的任务。用户只有在执行任务的某一个具体的实例时才能够获得该任务所允许访问的 客体的权限f 1 0 1 。在这权限控制过程中最为关键的是授权约束,前人已经提出了授权 约束的形式化描述【l “。 基于角色的w e b 服务访问控制研究 2 基于角色的访问控制理论 2 1 基于角色访问控制技术的理论概述 1 9 9 2 年,在第十五届美国国家计算机安全会议( n a t i o n a lc o m p u t e rs e c u r i t y c o n f e r e n c e ) q b ,f e r r a i o l 博士和k u h n 博士正式提出了“基于角色的访问控制”的模 型。通过角色作为权限与用户的中介,将权限与用户分开,以便更为灵活地为系统中 的用户根据其职责和任务完成权限分配。由此可知,r b a c 通过引入角色概念将整个 访问控制过程分为角色到权限和角色到用户两个部分,从而实现了权限与用户的逻辑 分离。相比角色到用户的频繁变化而言,角色到权限是较为稳定的,r b a c 能够通过 引入角色概念减小了授权管理的复杂度,降低了管理开销,同时更为灵活地支持了企 业的安全策略,并有极大的伸缩性。值得注意的是我们需要控制角色的引入,否则可 能引起角色泛滥。 r b a c 并不强调任何一种保护策略,它对所有的企业应用系统支持几种著名的安 全原则和策略。其中包括:在系统管理员和普通用户分配角色和权限时强调“最少权 限”原则:在职责分配、动态职责分离和静态职责分离过程中强调利益冲突原则。以 上原则在如下三种情况下适用:( 1 ) 为角色分配权限集合时;( 2 ) 为用户分配角色时; ( 3 ) 某用户的某一激活会话中激活角色;“) 当一个用户试图对某一客体执行某一操作 时。r b a c 的主要优势在于拥有描述和加强了面向企业的安全策略以及简化安全管理 的能力。通过定义角色、角色层次、关系和约束能够实现对用户行为的静态控制或者 动态控制,这样可以简化系统中的安全管理工作。如此一来,r b a c 在安全管理方面 的高效性为安全管理带来了更大程度上的可操作性,减少了大量的安全管理方面错 误。并且由于r b a c 模型配置过程独立于整个组织化策略,能够适用于任何组织化系 统结构,基于r b a c 模型的企业应用系统能够随着企业、组织化结构和安全策略的变 化而演化。 由上可知,一个完美的r b a c 系统应该具有如下几个特征: ( 1 ) 用户特征:拥有大量用户,很少的系统管理员,经常变动用户的工作职责。 ( 2 ) 数据和应用特征:大量的数据对象,基于工作职责共享数据或者权限。 ( 3 ) 企业特征:企业是数据的拥有者,由系统管理员控制访问控制系统,阶段性地 对访问控制策略进行评估。 大连理工大学硕士学位论文 2 2r b a c 标准 本文所指的r b a c 是n i s t 中的r b a c 标准n 4 】中的c o r er b a c 模型。n i s t 中的 r b a c 标准包括了以下四个部分: 2 2 1c o r er b a c c o r er b a c 定义了一个r b a c 模块的最小元素集合并提供了用户与角色、角色与 资源权限、资源权限与资源、资源操作的关系的维护,同时提供了基于角色的资源操 作权限的校验。进行权限校验的的关键就是根据用户角色来验证用户是否被系统管理 员或者系统开发人员授予了操作该项资源的权限。 图2 1c o r e r b a c 模型 f i g 2 ic o r er b a cm o d e l 从图2 1 可知,用户与角色之间,角色与权限之间可能是多对多的关系。c o r e r b a c 包括五个基本数据元素:用户( u s e r s ) 、角色( r o l e s ) 、对象( o b j e c t s ) 、操作 ( o p e r a t i o n s ) 、权 琨( p e r m i s s i o n ) 。在图2 1 中涉及的概念表示如- v t l 5 3 : u s e r s = u l ,u 2 ,) :所有用户( u s e r ) 的集合。 r o l e s = r j , 匕,;l :所有角色( r o l e ) f f 自集合。 6 扮= o p l ,o p 2 ,o p k :所有操作( o p e r a t i o n ) 的集合。 o b j e c t s = o b l ,d 屯,口 :所有访问对象的集合。 s e s s i o r l $ = s 1 , s t ,s p :所有会话( s e s s i o n ) t 勺集合 p e r m s = 尹“枷嘲:所有权限( p e r m i s s i o n ) 的集合。 基于角色的w e b 服务访问控制研究 u a u s e r s x r o l e s :从用户集合到角色集合的多对多映射,表示用户被赋予的角 色。 p a p e r m s x r o l e s :从权限集合到角色集合的多对多映射,表示角色被赋予的权 限。 a s s i g n e d _ u s e r s ? ( ,? r o l e s ) _ ”:( a s s i g n e d _ u s e r s ( r ) = 扛e u s e r s i 似哆唧) 返回 指定给角色的用户集。 a s s i g n e d _ p e r m s j ( ,j r o l e s ) 斗少:( a s s i g n e d _ p e r m s ( r ) = p p e r m s l 白,= j 删) ) 返回指定给角色的权限集。 a s s i g n e d _ r o l e s j :u s e r s ) 寸2 “:( a s s i g n e d _ r o l e s :( ) = ,r o l e sj ( 珥r ) e u a ) 返 回指定给用户的角色集合。 妒( p j p e r m s ) - 4 , o m :( o p ( p ) = o l o o p s l j d 够o b j e c t s n ( 0 1 , o b j ) = p ) 返回与指 定权限相关的操作。 o b ( p p e r m s ) 一o b j e c t s :( d 6 ( p ) = o b o b j e c t s 3 0 po b j ) = p ) 返回与 指定权限相关的操作对象。 u s e r 一? “:返回指定用户相关的会话。s e s s i o n s ( uu s e r s ) s e s s i o nr o l e s ( s ? s e s s i o n s l 斗2 “:返回与指定会话相关的角色。即: s e s s i o n o l e s ( s ) = _ r r o l e sl ( s e s s i o n _ u s e r ( s ) ,) 黝 。 s e s s i o np e r m s ( s j s e s s i o n s l _ 2 概;返回与指定会话相关的权限。即: s e s s i o np e r m s ( s 1 = j ,“洲r ) ”啦酬时。 2 2 2h i e r a r c h i o a l r b a c 当用户属于不同的角色可能需要执行相同的操作时,角色可能拥有重叠的责任和 权利,r b a c 为此定义了角色层次这一概念。角色层次定义了拥有特有属性的角色集 合,在该角色集合中一个角色可能包含其他的角色,当一个角色隐含的操作、约束和 对象与另外一个角色相关就是这种情况。在c o r er b a c 模型的基础上引入了角色之间 的继承关系,并分为一般继承关系和受限制的继承关系两种。一般继承关系允许角色 之间的多继承关系,是一种偏序关系。虽然h i e r a r c h i c a lr b a c 仅仅在c o r er b a c 的 基础上增加了角色权限继承关系,但是系统实现难度大为增加。举例如下:在验证用 户对某项资源的验证时,我们不仅需要对用户本身的角色进行验证,还需要验证该用 户角色所继承的那个父角色,这必然给系统效率带来影响。 大连理工大学硕士学位论文 图2 2h i e r a r c h i c a lr b a c 模型 f i g 2 2h i e r a r c h i c a lr b a cm o d e l 一般继承关系:r h r o l e s x r o l e s 是角色集合上的偏序关系,记为。即 乃,= a u t h o r i z e d _ p e r m s ( r 2 ) s 伽历。比鲥矽瑚s ( 巧) n 口埘幻r 泐t 淞b 坶n ) c _ a u t h o r i z e d _ u s e r s ( r 2 ) 。a u t h o r i z e d _ u s e r s ( r e r o l e s ) 一产有; a u t h o r i e d _ u s e r s ( r ) = u s e r s3 r er o l e s , r ,n ( 1 r7 ) eu a ) 。 a u t h o r i z e dp e r m s ( r r o l e s ) 一2 有: 4 绷忍d ,彳彤p 巴阳甜( ,) ,尸匆朋嚣f 了,7 e r o e s , r ,n ( 口,) 只 ) 。 2 2 3s t a r j cc o n s t r a i n tr b a c 图2 3 静态约束r b a c 模型 f i g 2 3s t a t i cc o n m a i n t sr b a cm o d e l ,- 基于角色的w e b 服务访问控制研究 静态责任分离: s s d c _ 2 脚x n ,该关系满足v 似矽s s d , v t 坩:i t l 疗j ,“酬伸 继承关系下的静态责任分离: s s d 2 触,该关系满足v ( r s , n ) s s d , v t 馏4 , 1 行j ,“睁吐”( 卜。静态 授权约束户不能决定用被指定给一个冲突角色集合中的两个或多个角色。 2 2 4d y n a m i cc o n s t r ain tr b a c 图2 4 动态约束r b a c 模型 f i g 2 4d y n a m i cc o n s t r a i n t sr b a c m o d e l 动态责任分离: d s d 2 e , o “x n ,该关系满足v r s 2 胁,n m ( 憾叻d s d j n _ 2 n i 坶i 开,且 v n e n ,v r s 2 “,v r o l e s e t 2 ”,v n n ,v ( r s , n ) d s d ,r o l e _ s e t 糟, r o l es e t 互s e s s i o n _ r o l e s ( s ) r o z e _ s e t y ;( 葺y 】= ,r i x , ,力; 【五力= r r i x r r - y ;( 五y ) = r 震j x 卜, ,卜以) 。 例如:p s o l 角色负责项目1 的角色,c 粕一a s s i g n 关系可以使用如表2 1 所示的先决 条件: 2 3 2p e r m i s s i o n - r o i e 分配管理模型( p r a ) 表2 3c a n - a s s i g n p 示例 t a b 2 3a c a i l a s s i g n pe x a m p l e 表2 4c a n - r e v o k e p 示例 三坐:! :! 垒竺竺坐里! ! 竺! 堡 a d m i n i s t r a t i v er o l er o l er a n g e d s o ( e d , d i r ) p s o l p s o l p s 0 2 p s 0 2 【q e i ,q 日】 【码,鸩】 【q e 2 ,蛆】 【p e 2 ,码】 管理任务:由企业应用系统管理员负责。 管理前提:只要将成员关系和非成员管理用角色中的权限表达而不是l i r a 模型中 的用户即可。 基于角色的w e b 服务访问控制研究 主要功能:p r a 模型主要通过如下两个公式处理从权限到角色的分配和回收管 理。c a r l a s s i g n p c _ a r x c r x 2 2 和c a r l - r e v o k e p c _ a r x 2 r c a r l a s s i g n p ( m , n , 纠和 c 册一旭v 却gy ) 所表示的含义与l i r a 中的分配与回收角色解释一致。毒2 3 ,表2 4 分别是分配和收回权限的一个示例: 2 3 3r o i e - r o l e 层次结构管理模型( r r a ) 管理任务:由了解企业应用系统的d b a 完成。 管理前提:在r r a 中将角色分为三种: ( 1 ) 能力角色( a b i l i t i e s ) :指只拥有权限或者其他能力角色作为其成员的角色。 组角色( g r o u p s ) :指只拥有用户或其他组角色作为其成员的角色。 ( 3 ) 高级角色( u p - r o l e s ) :指对成员资格没有限制的角色,即它的成员资格包括用 户、权限、组角色、能力角色和高级角色。 这三种角色之间互不相交,分别记为:a ,g ,u p r 。之所以对系统中的角色进行 区分是由于不同类型的角色分别对应不同的管理模型。能力角色是可以分配给角色的 一个权限集合单元,对它进行分配时,应当对整套权限进行分配而不能只分配该权限 集合的某一部分。将能力分配给角色非常类似于将权限分配给角色,因此可以参照 p r a 1 6 】模型建立相似的a r a 模型( 能力角色分配) 。 主要功能:( 1 ) 能力角色分配与回收的管理通过c a n 鲫辔加量a r x c g x 2 。和 c a r l r e v o k e a a r 2 0 两个公式进行。 ( 2 ) 用户组角色的分配与回收管理通过c a n a s s i g n g a r x c r x 严和 c a b r e v o k e g a r 2 6 进行。一个用户组是分配给角色的一个用户集合。可以通过调 整u s e r - r o l e 模型来产生g r a 模型( 组角色分配) 。 2 。4 动态观点出发的访问控制模型一t b a c r b a c 从静态观点将访问控制模块分为权限与角色和角色与用户两个部分,通过 在用户与权限之间设置角色作为纽带,实现了权限与用户的逻辑分离,降低了管理开 销和授权管理的复杂性。但是,r b a c 并没有联系系统的上下文环境来考虑访问控制 模型,它是从假设控制环境是静态的观点来对系统中的对象进行访问控制。这样处理 的结果带来了一定的安全隐患 7 , g l 。在这样的安全模型当中,用户使用权限不存在时间 限制和使用次数限制,该安全控制系统也不会记录下用户如何使用自己的权限。 因此,随着分布式计算、网络等相关技术的飞速发展,人们逐渐将注意力从静态 访问控制转移到根据系统任务和系统执行的上下文环境的不同进行动态的访问控制上 大连理工大学硕士学位论文 来。在这一思想的指导下,人们提出了基于任务的访问控制模型( t a s k - b a s e da c c e s s c o n t r o l ,t b a c ) 访问控制模型。t b a c 是一种新的访问控制模型,它利用“面向任 务”的观点,从任务的角度来实现安全访问控制机制,在系统完成某任务的过程中为 企业应用系统内部的各种对象提供动态授权的安全访问控制管理机制【j 8 1 9 】。t b a c 是 在工作流环境中对企业应用系统中的对象实施访问控制策略,对每一个对象的访问控 制都与系统当前执行的上下文环境密切相关:同时,t b a c 能够对同一工作流的不同 任务实例实行不同的访问控制策略。 基于角色的w e b 服务访问控制研究 3 面向方面的程序设计 在目前的软件开发过程当中,软件设计者需要从系统中分离出关注点( s e p a r a t i o no f c , o n c e r n s ) ,从而将一个复杂的系统分解为一系列的、简单的小问题使得解决问题更具 有可行性1 2 0 】。尽管软件设计者可以通过采用面向对象的方式来分析、设计、开发软 件,使得软件系统具有良好的封装性和继承性。但是面向对象却无法解决代码交织 ( c o d et a n g l i n g ) 和代码散布( c o d es c a t t e r i n g ) 现象,导致软件系统内部的模块之间存在一 定的依赖。为了解决这一问题,在2 0 世纪9 0 年代由k i c z a l e sg 等人提出了 a o p ( a s p e e t o r i e n t e dp r o 伊嬲唧_ i n _ 酚思想【2 1 】。有效地实现了对功能代码和方面代码的分 离与自动合成圈,使得系统更易于开发,维护和扩展。 a o p 仅仅是提出了一种程序设计的思想,一种理论,正如其他自然科学需要试验 作为理论的支撑一样,a o p 同样需要相应的程序设计语言来实现这种思想才能体现它 自身的价值。目前,已经发布了多种a o p 程序设计语言,较为通用的有: 蛔e c t j 捌,a s p e c t c # p 4 等。 3 1a o p 基本概念 3 1 1 关注点 系统中涉及到诸如日志,安全控制,异常处理等一些较为通用的功能往往分布在 系统中的各个模块中,使得系统难于开发和维护,将系统不同的关注点从系统中分离 出来成为一个单独的模块可以使得面向对象中复杂的解决方式得到简化【2 5 j 。关注点可 以指一个特定的问题或者一个特定的目的。典型的软件系统总是包含一些核心的关注 点和系统级的关注点。所谓核心级的关注点往往涉及到具体的业务规则,而系统级的 关注点更多地涉及到了安全性,系统日志以及系统性能等多方面问题。在多个模块中 出现的关注点我们将之称为横切关注点。横切关注点将给系统的设计,实现,维护等 工作带来极大的困难。软件开发过程中具有与生俱来的特有的复杂性,人们为了解决 这一问题采用的最有效的方式就是对问题进行充分地抽象,从一个大问题中抽象出若 干个小问题成为需要系统开发人们解决的关注点( c o n c e r n ) 。以下是几个中的a o p 基本 概念例。 3 1 2 连接点 连接点是a o p 中最基本的元素,是程序中激活a d v i c e 被执行的触发点,表示了程 序运行的动态。程序中激活a d v i c e 被执行的触发点包括:对象接受方法的调用点、类 大连理工大学硕士学位论文 属性读写访问、类对象的初始化、异常处理等等。一系列连接点利用“与,或,非” 操作组成切入点,通过p o i n t c u td e s i g n a t o r 明确定义需要收集的连接点和有关参数值, 它是联系a s p e c t 与c l a s s 的桥梁。“非”操作是一个一元操作,它匹配除了某些被 “1 ”的特殊连接点以外所有连接点。“或”操作是一个二元操作,它定义了切入点在 匹配多个连接点时,这些连接点之间的关系是“或”的关系。“逻辑与”操作也是一 个二元操作,它定义了切入点在匹配多个连接点时,这些连接点之间的操作必须满足 “逻辑与”的关系。 3 1 3 切入点 切入点主要用来捕获匹配的连接点,以便在相应的连接点执行某种操作,或者匹 配连接点出的上下文信息为通知提供服务。切入点可以被定义在类、接口或者方面 中。切入点可以被定义为命名的,也可以是匿名的。匿名切入点就像匿名类一样,被 定义在使用的地方;命名切入点一旦被定义,则可以在多个地方被使用。 3 1 4 通知 通知有三部分组成:通知声明,切入点说明和通知体。通知分为。b e f o r e ”、 “a f t e r ”、“a r o u n d ”。b e f o r e 通知在被捕获的连接点前执行。 a f t e r 通知在连接点的执行之后执行,其中细分为:( 1 ) “a f i e f or e l 咄”正常返 回a f t e r 通知;( 2 ) “a a e r 0 ( h r o 、v i n g ”异常返回a 最e r 通知;( 3 ) “删”默认的返回 a f t e r 通知。a r o u n d 通知的应用范围包括了整个连接点。它可以避开被捕获的连接点的 执行内容,也可以通过参数来执行被捕获的连接点。a r o 岫d 通知存在三种应用:在捕 获连接点的执行前后执行额外的操作;替代原有程序中的逻辑代码;对某些操作采用 t r y c a t c h 模块来捕获气抛出的异常。 p o m t c u t 图3 1a d v i c e 、j o i n p o i n t 、p o i n t c u t 之间的关系 f 皓3 1r e l a t i o n s h i pb e :f w 嘲a d v i c e

温馨提示

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

评论

0/150

提交评论