(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf_第1页
(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf_第2页
(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf_第3页
(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf_第4页
(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf_第5页
已阅读5页,还剩59页未读, 继续免费阅读

(计算机应用技术专业论文)j2ee分布式环境中rbac模型的研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 分布式应用就是对地域上分隔的一组群体需要相对独立又相互协同进行某 项工作的需求给出完整支持。这样的工作方式对系统的安全提出了更高的要求。 随着分布式应用逐渐成为计算机应用、软件开发的主要趋势,信息安全问题也日 益紧迫。信息安全技术主要有数据加密、认证、访问控制、密钥管理,其中访问 控制是一项不可替代、非常重要的功能,是划分计算机安全的等级的重要标志a 它可以限制用户对计算机资源的访问,防止非法用户或合法用户不慎对系统造成 损害。 本文主要研究分布式环境下的访问控制技术,在比较分析访问控制三种主流 技术:自主访问控制、强制访问控制、基于角色的访问控制的基础上,着重研究 了基于角色访问控制的几种主要模型,针对它们的不足提出了扩展方案,设计出 g d t r b a c 模型,强化了权限管理中对机构进行管理的能力,在基于角色的权限管 理中引入了任务管理的能力,对客体进行了状态划分,使之能够适应时序控制, 进而可以有效地用于工作流等时序性系统。并对g d t r b a c 模型转化为实际的系统 进行详细的功能分析,结合具体的j 2 e e 平台,设计出建立在模型之上的g d t r b a c 系统。 关键字:分布式应用、基于角色的访问控制( r b a c ) 、g d t r b a c 、j 2 e e 第1 页 a b s t r a l ? t a b s t r a c t d i s t r u b u t e da p p l i c a t i o ni sa c o m p l e t es u p p o r tl ot h en e e do fa c o l o n y ,s e p a r a t e di nd i f f e r e n tp l a c e ,c o l l a b o r a t ea n dc o o p e r a t et o c o m p l e t e s o m ew o r k s u c hc h a r a c t e rr a i s e st h e r e q u e s to fs y s t e m s e c u r i t y w i t ht h ed i s t r i b u t e da p p l i c a t i o ni sb e c o m i n gt h em a i nt r e n di n t h e c o m p u t e ra p p li c a t i o n a n ds o f t w a r e d e v e l o p m e n t ,t h ei n f o r m a t i o n s e c u r i t yb e c o m e sm o r ea n dm o r ei m p o r t a n t t h em a i ni n f o r m a t i o ns e e u r i t y t e c h n o l o g y i n c l u d e sd a t e e n c r y p t i o n ,i d e n t i t ya u t h e n t i c a t i o n ,a c c e s s c o n t r o la n dk e ym a n a g e m e n t t h ea c c e s sc o n t r o li sac a n n o t r e p l a c e da n d v e r yi m p o r t a n tt e c h n o l o g ya m o n gt h e m i tc a nk e e pu n a u t h e n t i c a t e du s e r f r o mi n t r u d i n go rp r e v e n ta u t h e n t i c a t e du s e rf r o md e s t r o y i n gt h ed a t a t h et h e s i sm a i n l yr e s e a r c ht h ea c c e s sc o n t r o lt e c h n o l o g yu n d e r d i s t r i b u t e de n v i r o n m e n t b a s e d0 nt h ec o m p a r a t i o na n da n a l y s i so ft h r e e l e a d i n ga c c e s sc o n t r o lt e c h n o l o g y 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 n d a t o r ya c c e s s c o n t r o l 、r o l e b a s e da c c e s sc o n t r o l ,t h et h e s i s s y n t h e s i s e sm a i nm o d e l so fr o l e b a s ea c c e s sc o n t r o la n dp r e s e n t s e x t e n s i o ns c h e m ep o i n tt ot h ei n s u f f i c i e n c yo ft h em o d e l s ,a n dd e s i g n s g d t r b a cm o d e l t h i sm o d e la d d st h ea b i l i t yo ft a s k m a n a g e m e n ta n d e n t e r p r i s es t r u c t u r em a n a g e m e n tt or b a cs y s t e m 。i ta l s oa p p e n d ss t a t et o t h eo b j e c ti no r d e rt om a k et h em o d e lh a v et h ea b i l i t yt oh a n d l et a s k s e q u e n c e ,s ot h a ti tc a nb eu s e di nw o r kf l o ws y s t e m f i n a l l y ,t h et h e s i s d e t a i l e da n a l y s i st h ef u n c t i o na n ds t r u c t u r eo fg d t r b a cm o d e l ,a n dd e s i g n 6 d t r b a cs y s t e mu s i n gt e c h n o l o g yo fj 2 e ep l a t f o r m 。 g a n gs h e n g k e ( c o m p u t e ra p p l i e a t i o n s ) d i r e c t e db yp r o f e s s o rd u a nl o n g z h e n k e yw o r d :d i s t r i b u t e da p p l i c a t i o n ,r b a c ,g d t r b a c ,j 2 e e 第1 i 页 独创性声明 p 7 9 d 0 5 3 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得南昌大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 、 学位论文作者签名:翻座字日期:少一年j ,月y j 日 学位论文版权使用授权书 本学位论文作者完全了解 壹墨塞鲎 有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅,本人授权南昌大学可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 签字日期: 彩3 ,年 学位论文作者毕业后去向 工作单位: 通讯地址: 导师虢磊钞友导师签名:邪驴趴 签字日期:d r 年岳月2 孑日 电话 邮编 第一章绪论 第一章绪论 计算机技术已经渗透到社会生活的各个方面,软件工程师们为各种行业开发 了大量的各种各样的软件产品。同时,信息处理的模式由集中式、分散式向分布 式处理转变。企业应用越来越多地采用分布式系统,信息交流由主要在企业系 统内进行发展为企业系统与外部其他主体进行交流,这要求加强信息安全和对 信息资源的保护,实现计算机信息系统安全。 1 - 1 我国的计算机信息系统安全标准 对计算机安全的定义,国际上对此大致有三种看法: 美国:计算机安全即指硬件、软件、网络、数据安全等。 欧洲:计算机安全即指计算机系统的实体、功能、信息安全。 国际标准化组织:计算机安全即为数据处理系统进行安全保护,保护计 算机硬件、软件、数据不因偶然或恶意原因遭到破坏、更改、暴露,保 护的手段可能是技术上的,也可能是管理上的。 我国在1 9 9 9 年9 月1 3 号颁布的编号g b1 7 8 5 9 1 9 9 9 号中华人民共和国国家 标准计算机信息系统安全保护等级划分准则中由低到高,根据安全策略、敏 感标记、身份鉴别、客体重用、审计、数据完整性、隐蔽信道分析、可信路径、 可信恢复等九个方面的度量将计算机安全等级分为1 到5 共五个等级。 该准则表明,我国的计算机安全观与美国类似,将网络安全作为计算机安全 的一部分,认为计算机安全主要包括这样几个方面: 实体安全性:即各种与计算机正常工作相关的设备或设施( 包括网络) 本身的安全性。比如实体会损坏,可能产生电磁信号而泄密等等。 软件信息安全性:应用中的软件本身可能存在安全隐患,如各种溢出漏 洞。信息可能以明文方式传递等等。 人的安全性:计算机信息系统被定义为“人机系统”,人自然成为需要考 虑的因素之一。比如人员技术水平,伪装身份,技术入侵等等。 即我国将网络安全和访问控制作为计算机信息系统安全的重要组成部分。且 明确将访问控制的能力( 自主访问控制和强制访问控制) 作为划分系统安全级别 的重要依据,访闯控制成为任何安全的系统必要的组成部分。 第1 页 第一章绪论 1 2 网络安全的主要技术 在网络安全的实现中,主要运用数据加密、身份认证、访问控制和密钥管理 技术。 l 。2 。l 数据加密 数据加密是网络安全中最基本也是最重要的技术,其主要是对抗网络窃听, 使非法获取的信息不可读。事实上,加密技术是很早就开始使用的技术之一,在 计算机出现之前的通信中已经发展出了成熟的现代数据加密技术。 1 2 2 认证技术 认证即接受者用于确认发送者身份及其发送信息完整性的过程,包括信息认 证、身份认证和数字签名。其中。信息认证为了防范对信息的恶意篡改;身份认 证用于防范第三者假冒合法用户的身份;数字签名用于防范信息的发送接收方 否认自己曾发送收到相关信息。 1 2 3 访问控制技术 访问控制技术用于限制合法用户在系统内的权限,防止网络数据或文件被随 意拷贝、修改或删除。当前主要的访问控制有三种:自主访问控制、强制访问控 制和基于角色的访问控制( r b a c ) 。其中基于角色的访问控制严格说是强制访问 控制的种,也是当前最有前途的研究热点。 1 2 4 密钥管理技术 根据现代密码学,密码系统的安全应该只取决于密钥的保密,而不应取决于 加密算法的保密性。因此密钥管理技术被单独作为一项研究内容。密钥管理涉及 密钥的产生、分配、传递、销毁等。密钥管理一般采用密钥分配中心技术,用于 为用户生成、分配、保存密钥,简化密钥的使用,同时防范密钥的泄露。 1 3 本文研究内容及创新点 虽然网络安全技术被划分成四种主要技术,但实际上它们是相互密切合作的 比如说,我们不可能只使用访阀控制而不进行身份认证,因为对假冒的客户进行 访问控制只能增大入侵的难度,但是没有达到系统安全的真实目的同样,在进行 认证、访问控制时如果不对传递的数据进行加密,这样的系统安全也是得不到保 障的。 第2 页 第一章绪论 本文将研究目标定位在基于角色的访问控制技术,主要研究在分布式环境中 的基于角色的访问控制( r b a c ) 。 r b a c 模型本质上是一个开放的模型,开发者可以根据不同的应用环境对其 进行扩展,本文研究、比较了几种主要的r b a c 模型,并针对分布式系统的特点, 结合分布式系统对访问控制提出的需求。对r b a c 模型进行扩展。 本文给出了g d t r b a c 模型的定义,其中分析了机构管理和权限管理两者的联 系与区别,进而引入了组的概念加强了对机构的管理能力;根据分布式应用的特 点,建立了模型的网络拓扑结构;针对纯粹基于角色访问控制的不足,引入了任 务的概念使之适应工作流等任务平台;在g d t r b a c 模型的基础上设计了g d t r b a c 系统的实现方案,并以7 2 e e 为平台开发其原型系统 1 ,4 本文章节安排 第一章绪论简介计算机信息系统安全概念及网络安全的主要技术,介绍本 文研究内容及章节安排。 第二章访问控制方法简单分析、比较当前主流的访问控制方法的优缺点, 着重研究基于角色访问控制( r b a c ) 的若干模型,并提出一个r b a c 模型的扩展 g d t r b a c 。 第三章分布式系统分析分布式系统的概念、特点,从而得出在分布式系统 中进行访问控制需要考虑的因素和待解决的问题,对g d t r b a c 模型作了进一步扩 展 第四章g d t r b a c 模型的设计根据最终成型的g d t r b a c 模型设计g d t r b a c 系 统的功能结构,进行模块划分,并映射到j 2 e e 不同组件,设计出系统原型。 第五章总结与展望对整个系统进行总结,并对原型进行评估;对今后工作 的展望。 其它致谢辞、参考文献及附录 第3 页 第= 章访问控制策i 咯 第二章访问控制策略 本章介绍了访问控制策略的概念、分类及目前主要的几种r b a c 模型,在分 析其它r b a c 模型的基础上提出g d t r b a c 模型,并给出了g d t r b a c 模型中主要元 素的形式化定义。 2 。l 访问控制策略概述 访问控制就是为了限制访问主体( 用户、进程、服务等) 对访问客体( 如文 件系统等) 的访问权限,从而使计算机系统在合法范围内使用,换句话说就是决 定用户能做什么。访问控制是网络安全中的重要一环,它解决防止得到认证的用 户越权使用系统资源的问题。 2 1 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 ) 这是一种基 于所有权”概念而进行的访问控制,某资源的所有者拥有该资源的所有权限, 并可以自主决定是否将该资源的全部或部分权限赋予其他人;同时获得权利的人 也可以自主决定是否将获得的权限赋予第三人。其最常用的实现机制是访问控制 列表( a c l s ) 。 强制访问控制策略( m a n d a t o r ya c c e s sc o n t r o l ,m a c ) 就是系统给每个 客体和主体分配了不同的安全级别,而且这些安全属性不能轻易被修改。系统通 过比较主体和客体的安全属性决定主体对客体的操作可行性。强制访问控制具有 更高的安全性。它重点强调信息的向高安全级的方向流动,其读操作安全性原则 为:仅当主体的安全级别不低于客体的安全级别且主体的类别集合包含客体的类 别集合时,才允许该主体读该客体。其写操作安全性原则:仅当主体的安全级别 不高于客体级别且客体的类别集合包含主体的类别集合时,才允许该主体对该客 体进行写操作。上述两个原则保证了信息的单向流动,既不允许低信任级别的用 户读高敏感度的信息,也不允许高敏感度的信息写入低敏感度区域。 基于角色的访问控制策略( r o l e - b a s e da c c e s sc o n t r o l ,r b a c ) 在用 户( u s e r ) 和访问权限( d e r m i s s i o n ) 之间引入角色( r o l e ) 的概念,用户与特定的一 第4 页 第二章访问控制策略 个或多个角色相联系,角色同一个或多个访问权限相联系,角色可以根据实际的 工作需要生成和取消,而且登录到系统中的用户可以根据自己需要动态激活自己 拥有的角色。 2 1 2 访问控制策略比较 自主访问控制是基于对资源的“所有权”进行的,首先在商业应用中,系统 的使用者大多对资源不具备所有权,所有权是属于公司甚至外部机构,从这个层 面上说自主访问控制不适合商业应用。另一方面,自主访问控制允许用户自主决 定将权限转让给他人,在经过多次授权之后,权限可能被无限制的扩散,无法保 证系统的安全性,系统管理员对权限的管理几乎没有任何权力,形同虚设。此外, 自主访问控制中对资源的访问是直接依据权限进行,无法防范木马攻击,木马攻 击者可以获得或破坏机密信息。 强制访问控制是基于主客体的安全属性进行的,其两大安全原则可以在一定 程度上防范木马攻击,攻击者只能破坏而不能获取机密信息。系统管理员可以对 系统权限进行有效的管理,但由于主客体之间需要相互逐一进行配置,工作量巨 大。此外,强制访问控制方法缺乏灵活性,很难满足商业应用的需要。 基于角色的访问控制更一般化,可以通过r b a c 实现m a c 嘲嘲和d a c “, 但基于角色的访问控制本质上是一种非任意授权的控制方法,更接近强制访问控 制,即基于角色的访问控制对权限进行集中控制,用户不能自主授权。因此,虽然 d a c 思想和实现更简单,但r b a c 更易于模拟m a c 。 基于角色的访问控制可以有效地减小授权的工作量。可阻按需要定义各种约 束条件,能够很好的支持最小权限原则和职责分离原则,确保系统的安全;它实 现了用户与访问权限的逻辑分离,极大的方便了权限管理:1 、给用户分配角色 不需要很多技术,可以由行政管理人员来执行;2 、给角色配置权限的工作比较 复杂,需要一定的技术,可以由专门的技术人员来承担,但是不给他们分配角色 的权限,这与现实中的情况正好一致。此外,在现实中用户是很可能发生变化的, 而系统中角色变化的频率会低得多;如果一个用户的职位发生变化,在r b a c 中 只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可,维护工作简 单,而如果是d a c 和m a c ,则需要收回该用户的相关授权再重新分配另外的权限, 维护复杂。 第5 页 第二章访问控制策略 2 1 3 用户组与角色比较 用户组是指将用户划分为组,用户组与权限相关联,再将用户与用户组相关 联,同时用户得到用户组获得的权限。从很多方面看用户组模式都与用户角色 模式很相象,因此有必要对这两种方式进行比较分析: 理论基础不同基于角色的访问控制策略是形式化定义的,具有严格的理 论基础,其权限总是与角色相关联:而用户组方法是在实践中形成的一种管理 方法,在一般的实现中,它即可以将用户与权限关联,也可以将用户组与权限关 联;因此用户组与角色并不等价。 目的不同这是两者最本质的区别,角色的引入是为了管理权限,它本质 上就是权限的分组;而用户组的引入本质上是为了管理用户。举例来说:在任何 一种访问控制策略中,无论是m a c 、d a c 、r b a c ,都需要对用户进行某种形式的 授权,且都可能存在权限相同的用户,对这些用户进行完全相同但又复杂的授权 显然是不必要的,因此可以将这些用户归为一组,并以组为单位进行授权。显然, 其实质仍然是用户与权限直接相联。 2 2r b a c 模型研究进展 2 2 1r b a c 主要思想 基于角色的访问控制策略是在用户与许可( 系统可用功能) 之间加入个中 间层,即角色层,它主要包含五个元素( 1 ) 用户、( 2 ) 角色、( 3 ) 许可,其中许 可又分为( 4 ) 操作和( 5 ) 对象,五个元素的关系如图1 : 图1r b a c 核心元素关系图 用户( u ) 用户的范围可以很广,如人、计算机等都可以作为用户, 通常指的是使用系统资源的人或者是计算机中运行的、代表人执行相关 操作的进程。 角色( r ) 角色是指执行特定操作,完成某项工作的能力,是组织中 被授予一定责任的工作头衔。 第6 页 第= 苹访问控制精略 许可( p ) 对系统中客体进行特定模式访问的操作许可。许可由操作 和对象构成。 操作( o p s ) 一般是系统提供的某种服务、程序、进程等。 对象( o b s ) 一般是指系统中的资源,如数据、表格、打印设备等,操 作往往是施加在对象之上。 在这五个基本概念的基础上进行系统的权限管理,可以用图2 描述: 1r 三一l砭、i。叶_ 丑 ! ,。三k s s i # t a j t r - i 可z l i l 矬村 图2 主体、用尸、角色关系 可以看出,角色层的引入使得访问控制更为灵活,改变用户的权限既可以通 过改变用户的角色分配,又可以通过改变角色的权限实现,也就是说,既可以选 择性的改变某个用户的权限,也可以改变具有莱一角色的所有用户的权限;同时 降低了访问控制系统维护的工作量,比如改变角色的权限时不必同时修改用户与 权限的分配关系,而且权限被组织成角色,成组的分配给用户,减小了授权工作 量。 2 2 2r b a c 9 6 模型 s a n d h u 等人在1 9 9 6 年提出了一个基于角色的访问控制参考模型,即r b a c 9 6 模型“。,该模型围绕船a c 核心内容,建立了四个r b a c 模型( 即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 的概念基本吻合: 篱7 面 第二章防问控制策略 r b a c l 模型在r b a c o 的基础上加入了角色层次关系,可以根据组织内部 权力和责任的结构来构造角色与角色之间的层次关系: r b a c 2 模型在r b a c o 的基础上加入了各种用户与角色之间、权限与角色 之间以及角色与角色之旧l 的约束关系,如角色互斥、角色最大成员数、 前提角色、前提权限等: 而r b a c 3 模型是对r b a c l 和r b a c 2 的综合,它不仅包括角色的层次关系, 还包括约束关系。 r b a c 9 6 的体系结构如图3 ”。: r b a c 9 6 模型如图4 踟 图3r b a c 9 6 体系结构图 c o 图4r b a c 9 6 模型 r b a c 9 b 模型对基于角色的访问控制进行了很好的层次划分,对实施具有很 强的指导意义,并可以作为r b a c 系统的评估标准但相对来说。它还比较抽象,其 中没有涉及具体实现方案和实旆细节。 第8 页 第二章访问控制策略 2 2 3a r b a c 9 7 模型 在r b a c 9 6 之后,s a n d h u 等人于1 9 9 7 年进一步提出了a r b a c 9 7 模型“,如图5 : 髓 矗r 曩 聃觏翔角色崞黛 a f f t 管理囊色分配t 摄捌许珂分配 蹦繁擐囊邑薅螺 s 金话 m a 慧曩脊珂分配 图5a r b a c 9 7 模型 a p 氇a c 9 7 模型着重强调用角色来管理角色的思想,同时在实现细节上给出了 较为具体的方案。它提出的解决方案在很大程度上是为了减少系统中角色的层 次,这在它的三个子模型中都有体现: 1 ) u r a 9 7 模型6 埘踟( 用户一角色分配) 在r b a c 系统中需要将角色分配给某个用户,这就产生了谁来执行这个“用户一 一角色”分配撤消的动作。a r b a c 9 7 中给出的方案就是引入特定的系统角色,只 有具有这类角色的用户才可以执行相应的动作。在u r a 9 7 中c a n a s s i g n ( x ,y ,z ) 函数和c a n - r e v o k e ( x ,y ) 函数表达,含义分别是:拥有管理角色x 的用户可以将角 色z 授予具备前提角色y 的用户;拥有管理角色x 的用户可阻将角色集y 的任一角色 中撒消任何用户。这里要考虑的一个问题是:谁来分配这些管理角色呢? 显然不 可能无限制的引入上层管理角色,这里采用了一个初始管理员来进行系统管理角 色的初始化工作。 2 ) p r a 9 7 1 剿t 娜蜘( 角色一权限分配) 第9 页 第二章访问控制策略 基于和u r a 9 7 相同的理由,需要设置一些系统角色进行“角色一权限”的维 护工作。a r b a c 9 7 的方案描述为c a n a s s i g n p ( x ,y ,z ) n l c a n r e v o k e p ( x ,y ) ,其含 义与u r a 9 7 模型类似。比如c a n - a s s i g n p ( s 队,读表,( r 1 ,r 2 ) ) 表示系统权限管理 员可以将读表的权限分配给角色集( r 1 ,p , 2 ) 中的任一角色。 3 ) r r a 9 7 9 型6 3 啪8 1 ( 角色一角色分配) r r a 9 7 对角色做了进一步分类,考虑一个例子,在学校中老师作为一种角色, 应当具有阅卷、登分、查分等权限,但又不希望数学老师操作英语科目,这时可 以在老师这一角色下创建英语老师、数学老师等子角色,如图6 : 图6 集中式角色层次管理 这是一种集中式的角包层次管理方法。而r r a 9 7 提出一种分散式的解决 方案,即另建一类称为“组角色”的角色,它们只具有“组”的含义,而不 具有“权限”的内容,组角色也可以有继承关系。如图7 : 围困圈口 l ,- - - - jl ,一jl ,_ jl ,j :一一,一,! 一一一,j 一! 图7 分散式角色层次管理 现在用户必须同时具有老师和相应的组角色( 如数学) 才能执行相应的操作。 组角色之外,r r a 9 7 还给出了能力角色、u p r o l e 角色解决方案。 能力角色就是把一些相关的权限结合在一起,管理员就可以将这些权限作为 个单一的权限单元即能力来处理,那么分配能力给角色也就相当于分配权限给 角色,在集中式角色层次管理中是通过角色问的继承来实现相同的目的,现在这 种继承关系被转换为同一层次上的授予关系。 u p r o l e 角色是对成员资格没有任何限制的角色,代表一般用户和权限角色, 还可以作为起约束作用的角色出现在先决条件中。 第1 0 页 第二章访问控制策略 2 2 4a r b a c 0 2 模型 a r b a c 0 2 模型1 是对a r b a c 9 7 模型的一次改进。它保留了a r b a c 9 7 模型的主要 特征,修改t a r b a c 9 7 模型的u r a 9 7 和p r a 9 7 模型,增加了新的概念“组织结构”, r r a 9 7 模型保持不变。 组织结构是一个树型结构并且包含了继承的概念。一个组织结构是由许多组 织单元构成的,每个组织单元中都包含着相关的人员,这些人员完成组织单元中 的任务。在a r b a c 0 2 模型中使用组织单元作为用户库和权限库的容器。为了管理 的目的,对用户库和权限库分别使用不同的组织单元。 对u r a 9 7 和p r a 9 7 模型的修改主要针对先决条件,使用用户库和权限库代替先 决条件中的角色。避免了用户和权限的多步分配、“用户一角色”、“权限一 角色”分配信息冗余问题。 2 2 5n i s t 模型 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 a r d s t e c h n o l o g y ) 是美国标准与技 术协会的简称。它提出的n i s t 模型实质上是r b a c 9 6 中r b a c 3 模型的一个扩展,n i s t 模型的意义更多在于标准化而不是技术或理论上的创新。 “如果没有一种为大家普遍接受的标准,任何开发者都不可能使自己的安全 产品更安全有效“”。r b a c 面临的最大困难其实在于没有一个公认的标准,它 是一个通用概念,没有人可以利用对它的技术性垄断获利,同时各开发商对它没 有一致的定义和标准,这使得一方面开发商很难通过对r b a c 技术的投入获得回 报,开发商缺乏应用r b a c 技术的积极性;另一方面,需要新的安全产品或需要更 新已有安全产品的最终客户无法就是否使用基于角色的访问控制技术的产品作 出明确的决策。 美国标准与技术协会注意到这种情况,因此在这方面进行推动与促进工作。 在2 0 0 2 年的一份报告中正式提出了n i s t 模型“训作为r b a c 官方标准。 n i s t 标准分为两个组成部分: 引用模型( t h er b a cr e f e r e n c em o d e l ) 给出r b a c 中相关集合与关系 的严格定义。其目的主要有两个:定义一个通用的术语表;给出n i s t 的r b a c 标准中各特征的范围。 第1 1 页 第二章访问控制策略 函数规范( t h er b a cf u n c t i o ns p e c i f i c a t i o n ) 定义管理与维护r b a c 元素集合和关系所需的操作;进行管理查询时的管理者视图;创建和管 理r b a c 属性的系统函数这些函数主要是用户会话及进行访问控制决 策时需要。 以上两个部分又被组织成四个r b a c 组件: 1 ) r b a c 内核( c o r er b a c ) r b a c 内核包含五个基本元素:用户( u s e r s ) 、角色( r o l e s ) 、对象( o b s ) 、操 作( o p s ) 、许可( p r m s ) ,另外,n i s t 定义了会话( s e s s i o n s ) ,每个会话是用户与用 户激活的角色集之间的个映射。 2 ) r b a c 层次( h i e r a r c h a lr b a c ) n i s t 定义了两种类型的r b a c 层次:一般层次( g e n e r a lr o l eh i e r a r c h i e s ) 祁受限层次( l i m it e dr o l eh i e r a r c h i e s ) ,其中一般层次的定义允许多重继承, 即允许子角色有多个父角色,该定义形成图结构的角色关系;受限层次限制一个 子角色只能有一个直接父角色,这样只能形成树结构的角色关系,简化了角色关 系( 树是图中较简单的结构) ;两者都将角色关系定义为偏序关系,因此不会形成 环。 3 ) r b a c 约束( c o n s t r a i n e d 船a c ) 主要定义了静态权责分离( s t a t i cs e p a r a t i o no fd u t yr e l a t i o n s ) 和动态 权责分离( d y n a m i cs e p a r a t i o no fd u t yr e l a t i o n s ) 静态权责分离指相斥的角 色约束,静态权责分离角色集中的角色不能同时分配给同一用户,它作用于角色 层次和用户分配;动态权责分离是弱相斥的角色约束,属于动态权责分离角色集 中的角色可以分配给同一用户,但不能同时激活,无论是在同一会话或不同会话 均不允许,动态权责分离作用于“会话一角色”对。 4 ) 函数规范( f u n c t i o ns p e c i f i c a t i o n ) 函数规范分为四部分,分别对应n i s t 模型的各组件。 r b a c 内核函数规范分为管理函数、创建和维护基本元素的函数、创建和维护 关系的函数、系统支持函数、视图函数等。 r b a c 层次函数规范分为层次管理函数、系统支持函数、视图函数。 静态动态权责分离函数规范分为管理函数、系统支持函数、视图函数。 第1 2 页 第二苹访问控制策略 此9 b n i s t 还定义了函数包规范以适应r b a c 在不同领域的应用需要。 2 2 6n r b a c 模型 这是国内学者提出的一个r b a c 模型,其中的n 代表n e w ,n r b a c 模型“”主 要是细化了r b a c 的实现机制,从其内容来看,它属于r b a c 3 的扩展。 它的基本元素与r b a c 3 完全相同,但在角色集的基础上定义了三种角色运 算:排斥运算、活跃排斥运算和分级运算。三者分别对应动态权责分离、静态权 责分离和角色层次,这一定程度上符合n i s t 模型的规范。 另外,n r b a c 模型给出了具体的实现机制,即基于时间戳和素数因子分解的 二进制双钥一锁对( t p b 一2 一k l p ) 访问控制方案“。该方案利用整数的唯一分解定 理实现对主体与客体的控制假定当前系统中有m 个主体和n 个客体,其添加1 个 主客体的时间复杂度仅为0 ( m ) 和o ( n ) ,而其删除主客体的时间复杂度均为 0 ( 1 ) ;存储需求为0 ( m n ) 。 2 2 7o a s i s 模型 o a s i s 即o p e na r c h i t e c t u r ef o rs e c u r ei n t e r w o r k i n gs e r v i c e s ( 安全交 互式服务的开放架构) 的缩写,o a s i s 模型m m 8 1 是针对分布式系统的访问控制而 设计的。它建立在开放的、非集中式方法的基础上。 o a s i s 模型的核心思想是基于信用证角色激活。信用证是用户拥有的,受环 境状态约束的,信用证使用户可以激活特定的角色集或其子集。其中角色激活的 概念类似r b a c 9 6 中的会话”1 ,不同的是用户不能随意取消对角色的激活。o a s i s 模型中任何角色的激活都受到角色激活规则的控制,用户要激活任何角色都必须 提交相应的信用证书,在所有与该角色相关的约束规则都得到满足的情况下,角 色被激活,且同时建立该角色的事件环境,当发生任何使角色相关的规则失败的 事件时,将通知该事件环境,角色自动进入非激活状态。 o a s i s 模型中引入了“委派( a p p o i n t m e n t ) ”的概念,即角色可以将自身拥 有的权限赋予其他用户,当然委派也是通过信用证的发放实现的,并且受到委派 本身是受系统约束的,委派得到的角色不可以再被委派。 2 2 8 综合分析 从以上对当前主要的r b a c 模型的分析可知:1 ) r b a c 模型本身是开放的、 第1 3 页 第= 章访问控制策略 可扩展的;2 ) 现有的r b a c 模型主要集中考虑的是权限的管理,而对机构的管理 没有讨论:3 ) 主要针对集中式环境下的应用( 只有o a s i s 是以分布式环境为基础 的) ;4 ) 在很多情况下,单纯的基于角色的管理并不能完全适用于系统的管理, 尤其是当管理需要考虑到时间因素,这些情况下往往需要根据任务的发起到结束 进行动态的授权( 比如在工作流系统中) ,在主要的几种r b a c 模型中都没有对此 进行讨论。 2 3g d t r b a c 模型 本文在以上对各种r b a c 模型分析的基础上建立g d t r b a c 模型,它符合r b a c 。, 并在多个方面进行了扩展: 其中g 表示组( g r o u p ) ,该模型明确划分机构管理与权限管理的概念,机构 管理由组来完成,权限管理由角色来完成。 d 表示分布式( d i s t r i b u t e d ) ,该模型充分考虑分布式环境对权限管理的影 响。 t 表示可处理任务的( t a s k - b a s e d ) ,该模型将任务的概念结合到r b a c 之中 以适应存在于工作流环境中的访问控制需求。 2 。3 。1 组的概念 本节介绍在r b a c 模型中引入组的概念,组在系统中的地位如下图所示: 嬲户,踅 、 角色群膏 图8 组与用户、角色的关系 图8 清楚表示了本文中组与用户和角色、许可相互间的关系: 1 ) 组具有自己的层次结构 大多数机构的组织形式都是分层的,为了能够很好地表达这种现实情况,允 第2 4 页 第二二节访问控制策略 许组存在层次结构是必要的。 本文限定组只能形成树结构。在绝大多数情况下,树结构都可以很好地拟合 机构的组织结构。 2 、组、用户与角色的关系 角色可以赋予组,用户从所在组得到默认的角色;角色也可以直接分配给用 户,这样组中的用户可以扮演与组中其他用户不同的角色,拥有不同的权限。同 角色可以分配给不同的组,同一组也可以被分配多个不同的角色。 组之间不相互继承拥有的角色,由于存在组之间的继承关系,有必要考虑组 继承时如何处理组所拥有的角色。一方面,在机构中上级拥有比下级享有更多的 权限,在组结构中,父组代表更高的级别,子组代表更低的级别,显然不能让子 组继承父组的角色。否则下级将拥有l l _ k 级更多的权力,这是明显不合理的。另 一方面,假设在外语系下面分法语组和英语组,如果让上级组继承下级组的角色, 则系里的工作人员可以处理系内任何教学组学生的成绩,这显然也是不合理的, 正常的情况只允许系里的某些工作人员查看子系学生的成绩。因此让父组完全继 承子组的角色也是不合适的。 事实上,机构中不同的部门之间及上下级部门之间具有特定的职责分工,相 互之间并没有明确的从属关系,设置组之间的角色继承规则只会使得系统管理工 作变得更加复杂,且容易产生权限的“泄漏”,因此本文禁止组之间的角色继承, 3 ) 用户与组的关系 某一用户必须属于某个组,同一用户可以属于多个组。允许组为空,即允许 不包含用户的组存在。 可以合理地认为任何用户都是属于机构中某个部门的,但如果某个用户未被 显式地加入任何一个组,则视其处在以用户名为组名的组中,且该组不可以添加 其他用户,此类组本文定义为“极小组”。这要求用户名在系统内的唯一性。 同样考虑前面的例子,在外语组下分设英语组和法语组,某个老师既教英语 又教法语,因此必须允许同用户属于多个不同的组。需要说明的是,这样的处 理并不会导致某个用户具有不恰当的授权,因为权限的约束是由角色来实现的。 如果某个用户加入了不同的组,且这些组之间存在角色冲突,则系统将禁止用户 加入相关的组。 第i 5 页 第二章访问控制策略 下面考虑一个例子,一个学校的组织结构图如下: 图9 学校组织机构图 假定学校的老师都可以查分、登分在系之问,不允许数学系的老师处理外语 系的学生成绩;在组之间,不允许英语组的老师处理法语组的学生成绩,反之亦 然。 现在实际上面l 瞄两个任务,一是机构管理,一是权限管理。 机构管理这是如何管理用户的问题,因为系统管理者希望有一个与机 构组成相似或相同的视图来进行权限管理,在使用了组的概念之后,这 很容易实现,建立一个与上图相同的组结构即可。 权限管理机构中不同部门的成员虽然角色相同( 本例中均为老师) ,但 又存在某种差异( 部门差异或地域差异等) 而不能具有完全相同的权限, 针对这种情况,有两种解决方案,一是建立一个有多级继承关系的角色, 即在“老师”这一角色之下再按部门建立不同的子角色,这可能会造成 角色层次过多的问题,进而可能给角色的管理带来困难;另一种是在 h _ r b a c 9 7 模型的r r a 9 7 子模型中提出的“组角色”,建立一种只与部门有 关的角色,即“组角色”,再将相应的“组角色”与“老师”角色进行 组合得到所要求的权限划分( 详见z 2 3a r b a c 9 7 模型的r r a 9 7 子模型 中的说明) 。 正如前面在2 1 i3 一节中对组与角色的概念进行比较时所看到的,组本身并 不涉及到权限的问题,组的目的是用于管理用户,而角色是与权限密切相关的, 其目的就是管理权限。 在本节的分析中还存在一个问题,“组角色”是直接对应用户所处部门的, 那么用“组角色”也完全可以提供机构的组织结构视图,“组”似乎可以省去。 第1 6 页 第二章访问控制策略 其实这两个概念只是部分重叠而已,因为“组角色”只在必需时才使用,换句话 说,它只是在系统中存在类似的角色,而又不希望角色层次过多的情况下才设置, 因此它只可能提供机构组织结构的部分视图,而不可能提供完整的视图。 2 3 2g d t r b a c 模型定义 本节给出g d t r b a c 模型中的大部分定义,但与分布式相关的内容在第三章详 细讨论分布式系统给访问控制带来的需求后作进一步的扩展。 本文约定使用大写字母表示集合,用相应的小写字母表示集合的元素。 首先给出g d t r b a c 模型图如下: 竿母缩写台义: 豇 p 用户委派 艘a 角色舨限许配 髓角色屡;尖 s p 系统用户板限分配s i 沮系统角色层谈 s s d 静态权簧分离 s u 系统用户角色升配 嗽用户角色许配d s d 动态权责舟离 组层次廿t a 用户住舟分配 组角色分配 i 】g a 用户组分配 图1 0g d t r b a c 模型 1 ) 基本集 基本集即直接定义的元素集合。g d t r b a c 模型建立在以下两个基本集合的基 第1 7 页 第二章访问控制策略 础之上: n ( 名称集):命名空间的集合 d ( 域集):域的集合 定义1 名称集( n

温馨提示

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

最新文档

评论

0/150

提交评论