当前位置:
文档之家› 访问控制技术研究综述_张玲玲
访问控制技术研究综述_张玲玲
RBAC 模型通过引入“角色”的概念,将访问控制中的主体对 象和对应权限解耦。RBAC 中的基本概念有 USERS(用户),ROLES (角色),PERMISSIONS(权限),SESSIONS(会话)。基本思想是将 访问权限赋给角色,再将角色赋给用户,通过角色用户才能获得 访问权限。
U
UA
R
USER
Sandhu 等人对 RBAC 模型进一步完善和扩展,在 1996 年提 出 RBAC 模型簇,后来被称为 RBAC96,得到学术界的广泛认可。 RBAC96 包括 4 个子模型:RBAC0,RBAC1,RBAC2,RBAC3。
科学之友
Friend of S cience Amateurs
B 2009年08月(23)
际工作中,一个任务包含如下特征:长期存在、可能包括多个子任 务、完成一个子任务可能需要不同的人。授权结构体是任务在计 算机中进行控制的一个实例。
(4)依赖(dependency):是指授权步之间或授权结构体之间 的相互关系,包括顺序依赖、失败依赖、分权依赖和代理依赖。依 赖反映了基于任务的访问控制的原则。
面向服务的访问控制模型是最近几年才发展起来的。随着数 据库、网络和分布式计算机的发展,组织任务进一步自动化,与服 务相关的信息进一步计算机化,增加了工作流访问控制的复杂 性。研究人员从工作流访问控制模型与流程模型分离角度来解决 此问题。中国科学院软件研究所的徐伟等人提出了一种面向服务 的工作流访问控制模型 (Service- Oriented Workflow AccessControl,SOWAC),该模型中服务是流程任务的抽象执行和实施访问 控制的基本单元,通过服务将组织角色、流程任务和执行权限关 联起来,避免了访问控制模型与流程模型的直接关联。 5.4 基于状态的访问控制模型
2001 年,B.Steinmuller 等人将 RBAC 模型扩展,提出了一个 基于状态的 RBAC 扩展模型。该模型在传统 RBAC 模型的基础 上引入了状态的概念,将由对象访问控制的变化所引起的 RBAC 组件的变化作为状态的迁移,这样就可以为每个对象的访问控制 构造一个状态转换图,从而可以根据状态转换图来跟踪各个对象 的访问控制策略。该模型中的状态概念跟工作流运行中的任务状 态和过程状态的概念非常类似,因此可以将其应用于工作流系统 中。 5.5 基于行为的访问控制模型
2 传统访问控制
早 期 的 访 问 控 制 安 全 模 型 有 自 主 访 问 控 制(Discretionary Access Control, DAC) 模型和强制访问控制 (Mandatory Access Control, MAC)模型,这两种模型在 20 世纪 80 年代以前占据着主 导地位。
科学之友
Friend of S cience Amateurs
B 2009年08月(23)
访问控制技术研究综述
张玲玲
(山西轻工职业技术学院,山西 太原 030013)
摘 要:访问控制技术是确保信息系统安全的一种重要技术。文章介绍了访问控制技术 的一般原理,阐述了传统的访问控制模型、当前比较流行的基于角色的访问控制模型和 基于任务的访问控制模型;另外还介绍了目前人们研究的其他几种访问控制模型;最后 总结全文,指出访问控制技术发展的一个趋势。 关键词:访问控制;基于角色的访问控制;基于任务的访问控制 中图分类号:TP309 文献标识码:A 文章编号:1000- 8136(2009)23- 0144- 03
E.Bertino 等人在 RBAC 模型的基础上给出了一个基于规则 的授权模型,该模型提出一种约束描述语言,它既能表达静态约 束,也能表达动态约束,并且给出了约束规则的一致性检查算法。 朱羚等人了采用显式授权与隐式授权相结合的安全机制,引进一种 用于形式化语言来精确描述 CBAC 模型安全策略,并制定了一种 描述用户属性约束和时间属性约束的统一语法规范。 5.3 面向服务的访问控制模型
- 144-
系统对访问主体和受控对象实行强制访问控制,系统事先给访问 主体和受控对象分配不同的安全级别属性,在实施访问控制时, 系统先对访问主体和受控对象的安全级别属性进行比较,再决定 访问主体能否访问该受控对象。MAC 对资源管理集中进行严格 的等级分类,这种模型对权限的控制过于严格,而且灵活性较差, 一般只用于安全级别较高的军事领域。
DAC 模型是根据自主访问策略建立的一种模型,允许合法 用户以用户或用户组的身份访问策略规定的客体,同时阻止非授 权用户访问客体。DAC 模型的主要特点是授权灵活,系统中的主 体可以将其拥有的权限自主地授予其他用户;缺点是权限很容易 因传递而出现失控,进而导致信息泄漏。
MAC 模型是一种多级访问控制策略模型,它的主要特点是
(4)RBAC3 是 RBAC1 和 RBAC2 的结合,同时支持角色继承 和约束关系,是在角色层次结构上进一步加强约束。①角色等级 间的基数约束,指对给定角色的父角色或子角色的数量限制;② 角色等级间的互斥约束,指两个给定角色是否可以有相同的父角 色或子角色。
4 基于任务的访问控制
1993 年,R.K.Thomas 等人首先提出了基于任务的访问控制 思想,1994 年给出了基于任务的授权模型的概念基础,并于 1997 年明确提出了基于任务的访问控制模型 (Task- based Access Control,TBAC)。
ROLES
PA
P
PERMISSIONS
S
CONSTRAINTS
图 2 RBAC 模型
图 2 描述了 RBAC 模型中各组成部分的关系,一个用户(U) 可以被指派多个角色(R),同一角色也可以被分配给多个用户, 用户 - 角色之间是多对多的关系;一个角色(R)可以有多个权限 (P),一种权限也可以被分配给不同的角色,角色 - 权限也是多 对多的关系;用户要对资源进行访问必须建立一个会话,一次会 话只能对应一个用户,但是一次会话中用户可以激活用户具有的 多个角色。
1 访问控制一般原理
在访问控制中,访问可以对一个系统或在一个系统内部进 行。在访问控制框架内主要涉及请求访问、通知访问结果以及提 交访问信息。访问控制的一般模型见图 1。
主体
访问控制实施模块
客体
访问控制决策模块
图 1 访问控制的一般模型
该模型包含了主体、客体、访问控制实施模块和访问控制决 策模块。实施模块执行访问控制机制,根据主体提出的访问请求 和决策规则对访问请求进行分析处理,在授权范围内,允许主体 对客体进行有限的访问;决策模块表示一组访问控制规则和策 略,它控制着主体的访问许可,限制其在什么条件下可以访问哪 些客体。
r∈roles(s)i (2)RBAC1 是在 RBAC0 基础上增加了角色层次结构,支持 角色继承。RBAC1 包括以下组件:①U,R,P,S,PA,UA 和 user 与 RBAC0 中相同;②RH哿R×R,这是角色继承关系,是一个偏序关 系,记为“≥”或“≤”;③roles:S→2R,这也是会话集 si 与角色集 roles(S)I 的一个映射,但与 RBAC0 有所不同,roles(s)i 哿{r|(埚r′ ≥r)([ user (s)i ,r ′)∈UA]}, 会 话 集 si 中 的 权 限 集 为 U
访问控制起源于 20 世纪 60 年代,是一种重要的信息安全技 术。所谓访问控制,就是通过某种途径显式地准许或限制访问能 力及范围,从而限制对关键资源的访问,防止非法用户侵入或者 合法用户的不慎操作造成破坏。访问控制一般包括主体、客体和 安全访问规则 3 个元素。主体是指发出访问操作、存取要求的主 动方,通常指用户或某个进程;客体是一种信息实体,指系统中的 信息和资源,可以是文件、数据、页面、程序等;访问规则规定了哪 些主体能够访问相应的客体,访问权限有多大。
r∈roles(si)
埚 p|(埚r″≤r)([ p,r″)∈PA]埚 。 (3)RBAC2 是在 RBAC0 的基础上增加了约束,是一个约束
模型。①最小权限约束,指用户被赋予的权限不能超过完成其职 责所需的最小权限;②互斥角色约束,指如果两个角色互斥,则一 个用户不能同时担任这两个互斥的角色,而只能出任其中的某一 个角色;③基数约束与角色容量,基数约束指一个用户可以拥有 的角色数目以及一个角色可以拥有的权限数目;对一个角色对应 的用户的数目限制是角色容量,比如一个企业的总经理角色只能 由一个人来担任;④先决条件,指一个用户在获得某个权限时必 须具备某些条件。
TBAC 从任务角度进行授权控制,在任务执行前授予权限, 在任务完成后收回权限。TBAC 中,访问权限是与任务绑定在一 起的,权限的生命周期随着任务的执行被激活,并且对象的权限 随着执行任务的上下文环境发生变化,当任务的完成后权限的生 命周期也就结束了,因此它是一种主动安全模型。
TBAC 的基本概念: (1)授权步(authorization step):是指在一个工作流程中对处 理对象(如办公流程中的原文档)的一次处理过程。它是访问控制 所能控制的最小单元。授权步由受托人集(trustee- set)和多个许 可集(permissions set)组成。 (2)授权结构体(authorization unit):是由一个或多个授权步 组成的结构体,它们在逻辑上是联系在一起的。授权结构体分为 一般授权结构体和原子授权结构体。一般授权结构体内的授权步 依次执行,原子授权结构体内部的每个授权步紧密联系,其中任 何一个授权步失败都会导致整个结构体的失败。 (3)任务(task):是工作流程中的一个逻辑单元。它是一个可 区分的动作,可能与多个用户相关,也可能包括几个子任务。在实
(1)RBAC0 是基本模型,描述任何支持 RBAC 的系统的最小 要求。它包括以下组件:①用户集合、角色集合、权限集合和会话 集合分别用 U,R,P,S 来表示;②PR哿P×R,是指权限到角色的 多对多的指派关系;③UA哿U×R,是指角色到用户的多对多的 指派关系;④user:S→U,是一对一映射,表示每个会话 si 都与一 个用户 user(si)关联,这个关联在会话周期内一般不会改变;⑤ roles:S→2R,是一对一映射,表示每个会话 si 都与一个角色集 roles (si)关联,roles(s)i 哿{r|(use(r s)i ,r)∈UA}这个关联在会话周期内 可以改变,会话 si 中的权限集为 U ∈ P|(P,r)∈PA ∈ 。