基于重复角色和任务优先级的访问控制模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于重复角色和任务优先级的访问控制模型

姜增虎, 陈茂华

大连理工大学软件学院, 大连(116621)

E-mail:jzhgxm@

摘要:针对一个角色可以对应多个不同的任务,以及任务重要性的不同,在任务规则的基础上,提出了基于重复角色和任务优先级的访问控制模型。其基本思想是一个用户可以同时拥有多个角色,通过角色可以获得其相应的任务,然后在执行某个任务的具体实例时,根据实例的状态获得该任务所允许访问的客体的权限。同时根据角色的不同把其对应的任务划分优先级,这样当用户对应多个角色时可以首先完成优先级高的任务,保证用户实时完成最优任务,提供了更灵活的授权机制。

关键词:重复角色,任务优先级,访问控制,任务实例

1. 引言

随着信息技术的不断发展和大规模的应用,使得信息系统的安全问题备受关注。而且人们在为实现计算机安全的征程中经历着不断的探索。访问控制定义了主体对客体的访问权限,是应用系统对经过身份认证进入系统的用户访问数据资源的控制,是信息得到安全保护的核心技术和最有效的手段。应用系统的访问控制机制有效地防止非法用户入侵系统及合法用户对资源地越权使用,是保护系统信息安全地一条有效途径。传统的访问控制方法包括自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)和基于任务的访问控制(TBAC)。

文献[5]DAC的主要特点体现在主体可以自主地把自己所拥有客体的访问权限授予其他主体,或者从其他主体收回所授予的权限,没有存取权的用户只允许由用户指定对客体的访问权。由于用户可以任意传递权限,那么,没有访问文权限的用户就能够从有访问权限的用户那里得到访问权限;因此,DAC的最大问题是信息在移动过程中其访问权限关系被改变,容易产生安全漏洞。从而不能给系统提供充分的数据保护。

文献[5]MAC由系统管理员从系统角度定义和实施的访问控制,通过标记系统中的主客体,强制地限制信息地共享和流动,使不同的用户只能访问到与其有关的、指定范围内的信息。MAC虽然大大提高了安全性,但是在灵活性上就会大打折扣。

文献[3]引入角色的概念,把权限授予角色而不是直接授予主体,主体通过角色来得到客体操作权限,从而实现授权。由于角色在系统中相对于主体的稳定性,对于权限管理的相对直观性,从而大大地提高了效率,简化了分布式环境下地授权操作和管理。但是它的授权方式是静态的,而且这种方式破坏了“最小特权”的原则。

文献[4]则是以任务为中心,对访问权限控制不是静止不变的,而是随着执行任务的上下文环境发生变化。在处理的过程中提供动态、实时的安全处理。因此,TBAC是动态授权的主动安全模型。但是,这种授权方式不利于授权操作的安全管理。

结合文献[1,2,6]中重复角色的概念,针对一个角色可对应多个不同的任务,我们把对应不同任务的同一角色视为两个重复角色;同时一个用户可对应多个不互斥的角色,根据角色的不同把对应的任务划分优先级,这样提出了基于重复角色和任务优先级的访问控制模型,用这个模型去实现访问控制,不但使系统的安全性得到了保证,而且使用户最大限度的实时完成最优的任务,从而提高了系统的效率,实现了更灵活的授权机制。

此外,我们还提出了把任务和权限绑定在一起的思想,即把任务用权限来表示,这样当

用户获得一个角色,去执行某个任务实例时,如果角色没有权限执行任务实例,那这次访问就失败。反之,用户则可以直接获得任务的权限去执行任务实例,这样保证了“最小特权”的原则。同时为了加强系统的安全性,我们还定义了该模型的各种约束类型,讲述了相关的约束规则,最后给出了该模型的一个应用实例。

2. 安全访问控制模型

本节将讨论该模型的结构,形式化描述以及各种约束类型和约束规则。此模型不但提出了重复角色和任务优先级的概念,而且保证用户每增加一个角色对应的优先级都作相应的动态调整,同时根据任务实例的不同状态,动态地将任务权限传递给执行角色,真正实现了动态访问控制。

2.1 安全访问控制结构

本小节给出了该模型的访问控制结构,描述了用户集U、会话集S、角色集R、任务集T、权限集P之间的关系,同时还描述了对各个实体的约束NC、SC、RC、TC、PC,以及对这些约束进行管理的CM,这样我们从结构上给出了该模型。

图1 访问控制模型

2.2 安全访问控制模型的形式化描述

本小节给出了该模型的形式化描述,用形式化的方法定义了各个实体和约束类型,讲述各个实体的相互关系,以及相关实体一些属性的定义。

定义1. 用户集U={U1,U2,…,Un},表示系统中所有对资源(客体)进行访问的独立主体。定义2. 角色集R={R1,R2,…,Rm},表示所有角色的集合,其中系统按照角色的级别把角色划分成优先级,同时把对应不同任务的同一角色视为两个重复角色。

定义3. 会话集S={S1,S2,…,Si},表示相关用户与角色间的一种交互,用户通过会话选择一个角色。

定义4. 受控对象集CO={O1,O2,…,Ok},表示系统中访问控制的对象,也称为客体集。

定义5. 操作集OP={P1,P2,…,Pj},表示完成对受控对象的某项功能的最小动作系列,具有原子性。

定义6. 权限集P=CO×OP,表示主体对于客体的操作权限的集合。

定义7. 任务集T={T1,T2,…,Tz},表示系统中所有任务的集合,任务是完成某项工作目标

的基本单元,每个角色对应自己的权限集,所有角色的权限集的子集就构成了系统

中所有的任务,这样就把权限和任务绑定在一起。

定义8. 任务优先级PRI,规定角色优先级越高时,它所对应任务的优先级就越高;当为重复角色时,任务的权限越多优先级越高。

定义9. 任务实例运行的状态(Ssta)是一个五元组,Ssta={Sini,Sexe,Ssus,Send,Sabo}。其中:Sini为初始态;Sexe为执行态;Ssus为挂起态;Send为终止态;Sabo为取消态。

初始态可以被激活成执行态,同时初始态也可以被取消,成为取消态;执行态可以

在执行的过程中被取消或者被挂起,成为取消态或者挂起态,同时执行态结束后成

为终止态;挂起态也可以被取消,成为取消态。

定义10. 任务角色分配TR⊆T×R,角色集合到任务集合的多对多映射。

定义11. 角色用户分配RU⊆R×U,用户集合到角色集合的多对多映射。

定义12. 会话角色分配SR⊆S×R,会话集合到角色集合的多对多映射。

定义13. 权限角色分配PR⊆P×R,权限集合到角色集合的多对多映射。

定义14.基数约束NC,表示用户同时拥有多个角色的个数,若Nmax(U:R)是用户U拥有角色的最大数目,则(∀u:U)N(u:R)≤Nmax(U:R)。

定义15. 会话约束SC,表示任何会话不能激活冲突的角色,若(∀s:S),则(As(s:S)As(s:S))∩Cr=∅,其中As表示会话所激活的角色,Cr表示冲突角色。

定义16. 角色约束RC,角色相关各种约束类型的集合,RC=R×R×RCM∪R×RCA。其中,RCM为角色间的约束,RCA为角色相关属性产生的约束。

定义17. 任务约束TC,任务相关各种约束类型的集合,TC=T×T×TCM∪T×TCA。其中,TCM 为任务间的约束,TCA为任务相关属性产生的约束。

定义18. 权限约束集PC,权限相关各种约束类型的集合,PC=P×P×PCM∪P×PCA。其中,PCM为权限相互之间的约束,PCA为权限相关属性产生的约束。

2.3 模型的约束类型

前面两小节介绍了该模型的结构和形式化描述,本小节将讲述模型的约束类型,约束类型可以分为三种:角色约束类型RC、任务约束类型TC和权限约束类型PC。

2.3.1 角色约束类型

角色约束类型包括角色属性约束类型RCA和角色关联约束类型RCM,其中RCA是角色自身属性产生的约束,RCM是角色间产生的相互制约的约束。

角色属性约束类型RCA包括如下类型:

(1)用户最大数(URMNC),表示一个角色可以赋予的用户的最大数目,记作(r,number,URMNC)。

(2)权限最大数(PRMNC),表示一个角色可以得到权限的最大数目,记作(r,number,PRMNC)。

角色关联约束类型RCM包括如下类型:

(1)优先级(RPRI),表示当一个用户同时拥有多个角色时,用户按照角色的优先级别,首先完成优先级高的角色所对应的任务。

(2)互斥(RM),∀u∈U,r1∈R,r2∈R,如果r1∈u⇒r2∉u,则称r1与r2互斥,记作(r1,r2,RM)。

相关文档
最新文档