一个RBAC的改进模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 MRBAC 模型 3.1 模型的基本结构
模型定义: MRBAC 由以下部分组成: 用户 U, 角色 R, 会话 S, 客体操 作 权 限 P, 权 利 Right, 义 务 Obligation UA!U×P, UA 是 U 到 R 的多对多关系。 PA!R×P, PA 是 R 到 R 的多对多关系。 RA!R×Right, RA是 R 到 Right 的多对多关系。 OA!R×Obligation, 其中 OA 是 R 到 Obligation 的 多 对 多 关系。 roles( Si) !{r|( user( Si) , r) ∈UA}, 其中 user: S→U, 将各个会话映射到一个用户的函数 user( Si) ; roles: S→2R, 将各个 会 话 映 射 到 一 个 角 色 集 合 联 系 起 来 的 映射。 且 roles( Si) !{r|( user( Si) , r) ∈UA}, Si 拥有 权 限 Y {p| r∈roles( Si ) ( r, p) ∈PA}, 权 利 Yr∈roles( Si ) {right|( r, right) ∈RA}, 义 务 Yr∈roles( Si ) {obligation|( r, obligation) ∈OA} MRBAC 基本框架如图 1 所示:
An Impr oved Model of RBAC
Xu Renyi Li Yifa ( Information Engineering College of PLA Information Engineering University, Zhengzhou 450002)
Abstr act: This paper establishes an improved model named MRBAC, basing on some problem of RBAC.This model modifies the definition of role to add the management of roles, and to combine effectively with configuration of organization.This model realizes collaboration and restriction of role, so avoid using inheritance of role.Basing on viewpoint of task, this model forms the running mechanism.And this model modifies the definition of operating admission of object to provide access in slender granularity. Keywor ds: accessing control, RBAC, object- oriented, task
( 2) 基于组织的角色模型。文[6]提出组织角色和客体特定 角色的概念, 论述了许多可行的研究方向。文[7]也是一个基于 组织的角色模型, 它较好地研究了组织结构内 RBAC 各项元素 的相互关系。
( 3) EHRBAC。文[8]提出一种改进的角色层次化关系模型。 该模型遵循按现实世界模型建模的思想, 定义了角色的公共权 限和私有权限, 引入一般继承和扩展继承机制, 形成了功能更 加完善和更易于扩充的角色层次化关系模型, 很好地解决了使 用私有角色所出现的问题。
R.Sandhu 等提出的 RBAC96 [1] 是 RBAC 模型中的基础框 架, 以后的 RBAC 模型均是在此96 模型包括 4 个不同层次: RBAC0 模型规定了任何 RBAC 系 统 所 必 须 的 最 小 需 求 ; RBAC1 模 型 在 RBAC0 的 基 础 上加入了角色层次( Role Hierarchies) 的概念, 可以根据组织内 部 的 结 构 来 构 造 角 色 与 角 色 之 间 的 层 次 关 系 ; RBAC2 模 型 在 RBAC0 的 基 础 上 增 加 了 约 束 ( Constraints) 概 念 ; 而 RBAC3 模 型 是 对 RBAC1 和 RBAC2 的 集 成 , 它 不 仅 包 括 角 色 层 次 , 还 包
支配关系, 一般记为“≥”。 roles( Si) !{r|’( r′≥r) [( user( Si) , r′) ∈UA]} 其中 user: S→U, 将各个会话映射到一个用户的函数 user( Si) ; roles: S→2R, 将各个会话 Si 与一个角色集合联结 起 来 的 映
射, 可以随时间变化而变化, 且会话 Si 的权限 Yr∈roles( Si ) {p|( ’r″≤r) [( p, r″) ∈PA]}。 ( 3) RBAC2: 在 RBAC0 的 基 础 上 引 入 了 约 束 集 合 , 用 来 规
括约束关系。 ( 1) RBAC0: 包括用户( U) 、角色( R) 、权限( P) 、会话( S) 。 PA!P×R, PA 是权限到角色的多对多关系。 UA!U×R, UA 是用户到角色的多对多关系。 roles( Si) !{r|user( Si) , r∈UA} 其中 user: S→U, 将各个会话映射到一个用户的函数 user( Si) roles: S→2R, 将各个会话 Si 与一个角色集合联结 起 来 的 映
本文第 2 节提出和修改了几个模型元素的定义, 第 3 节提 出 MRBAC 的形式化描述及相关说明, 第 4 节用一个实例 具 体 说明 MRBAC, 第 5 节分析模型优缺点及下一步工作方向。
2 几个新概念
角色 R: 是指具有一定客体资源访问权限和对其他角色管 理功能, 能够完成一定任务的对象。
说明: 根据角色间的管理功能, 很自然就提出权利和义务 这两个概念。
简单操作权限: 对单个客体进行操作的能力。 复杂操作权限: 对相关联的客体集合进行操作的能力。 操作权限: 包括简单操作权限和复杂操作权限。 说明: 在之后的研究中没有给出清晰的权限定义方法。单 个客体的操作权限不是孤立的, 而是彼此相关的。因此, 将客体 操作权限分为简单操作权限和复杂操作权限。同时, 操作权限 不单指存取操作权限, 还包括其他特殊操作权限, 如签名密钥 的使用权限( 只能用于签名) 。 简单任务: 单个合适角色即可完成的任务。 复杂任务: 单个角色无法完成, 需要多个角色合作的任务 ( 可以分解为多个简单任务) 。 说明: 这两个概念的提出是为了使用基于任务的观点。复 杂任务可分解成多个简单任务, 交给不同的角色去完成, 从而 实现权利和义务的功能。
40 2005.34 计算机工程与应用
说明: 相关的研究工作只将其理解为客体资源的管理者和 任务的执行者, 没有考虑角色间的管理功能, 之所以提出这一 概念是有必要的。
权利 Right: 对其他角色进行管理的权限规定, 即命令其他 角色完成合法任务的权限。
义务 Obligation: 接受其他角色管理的范围规定, 即 保 证 完 成其他角色交给任务的合法性。
对于一个存在大量用户和权限分配的系统来说, 从大量的 用 户 管 理 转 而 管 理 、操 作 少 量 的 角 色 , 简 化 了 权 限 的 分 配 和 管 理, 提高了安全管理的效率和质量。另外, 对用户而言, 角色在 组织中相对稳定, 从而增进了模型的伸缩性。同时, 角色是组织 中的实体, 描述组织的访问控制策略时易于理解和使用。
计算机工程与应用 2005.34 39
! ! ! ! RBAC96 模型为RBAC 思想的具体实现提供了一个基本框 架, 具有非常重要的作用。但也存在一些问题: 没有管理员对角 色进行管理, 没有具体的权限分配方法, 没有完善的角色和权 限互斥机制, 以及角色继承机制不完善等。之后的模型在这些 方面进行了一些有效的改进。
RBAC 模型引入了中间实体—角色来实施访 问 控 制 策 略 。 它是位于主体和权限之间中间元素, 管理员将权限授予角色, 并 且 通 过 赋 予 用 户 角 色 来 为 其 授 权 。在 实 际 的 组 织 或 信 息 系 统 中, 可以根据不同的工作职责来划分角色和赋予角色权限, 并 根据用户的工作职责和任务来赋予相应的角色。
1.3 RBAC 的相关进展
RBAC96 [1] 提 出 之 后 , RBAC 得 到 了 长 足 的 发 展 。 在 RBAC96 的基础上又提出了以下一些有代表性的模型:
( 1) ARBAC97。文[4]首先提出 ARBAC97, 在 RBAC 中加入 管理员角色, 将管理和使用分开。文[5]提出 RBAC 模型的管理 模型—ARBAC02, 引入组织结构后解决了 ARBAC97 模型的不 足。
总 之 , 目 前 RBAC 缺 陷 的 本 质 是 进 行 了 过 多 的 抽 象 , 对 现 实模拟得不够。为了解决这些问题, 本文提出了一个新的角色 控 制 模 型 MRBAC( Modified RBAC) 。 该 模 型 是 对 RBAC96 这 一基本框架提出的修改方案, 结合组织结构和基于任务观点的 访 问 方 式 , 针 对 RBAC 的 上 述 缺 陷 对 角 色 , 权 限 的 定 义 和 角 色 继承进行了一定的修改, 从而较好地解决了以上问题。
1 引言 1.1 RBAC 模型简介
从 20 世 纪 90 年 代 以 来 , 在 信 息 安 全 的 研 究 过 程 中 , 访 问 控制模型的研究越来越重要。其中, RBAC 模型受到 越 来 越 多 的 关 注 。它 在 操 作 系 统 及 数 据 库 管 理 系 统 等 方 面 都 得 到 了 很 好 的应用。
定各种操作是否可被接受。 RBAC3: 是 对 RBAC1 和 RBAC2 的 集 成 , 它 不 仅 包 括 角 色
层次, 还包括约束关系。
基金项目: 国家 863 高技术研究发展计划项目( 编号: 2002AA144020) ; 国家 973 重点基础研究发展规划项目( 编号: 035801) 基金资助 作者简介: 徐仁义( 1981- ) , 男, 硕士研究生, 主要研究方向为信息安全。李益发, 男, 硕导, 主要研究方向为密码学与信息安全。
( 4) 基于任务的工作流访问控制模型。文[9]根据工作流的 具体要求, 对任务分配相应的权限, 角色执行任务, 权限则传递 给角色, 实现了权限的按需分配。
1.4 RBAC 的不足之处
以上研究对 RBAC96 进行了一些有效的改进, 但是仍存在 一些不足。
首先, 对角色的定义过于简化, 与实际不符。RBAC96 中未 给出清晰的定义, 而后的研究工作大都只将其理解为客体资源 的管理者和任务的执行者。实际上, 角色不仅是客体资源的管 理者、任务的执行者, 而且是其他角色的管理者。即角色之间存 在着管理与被管理的关系。
一个 RBAC 的改进模型
徐仁义 李益发 ( 郑州信息工程大学信息工程学院, 郑州 450002)
E- mail: xry4363@126.com
摘 要 该文针对 RBAC 存在的若干问题, 建立了一个改进的模型 MRBAC。根据角色间的管理功能修改角色的定义, 同时与组织结构相结合。实现了角色间的协作与制约, 从而避免了使用角色继承。采用基于任务的观点, 有效形成了 MRBAC 的运行机制。另外, 修改了客体操作权限的定义, 提供了细粒度的访问。 关键词 访问控制 RBAC 面向对象 任务 文章编号 1002- 8331- ( 2005) 34- 0039- 03 文献标识码 A 中图分类号 TP309
射, 可以随时间变化而变化, 且会话 Si 的权限为 Yr∈roles( Si ) {p|( p, r) ∈PA} RBAC0 中隐含如下约束: 每个用户至少有一个 角 色 , 每 个
角色至少有一个授权。 ( 2) RBAC1: 除了包含 RBAC0 外, 还包含以下部分: RH!R×R, RH 是角色上一个偏序, 称为角色层次关系或
其次, 没有给出清晰的权限定义方法。在之后的研究中, 文 [2]把权限定义为针对一个客体集合可以进行的操作集合 , 还是 不够清晰。由于单个客体的操作权限不是孤立的, 而是彼此相 关的, 以上研究均未对此给出清晰的定义。
另外, 角色继承机制有缺陷。RBAC96 之后的 很 多 研 究 工 作试图使用角色继承来体现组织结构, 可能导出经理是程序员 的结论, 这使得经理权限过大, 违反了最小特权原则[3]。