已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)基于角色的细粒度访问控制研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 论文题目:基于角色的细粒度访问控制研究与实现 专业:计算机软件与理论 硕士生:李慧 导师:张治国副教授 摘要 随着现代网络技术的发展,大型网络应用系统在访问控制方面大多存在授权不灵 活、扩展不方便等问题。r b a c 9 6 ( r o l e b a s e da c c e s sc o n t r o l9 6 ) 模型的提出对这种状 况有了很大的改善。然而,r b a c 9 6 模型也存在一些不足,如授权效率低,无法达到细 粒度的访问控制等。本文针对r b a c 9 6 模型的不足,提出了扩展模型o r b a c ,对砌a c 模型中用户、角色、权限的概念进行了扩充和增强。首先,对用户概念进行扩充,通过 对拥有共同性质的若干用户进行归类组成用户组,一方面可以方便组织用户,另一方面 通过给用户组分配角色,使得用户继承所在用户组的角色,可以大大减少角色分配时的 工作量。其次,引入机构元素,实现对用户和资源的划分,并对角色概念进行扩展,增 加角色“是否是超级管理员属性,将角色分为超级管理员角色和一般管理员角色,将 管理工作分工管理,构建分级的树形用户管理关系,超级管理员角色可以管理所有机构 的资源,下级管理员角色只能管理本机构的资源,实现细粒度的访问控制,提高授权效 率,降低集中式管理中管理员的工作负担。最后,对权限进行扩展,通过资源对象的关 联关系,将资源进行分组管理,从而方便授权,进一步提高授权效率。 论文给出了o r b a c 模型管理的形式化定义,提出了针对此模型的控制策略。结合 实际案例,基于o r b a c 模型的形式化定义和控制策略对o r b a c 模型进行了实现。首 先对应用系统进行总体功能架构的设计,然后将系统分割成高内聚,低耦合的模块,对 各个模块分别进行服务组件设计,数据结构和数据模型的设计,再采用s s h 技术对各 模块的设计进行编码实现,然后将各个模块整合在一起,实现o r b a c 模型的总体功能。 最后对系统进行了单元测试,功能测试。结果表明,将o r b a c 模型应用到大型系统中 时,授权效率明显高于r b a c 9 6 模型的效率,并且可以实现细粒度的访问控制,从而进 一步论证了o r b a c 模型形式化定义的有效性,其控制策略的安全性、合理性。 关键词:访问控制;角色;机构;细粒度;s s h a b s t r a c t t i t l e :r e s e a r c ha n di m p l e m e n t a t i o no fr o l e b a s e df i n e g r a i n e da c c e s sc o n t r o l m a j o r :c o m p u t e rs o f t w a r ea n dt h e o w n a m e :h u il j s u p e r v i s o r :a s s o c i a t ep r o f e s s o rz h i g u oz h a n g a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fw e bt e c h n o l o g y , p r o b l e m se m e r g ei nl a r g es c a l e w e bs y s t e m ,s u c ha sn o tf l e x i b l ei na u t h o r i z a t i o na n di n c o n v e n i e n c ei ne x t e n s i o n t h e r b a c 9 6 ( r o l e b a s e da c c e s sc o n t r o l9 6 ) m o d e l w h i c hi sd i f f e r e n tf r o mt r a d i t i o n a la c c e s s c o n t r o lm o d e l s ,m a k e sg r e a ti m p r o v e m e n to fc u r r e n ts i t u a t i o n h o w e v e r ,s o m ed e f i c i e n c i e s s t i l le x i s ti nr b a c 9 6m o d e l ,s u c ha si n e f f i c i e n c yi na u t h o r i z a t i o n , n o tb e i n ga b l et oa c h i e v e f i n e - g r a i n e da c c e s sc o n t r 0 1 i nr e s p o n s et ot h e s ep r o b l e m s , t h i st h e s i sp r e s e n t sa no r b a c m o d e lb a s e do nr b a c 9 6 t h em a i nc h a r a c t e r i s t i c so fo r b a ca r ea sf e l l o w s :f i r s t , u s e r c o n c e p ti se x p a n d e d u s e r sw h i c hh a v es o m e 蜀r l n ep r o p e r t i e s ,s u c ha si nt h es a m ed e p a r t m e n t , a r ec l a s s i f i e di n t oo n eg r o u p a s s i g n i n gr o l e st ou s e st h r o u g hu s e r - g r o u pg r e a t l yi m p r o v e st h e e f f i c i e n c yo fa u t h o r i z a t i o n ;s e c o n d , o r g a n i z a t i o ne l e m e n ti sa d d e dt oo r b a cm o d e la n d “i s s u p e r a d m i n p r o p e r t yi sa d d e dt or o l e s ,w h i c hd i v i d e sr o l e si n t ot w ot y p e s ,s u p e r a d m i n a n da d m i nr o l e s u n d e rt h i sc i r c u m s t a n c e ,t h em a n a g e m e n tw o r ki sd e c o m p o s e dt h r o u g h r o l e s i s s u p e r a d m i n p r o p e r t y , w h i c hc a ng r e a t l yr e d u c et h ec o m p l e xo fm a n a g e m e n t m o r e o v e r , i tc o n s t r u c t st r e e - t y p eu s e rm a n a g e m e n tr e l a t i o n s h i p ;l o wl e v e la d m i nc a no n l y m a n a g et h er e s o u r c ei nt h ed e p a r t m e n tt h el o g i nu s e rb e l o n g st o f i n e g r a i n e da c c e s sc o n t r o l c a nb ea c h i e v e dt h r o u g ht h i sm e t h o d ,w h i c hi m p r o v e st h ee f f i c i e n c ya n ds e c u r i t yo ft h e s y s t e m ;n l i r d ,i tc l a s s i f i e sr e s o u r c eb yt h ea s s o c i a t i o nr e l a t i o n s h i pa m o n gt h e m ,t h er e s o u r c e m a n a g e m e n ta n dm a i n t e n a n c eo ft h ea s s o c i a t i o nb e t w e e nr o l e sa n du s e r si s m u c hm o r e c o n v e n i e n t t h et h e s i sg i v e st h ef o r m a ld e f i n i t i o no fo r b a cm a n a g e m e n t ;t h ec o n t r o lp o l i c yi sa l s o p r e s e n t e d t h er e a l i z a t i o no ft h em o d e l ,w h i c hi sb a s e do l is s hf l a l t l e w o r k ,g o e st h r o u g ht h e f o l l o w i n gs t e p s :f i r s to fa l l ,t h eo v e r a l la r c h i t e c t u r eo f t h em o d u l ei sd e s i g n e d ;w h i c hi st h e n d i v i d e di n t oh i g h l yc o h e s i v ea n dl o wc o u p l i n gm o d u l e s s e c o n d ,t h es e r v i c ec o m p o n e n t , d a t a s t r u c t u r ea n dd a t a b a s eo fe v e r ym o d u l ei sd e s i g n e da n dr e a l i z e db a s e do ns s ht e c h n o l o g y ; f i n a l l y , e v e r ym o d u l ei si n t e g r a t e di n t oaw h o l e a f t e rt h a t , t h eu n i ta n df u n c t i o nt e s t i n gi s d o n ea b o u tt h es y s t e m t h er e s u l t ss h o wt h a to r b a cm o d e lh a sh i g l l e re f f i c i e n c yt h a n r b a c 9 6m o d e la n dc 锄r e a c hf i n e g r a i n e da c c e s sc o n t r 0 1 f u r t h e r m o r e ,t h eo o r r e e t n e s so ft h e l i i 基于角色的细粒度访问控制研究与实现 f o r m a ld e f i n i t i o na n dt h es e c u r i t yo fm a n a g e m e n tp o l i c ya l ep r o v e d k e y w o r d s :a c c e s sc o n t r o l ;r o l e ;o r g a n i z a t i o n ;f i n e - g r a i n e d ;s s h i v 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:垄整 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 学位论文作者签名:当楚 日期:础年占月2 日 导师张焱潮司 导师签名:。殴筏纠,l 、 v 日期2 d f 眸1 6 1 月2 日 第一章绪论 1 1 立题意义 第一章绪论 随着现代网络技术的发展,大型网络应用系统的数据信息出现前所未有的膨胀,数 据信息的安全问题受到了前所未有的挑战。在实际中,人们对业务功能的可操作性和数 据信息的可访问性有着各自特殊的考虑,一个定义清晰、结构严谨、易使用、易扩展的 访问控制子系统是一个设计优良的大型应用软件不可或缺的组成部分。然而许多系统在 访问控制方面大多存在授权不灵活、扩展不方便、信息的存储和处理存在安全隐患等问 题。而访问控制正是为了解决这些问题而提出,它负责对登陆系统的用户进行身份认证 及对用户所访问各种信息资源的操作范围、操作权限进行控制,因此对其进行研究有着 重要的价值【l 】。目前国内外绝大部分信息系统中访问控制都是采用r b a c 模式 ( r o l e b a s e da c c e s sc o n t r 0 1 ) 。虽然r b a c 模型在访问控制中已经被广泛的接受并使用, 但是仍然有一些需要改进的地方【l 】。首先,传统r b a c 模型统一由超级管理员定义各类 角色,再将角色分配给用户。在大型应用系统中,角色数量巨大,用户众多,因而增加 了授权策略制定和维护的复杂度和工作量,降低了授权的效率。其次,r b a c 模型是一 种粗粒度访问控制模型,也称与用户实例无关的访问控制模型,在这种访问控制中,不 同的用户使用同一种权限时,所能访问的资源和使用的功能是无差别的【1 1 。 针对上述问题,本文结合r b a c 9 6 模型,提出了o r b a c 扩展模型,主要目的一方 面解决集中式管理中管理员工作负担大,效率不高等问题,提高大型系统中授权管理的 效率和可维护性,降低管理成本;另一方面,实现细粒度的访问控制,提高系统的安全 性。 1 2 国内外研究现状 2 0 世纪8 0 年代到9 0 年代初,访问控制主要使用的是强制访问控制( m a n d a t o r y a c c e s sc o n t r o l ,m 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 ,d a c ) 1 2 1 f 3 】 模型。但是,这两种模型存在授权不灵活,扩展不方便,安全性不高,不便于管理等问 题,于是人们开始研究新的模型。r b a c 的概念最早在七十年代就已经提出,它的起源 包括u n i x 和其它操作系统中组的使用,数据库管理系统中族群特权的使用,以及早期 基于角色的细粒度访问控制研究与实现 的论文中描述的职责分离【l l 等。第一个r b a c 模型于1 9 9 2 年由d a v i df e r r a i o l o 和r i c k k u h u 提出,它综合了许多前人研究的成果和重要概念,是一个单一的关系模型,称为 f e r r a i k u h n 9 2 模型,在这个模型中包含了一些重要概念,如角色、角色集、角色继承、 角色激活、用户角色关系限制等;s a n d h u 和他领导的美国g e o r g em a s o n 大学的信息安 全技术实验室进一步发展了r b a c 模型,于1 9 9 6 年提出了一个综合r b a c 模型的基本 框架,也就是著名的r b a c 9 6 模型,它将传统的r b a c 模型根据不同的需要划分为四 种嵌套的模型并给出了形式化定义1 4 1 。1 9 9 7 年他们又提出了一种分布式r b a c 管理模 型r b a c 9 7 ,实现了在r b a c 模型的分布式管理【5 1 。虽然r b a c 模型大体上类似,但是 在细节上差距很大。所以,2 0 0 0 年,s a n d h u 等人在r b a c 模型的基础上第一次公开提 出r b a c 建议标准,2 0 0 1 年,以n i s t ( n a t i o n a li n s t i t u t eo fs t a n d e r d sa n dt e c h n o l o g y ) 的 d a v i df e r a i o l o 为首的r b a c 研究组基于r b a c 9 6 模型,提出了一致的r b a c 模型建议 【6 】,即n i s t r b a c 。 近年来,由s a n d h u 提出的r b a c 9 6 模型和r b a c 9 7 模型成为访问控制技术研究的 热点,r b a c 模型被应用到各种系统中。许多学者对r b a c 模型进行了深入研究。胡和 平等人提出了一种基于r b a c 9 7 的角色互斥模型,将反馈机制引入到角色访问控制模型 中【7 1 ;e l i s ab e r t i n o 等人提出了一种时序的基于角色的访问控制模型嘲;s a n gy e o b n a 等人将角色代理引入到基于角色的访问控制模型中【9 l ;钟华等人提出基于角色的多层 次访问控制模型,对基于角色的访问控制模型进行了分层【1 0 1 ;叶春晓等人提出基于多粒 度权限的访问控制,将模型从粗粒度和细粒度两个方面加以描述i 】;y a nd o n g 等人提 出带有区域限制的r b a c 9 6 模型,将区域元素加入到r b a c 9 6 模型中【1 2 】。 基于角色的访问控制r b a c 成为近年来研究的热点,它被广泛应用到企业系统中, 增加了用户授权的灵活性和效率,降低了系统管理的复杂性,减少了授权管理中错误发 生的概率。但是将其应用到实际的大型系统仍存在许多问题,如集中式的管理使得管理 员工作负担大,授权效率低,安全性不高;对访问控制模型中的客体支持不够,没有对 资源对象进行有效的管理;无法达到细粒度的访问控制等【1 1 。因此,对其研究具有重要 意义。 1 3 论文主要研究内容 本文在参考r b a c 9 6 模型的基础上,提出了一种细粒度的访问控制模型,称之为 2 第一章绪论 o r b a c ,所谓细粒度的访问控制模型,也称与用户实例相关的访问控制。在这种访问 控制模型中,不同的用户在使用同一种权限时,能够访问的资源和使用的功能是有差别 的,即与用户相关的。本文的研究内容如下: ( 1 ) 首先对访问控制模型进行研究,总结r b a c 9 6 模型的不足,在r b a c 9 6 模型的基础 上进行扩展,将具有共同属性的用户和具有关联关系的权限分组,通过用户组和权限组 授权,提高授权效率;增加角色“是否是超级管理员 属性将角色分为超级管理员角色 和一般管理员角色,并增加机构元素实现对用户和资源的划分,实现细粒度的访问控制, 构建分级的树形用户管理关系,减少集中式管理中管理员的工作负担,提高授权的效率。 通过扩展制定一个o r b a c 扩展模型。 ( 2 ) 对o r b a c 扩展模型的管理方式进行研究,给出了o r b a c 模型管理的形式化定义 和模型的控制策略,保证该模型应用到大型系统时各授权管理系统协调运行,提高系统 的安全性。 ( 3 ) 结合实际案例,基于s s h 技术,对o r b a c 模型进行了实现,并对系统进行单元测 试和功能测试,对测试结果进行分析。结果表明o r b a c 模型在授权方面比r b a c 传统 模型效率更高,并且可以实现细粒度的访问控制,进一步验证了o r b a c 模型形式化定 义和控制策略的有效性,以及模型的实用性。 1 4 论文结构 论文分为六章,各章的内容安排如下: 第一章为绪论,简要介绍立题意义,国内外研究现状,研究内容和结构安排。 第二章介绍了几种常见的访问控制技术,并详细介绍了r b a c 9 6 模型,分析了 r b a c 9 6 模型的不足。 第三章提出一种扩展的细粒度访问控制模型o r b a c ,给出了该模型管理的形式化 定义,制定了o r b a c 模型的控制策略。 第四章结合实际案例,对o r b a c 模型进行实现。首先对应用架构进行总体功能架 构的设计,然后从逻辑上将系统分割成若干个独立的模块,模块内实现高内聚,模块间 实现低耦合,对各个模块分别分析,进行服务组件设计,数据结构和数据库的设计和编 码实现,然后将各个模块整合在一起,实现系统的总体功能。 第五章对实现系统进行单元测试和功能测试,并对测试结果进行分析总结。 3 基于角色的细粒度访问控制研究与实现 第六章是结束语,对论文的工作进行总结,指出进一步研究的问题。 4 第二章访问控制的相关研究 第二章访问控制的相关研究 2 1 访问控制技术 访问控制就是通过某种途径准许或者限制访问主体访问能力以及范围的一种方法, 是信息得到安全保护的核心技术和有效手段【l 射。访问控制的目的是防止对任何资源进行 非授权的访问。通过访问控制,可以限制对关键资源的访问,防止非法用户的侵入或者 因非法用户的不慎操作所造成的破坏。 访问控制模型一般包括三部分【l 】:主体( s u b j e c t ) ,客体( o b j e c t ) 和访问控制策略。 主体一般是发出访问控制的实体,一般指用户,客体是被访问的资源,访问控制策略是 判断主体是否有权限访问客体的规则。 计算机信息系统中出现较早的两种访问控制模型【1 1 【2 1 阴是强制访问控制( m a n d a t o r y a c c e s sc o n t r o l ,m 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 ,d a c ) 模 型。m a c l 2 是一种多级访问控制策略,系统事先给访问主体和受控对象分配不同的安全 级别属性,在实施访问控制时系统先对访问主体和受控对象的安全级别属性进行比较, 再决定访问主体能否访问该受控对象。它的缺点在于如果企业的组织机构或者体系的安 全需求出现变化时,就需要进行大量繁琐的授权变动,系统管理员的工作将变得非常繁 重,更重要的是容易发生错误,造成一些意想不到的安全漏洞。d a c 3 】是根据自主访问 控制策略建立的一种模型,允许合法用户以用户或者用户组的身份访问策略规定的客 体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问 权限授予其它用户。但是,它的缺点在于用户可以任意传递权限,因此安全性比较低, 不能给系统提供充分的数据保护。 基于角色的访问控制模型r b a c 的提出,极大地方便了授权的管理。r b a c 被誉为 “为多域数字政府机构中提供安全性保证最具吸引力的解决方案 6 1 ,并且在基于w e b 的应用中显示了巨大的优势和潜力l 。通过使用角色来组织访问权限大大简化了授权管 理的复杂度。例如,如果一个用户在组织中换了一个新的岗位,用户可以被指派为一个 新的角色,而把原来的角色去掉即可。然而,在先前的非r b a c 模型中,用户旧的权限 必须被全部废除,新的权限需要被重新定义,然后授权。职责分离( s o d ,s e p a r a t i o no f d u t i e s ) 是一种被广泛接受的授权限制方法,降低了因为允许个体在系统中拥有足够的 5 基于角色的细粒度访问控制研究与实现 权限而行使诈骗和违法行为的危险。在r b a c 模型中,当需要施加限制来阻止信息的误 用和违法行为时,通过将s o d 限制作用于角色、用户角色指派、角色权限指派,可以 很容易实现这一需求。 基于角色的访问控制根据能够控制的访问对象粒度可以将访问控制分为粗粒度 ( c o a r s eg r a i n e d ) 访问控制和细粒度( f i n eg r a i n e d ) 访问控制【1 1 1 。通常把与用户相关的 访问控制称为细粒度访问控制,而与用户不相关的访问控制被称为粗粒度访问控制。 2 2 基于角色的访问控制模型 2 2 1r b a c 基本思想 r b a c 的核心思想【”1 就是系统根据需要定义不同角色,将资源的访问权限封装在角 色中,通过给用户分配角色,让用户与访问权限相关联。角色对应于组织中的某一特定 的职能岗位,代表特定的任务范畴。系统可以添加、删除角色,还可以在角色间进行转 换。用户通过访问角色间接地访问系统资源,并且只可以对系统资源进行权限范围内的 操作。传统r b a c 模型如图2 1 所示。 图2 - 1 传统r b a c 模型 各元素定义如下【4 1 : 用户u :用户被定义为访问计算机系统中的数据或者用数据表示的其它资源的主 体,一般指人。 角色r :代表组织中的职能岗位。角色在r b a c 模型中处于核心地位。 权限尸:对系统中受保护资源的访问许可,有的模型将权限细化为二元组( 操作a , 对象q ) ,其中,对象是访问控制中的真正客体,是一个包含和接受信息的实体,对一 个实现r b a c 模型的系统,对象可以代表信息容器( 例如文件,操作系统的目录,数据 库管理系统中的行、列、表格和视图) ,也可以代表独占的资源,如打印机,硬盘空间 等。对象集覆盖了r b a c 权限中所有指派给角色的对象。操作是对一个项目的执行动作, 操作因对象不同而异,例如,在文件系统中,操作可能包含读、写和执行,而在数据库 系统中,操作可能包含插入、删除和更新等。权限是操作和对象统一,表示可以对某一 6 第二章访问控制的相关研究 资源对象进行特定操作的权利。 用户角色分配u a :根据用户在组织中的职责被赋予特定的角色集,用户和角色之 间是多对多的关系。 角色权限分配r a :表示角色根据其职能范畴与一组操作权限相关联,用户通过被 指派的角色间接地访问权限,角色与资源之间也是多对多的关系。 与m a c 和d a c 访问控制机制相比,r b a c 显示了较多的机动灵活性特点。特别 显著的特点是,r b a c 在不同的系统配置下可以具备不同的安全控制功能,即可以构造 具备自主访问控制类型的系统,也可以构造强制访问控制类型的系统,甚至可以构造同 时兼备这两种类型的系统。 r b a c 的一个主要目标是方便安全管理的检查,许多成功的商用访问控制系统为了 安全管理而建立了角色集。r b a c 的一个常见形式是在角色之间、权限和角色之间、以 及用户和角色之间建立联系。比如,两个角色可以被定义成相互排斥的,因此同一个用 户不允许同时属于这两个角色。这些角色对角色的关系可以用来实施特定的安全规则, 如职责分离、权力委托。 r b a c 具有以下特点【1 4 1 : ( 1 ) 以角色作为访问控制的主体 用户以什么样的角色对资源进行访问,决定了用户拥有的权限以及可以执行的操作 类型。r b a c 的基本思想【1 】是授权给用户的访问权限通常由用户在一个组织中担任的角 色来确定。传统的访问控制是将主体和受控客体直接相联系,而r b a c 在主体与客体之 间加入了角色,通过角色沟通主体与客体。这样分层的优点是当主体发生变化时,只需 更新主体与角色之间的关联而不必更新角色与客体的关联。 r b a c 中利用角色之间的层次关系提高授权效率,避免相同权限的重复设置,r b a c 采用了“角色继承 的概念,角色继承是指角色不仅具有直接为其分配的权限,还可以 继承其它角色的权限。角色继承把角色组织起来,能够很自然地反映组织内部人员之间 的职权、责任关系。 ( 2 ) 最小特权原则 所谓最小特权原则【6 】( l e a s tp r i v i l e g ep o l i c y ) 是指用户所拥有的权利不超过他执行 工作所需要的权限。实现最小特权原则,需分清用户的工作内容,确定执行该项工作的 最小权限集,然后将用户限制在这些权限范围之内。在r b a c 中,可以根据组织内的规 章制度、职员的分工等设计拥有不同权限的角色,只有角色需要执行的操作才授权给角 7 基于角色的细粒度访问控制研究与实现 色。当一个主体试图访问某资源时,如果该操作不在主体当前活跃角色的授权范围内, 该访问将被拒绝。因此定义适当的角色,并且严格为用户分配不超过其职责的角色,以 便由此体现最小特权原则。 ( 3 ) 职责分离原则 对某些特定的操作集,某一个角色或用户不可能同时独立地完成所有这些操作。“职 责分离 可以有静态和动态两种实现方式 6 1 。静态职责分离:只有当一个角色与用户所 属的其它角色彼此不互斥时,这个角色才能授权给该用户。动态职责分离:只有当一个 角色与主体的所有当前活跃角色都不互斥时,该角色才能成为该主体的另一活跃角色。 2 2 2r b a c 9 6 模型简介 r b a c 9 6 模型是r b a c 模型中定义完备,应用最广泛的模型之一,它包括了核心模 型r b a c 0 、层次模型r b a c l 、约束模型r b a c 2 和综合模型r b a c 3 四个模型【4 】【6 1 。在 实际系统中,只有r b a c 0 构件是必选的。 ( 1 ) 核心模型r b a c 0 核心模型r b a c 0 包含传统r b a c 模型的所有特征,是任何r b a c 系统都必须具备 的,定义核心r b a c 一个主要的问题是确定哪些特征不被包含,它定义了r b a c 的最 小特征集合。这些特征包含了传统模型的特征,而又比传统r b a c 模型更健全的访问控 制模型。它包括五个基本要素集【6 】:用户集合u ,角色集合r ,对象集合q ,操作集合 彳,权限集合尸。还定义了用户角色指派u a ,角色权限指派p 彳。r b a c 0 还引入 了会话s 的概念,会话是一个用户与该用户所拥有的并且被激活的角色集之间的映射关 系,当一个用户激活他所拥有的角色的一个子集时一个会话就建立了。用户和会话之间 是一对多的关系,即一个用户可以拥有多个会话,一个会话只能有一个用户参与。核心 r b a c 0 的结构f 6 】如图2 2 所示。 s s e s s l o n 图2 - 2 核心模型r b a c 0 8 第二章访问控制的相关研究 形式化定义【6 1 如下: u a u xr 是多对多的用户角色指派关系; p asp x 只是多对多的权限角色指派关系; u s e r s :r 寸是一个角色,到一个用户集u s e r ( r ) 的函数映射,记为: u s e r ( r ) = 扰l ( “,) u a ; p e r m i s s i o n s :r 专2 尸是一个角色厂到一个权限集p e r m i s s i o n s ( r ) 的映射,记为: p e r m i s s i o n s ( r ) = pl ( 仍,) p a ; u s e r :s 专u 是一个会话s j 到一个用户u s e r ( s ) 的映射; r o l e s :s 一2 r 是一个会话j ,到一个角色集厂d 胁( 置) r l ( u s e r ( s j ) ,) u a 的函数映 射,会话s ,的权限为u 旧咖( 南) pl ( p , r ) p a ,其中,e 咧) 是随时间变化而变化的。 如图2 2 所示,用户到角色和角色到权限均为多对多的映射关系。“s e s s i o nr o l e s 一 方法列出了该次会话中被激活的角色集合,“u s e rs e s s i o n s 方法列出了与该用户相关联 的所有会话的集合。在r b a c 0 中,所有的角色都是平级的,没有指定角色层次关系, 所有的对象都没有附加约束。 ( 2 ) 层次模型r b a c i r b a c l 在r b a c 0 的基础上引入角色层次结构,角色继承作为一种关键的技术被引 入到r b a c 模型,它是角色的一种自然属性,反映了组织机构中权利和责任的关系。角 色之间是一种数学上的偏序关系,上级角色获得它的下级角色的权限,下级角色获得它 上级角色的用户关系。其形式化定义【6 】如下: r b a c l 模型中,元素u 、r 、q 、彳、尸、s 、u s e r s 、p e r m i s s i o n s 、u s e r 含义 与r b a c 0 模型的各元素含义相同。 r - = r x r 是角色r 上的偏序关系,即角色继承关系,记为。一,它具有如下特 性: 自反性:v r e r , 反对称性:,吒r ,i 吒r 、,i 吒,;= 吒 传递性:v ,i ,吒,r 3 r ,i r 2r 、乞毛,;吩 ,i 疋表示角色吒“继承 角色,;,则角色r 2 的所有权限也是角色的权限,角色吒通 过角色 获得指派的用户。 9 基于角色的细粒度访问控制研究与实现 r o l e s :s 专2 矗是对r b a c 0 模型中的r o l e s 函数的修正,规定: r o l e s ( s , ) r i ( 3 r r ) l ( u s e r ( s t ) ,) u a ) ; 会话薯的权限为:珥。砌( 毛) p i ( j ,”,) l ( p ,。) 刚) 从上述的定义可以看出,一个用户拥有的角色包含u a 关系里面指定的角色以及它 们的下级角色,用户拥有的权限包含其拥有的所有角色在p a 关系里面的权限以及他们 的下级角色的权限。 角色层次模型r b a c l 的结构【1 5 1 如图2 3 所示。 s e s s i o n 图2 3 层次模型r b a c 2 一般情况下,角色继承支持多继承,它提供了从两个或者多个角色继承权限和从两 个或者多个用户继承角色的支持。多继承提供重要的继承性能,第一,通过许多下级角 色构建一个角色或者关系是组织机构固有的属性,第二,多继承提供用户角色指派关 系和角色角色继承关系的统一管理。 ( 3 ) 约束模型r b a c 2 约束模型r b a c 2 也是r b a c 0 的补充,但与r b a c l 不同,r b a c 2 加进了职责分 离( s e p a r a t i o no f d u t y , s o d ) 约束。职责分离是用来处理利益冲突的策略,被应用到系 统中防止用户越权访问。 作为一种安全性准则,s o d 因为被广泛应用到商业,工业和政府。越权或者违法的 产生可能是因为组织中个体之间共谋的结果。因此,为了降低共谋的可能性,根据业务 功能的需求,为拥有不同技能或者职能的个体赋予分离的工作任务,从而防止大的错误 或者欺诈通过许多用户之间的共谋而产生。 根据职责分离的不同阶段,r b a c 2 被分为静态职责分离和动态职责分离。约束模 1 0 第二章访问控制的相关研究 型r b a c 2 的结构1 6 】如图2 - 4 所示。 s s e s s l 0 n 图2 4 约束模型r b a c 2 ( 1 ) 静态职责分离( s t a t i cs e p a r a t i o no f d u t y ) 静态职责分离:基于角色的访问控制系统中,利益冲突可能由于用户获得与互斥角 色相关的权限而发生。一种限制这种形式的利益冲突的方式是静态职责分离。也就是说, 为用户指派角色时施加限制。静态限制可以有很多种形式,一个常见的静态职责分离的 例子是规定为用户指派相离的角色集。静态限制在实现许多其它重要的职责分离策略时 也发挥着重要作用。根据s s d 规则,拥有某个角色的成员可以禁止成为一个或多个其它 角色的成员。s s d 策略可以集中制定,统一部署到特殊的角色上。 s s d 关系有可能存在层次r b a c 模型中。当将s s d 关系应用到有角色层次的系统中 时,要保证继承关系不会破坏s s d 限制【5 1 。静态s s d 的形式化定义如下: 定义a :静态职责分离 s s d c _ ( 2 删船忉是一组静态职责分离中的( r s ,n ) - - 元组,这早- r s 是角色集,t r :憎 的一个角色子集,刀是一个2 的自然数,满足如果( 憎,1 ) s s d ,没有用户可以被指派 ,个或者更多个r s 集合中的角色。形式化定义如下: v r s s s d ,v t 坶:p 除刀na s s i g n e d u s e r s ( r ) - 定义b :具有继承关系模型中的静态职责分离 具有继承关系模型中的静态职责分离的定义是基于授权的用户,而不是基于指派的 用户。形式化定义如下: v ( r s ,n ) es s d ,v ter $ :l ,陲疗jn 删历d ,删一u s e r s ( r ) = f 乃 埔 几种静态职责分离的形式【1 6 】: 互斥角色:同一个用户只能分配互斥角色集合中至多一个角色,约束发生在用户指 基于角色的细粒度访问控制研究与实现 派阶段;其次对访问许可权的分配也有约束限制。对访问许可权的约束可以防止系统内 的重要特权被失控地分散,从而保证强制访问控制的可靠实施。 基数约束:在同一时间内,对一个用户可以拥有角色数量的限制;同样,一个角色 对应的访问许可数目也要受约束。 先决角色约束:分配某一角色给用户仅当该用户拥有另一角色;同理,分配某一权 限给该角色仅当该角色拥有另一种操作权限。 ( 2 ) 动态职责分离( d y n a m i cs e p a r a t i o no f d u t y ) 动态职责分离试图限制用户可获得的权限。d s d 关系和s s d 关系由于应用的上下文 不同而不同。s s d 关系将限制作用在用户的整个权限空间。r b a c 2 模型定义的d s d 性质 是对那些可以在用户会话中或者通过用户会话激活的权限的限制。d s d 属性提供了对最 小特权原则的支持,每个用户在不同的时刻依赖于正在执行的角色而具有不同的权限, 这些属性确保权限不会在用户执行职责的时间外被用户继续拥有。动态职责分离如果没 有具体业务的支持是一个相当复杂的问题,正因为如此,在过去相当长一段时间内,动 态职责分离经常被人们忽视。 r b a c 2 模型提供了动态职责分离的支持。一旦为用户指派了角色,s s d 就提供了跟 踪可能会发生的利益冲突问题。d s d 允许为用户授权两个或者两个以上角色,当这些角 色被单独激活的时候不会发生利益冲突,但是如果同时被激活就会发生利益冲突。虽然 这种效果可以通过建立静态职责分离关系达到,但是d s d 给企业提供了更大的操作灵活 性。动态职责分离作用于用户会话期间激活的角色。 动态职责分离的形式化定义如下: d s d ( 2 胁哪x n ) 是动态职责分离中一组( 坶,1 1 ) - - 元组的集合。这里昭是角色集, 刀是一个2 的自然数。满足如果d s d d s d ,没有一个主体可以激活船中1 1 个或者1 1 个 以上的角色。形式化定义如下: v r s 2 r o l f s1 1 n ,( r s ,刀) d s d 1 1 2 i 船i n 并且 v s s e s s i o n s ,v r s 2 脚,v r o l e s u b s e t 2 嬲,v nn ,( r s ,1 1 ) d s d , r o l e s u b s e t 昭,r o l e s u b s e tss e s s i o n r o l e s ( s ) j ir o l e s u b s e ti u g a u g a - ( l r g , 4 ) = u g a u g a ( 2 ) 用户组管理 用户组( g ) 是用户的集合,定义为:g = gig = ( d ,1 ) ,d d 刀e ) 1 9 基于角色的细粒度访问控制研究与实现 用户组具有唯一性和层次性,在同一域中,通过i d 号来保证用户组的唯一性,通 过指定其父i d 来指明用户组的层次性,用户组的层次性是一种数学上的偏序关系,满 足自反性,反对称性,传递性。 用户组的层次性定义为:g h = g x g 增加或更新用户组时,同时指明其父用户组,删除用户组时,也要删除与之相关的 用户用户组关系信息和用户组角色关系信息。( g ) 表示用组户g 的信息,g i = ( g ) 。 要添加的用户组为g ,添加前用户组表为g ,对于任意g g ,有g g ,添加用户组g 后的用户表组为g ,有g - g u g f ) 。 删除一个用户组,从用户组信息表中删除该用户组的信息,然后在用户组角色关 系维护表中删除与该用户组相关的用户组角色信息,再删除与之相关的用户组一用户关 系信息。g r a ( g ) 表示与用户组g 相关联的角色分配,g r a 是全部用户组一角色分配信息; g u a ( g ) 表示与用户组g 相关联的用户分配信息,g u a 是全部用户组一用户分配信息。删 除用户可表示为: 妒= g i ( g ) ,g i g ,g = g g r a = g r a ( g ) ,g r a g r a ,( g j 叫) = g r a g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《行业创业实践》课件-如何推动线上线下联动营销
- 项目管控考评项目经理述职(可编辑)
- 地理信息技术的应用课件高一地理中图版
- 江苏省连云港市灌云县2026届生物高二上期末质量检测模拟试题含解析
- 毒蛇咬伤中西结合治疗
- 尾矿库安全规程培训内容课件
- 尾气烟囱施工安全培训方案
- 县域食品安全监管力度及违法整治调研
- 直播电商直播间优惠力度对销量调研
- 家装污染治理县域市场需求及调研
- 消化内科抗菌药物临床应用监测方案
- 2023-2024员工自购保险福利调研报告
- 2023年操作工技能考核考试-活塞式压缩机维修工考试历年重点考核试题含答案
- 燃机电厂电气设计特点
- QC成果范文:提高管道焊接质量
- 《简明地方史读本》期末测试卷附答案
- 部编版九年级语文上册期末复习课件
- 历年复试专业课笔试真题-华电09电力
- 药物临床试验与GCP课件
- 一线作业人员绩效考核管理规定
- 骨关节疾病讲解课件
评论
0/150
提交评论