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

下载本文档

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

文档简介

山东大学硕卜学位论文 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:! 蠡廛盗日期:迎兰筮婴 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留: 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅; 人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:监导师签日期:鲨丝丝! 生蛮銮兰堡圭兰些笙兰 摘要 代理的基本思想就是系统中的一些活动实体通过把他们的权限代理给另外 的活动实体,从而代替他们执行一些操作。在计算机系统中,代理主要有四类: 用户之间的权限代理,用户把权限代理给计算机,计算机之间的权限代理和计算 机把权限代理给用户。我们在文章中讨论的是用户之间的基于角色的代理,主要 是指拥有某一角色的用户将他的角色代理给拥有特定的其他角色的用户 1 。 我们提出的这个模型是以s a n d u 提出的r b a c 9 6 模型作为基础,对b a r k a , s a n d u 提出的r b d m o 模型和z h a n g ,a h n ,c h u 提出的r d m 2 0 0 0 模型作了一些修改,并 进行扩充而形成的。在r b d m o 和r d 1 2 0 0 0 中,都不支持重复角色代理和具体到权限 的部分角色代理,我们认为这是不合理的。为了支持部分角色代理,我们引入了 临时角色的概念。另外,我们的模型也支持多步代理,并对一些主要的注销类型 做了描述。 全文共分为五章:第一章简单介绍了基于角色访问控制( r b a c ) ,主要介绍 了典型的r b a c 模型一- r b a c 9 6 模型。第二章介绍了代理和代理模型,描述了代理的 概念和特性,并介绍了两个比较有名的基于角色的代理模型:r b d m o 和r d m 2 0 0 0 。 第三、四、五章是本文的重点,描述了我们提出的代理模型。第三章主要描述了 简单的基于角色的代理模型( f r b d m ) ,这个代理模型是后面两个代理模型的基础, 是最简单和核心的代理模型,主要是以r b a c o 为基础,将r b d m o 加以扩展而形成的 模型,这个模型对一些基本的概念和定义做了详细的描述,并辅助一个例子来解 释这些概念和定义。第四章主要描述了含角色继承关系的基于角色的代理模型 ( h r b d m ) ,这个代理模型主要以r b a c l 为基础,在f r b d m 模型中加入了角色继承关 系形成的一个比较复杂的模型,由于继承角色的增加,使得很多概念和定义都发 生了变化。第五章主要描述了含角色约束继承关系的基于角色的代理模型 ( c r b d m ) ,这个代理模型主要是以r b a c 3 为基础,继续在h r b d m 模型中加入了角色 约束关系而形成的一个模型,在前面的模型中都是通过代理限定关系来限定代理 行为,在这个模型中,角色的约束关系也被用来限定代理行为。 我们通过这种分层的模型结构,逐步将一个完整的代理模型展现出来,让 山东大学硕士学位论文 大家能够比较清晰的理解我们的代理模型。 【关键词】:角色,继承,约束,代理,基于角色的代理模型 :至銮:2 圭主竺鲨兰 s t u d y o fr o l e b a s e d d e l e g a t i o nm o d e l g r a d u a t es t u d e n t :a n x i a o j i a n g t u t o r :p r o f l id a x i n g a b s t r a c t t h eb a s i ci d e ab e h i n dd e e g a t i o ni st h a ts o m ea c t i v ee n t i t yi nas y s t e m d e l e g a t e sa u t h o r i t yt oa n o t h e ra c t i v ee n t i t yt oc a r r yo u ts o m ef u n c t i o n e o nb e h a l fo ft h ef o r m e r d e l e g a t i o ni nc o m p u t e rs y s t e m s c a nt a k ef o u rf o r m s h u m a nt oh u m a n ,h u m a nt om a c h i n e ,m a c h i n et om a c h i n e ,a n dm a c h i n et oh u m a n i nt h i sp a p e rw ef o c u so nt h eh u m a nt oh u m a nf o r mo fd e l e g a t i o n u s i n gr o l e s s p e c i f i c a l l y ,ic o n s i d e rt h ea b i l i t yo fau s e rw h ob e l o n g st oau s e rw h o i sam e m b e ro far o l et od e l e g a t eh i so rh e rr o l et oa n o t h e ru s e rw h ob e l o n g s t os o m eo t h e rr o l e t h ep r o p o s e dm o d e lt h a tisb a s e do nt h er b a c 9 6m o d e lp r o p o s e db ys a n d u m o d i f i e sa n de x t e n d st h er b d m om o d e lp r o p o s e db yb a r k a ,s a n d ua n dt h e r d m 2 0 0 0m o d e lp r o p o s e db y z h a n g ,a h n ,c h u t h er b d m 0m o d e la n dr d m 2 0 0 0 m o d e ld on o t s u p p o s er e p e a t e dr o l ed e l e g a t i o n ( r r d ) a n dp a r t i a lr o l e d e l e g a t i o na b o u tp e r m i s s i o n w et h i n ki ti sn o tr e a s o n a b l e w ei n d u c t t e m p o r a r y r o l ef o r p a r t i a l r o l ed e l e g a t i o n 0 u rm o d e la l s o s u p p o s e s m u l t i s t e pd e l e g a t i o n ,a n dd e s c r i b e ss o m ep r i m a r yr e v o c a t i o n s h i s p a p e r i s c o m p o s e do ff i v ec h a p t e r s i n t h ef i r s t c h a p t e g w ed e s c r i b e r o l e b a s e da c c e s sd e l e g a t i o n ( r b a c ) a n dt y p i c a lr b a cm o d e l r b a c 9 6 i nt h e s e c o n d c h a p t e r w ed e s c r i b e d e l e g a t i o n a n d d e l e g a i o n m o d e l w ed e s c r i b et h e c o n c e p t i o na n dc h a r a c t e r i s t i c o fd e l e g a t i o n ,a n di n t r o d u c et w of a m o u sr o l e b a s e d d e l e g a t i o nm o d e l s r b a m 0 a n dr d m 2 0 0 0 t h e t h i r d ,f o u r t h ,f i f t h ,c h a p t e ri st h i s p a p e r se m p h a s e s i nt h e t h i r d c h a p t e rw ed e s c r i b e t h ef i a tr o l e b a s e d d e l e g a t i o n m o d e l t h i sm o d e lt h a ti st h em o s ts i m p l ec o r ed e l e g a t i o nm o d e li st h eb a s eo ft h e 1 a t t e rt w od e l e g a t i o nm o d e l s i ti sb a s e do fr b a c oa n de x t e n d sr b d m o i nt h i s 山东大学硕士学位论文 m o d e l ,w ed e t a i l e d l y d e s c r i b es o m e e l e m e n t a r yc o n c e p t s a n dd e f i n e st h a t a r e e x p l a i n e db y a ne x a m p l e i nt h ef o u r t hc h a p t e rw ed e s c r i b et h er o l e - b a s e dd e l e g a t i o n m o d e li n c l u d i n gr o l eh i e r a r c h yr e l a t i o n t l l i sm o d e lt h a ti sb a s e do fr b a c li ss h a p e d f r o m a d d i n g r o l e h i e r a r c h y r e l a t i o nt of r b d mm o d e l b e c a u s eo fa d d i n go f h i e r a r c h i c a lr o l e ,t h e r ei sm a n yc o n c e p t sa n dd e f i n e st h a th a v ec h a n g e d i nt h ef i f t h c h a p t e rw e d e s c r i b et h er o l e b a s e dd e l e g a t i o nm o d e li n c l u d i n gn o to n l yr o l eh i e r a r c h y b u ta l s or o l ec o n s t r a i n t t h i sm o d e lt h a ti sb a s e do fr b a c 3i ss h a p e df r o ma d d i n g r o l ec o n s t r a i n tr e l a t i o nt oh r b d mm o d e l t h ef o r m e rm o d e l sr e s t r i c td e l e g a t i o nb y d e l e g a t i o nr e s t r i c t i o n c o n d i t i o n b u ti nt h i sm o d e l ,r o l ec o n s t r a i n ti sa l s ou s e dt o r e s t r i c td e l e g a t i o n w e r e p r e s e n taf m ld e l e g a t i o nm o d e lb yl a y e r e df r a m e t h a tc a nm a k eu sc l e a r l y u n d e r s t a n d0 1 1 1 d e l e g a t i o nm o d e l k e yw o r d s :r o l e ,i n h e r i t a n c e ,c o n s t r a i n t ,d e l e g a t i o n ,r b d m d 山东大学硕士学位论文 引言 随着信息技术的不断发展和大规模应用,信息系统的安全问题越来越突出。 基于角色的访问控制技术( r b a c ) ,被信息安全领域普遍认为是一种全新的信息 安全技术,正越来越受到重视。在r b a c 中,权限与角色相关联,而用户根据他们 的责任和资格被分配相应的角色,从而获得了这些角色对应的权限。用户分配的 角色可以很容易的被删除,也可以很容易的给用户增加新的角色:同样,赋予角 色的权限也可以很容易的被增加或删除。具有代表性的r b a c 是s a n d h u 提出的 r b a c 9 6 模型以及a r b a c 9 7 模型。r b a c 9 6 已经得到美国国家标准技术研究所( n i s t ) 的支持,作为r b a c 技术的标准已经发布出来。当前已有支持r b a c 技术的商业产品 问世,如t r u s t e ds o l a r i s ,o r a c l e 等。r b a c 的“政策中立”和用r b a c 管理r b a c 的思想,使之可以适应不同的安全政策要求,因而得以广泛应用。 2 在分布环境下,系统的管理工作异常繁重。完全依赖于管理者的集中式管 理方式,需要管理员参与系统中所有行为的授权方式,更加重了系统的管理负担。 代理( d e l e g a t i o n ) 的基本思想是用户将自己所具有的部分或全部权限代理给其 他用户,让被授权的用户代表授权用户执行某些任务。代理技术允许将分布式环 境下的集中式管理工作分散实施,是一种提高分布式系统伸缩性的重要技术,而 基于角色的代理技术为在分布系统中实现角色访问控制提供了一种有效的手段。 代理主要在三神情况下发生: 4 1 角色代替:当一个用户长时间不在工作岗位时,他的工作需要别人代理他 去做,这就需要他把他的角色代理给别人。 2 权限的分散:当一个机构刚成立或重新组织的时候,工作权限需要从机构 结构中较高的工作位置向较低的工作位置分发。 3 协同工作:人们在现实生活中常常需要和本部门或其他部门的其他人进行 协同工作,在这神情况下,我们就互相需要一些访问权限来获得共享信息。 现在已经有很多模型开始讨论代理的各个方面,其中r d m 2 0 0 0 和r b d m o 是两 种主要的基于角色的代理模型( r b d m ) 。r d m 2 0 0 0 和r b d m o 与我们提出的模型密 切相关。r b d m o 主要描述人与人的代理,是第一个基于角色的入与入的代理模型。 山乐大学硕士学位论文 r b d m o 基于r b a c 9 6 的r b a c 0 ,所以r b d m o 中涉及的代理角色都是简单的角 色,即角色间没有权限的继承和角色的约束。在r b d m 0 中,将用户的角色分成 两类:( 1 ) 初始角色:管理员或具有授权管理权限的用户授予的角色:( 2 ) 授权角 色:其他用户代理来的角色。r b d m 0 主要讨论的是完全代理和单步代理,还有 代理的注销,包括限时注销和非授权依赖注销,r b d m 0 禁止重复角色代理。 r b d m 0 还定义了代理关系c a n d e l e g a t e 来控制用户之间的代理。当然,在r b d m 0 的扩展中也涉及到了授权依赖注销,可代理权限与不可代理权限,继承角色的代 理和两步代理,但讨论的都不多。r d m 2 0 0 0 模型是基于r b a c 9 6 和r b d m 0 扩 展而成的较完善的基于角色代理模型,支持继承角色和多步代理。在r d m 2 0 0 0 中,认为每一个用户一角色分配都是独一无二的,因此代理可以通过授权用户的 用户角色分配来标示。同r b d m 0 一样,r d m 2 0 0 0 也禁止重复角色代理。还扩 展了代理关系c a n d e l e g a t e ,讨论了三种代理注销( 超时注销,非授权依赖注销 和授权依赖注销) 。另外,r d m 2 0 0 0 还介绍了一种基于规则的策略规范语言,通 过这个语言来实施r d m 2 0 0 0 模型中的代理和注销行为。 作为两种主要的角色代理模型( r b d m o 和r d m 2 0 0 0 ) ,认为将授权角色再次代 理给已经具有该授权角色的用户,或者具有比该授权角色高级的角色的用户是没 有意义的,因此禁止此类重复角色代理( r r d ) 事实上,禁止这种所谓的“向上 代理”( u p w a r dd e l e g a t i o n ) 是错误的,因为用户所具有的角色是动态变化的, 不同用户授权的同一角色应该区别对待,否则将会造成系统授权管理的混乱同 时,r b d m o 和r d l a 2 0 0 0 不支持权限代理,而采用“全部角色代理”的方式,即要 么不代理角色,要么将代理角色的全部权限都代理给被授权用户,这种方式破坏 了“最小特权”的安全原则,给系统带来了潜在的威胁为了弥补这些不足,我 们提出了一个新的代理模型。 2 6 第一章基于角色访问控制( r b a c ) 简介 1 1 访问控制模型 传统的存取访问控制模型有自主型存取控制( d a c ) 和强制型存取控带i j ( m a c ) : 自主型存取控制通过权限矩阵来表示系统中各个用户对不同数据资源的存取权 限。当用户希望执行某项操作时,系统就将用户的请求与系统的存取矩阵进行比 较,如果该用户的请求与用户实际被授予的权限相匹配,则该用户便可以在他的 权限范围内对数据信息进行操作,否则系统拒绝该用户的访问请求。由于在d a c 控制模型中,用户可以在不需要系统认可的条件下就可以自主地将自己的权限授 予其他不拥有该权限的用户,这会给整个系统带来潜在的危险,造成信息漏洞。 强制型存取控制是通过系统给所有的主体和客体分配不同的安全级别来构成 系统授权状态,只有系统权限管理员才能根据实际情况修改系统的授权状态。 m a c 机制通过对用户和数据资源安全级别进行比较,判断用户是否有权对其请 求数据资源进行访问操作。强制型存取控制可以防止权限级别高的用户将重要数 据资源通过非法途径传输给低权限用户,在某种程度上提高了系统的安全性。但 是该模型要遵循向上写和向下读规则,因而在一定程度上限制了高级别用户写非 敏感数据的合理需求,并且系统授权状态的变更也相当的繁琐。 作为以上两种传统存取控制模型的最佳取代者,基于角色的存取控制 r b a c f r o l e b a s e da c c e s sc o n t r 0 1 ) 模型是近来研究的最为热门的存取控制模型。 因为在传统模型中管理用户对数据资源的存取是直接为用户授予一些操作权限, 一旦用户的职责发生变更,管理员就要更改用户权限,安全管理处于较低层次, 不能根据企业组织的结构形式来进行用户权限划分,而r b a c 则能够在较高的层 次上通过用户角色控制用户权限的改变。r b a c 是根据整个企业组织的结构视图 中不同岗位职责进行角色划分的,而并非针对具体的某个用户划分权限,即资源 的访问许可是通过角色来获取的,利用角色层次结构将用户与权限联系起来,当 用户成为其相应角色的成员时便可以获得该角色所拥有的权限,从而在很大程度 上简化了用户与权限的管理。【3 1 2r b a c 9 6 模型 由s a n d u 提出的r b a c 9 6 模型涉及用户( u ) ,角色( r ) 和权限( p ) 这三部 分( 图1 ) 。用户指与计算机系统直接进行交互的任何人,角色用于组织大量用 户的权限规范,权限表示用户可以在某一对象上进行的操作。 基于角色的访问控制中包含用户角色,角色权限和角色角色关系。一个用 户可以被分配多个角色,一个角色可以被分配给多个用户,我们把用户和用户之 间的这种多对多的关系称为用户分配;同样,在角色和权限之间也存在着这样的 多对多的关系,我们称为权限分配;角色和角色之间还存在继承和约束。 在r b a c 9 6 的参考模型中共包括了四个子模型:r b a c o ,r b a c l ,r b a c 2 和r b a c 3 ,我们将在下面一一进行介绍。 4 1 1 5 1 1 6 1 1 7 】 1 2 1r b a c 0 子模型 r b a c o 子模型( 如图) 是基于角色访问中最核心,最基本的要求。 r b a c o 子模型 定义i i :r b a c 0 包含以下内容: 1 u ,r 和p 分别代表用户,角色和权限的集合。 2 u a 至u r 是一个多对多的用户分配关系。 3 p a 兰p r 是一个多对多的权限分配关系。 4 u s e r :r 一2 “是一个通过用户分配关系找出分配了某一角色r 的所有用 户的函数关系,u s e r ( r ) = u 1 ( u ,r ) e u a 。 一一 :变銮主要圭主竺兰兰 5 p e r m i s s i o n :r 一2 9 是一个通过权限分配关系找出某一角色r 所具有的权 限的函数关系,p e r m i s s i o n ( r ) = p i ( p ,r ) c p a 。 1 2 2 r b a c l 子模型 r b a c l 子模型( 如图) 是在r b a c o 子模型的基础上增加了角色之间的继承 关系。 f r 肋 r o l eh i e r a r c h y 定义1 2 :r b a c l 包含以下内容: r b a c i 子模型 1 u ,r 和p 分别代表用户,角色和权限的集合。 2 u a e u r 是一个多对多的用户分配关系。 3 p a 互p x r 是一个多对多的权限分配关系。 4 r h e r x r 是角色之间的继承关系,满足: 任给( r l ,r 2 ) r h ,u s e r ( r 1 ) n u s e r ( r 2 ) = 。 5 u s e r :r 一2 “是一个通过用户分配关系找出分配了某一角色r 的所有用 户的函数关系,u s e r ( r ) = u i ( u ,r ) u a ) 。 6 p e r m i s s i o n :r 一2 ”是一个通过权限分配关系找出某一角色r 所具有的权限的函数 关系,p e r m i s s i o n ( r ) = fp ( p ,r ) p a 。 1 2 3r b a c 2 子模型 r b a c 2 子模型( 如图) 是在r b a c o 子模型的基础上增加了角色之间的 i j l 东大学硕士学位论文 约束关系,我们在这里只考虑两个角色之间的互斥角色。 定义3 :r b a c 2 包含以下内容: 1 u ,r 和p 分别代表用户,角色和权限的集合。 2 u a 至u r 是一个多对多的用户分配关系。 3 p a e p r 是一个多对多的权限分配关系。 4 s d - r r 是角色之间的互斥关系,满足: 任给( r l ,r 2 ) s d ,u s e r ( r 1 ) n u s e r ( r 2 ) = 。 5 u s e r :r 一2 ”是一个通过用户分配关系找出分配了某一角色r 的所有用 户的函数关系,u s e r ( r ) = u l ( u ,r ) e u a 。 6 p e r m i s s i o n :r 一2 9 是一个通过权限分配关系找出某一角色r 所具有的权限的函数 关系,p e r m i s s i o n ( r ) = p l ( p ,r ) p a 。 1 2 4r b a c 3 子模型 r b a c 3 是将r b a c l 和r b a c 2 联合在了一起,即包含了角色的继承关 系,也包含了角色的约束关系。因此,r b a c 3 的定义就是r b a c l 和r b a c 2 的综合。 i j l 东大学硕士学位论文 r o l e i e r a r c r h yc c n s t r a i n r b a c 3 子模型 定义g :r b a c 3 包含以下内容: 1 u ,r 和p 分别代表用户,角色和权限的集合。 2 u a e u r 是一个多对多的用户分配关系。 3 p a 兰p r 是一个多对多的权限分配关系。 4 r h 量r r 是角色之间的继承关系,满足: 任给( r l ,r 2 ) r h ,u s e r ( r 1 ) n u s e r ( r 2 ) = 。 5 s d - = r r 是角色之间的互斥关系,满足: 任给( r 1 ,r 2 ) s d ,u s e r ( r 1 ) n u s e r ( r 2 ) = 。 6 u s e r :r 一2 “是一个通过用户分配关系找出分配了某角色r 的所有用 户的函数关系,u s e r ( r ) = u l ( u ,r ) u a ) 。 7 p e r m i s s i o n :r 一2 是一个通过权限分配关系找出某一角色r 所具有的权限的函数 关系,p e r m i s s i o n ( r ) 2 p 1 ( p ,r ) p a ) 。 2 1 代理 2 1 1 代理的概念 第二章代理和代理模型简介 代理的基本思想就是系统中的一些活动实体通过把他们的权限代理给另外 的活动实体,从而代替他们执行一些操作。比如,一个教授外出不在学校的时候, 可以把办公室的钥匙交给他的助手,让他代替他做一些平常必须做的事情。在计 算机系统中,代理主要有四类:用户之间的权限代理,用户把权限代理给计算机, 计算机之间的权限代理和计算机把权限代理给用户。虽然在这些代理类型中涉及 的实体不同,但他们都有同样的结果一访问权限的传播。 虽然代理的重要性很长时间以前就已经被认识到了,但是在现有的基于角色 的系统中关于代理的概念还没有被支持。我们将发起代理动作的用户称为授权用 户,代理出去的角色称为授权角色,接受代理角色的用户称为被授权用户。在现 有的基于角色的系统中,为了代理一个角色,授权用户必须请求系统管理员分配 该角色给被授权用户。很明显,在一个大规模的分布式环境中,这样一个模型会 明显增加管理的压力。加入代理的概念后,上述代理行为完全可以在两个用户之 间完成,大大缓解了管理的压力。 2 1 2 代理的特性 代理主要有以下特性: 1 】 1 。时限性:是指授权角色的作用时限。按照时限的不同可以将代理分为两 种:永久性代理和时限性代理。前者是指把一旦把授权角色代理给被授权用户, 被授权用户就具有授权角色所包含的权限,直到系统管理员或者具有授权管理角 色的用户将被授权用户的授权角色撤销;而时限性代理是指在代理的同时指定授 权角色的有效性,一旦授权角色过期,系统自动的将授权角色撤销。 2 。单调非单调:授权用户将授权角色代理给被授权用户后,如果授权用户 还具有授权角色,这种代理方式称为单调代理;与之相对,如果授权用户不再具 山东大学硕士学位论文 有授权角色,则称之为非单调代理。 3 。完全部分:如果将授权角色所具有的全部权限代理给被授权用户则称为 完全代理,如果将授权角色所具有的部分权限代理给被授权用户则称为部分代 理。 4 。管理:在实际的代理操作中,代理可以有授权用户本身完成,还可以有 第三方的授权代理用户来完成。 5 。多步代理:在r d m 中,如果允许被授权用户将授权角色继续代理给其他 的用户则称作多步代理,否则称作单步代理。 6 。多重代理:是指同一个授权角色可以同时代理给一个或者多个被授权用 户。 7 。协商:是指授权用户和被授权用户之间在代理过程中所采用的协议。根 据被授权用户是否参与代理决策分为双边协商和单边协商。 8 。注销:当直接注销授权角色时,同时会将与该角色相关的其他角色( 如: 被授权用户以授权角色为先决条件而被授予的其他角色) 也一并注销,则这种注 销叫做层叠式注销( c a s c a d i n gr e v o c a t i o n ) 。只有授权用户才能注销授权角色的注 销方式叫做授权依赖注销( g r a n d - d e p e n d e n tr e v o c a t i o n ) ;与之相对,任何具有管 理员授予的授权角色角色的其他用户都可以注销被授权用户所具有的授权角色 的注销方式叫做非授权依赖注销( g r a n t - i n d e p e n d e n t r e v o c a t i o n ) 。 2 2 代理模型 目前,己经有一些代理模型,其中比较有名的是r b d m 0 和r d m 2 0 0 0 ,下 面分别介绍这两个模型: 2 2 1r b d m o 模型 r b d m 0 主要描述人与人的代理,是第一个基于角色的人与人的代理模型。 r b d m o 基于r b a c 9 6 的r b a c 0 ,所以r b d m 0 中涉及的代理角色都是简单的角 色,即角色间没有权限的继承和角色的约束。在r b d m 0 中,将用户的角色分成 两类:( 1 ) 初始角色:管理员或具有授权管理权限的用户授予的角色;( 2 ) 授权角 色:其他用户代理来的角色。r b d m o 主要讨论的是完全代理和单步代理,并且 i j l 东大学硕士学位论文 禁止重复角色代理。 2 8 】 9 一 r b d m o 模型 定义2 1 : r b d m 0 在r b a c o 的基础上增加了以下的内容:【8 1 u a o - = u x r 是一个多对多的用户源分配关系。 2 u a d - = u r 是一个多对多的用户代理分配关系。 3 u a = u a o u u a d ,u a o n u a d = 。 4 u s e r o ( r ) = u l ( u ,r ) e u a o 。 5 u s e r _ d ( r ) = u l ( u ,r ) u a d 。 6 u s e r ( r ) = u s e r _ o ( r ) uu s e r d ( r ) ,u s e r o ( r ) nu s e r _ d ( r ) = 。 r b d m 0 还定义了以下关系来控制用户之间的代理:c a n - d e l e g a t e r x r c a n d e l e g a t e 是非自反的,这意味着r b d m o 禁止重复角色代理,即将授权 角色再次代理给已经具有该授权角色的用户,或者具有比该授权角色高级的角色 的用户是不被允许的。 r b d m 0 还讨论了两种类型的代理的注销( 超时注销和非授权依赖注销) 。超 时注销主要是通过在代理发生的时候设置一个有效时间,当过了这个有效时间以 后,代理自动撤销。非授权依赖注销是指任何拥有授权角色的源用户都可以注销 拥有该授权角色的所有被授权用户。 在r b d m 0 的扩展中还讨论了授权依赖注销,可代理权限与不可代理权限, 两步代理和继承角色的代理,但是讨论的都不多。 2 2 2r d m 2 0 0 0 模型 r d m 2 0 0 0 模型是基于r b a c 9 6 和r b d m 0 扩展而成的较完善的基于角色代 理模型,支持继承角色和多步代理。在r d m 2 0 0 0 中,认为每一个用户一角色分配 山东大学硕士学位论文 都是独一无二的,因此代理可以通过授权用户的用户角色分配来标示。同 r b d m 0 一样,r d m 2 0 0 0 也禁止重复角色代理。【1 0 1 1 d l g t r d m 2 0 0 0 模型 定义2 2 : r d m 2 0 0 0 在r b a c o 和r b d m o 的基础上增加了以下的内容: 1 0 1 d l g t 互u a u a 爿j r u r 表示代理关系。 2 o d l g t 量u a o u a d 是一个源用户代理关系。 3 d d l g tu a d u a d 是一个被授权用户代理关系。 4 d l g t = o d l g t ud d l g t ,o d l g tnd d l g t = 。 5 d p e u a u a 是用来表示代理路径。 6 d t u a u a 是用来表示代理树。 7 p r i o r :u a u a 是一个将u a 映射为代理给它角色的所有u a 的映射关系。 p f i o r ( u ,r ) = ( u ,r 1 ) i ( u ,r ) u a d ,( u ,r ,u r ) ed l g t p f i o r ( u ,r ) = o l ( u ,r ) u a o ) 。 8 p a t l l ( u 0 ,r 0 ) = ( u 0 ,r 0 ) ,( u 1 ,r 1 ) ,( u i ,r i ) ,( u n ,m ) l ( u i ,f i ) = p f i o r ( m - 1 , f i - 1 ) u a 当i 0 ) 表示从( u 0 ,r o ) 开始的所有逆序代理路径,当然代理路径 中必需包含( u 0 ,r o ) 。 p a t h ( u ,r ) = ( a f ( u ,r ) u a o 。 9 d e p t l l :u a n 代理深度是代理路径中的元素数目减去1 。 d e p m ( u ,r ) 2 n 1 n 2 l p a t h ( u ,r ) l ,( u ,r ) u a d ) o e p 也( u ,r ) 2 0i ( u ,r ) u a o 。 r d m 2 0 0 0 采纳了a r b a c 9 7 的先决条件的概念,通过先决条件,可以限制 接受授权角色的被授权用户。先决条件定义如下: 生奎盔兰堡圭芏竺兰兰 先决条件c r 是用操作符”& ”( a n d ,与) 和”l ”( o r ,或) 将元素c r 结合起来的布 尔表达式其中,c r 可以是x 或者- x 的形式,前者表示具有角色x ,后者表示不 具有角色x 。比如c e = m l ( 一r 2 ) ,表示拥有角色r 1 或者没有角色r 2 。 r d m 2 0 0 0 还定义了代理限定关系:c a n - d e l e g a t e - - r x c r x n ,其中r 表示 授权的角色,c r 是先决条件,n 表示代理的深度。 r d m 2 0 0 0 讨论了两种类型的代理的注销( 超时注销和用户注销) ,其中用户 注销又分为非依赖授权注销和依赖授权注销。 另外,r d m 2 0 0 0 还介绍了一种基于规则的策略规范语言,通过这个语言来 实施r d m 2 0 0 0 模型中的代理和注销行为。 i j l 东大学硕士学位论文 第三章简单的基于角色的代理模型( f r b d m ) 从这一章开始,我们开始介绍我们的基于角色的代理模型,该模型是以s a n d u 提出的r b a c 9 6 模型作为基础,对b a r k a 和s a n d u 提出的r b d m 0 模型作了一些 修改,并进行扩充而形成的。 首先,我们分析一下代理的特性,简化出对代理模型最有用的特性。 1 时限性:永久性代理完全可以通过系统管理员来操作,或者将代理的有 效期设为无限期,所以我们提出的模型的代理时限性只有一种,那就是时限性代 理。 2 单调月e 单调:对于时限性代理,如果采用非单调代理,则授权的角色过 期后,该部分授权的权限将消失,造成系统权限的萎缩,所以我们的模型中采用 的是单调代理。 3 完全部分:r b d m 0 模型采用的是完全代理,r d m 2 0 0 0 采用的是部分代 理,但是代理的最小单位是角色,我们的模型中将采用的是部分代理,并且将代 理的最小单位扩展到了权限。 4 管理:我们的模型中的代理由授权用户本身完成。 5 多步代理:在r b d m 0 中采用的是单步代理,r d m 2 0 0 0 中采用的是多步 代理,在现实情况中,多步代理更符合需要,所以我们采用的也是多步代理,单 步代理可以看作是多步代理最大代理深度为1 的一个特例。 6 多重代理:在我们的模型中,同一个授权角色可以同时代理给一个或者 多个被授权用户。 7 协商:为了减少模型的复杂度,我们在模型中只考虑单边协商的问题, 即只要授权用户代理给被授权用户角色,被授权用户就要接受该代理角色。 8 注销:对于注销方式,每个模型支持的各不相同,在f r b d m 中,我们 主要支持授权依赖注销,非授权依赖注销,超时注销,系统管理员注销,层叠式 注销和非层叠式注销;在h r b d m 中,由于继承角色的增加,我们又增加了两种 注销方式,强注销和弱注销:在c r b d m 中,这些注销方式都将被支持。 出变奎兰至圭兰竺丝兰 3 1 f r b d i d 概述 b a r k a 和s a n d u 以r b a c o 为基础提出了一个模型r b d m o ,但是这个模型不 支持部分代理和多步代理,我们以这个模型为基础,并加入部分代理和多步代理 的特性,就形成了我们的简单的基于角色的代理模型( f r b d m ) 。为了更好的阐 述我们的模型,我们首先引入一个用户一角色- 权限关系的例子,后面的各章都要 以这个例子为基础。 用户角色分配关系如下: 角色用户 p l ( p r o j e c t l e a d e r )j o h n p e ( p r o g r a m m i n ge n g i n e e r ) t o m q e ( q u a l i t ye n g i n e e r ) s m i t h p j ( p r o j e c t ) j e n n y p m ( p r o d u c t i o n m a n a g e r ) s c o t t p d ( p r o d u c t i o nd e s i g n ) a i i c e 权限一角色分配关系如下: 2 权限角色 改变计划程序确认 p l 程序请求 p e 程序检查错误报告q e 项目实施 p j 产品管理p m 产品设计 p d 3 1 1 临时角色 为了支持基于权限的部分代理,我们引入一个新的角色概念一临时角色,比 如,假设j o h n 想把角色p l 中的改变计划权限代理给t o m ,但是又不想将角 色p l 中的程序确认权限代理给t o m ,这个时候j o h n 就首先生成一个新的临 当变查耋罂圭兰些丝兰 时角色t r l ,然后给t r l 赋予权限改变计划,然后将t r l 代理给t o n i 。这样, 我们就将代理角色分为了两类,一般代理角色( r r ) 和临时代理角色( t r ) ,一 般代理角色和一般角色是一样的,只不过用在了代理行为中:用户将临时角色代 理给别的用户就是临时代理角色,上面的t r l 就是临时代理角色。 3 ,l 2f r b d m 中的用户角色分配关系 由于临时角色的增加,相应的,用户代理分配关系也就分为了两类,用户一 般代理分配关系( u a d r ) 和用户临时代理分配关系( u a d t ) 。用户一般代理分 配关系表示用户拥有的是代理而来的一般角色,而用户临时代理分配关系表示用 户拥有的是代理而来的临时角色。j o h n 如果将角色p l 代理给t o m 后,则t o m 和角色p l 的关系就是用户一般代理分配关系;j o h n 如果将临时角色t r l 代理给 t o m 后,则t o m 和角色t r l 就是用户临时代理分配关系。 3 1 3f r b d m 中的代理关系 为了支持多步代理,我们引入了r d i v l 2 0 0 0 中的代理关系( d l g t ) 。在 r d m 2 0 0 0 中,代理关系包括三个部分:源用户分配关系,代理分配关系和约束: 用户之间的代理关系包括五个部分:授权用户,授权角色,被授权用户,被授权 角色和相应的约束。1 0 约束问题应该在代理行为发生之前进行判定,所以在我 们的基于角色代理模型的代理关系和用户之间的代理关系中,我们不考虑约束的 问题,而在后面的代理限定中讨论,但是我们在代理关系中加入了一个代理有效 期。于是,对于用户之间的代理关系,我们用一个五元组来表示: ,其中u l 是授权用户,r l 是授权角色所基于的角色,u 2 是被授权用户, r 2 是授权角色,t 是代理的有效期。在f r b d m 中,r l 等于r 2 或者r 2 是以 r 1 的部分权限形成的临时角色。假设( j o h n ,p l ,t o m ,p l ,t ) 是一个代理关 系,则表示j o h n 可以将角色p l

温馨提示

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

评论

0/150

提交评论