访问控制模型综述
若以授权策略来划分, 访问控制模型可分为: 传统的访问 控制模型、基于角色 的访 问控 制( RBAC) 模 型、基于 任务 和 工 作流的访问 控 制 ( TBAC) 模 型、基 于 任 务和 角 色 的 访 问 控 制 ( T-RBAC) 模型等。
1 传统的访问控制模型
传统的访问控制 一般 被分 为两 类[ 1] : 自 主访 问控 制 DAC ( Discretionary Access Control) 和强制访问控制 MAC( Mandatory Access Control) 。
Abstract: Access control is an important information security technology. To enhance benefits and increase competitive power, many modern enterprises have used this technology to secure their information manage systems. In this paper, several main access control models, such as traditional access control models, role-based access control models, task-based access control models, task-role-based access control models, and so on, are discussed and compared in detail. In addition, we introduce a new model called UCON, which may be a promising model for the next generation of access control. Key words: Role; Task; Access Control; Workflow
2001 年, 标准的 RBAC 参考模型 NIST RBAC 被提出, 如图 1 所示。
SSD
RH
Users
URA Sessions
Roles DSD
Operations Objects
PRA
Permissions
图 1 晕陨杂栽 RBAC 参考模型
NIST RBAC 参考模型分成基本 RBAC、等 级 RBAC 和约束
益冲突, 强化了对用户角 色分配 的限制, 使得 一个用 户不能 分
配给两个互斥的角色。动态职 责分离 用于在 用户会 话中对 可
激活的当前角色进行限制, 用户 可被赋 予多个 角色, 但它们 不
能在同一会话期中被激活。DSD 实际 上是最 小权限 原则的 扩
展, 它使得每个用户根据其执行的任务可以在不同的环境下拥 有不 同 的 访 问 权 限 。
NIST RBAC 参 考模型中还 包括功能规 范, 分 为管理功能、
系统支持功能和审查功能, 这 里不再 详述。上述 的 DAC, MAC 和 RBAC 都是基于主体-客体( Subject-Object) 观点 的被动安 全
模型, 它们都是从系 统的 角度 ( 控制 环境是 静态 的) 出 发保 护
( 1. College of Computer, Huazhong University of Science & Technology, Wuhan Hubei 430074, China; 2. Dept. of Computer Science, Hubei College of Education, Wuhan Hubei 430205, China)
繁更换角色, 而 且也 不 适合 工作 流 程的 运转。 为了 解决 此 问
题, 人们提出了基于任务的访问控制模型 TBAC。
3 基于任务和工作流的访问控制模型 TBAC
在 TBAC 模型 [ 4,5] 中, 引进了 另一个 非常 重要 的概 念——— 任务。所谓任务( 或活动) , 就是要进行的一个个操作的统称。 任务是一个动态的 概念, 每 项任 务包 括 其内 容、状 态( 如 静 止 态、活动态、等待态、完成态等 ) 、执行 结果、生命 周期等。任 务 与任务之间一般存在相互关联, 如相互依赖或相互排斥。如任 务 A 必须在任务 B 之后执行; 任务 A 与任务 B 不能同时执行 等。
访问控制的核心是授权 策略。授权 策略是 用于确 定一 个 主体是否能对客体拥有访 问能力 的一套 规则。在统 一的授 权 策略下, 得到授权的用户就是合法用户, 否则就是非法用户。 访问控制模型定义了主体、客体、访问是如何表示和操作的, 它 决定 了 授 权 策 略 的 表 达 能 力 和灵 活 性 。
构成的业务流程, 它的特 点是使 处理过 程自动 化, 对 人和其 他
资源进行协调管理, 从而完 成某项 工作。在工 作流环 境中, 当 数据在工作流中流动时, 执行操 作的用 户在改 变, 用 户的权 限
也在改变, 这与数据处理 的上下 文环境 相关, 传统的 访问控 制
技术 DAC 和 MAC 对此无能为力。若使 用 RBAC, 则 不仅需 频
强制访问控制 MAC 是一种强加 给访问 主体( 即 系统强 制 主体服从访问控制策略) 的一种访问方式, 它利用上读/下写 来保证数据的 完 整性, 利 用 下读 /上 写 来保 证数 据 的 保密 性。 MAC 主要用于多层 次安全 级别 的军 事系 统中, 它 通过 梯度 安 全标签实现信息的单向流通, 可以有效地阻止特洛伊木马的泄 露; 其缺陷主要在于实现工作量较大, 管理不便, 不够灵活, 而 且它过重强调保密性, 对系 统连续 工作能 力、授权的 可管理 性 方面考虑不足。
中, 高等级的角色继承低等级角色的 全部权限, 这是一 种“全”
继承关系。但这并不完全符合 实际企 业环境 中的最 小特权 原
则, 因为企业中有些权限只需部分继承。
约束 RBAC 在 基 本 RBAC 的 基 础 上 增 加 了 职 责 分 离
( SoD) 关系, 而职责分离又分为静 态职责 分离( SSD) 和动态 职 责分离( DSD) 。静态职 责分离 用于解 决角色 系统中 潜在的 利
用户和访问权限之间的多对多关系, 用户由此获得访问权限。 等级 RBAC 在基本 RBAC 的基础上增加了角色的等级, 以
对应功能的或组织的等级 结构。角色 等级又 可分为 通用角 色
等级和有限角色等级。在通用角色等级中, 角色之间是一种代 数的偏序关 系, 而有 限 角色 等级 是 一种 树结 构。在 角色 等 级
RBAC 三个子模型。基本 RBAC 定义了角色的 基本功 能, 它 包
括五个基本数据 元素: Users( 用户 ) 、Roles( 角 色) 、Sessions( 会 话集) 、Objects( 客 体) 、Operations( 操 作) , 以 及 角 色权 限 分 配
( PRA) 、用户角色 分配 ( URA) 。其 基本 思想 是 通过 角色 建 立
TBAC 模型是一种基于任务、采用 动态授 权的主 动安全 模 型。它从应用和企业的角 度来解 决安全 问题。它采用 面向 任 务的观点, 从任务的角度来 建立安 全模型 和实现 安全机 制, 在 任 务 处 理 的 过 程 中 提 供 实 时的 安 全 管 理 。 其 基 本 思想 主 要 有 :
2 基于角色的访问控制模型 RBAC
为了克服标准矩阵模型中将访问权直接分配给主体, 引起 管理困难的缺陷, 在访问控制中引进了聚 合体( Aggregation) 概 念, 如组、角色等。在 RBAC( Role-Based Access Control) 模型[ 2] 中, 就引进了 “角色”概念。所谓角色, 就是一个或一群用户在 组织内可执行的操作的集 合。 角色意 味着用 户在组 织内的 责
障其 信息 管理 系统的 安全 。对 传统 的访 问控 制模型 、基于 角 色的 访 问 控 制 模 型、基 于 任 务 和 工 作流 的 访 问 控 制
模型 、基 于任 务和 角色 的访 问控 制模型 等几 种主 流模 型进 行 了 比较 详 尽 地 论 述 和比 较 , 并 简 介 了有 望 成 为 下 一
· 10·
计算机应用研究
2005 年
任和职能。在 RBAC 模型 中, 权 限并不 直接分 配给 用户, 而 是 先分配给角色, 然后用户 分配给 那些角 色, 从 而获得 角色的 权 限。RBAC 系统定义了各种角色, 每种 角色可以完 成一定的 职 能, 不同的用户根据其职 能和责 任被赋 予相应 的角色, 一旦 某 个用户成为某角色的成员, 则此用户可以完成该角色所具有的 职能。在 RBAC 中, 可以预先定义角色-权限之间的 关系, 将预 先定义的角色赋予用户, 明确责任和授权, 从而加强安全策略。 与把权限赋予用户的工作相比, 把角色赋予用户要容易灵活得 多, 这简化了系统的管理。
自主访问控制 DAC 是在确认主体身份以及它们所属 组的 基础上对访问进行限制的 一种方 法。自主访 问的含 义是指 访 问许可的主体能够向其他主体转让访问权。在基于 DAC 的系
收稿日期: 2004- 04- 17; 修返日期: 2004- 06- 28
统中, 主体的拥有者负责设置访问权限。而作为许多操作系统 的副作用, 一个或多个特 权用户 也可以 改变主 体的控 制权限。 自主访问控制的一个最大问题是主体的权限太大, 无意间就可 能泄露信息, 而且不能防备特洛伊木马的攻击。访问控制表 ( ACL) 是 DAC 中常用的一种 安全机 制, 系统 安全 管理 员通 过 维护 ACL 来控制用户访问有关数据。ACL 的优 点在于它的 表 述直观、易于理解, 而且比较容 易查出 对某一 特定资 源拥有 访 问权限的所有用户, 有效地实施授权管理。但当用户数量多、 管理数据量 大时, ACL 就 会 很庞 大。当 组织 内的 人 员发 生 变 化、工作职能发生变化时, ACL 的维护就变得非常困难。另外, 对分布式网络系统, DAC 不利于实现统一的全局访问控制。