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

下载本文档

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

文档简介

面向w e b 服务的角色访问控制研究 摘要 基于角色的访问控制模型是近十几年来在自主访问控制和强制访问控制的基础上 发展起来的一种重要的访问控制技术。基于角色的访问控制模型的特点是通过分配和取 消角色来完成用户权限的授予和取消,从而实现了用户与访问权限的逻辑分离。由于基 于角色的访问控制的诸多优越性,它已成为访问控制研究领域的一个热点问题,得到了 较为广泛的研究和应用,并且随着最新一代访问控制模型u c o n 的出现,它也表现出了 很好的兼容性。 今天,w e b 服务得到了蓬勃的发展,呈现出跨地域、大规模、复杂化等特点,而传 统的基于角色的访问控制是在集中式的背景下提出来的,对于在地域上分布复杂的大规 模系统的访问控制已经突显出其不足,在普适计算环境中更是如此;此外,在w e b 环境 下,系统的管理工作异常繁重,完全依赖系统管理者参与系统中的所有授权行为,严重 加剧了系统的管理负担,所以在面向w e b 服务的系统中需要一种分类式的细化角色方法; 同时,传统的访问控制列表具有描述性较低、灵活性不够、不易在大规模网络中进行传 输等问题,无法满足系统中的访问控制需求。所以,认为在如何有效地构建基于角色的 访问控制模型方面仍有较多的问题需要研究,以适应w e b 服务系统独有的特点。在此, 利用x a c m l 的标准特点以及现在它的逐渐发展,将其用于角色访问控制中,并且在典型 的面向w e b 服务的环境普适计算环境中,根据需要对标准的x a c m l 进行优化和补充。 w e b 服务中使用r b a c 的缺点有:由于角色主要是静态的,需要一种潜在的高管理工 作,而现在的访问控制研究朝着复杂化方向发展,实用性差;经常在大型企业群发生的 组织和功能变化,总是要求相当大数量r o l e s 的重新分配。随之产生的管理工作通常是 十分昂贵的。信息系统涉及的功能越来越多,结构也越来越复杂。如:过去只需要“前 台显示+ 后台信息管理 ,现在可能需要动态控制显示的栏目,区分浏览者的类别,针 对不同用户提供不同的用户界面等。 本文针对上述问题对面向w e b 服务的基于角色的访问控制进行了研究。论文的研究 内容和创新点如下: 1 由于传统r b a c 模型在实际应用中表现出许多不足,在基于角色的访问控制中提 出了多级角色访问控制的概念,提出多级角色访问控制模型,来提供多级控制粒度,通 过对信息流的控制来实现( 保护信息流从高安全级别客体向低安全客体流动) 。 2 在s u n 公司用x a c m l 描述的r b a c 模型基础上,将x a c m l 模型中的请求处理步骤融 入到基于角色的访问控制实现中。 山东师范大学硕士学位论文 3 普适环境中的访问控制是面向w e b 服务的访问控制的一个很好的实例,将s u n 公司实现的x a c m l 中的角色访问控制用于普适环境中,x a c m l 的这些特点使得它非常适 用于普适计算下的访问控制对于灵活性的要求。 4 普适计算下的访问控制与传统的访问控制相比,有着非常大的区别。普适计算下 的访问控制,是一种更复杂、更高级的访问控制,是传统访问控制在构架,计算以及实 现等多方面的扩展。分析x a c m l 标准在特殊环境中的不足,进行了相应的改进,并进行 了验证。 关键词:w e b 服务;r b a c ;x a c m l ;普适环境 分类号:t p 3 0 9 2 山东师范大学硕士学位论文 s t u d y o fw e bs e r v i c e - o r i e n t e dr o l e - b a s e da c c e s sc o n t r o l a b s t r a c t r o l e - b a s e da c c e s sc o n t r o li st h em o s ti m p o r t a n ta c c e s sc o n t r o lt e c h n o l o g yn e a rm o r e t h a nad e c a d e ,i ti sb a s e dm a c ( m a n d a t o r ya c c e s sc o n t r 0 1 ) a n dd a c ( d i s c r e t i o n a r ya c c e s s c o n t r 0 1 ) i ti sc h a r a c t e r i z e dt h r o u g ht h ed i s t r i b u t i o na n dt h ea b o l i t i o no ft h er o l et oc o m p l e t e t h e p e r m i s s i o n sc h a n g e s , i no r d e rt oa c h i e v et h e s e p a r a t i o nf r o m u s e r st o p e r m i s s i o n s b e c a u s eo fr o l e - b a s e da c c e s sc o n t r o l sm a n ya d v a n t a g e s i th a sn o wb e c o m et h e ah o ti nt h ea c c e s sc o n t r o lf i e l do fr e s e a r c ha n dh a sb e e nm o r ee x t e n s i v er e s e a r c ha n du s e t o d a y ,w e bs e r v i c e sd e v e l o p m e n tal o t ,s h o w i n gm a n yc h a r a c t e r i s t i c s :c r o s s - b o u n d a r y a n dl a r g e - s c a l e ,c o m p l e x ,a n ds ot h et r a d i t i o n a lr o l e - b a s e da c c e s sc o n t r o li sr a i s e di nt h e c o n t e x to fc e n t r a l i z e d ,i nt h eg e o g r a p h i c a ld i s t r i b u t i o no ft h el a r g ec o m p l e xt h es i z eo ft h e a c c e s sc o n t r o ls y s t e mh a sr e v e a l e di t ss h o r t c o m i n g s ,e s p e c i a l l yi nt h eu b i q u i t o u sc o m p u t i n g e n v i r o n m e n t ;i na d d i t i o n ,u n d e rt h ew e be n v i r o n m e n t ,s y s t e mm a n a g e m e n tj o be x c e p t i o n a l l y c o m p l e x ,t o t a l l yd e p e n d e n t0 1 1 t h e s y s t e ma d m i n i s t r a t o r t o p a r t i c i p a t e i n a l lo ft h e a u t h o r i z a t i o ns y s t e mw i l lb es e r i o u s l ya g g r a v a t e dt h es y s t e mm a n a g e m e n tb u r d e n s ow e b s e r v i c e s - o r i e n t e ds y s t e mr e q u i r e sad e t a i l e dr o l e - t y p ec l a s s i f i c a t i o nm e t h o d ;a tt h es a m et i m e , t h et r a d i t i o n a la c c e s sc o n t r o ll i s t s s d e s c r i p t i v el o wa n dn o te n o u g hf l e x i b i l i t y a n dn o t a v a i l a b l eb eu s e di nl a r g e s c a l en e t w o r kt r a n s m i s s i o na n ds oo n , c a nn o ta p p l ya c c e s sc o n t r o l s y s t e mn e e d s t h e r e f o r e ,w ec o n s i d e rh o wt oe f f e c t i v e l yb u i l dar o l e - b a s e da c c e s sc o n t r o l m o d e l ,t h e r ei ss t i l lm o r eq u e s t i o n sn e e dt ob es t u d i e da n di m p r o v e d a n dm a k ei ti s a p p r o p r i a t e o nw e bs e r v i c es y s t e m t ot h i se n d w eu s eas t a n d a r df e a t u r eo fx a c m la n d i t sn e wc h a r a c t e r i s t i ct om a k ei ti su s e f u li ni m a ca n di nu b i q u i t o u sc o m p u t i n ge n v i r o n m e n t a c c o r d i n gt ot h er e q u i r e ds t a n d a r d ) u ,映射每个会话到一个用户; 5 ) r o l e s :s 一2 8 ,映射每个会话到一组角色r o l e s ( s ) e ri ( u s e r ( s ) ,r ) u a ) 同时 会话获得的权限为u r pi ( p ,r ) ep a ) 。 从定义中可以看出,r b a c 。只包含最基本的r b a c 元素:用户、角色、权限、会话。 所有的角色都是平级的,没有指定角色层次关系,所有的对象都没有附加约束,没有指 定限制。 r b a c 。模型:特征为在r b a c 。的基础上引入角色层次。对r b a c ,模型定义如图2 4 所 示: l o 山东师范大学硕士学位论文 角色继承 图2 - 4r b a c l 模型 r b a c 。的形式化定义如下: 1 ) u 、r 、p 、s 、u a 、p a 等与r b a c 。模型一致; 2 ) r h r x r 是r 上的偏序关系,记为,称作角色继承; 3 ) r o l e s :s 一2 r 修改为r o l e s ( s ) c p l ( 3 r r ) t u s e r ( s ) ,】u a ) ,同时会话的权限为 o r p1 3 r ”,) p ,- 】u a ) 。 这里r b a c 。体现了r b a c 模型中角色继承关系的语义。一个会话拥有的角色包含u a 关系里面指定的角色以及它们的父角色,会话拥有的权限包含其拥有的所有角色在p a 关系里面的权限以及它们的子角色对应的权限。 r b a c :模型:特征为在r b a c o 的基础上引入约束。r b a c 。有一个并非形式化的定义如 下: 1 ) r b a c 。的所有元素; 2 ) 一组限制条件,用于刻画r b a c 。中各元素的组合合法性。 r b a c :模型并没有指定限制条件的表现形式,只是从语义上给出了一个简短说明。 这给了r b a c 模型诸多扩展形式。s a n d h u 的文章中介绍了两种主要的限制:角色互斥和 角色集数限制,这也是实际系统中常考虑的两种限制形式。 r b a c 。模型:特征为r b a c ,和r b a c :两者的结合,这是最复杂的r b a c 模型,它包括 了角色继承和约束。在r b a c 。中,约束还可以被强加在角色继承关系上,如图2 - 5 所示。 山东师范大学硕士学位论文 角色继承 图2 - 5r b a c s 模型 2 3r b a c 模型的特点和优势 1 便于授权管理 r b a c 的最大优势在于它对授权管理的支持。通常的访问控制实现方法是将用户与访 问权限直接相联系,当组织内人员新增或有人离开时,或者某个用户的职能发生变化时, 需要进行大量授权更改工作。而在r b a c 中角色作为一个桥梁,沟通于用户和资源之间。 对用户的访问授权转变为对角色的授权,然后再将用户与特定的角色联系起来。一旦一 个r b a c 系统建立起来以后,主要的管理工作即为授权或取消用户的角色。用户的职责 变化时,改变授权给它们的角色,也就改变了用户的权限。当组织的功能变化或演进时, 只需删除角色的旧功能、增加新功能,或定义新角色,而不必更新每一个用户的权限设 置。这些都大大简化了对权限的理解和管理。 r b a c 的另一优势在于系统管理员在一种比较抽象且与企业通常的业务管理相类似 的层次上控制访问。通过定义建立不同的角色,角色的继承关系,角色之间的联系以及 相应的限制,管理员可动态或静态地规范用户的行为。这种授权使管理员从访问控制底 层的具体实现机制中脱离出来,十分接近日常的组织的管理规则。 对于分布式系统来说,r b a c 还有一点好处,管理职能可以在中心或地方的保护域间 进行分配。对于整个组织的访问控制政策由中心制定,而地方区域内部相关的政策可由 该区域制定。 2 便于角色划分 r b a c 以角色作为访问控制的主体,用户以什么样的角色对资源进行访问,决定了用 户拥有的权限以及可执行何种操作。 为了提高效率,避免相同权限的重复设置,r b a c 采用了角色继承的概念,定义了这 样的一些角色,它们有自己的属性,但可能还继承其他角色的属性和权限。角色继承把 角色组织起来,能够很自然的反映组织内部人员之间的职权、责任关系。角色继承可以 1 2 山东师范大学硕士学位论文 用祖先关系来表示。在角色继承关系图中,处于最上面的角色拥有最大的访问权限,越 下端的角色拥有的权限越小。 3 便于赋予最小权限原则 所谓最小权限原则是指用户所拥有的权力不能超过它执行工作时所需的权限。实现 最小权限原则,需分清用户的工作内容,确定执行该项工作的最小权限集,然后将用户 限制在这些权限范围之内。在r b a c 中,可以根据组织内的规章制度、职员的分工等设 计拥有不同权限的角色,只有角色需要执行的操作才授权给角色。当一个主体预访问某 个资源时,如果该操作不在主体当前活跃角色的授权操作之内,该访问将被拒绝。 4 便于职责分离 对于某些特定的操作集,某一个角色或用户不可能同时独立地完成所有这些操作, 这时需要进行职责分离。例如,在银行业务中,“授予一次付款 和“实施一次付款 应该是分开的职能操作,否则可能发生欺诈行为。职责分离可以有静态和动态两种实现 方式。 5 便于客体分类 r b a c 可以根据用户执行的不同操作集来划分不同的角色,对主体分类,同样的,客 体也可以实施分类。例如,银行职员可以接触到帐户,而一个办公秘书可能会和各种信 件打交道,我们可以根据客体的类型( 如帐户、信件等) 或者根据它们的应用领域( 如商 业信件、私人信件等) 进行分类。这样角色的访问授权就建立在抽象的客体分类的基础 上,而不是具体的某一客体,例如,办公秘书的角色可以授权读写信件这一整个类别, 而不是对每一信件都需要给予授权。对每一个客体的访问授权会自动按照客体的分类类 别来决定,不需要对每一客体都具体指定授权。这样也使得授权管理更加方便,容易控 制。 2 4访问控制技术的发展趋势 由于w e b 环境和分布式系统中用户安全需求的不断复杂化,访问控制技术的研究呈 现出以下发展趋势: 首先,w e b 服务系统与互联网结合的访问控制技术已经并且将继续成为未来的研究 热点,包括不同访问控制技术的统一和互联、访问控制与其他网络安全技术的合作、协 作组织间的网络信息系统访问控制技术、互联网环境的访问控制技术等都将成为重要研 究课题。 其次,系统结构的复杂化必然导致用户安全需求的复杂化,安全操作系统的发展将 开始支持多种安全策略的动态灵活性,这将促进与安全策略无关的访问控制技术的研究 ( 第四章将作详细介绍) 。 再次,互联网的普及使信息安全受到前所未有的挑战,单一安全技术很难保证系统 真正安全,安全技术进一步结合也将成为研究热点,如访问控制和密码技术、认证技术、 山东师范大学硕士学位论文 防火墙技术、入侵检测技术的进一步结合。 2 5w e b 服务中的访问控制分析 w e b 应用的日益广泛,使得w e b 页面不仅作为用户信息浏览的媒介,也作为访问邮 件、金融数据、统计信息、企业信息等多种机密信息的途径。访问控制技术的应用使得 w e b 上的这些数据仅对某些用户可见和访问,从而保证了数据的保密性和完整性。 很多学者和研究机构对面向服务和面向w e b 服务进行了访问控制和权限管理方面的 研究。研究工作主要集中在以下几个方面: 1 研究标准方式表达访问控制策略语言,如目前o a s i s 接受的x a c m l 语言规范; 2 基于上下文啪3 和访问策略口,信息流口羽,属性规则1 等角度,进行访问控制模 型的相关研究; 3 结合访问控制模型和其他安全技术,研究授权管理和体系框架m 1 ,实现权限资 源访问管理: 4 结合x m l 语言,基于访问控制技术、信任管理和密码技术,研究授权管理和访 问控制,实现基于x m l 的w e b 服务安全3 ; 5 基于p 2 p 和g r i d 等可信计算平台,研究w e b 服务的资源访问控制管理; 6 研究w e b 服务访问控制在各个领域的应用,如:电子商务等1 ; 7 研究如何保障异构域中的w e b 服务安全们; 8 基于服务组合啪1 和语义啪1 ,研究w e b 服务安全; 9 对于转授权安全,也有相关研究1 。 引入角色这一概念,r b a c 很好的实现了用户和访问权限的分离。首先需验证用户所 担当的角色,然后才根据相应的角色实现权限配置,通过这种机制将工作中的任务分成 若干小的任务,每一个任务对应于r b a c 中的权限。把相近或者相似不发生冲突的任务 集合起来,对应于r b a c 中的角色,这种设想既符合分布式w e b 服务工作的需要,又考 虑了r b a c 的特性,还兼顾了实用性,所以研究面向w e b 服务的r b a c 具有现实意义。 2 6 面向w e b 服务的访问控制存在的问题 w e b 应用系统传统上只是信息的发布和维护,不涉及底层服务的控制。而现在很多 应用都要求读写服务器本地文件,调用系统服务等,越来越靠近系统底层,安全的隐患 也就越来越大。 在面向w e b 服务的系统中使用r b a c 的缺点有: 1 角色主要是静态的,因此需要一种潜在的高管理工作,而现在的访问控制研究朝 着复杂化方向发展,实用性差; 2 在大型企业群发生的组织和功能变化,总是要求相当大数量r o l e s 的重新分配, 1 4 山东师范大学硕士学位论文 随之产生的管理工作通常是十分昂贵的; 3 信息系统涉及的功能越来越多,结构也越来越复杂。如:过去只需要“前台显 示+ 后台信息管理 ,现在可能需要动态控制显示的栏目,区分浏览者的类别,针对不 同用户提供不同的用户界面等。 在面向服务的应用系统中,提出请求的主体和提供服务资源信息的客体都具有较高 的动态特性,要求访问控制策略能满足适应主客体的动态变化,同时,对于w e b 服务应 用具有服务和属性两种需要保护的信息3 。如何制定相应的访问控制策略,满足主客体 动态变化特性和同时保护服务和服务属性信息的安全需求,保护信息资源的安全,是所 需要研究解决的问题。另外,随着访问控制及其他技术的逐渐成熟寻求更好的表达方法 也是值得探讨的,第三、四章将对这些问题进行深入研究。 山东师范大学硕士学位论文 第三章面向w e b 服务的角色访问控制模型的改进 在面向服务的系统中,利用应用软件来保护隐私主要任务是对敏感数据的管理。可 以通过对信息流的控制来实现( 保护信息流从高安全级别客体向低安全级别客体流动) 。 许多信息流控制模型已经被使用于m a c 、d a c 和r b a c ,以下讨论的是针对应用r b a c 保护 信息安全时的情况。不同的情况下需要不同的控制粒度而且一个好的信息控制模型应该 同时能提供控制粒度的不同等级。为实现和在u c o n 中角色访问控制的兼容性,在此将 控制粒度细化到了属性( 变量) 。 本章针对上述两个方面的需求,对基于角色的访问控制加以改进,给出一种多级角 色访问控制模型,来提供多级控制粒度,这种改进更符合面向w e b 服务的系统中的安全 需求。 3 1 多级角色访问控制模型 3 1 1 多级角色访问控制模型的提出 本文所基于的核心访问控制模型与第二章中介绍的r b a c 模型保持一致。 s a n d h u1 9 9 6 a 中证实了r b a c 可以表示d a c 和m a c ,既然d a c 和m a c 可以用于信息 流控制,r b a c 当然也可以。使用r b a c 在面向对象的系统中来控制信息流时,用户是人 或代理,权限是用户到对象( 关系数据库中为一张表) 的访问权利。这种情况下控制粒 度被视为表对象级,这个级别在应用系统中控制信息流不是足够的安全,因为在面向 对象系统中信息是按对象的属性和方法变量来存储的。由此看来控制粒度应该被细化为 变量级( 这样作为变量的信息内容才能安全) 。还有另外两种级别分别是对象级和方法 级,它们同样不能保证信息足够的安全,下面的例子可以说明。 一对男女之间的关系可能是陌生人、朋友、夫妻,如果彼此陌生则不允许有信息在 他们之间传递:如果他们是朋友则他们能读彼此的基本信息,如姓名、地址、e - m a i l 等;如果是夫妻则一定有一张结婚证书,这样的话他们可以读到彼此的基本信息以及私 有信息,如健康状况、生日等,还可以读到结婚证上的信息,而且这是除此二人外别人 无法访问的。 这样,如果控制粒度为对象级,我们能控制男人访问女人的信息,但是无法控制男 人访问女人的方法和变量。这种情况下,如果男人m 1 可以访问他一位女性朋友w 1 ,那么 他既可以访问w 1 的基本信息,同时也可以访问到w 1 的私有信息( 通过调用w 1 的方法) ; 如果控制粒度为方法级,我们仅能控制的是女( 男) 的方法被男( 女) 调用,但不能控制被 山东师范大学硕士学位论文 方法访问的变量。如一个男人的方法m 1 m d l 能调用他一个女性朋友的方法w 1 m d l , w 1 m d l 被调用后霄l 的基本信息和私有信息就全部展现给m 1 了,由此控制粒度达到变量 级是必要的。但有些情况下粗的控制粒度是必要的,如在上面的例子中陌生人之间没有 信息流,而朋友或夫妻之间有,这种情况下对象级控制粒度是必要的( 决定对象间信息 流的合理性) 。另外,一个男人可以调用他女朋友的方法来处理朋友间的信息,还可以 调用他妻子的其他方法来处理夫妻间的信息。也就是说一个女人的方法被朋友调用和被 丈夫调用是不一样的,这说明了有时细化到方法级是合适的。 通过上面几种控制粒度的情况,一种信息流控制模型还应该可以提供粗的控制粒度 来解决被非正常的程序终止造成的通道转换问题。即当一程序非正常停止时,操作系统 将存储空间数据丢至一文件中,调试程序通过它帮助程序员调试程序。如果这个文件被 未授权的用户或程序访问,私有信息将被泄漏。为了防止这种情况发生,模型必须能够 控制用户或应用程序访问一个文件或运行一个程序。鉴于此,有时将控制粒度细化到程 序或文件也是必要的。 综上所述,一个信息流控制模型应该同时提供4 种类型的控制粒度。一个信息流可 能需要执行完每一级别的r b a c 才能达到安全,所以细化的程度问题要根据具体的情况 来决定。 3 1 2 使用多级角色访问控制模型的实例 设计多级角色访问控制模型的难点在于适应动态的对象状态变化。如3 1 1 中的例 子中对象状态,如图3 - i 所示: 1 8 a :对象状态在时间点1 时 ,, - 1 m 2 嘲疗c t l 3 刊i ? 叫二_ ,八 “、 !7, 、f f越二 w lw 2霄3 图倪 一 两者为朋友关系 m l ,w 4 。 一-两者为夫妻关系 ,j ,一 7 一一 ,:神 c e r l 是婚姻的凭证 哩、i m ,- 分别代表男人和女人 锄 图3 - 1 对象状态变化图 在时刻1 有男女各两人,且m l 与w 1 是夫妻关系,还存在3 个朋友关系;时刻2 添 山东师范大学硕士学位论文 加了m 3 ,w 4 ,且m 1 与w 1 已不是夫妻而是陌生人关系( 两者没有任何关系) ,c e r l 被删 除,同时又有新的关系。时刻3 时w 3 去世,但与i l l 2 的夫妻关系仍然存在,c e r 3 并不被 删除。 在时刻1 时m 1 ,w l ,c e r l 之间信息流因存在婚姻关系必须遵守“婚姻规则;m l 与 w 2 之间信息流因存在朋友关系必须遵守“朋友”规则;而时刻2 ,3 对象之间的信息流 允许与否与时刻1 时不同了,因为对象的状态已经改变了。 3 2 多级角色访问控制模型及实现 3 2 1 多级角色访问控制模型 现在研究用来判断信息是否安全的对象间的关系,用存在的这种关系来规范对象间 的信息传递,并称这种关系为联合。其定义如下: 如果信息可以直接在对象之间传递,则在类之间一定存在一个联合。每一个联合都 有对象必须遵守的相关安全策略。如果存在一个对象必须遵守多个安全策略的情况,那 么在各个类之间一定存在多个联合,即一个联合须对应一个安全策略。 根据上面的定义,联合就是类之间的关系,能展示出类的对象之间的连接关系。被 联合连接的多个对象被称为联合组。例如图3 1 中所示,m 1 ,w l ,c e r l 之间就存在一个联 合组,它们之间的联合即m a r r i e d 。在联合组之内信息可以被任意访问,不存在联合组 的情况不允许信息的任意访问。既然信息不能在会话间直接传递,那么如果对象间存在 交互的话就需要建立一个联合组。尽管信息不能在会话间直接传递,但是可以在联合组 之间间接传递。例如,对象1 和对象2 属于一个联合组,同时对象2 和对象3 属于另外 一个联合组,则信息可以间接的由对象1 通过对象2 传递到对象3 。 这里介绍r b a c o 、r b a c l 、r b a c 2 、r b a c 3 四级( 层) 模型,下面介绍的四级r b a c 的定 义,其中除了r b a c o 外其他三级都用到联合,r b a c o 可以规范用户或程序到程序或文件 的访问权限。它的定义如下: r b a c o = ( u o ,s o ,p o ,r o ,r h o ,p a o ,u a o ,s u o ,s r o ) ,其中u 0 是用户集;s 0 是会话集;p 0 是权限集;r 0 是角色集;r h o 是角色层次集;p a o 是权限角色分配集;u a o 是用户角色 分配集;s u o 是指定会话到用户的集合;s r o 指定会话到角色的集合,各组成部分的详 细定义如下: u o = u l u 是用户或程序) s o = s is 是当用户访问一个程序或程序访问文件时的时间段) p o = ( u ,0 ,a ) iue u o ,0 是程序或文件,a e r ,w ,e ) ,u 允许访问被a 指示允许访问的 0 ) 。 p 0 定义了用户到程序或文件的访问权限,这些被访问的文件或程序能被读、写或者 执行。 1 9 山东师范大学硕士学位论文 r 0 = r l r 是角色的集合) r h 0 = r 0 r lj r o ,r 1e e r 0 且r 0 拥有r 1 所有的权限) p a 0 = ( r ,p ) fr r 0 且p p 0 且r 拥有p u a 0 = ( u ,r ) lu u 0 且r r 0 且u 拥有r s u 0 = f if 是一个方法,f ( s ) = u ,其中s s o ,u c u o ,且每个用户都在s 时间段中 s r 0 = “f if 是一个方法,f ( s ) = r ,其中s s 0 ,r c r 0 ,且每个角色都在s 时间段中) r b a c i 决定信息是否可以在两个对象之间传递,它的定义如下: r b a c i = ( c ,a 1 ) ,其中c 是应用程序中的类集,a 1 是应用程序中的联合集合,由联合 组成的联合组能使不同的对象可以传递信息。a l 的定义如下: a 1 = ( u 1 ,s 1 ,p 1 ,r 1 ,r h i ,p a l ,u a i ,s u i ,s r i ,c t i ) ,其中u 1 ,s 1 ,p 1 ,r 1 ,r h i ,p a l , s u i ,s r i 类似于r b a c 0 中的u o ,s o ,p 0 ,r 0 ,r h 0 ,p a 0 ,s u 0 ,s r 0 。c t i 是r b a c l 中的 约束。 u 1 = s 1 = p 1 = r 1 = l m l = p a l = u a i = s u i = 合组s 中) uu 是一个类的实例) ss 是一个联合组,即是联合的实例) ( o o ,0 1 ) i0 0 ,o l u 1 且从o o 到0 1 的信息是可以传递的) rr 是角色的集合) 0 ir lr o ,r l r 1 且r 0 拥有r l 所有的权限) r ,p ) jrer 1 且p ep 1 且p 已经指定给了r ) u ,r ) iu u 1 且r r 1 且u 已经指定了角色r f 是一个方法,f ( s ) = u 同时s s l 且u _ u i ,且每个类的实例都在联 s r i = ff 是一个方法,f ( s ) = r 同时s s 1 且r r 1 ,且每个角色都在联合组s 中) c t i = c t c t 是一种基数约束或形式约束) 从上面的定义可以看出r b a c l 的安全策略在联合里被加强了。值得注意的是r b a c i 还在类间定义了基数约束和形式约束( 见3 2 2 中) 。 r b a c 2 决定了两个方法之间的调用被允许。下面是它的定义: r b a c 2 = ( c ,a 2 ) ,其中“c 是类的集合,“a 2 联合的集合( 不是联合组) 。 “a 2 及其组成定义如下: a 2 = ( u 2 ,s 2 ,p 2 ,r 2 ,r h 2 ,p a 2 ,u a 2 ,s u 2 ,s r 2 ) ,其中“u 2 ”,“s 2 ,“p 2 , “r 2 ,。r h 2 ,。p a 2 ,“u a 2 一,“s u 2 ,“s r 2 类似于r b a c 0 中的“u 0 , “s 0 ,“p 0 ,“r 0 ,“r h 0 一,“p a 0 ,“u a 0 ,“s u 0 ”,“s r 0 ”。 u 2 = u 1 s 2 = s 1 p 2 = ( m 1 ,m 2 ) l 1 ,m 2 是客体的方法且m 1 可以调用m 2 r 2 = rr 是角色的集合 山东师范大学硕士学位论文 r h 2 = r 0 r lr o ,r l r 2 且r 0 拥有r 1 ) p a 2 = ( r ,p ) ir r 2 且p ep 2 ,p 已经指定给了r ) u a 2 = ( u ,r ) iu u 2 且r r 2 ,r 已经指定给了u ) s u 2 = s u l s r 2 = ff 是一个方法,f ( s ) = r 其中,s s 2 且r _ c r 2 ,且每个角色都在联合组 s 中) r b a c 3 决定信息传递是否安全,它的定义如下: r b a c 3 = ( c ,a 3 ) ,其中“c 一是类的集合且“a 3 是联合的集合。“a 3 定义如下: a 3 = ( u 3 ,s 3 ,p 3 ,r 3 ,r h 3 ,p a 3 ,u a 3 ,s u 3 ,s r 3 ,d s o u r c e ) ,其中“u 3 ,“s 3 ,“p 3 , “r 3 ,“r h 3 ”,“p a 3 ,“u a 3 ,“s u 3 ,“s r 3 类似于r b a c 0 的“u 0 ,“s o , “p 0 ,“r 0 ,“r h 0 ,“p a 0 ,“u a 0 ,“s u 0 ”,“s r 0 。而d s o u r c e 记录 了变量的数据源。例如,假定属性“a t t n a m e 是变量“v a r l 和“v a r 2 的属性,且 “v a r l 和“v a r 2 ”各自拥有方法“m d x 和“m d y 。这种情况下, “a t t n a m e 的 d s o u r c e 是集合“ m d x ,m d y 。d s o u r c e 初始化为空集,它将在程序执行过程中通过 联合各种操作得到其内容。d s o u r c e s 有助于控制写操作,“a 3 的定义如下: u 3 = u 1 s 3 = s 1 p 3 = ( v ,r a c l ,w a c l ) iv 是变量,r a c l = mm 是被允许读v 的方法) ,且 w a c l = mm 是被允许写v 的方法 ) r 3 = r r 是角色集合) r h 3 = r 0 r lr 0 ,r l r 3 且r o 拥有所有r 1 的权限) p a 3 = ( r ,p ) fr r 3 ,p p 3 ,p 已经指定给了r ) u a 3 = ( u ,r ) lu u 3 ,r r 3 ,u 已经指定了r s u 3 = s u l s r 3 = ff 是一个方法,f ( s ) = r 同时s s 3 且r r 3 ,同时每个角色都在联合 组s 中) d s o u r c e = f ff 是一个方法,f ( v ) = mm 是一个方法且m 是变量v 的数据源” 3 2 2 多级角色访问控制模型实现 将角色分级模型与j a v a 语言结合来实现3 1 中的例子,且在图3 - 1 中的对象的状 态也被实现,在实现时e x a m p l e 类包含了方法m a i n0 ,并且m a i n0 方法拥有设定的所 有的权限。实现主要分为两个部分:r b a c 部分和原始j a v a 代码。其中r b a c 部分包括 r b a c 0 、r b a c l 、r b a c 2 、r b a c 3 ;代码部分还定义了对象的状态,有a d d a g 和r e m o v e a g 。 r b a c 0 定义了三个角色的权限。角色“o p e r a t o r ”能执行程序“a e x e 和 “d e b u g g e r e x e ;角色“p r o g r a m 能读文件“f i l e l d a t 和“f i l e l d a t ;角色 2 1 山东师范大学硕士学位论文 “d e b u g g e r 能读“d u m p c o r e 。附件中的程序将被编译成“a e x e ,调试程序是 “d e b u g g e r e x e ,并且操作系统在“a e x e 程序非正常终止后将“a e x e 和 搿d u m p c o r e 放入以备除错的存储器,根据r b a c o 的定义,仅调试程序能够访问该存 储器的文件,同时只有“o p e r a t o r ”才能执行这个调试程序,这样就阻止了文件被非授 权的用户或文件访问。 r b a c i 在“a e x e 被执行的时候起作用。如在存在联合“f r i e n d s 的情况下,它 允许在联合组之间男人对象能够访问女人对象,也允许在存在联合“m a r r i e d 的情况 下男人对象可以访问女人对象和“c e r t i f i c a t e 对象。没有在r b a c i 中出现的对象信 息不允许在对象之间访问。r b a c i 还在联合中声明了基数约束与强制约束。例如,本节 后面给出代码中第1 0 行代码表明一个男人可以有多个异性朋友( 基数约束为木) 也可以没 有( 强制约束为o ) ,行2 0 表明婚姻必须拥有一张证书( 强制约束为m ) 并且一桩婚姻只有 一张证书( 基数约束为1 ) 。 r b a c 2 在r b a c o 初始化执行“a e x e 时起作用。它决定是否允许方法的调用。如在 联合组中根据联合“m a r r i e d ,“m 1 c h a n g e o t h e r s g e n e r a l i n f o r ”能调用 “w 1 c h a n g e s e l f g e n e r a l i n f o r ”。角色等级则是表明如果权限被联合“f r i e n d s 拥有的话,也被联合“m a r r i e d 拥有。 r b a c 3 在r b a c o 初始化执行“a e x e ”时起作用。在这一级声明的权限对象的方法能 对变量进行读和写。和权限相关的变量是变量的访问控制列表,包括r a c l 和w a c l 。例 如,在联合。f r i e n d s 中定义的“m a n s e l f g e n e r a l i n f o r 变量的访问控制列表。 r b c l s ,w a c l s ,d s o u r c e s 的存在确保了信息的安全。图3 1 模型实现部分代码如下: r b a c o r o l eo p e r a t o r j o h np l a y st h i sr o l e a e x e ( e ) ,d e b u g g e r e x e ( e ) ;e :e x e c u t i o nr i g h t ) r o l ep r o g r a m a e x ep l a y st h i sr o l e f i l e l d a t ( r ) ,f i l e 2 d a t ( w ) ;r :r e a dr i g h t ,w :w r i t ef i g h t ) r o l ed e b u g g e r d e b u g g e r e x ep l a y st h i sr o l e d u m p c o r e ( r ) ;) ) r b a c l a s s o c i a t i o nf r i e n d s r o l em a l l ( 0 ,幸) w o m a n ( o ,宰) ; r o l ew o m a n ( 0 ,) m a n ( o ,幸) ;) r o l ee x a m p l e ( 1 ,m ) t h ec l a s se x a m p l ec a l la c c e s se v e r yo t h e r c l a s s ) ) a s s o c i a t i o nm a r r i e d r o l em a n ( o ,幸) w o m a n ( o ,掌) ,c e r t i f i c a t e ( m ,1 ) ; r o l ew o m a n ( o ,幸) 2 2 山东师范大学硕士学位论文 m a l l ( o ,) ,c e r t i f i c a t e ( m ,1 ) ;) r o l ee x a m p l e ( 1 ,m ) t h ec l a s se x a m p l ec a l la c c e s se v e r yo t h e rc l a s s ) r b a c 2 a s s o c i a t i o nf r i e n d s r o l em a i l g e t _ o t h e r s _ g e n e r a l _ i n f o : w o m a n g e t _ s e l f _ g e n e r a li n f o ;) r o l ew o m a n g e l o t h e r s _ _ g e n e m l _ i n f o :m a n g e t _ _ s e l f _ g e n e r a l _ i n f o ; r o l ee x a m p l e e x a m p l e m a i nc a l li n v o k ee v e r ym e t h o d si no t h e rc l a s s e s a s s o c i

温馨提示

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

评论

0/150

提交评论