一种基于角色-活动的工作流系统访问控制模型

2011-03-14 06:44黄涛贾涛张志勇
网络安全技术与应用 2011年7期
关键词:指派访问控制许可

黄涛 贾涛 张志勇

河南科技大学电子信息工程学院 河南 471003

0 前言

工作流(Workflow)技术起源于二十世纪七十年代中期办公自动化领域的研究。进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。工作流管理联盟(WfMC)定义工作流为一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递和执行。由于网络行为的开放性和自由性,工作流管理系统的安全问题变得无法回避。访问控制是提高工作流管理系统安全的重要机制。

从20世纪90年代开始,基于角色的访问控制(RBAC)模型的研究受到越来越多的关注和重视,在实际系统中得到广泛的应用。1996年美国乔治梅森大学的Sandhu教授等人给出了RBAC模型的一个比较完整的框架RBAC96模型。目前,基于角色的访问控制模型仍是工作流管理系统访问控制的主要模型。文献[3]将角色的概念引入工作流模型中,通过角色控制用来增强工作流系统的安全性。文献[4]提出文档访问控制说明集的概念,用于管理与任务相关的文档及对文档的操作。文献[5]通过将同类或者同一虚拟组织用户进行分组,提出了基于用户分组的角色访问控制机制。文献[6]引入了工作流上下文信息来加强职责分离约束。文献[7]提出了职责分离约束和基数约束等问题的解决方案。文献[8]提出基于双权角色的条件化RBAC访问控制模型,能够表达工作流访问控制约束。文献[9]提出一种工作流上下文相关访问控制模型,通过相应的任务获得满足当前工作流上下文约束的许可,从而完成任务执行。上述研究工作未将工作流中任务进一步细化为一系列活动,把权限最小化到活动状态层次。违背RBAC策略中“最小特权”原则。也未曾采用面向对象的统一建模语言UML对模型进行静态和动态建模,不利于模型在实际工作流访问控制系统中的设计与实现。本文提出的基于角色-活动的工作流系统访问控制模型结合以工作流管理技术为基础的协同产品开发环境特征,在RBAC96模型基础上引入任务和活动概念,把权限最小化到活动状态层次,实现协作中的访问控制授权。

1 RABAC for Workflow模型及其性质

1.1 RABAC for Workflow模型构成及形式化描述

基于角色-活动的工作流访问控制模型(Role-Activity Based Access Control for Workflow,RABAC for Workflow)中,将任务作为一次完整的工作流程,并且再细划为若干具有时序性的活动。根据活动状态的不同授予不同的操作许可权限,使活动与最小操作许可权限相关联。活动执行中所需的操作许可权限经过活动-操作许可指派获得;工作流角色行使职责可执行的活动由活动-工作流角色指派赋予。最终工作流角色通过活动实体和操作许可相连,工作流实体则通过工作流角色和活动实体相联系。某工作流任务被调度执行时,首先对工作流实体指派相应的工作流角色,然后判断该工作流角色是否能执行当前工作流任务,最后根据当前工作流任务中不同活动所处的不同状态授予不同的最小操作许可权限,工作流实体在执行具体活动时具有相应的最小操作许可权限。因此,该模型满足最小权限原则(Principle of Least Privilege),并且约束规则的定义使其同时满足职责分离原则(Principle of Separation of Duties)。工作流角色-活动之间是一一映射关系,其他则是多对多的关系。

RABAC for Workflow主要由工作流实体,工作流角色,工作流会话,任务,活动,操作许可,约束七部分构成,如图1所示。

图1 RABAC for Workflow模型

用集合论和谓词逻辑形式化描述该模型如下:

定义工作流实体集WfE,工作流角色集WfR,工作流会话集S,任务集T,活动集A,操作许可集OP,约束集C。

定义1(工作流实体 Workflow Entity):在工作流环境中参与工作的主动者,它们可以是自然人User或智能Agent等。

WfE={wfe|wfe∈User∨wfe∈Agent}

定义2(工作流角色Workflow Role):在工作流环境中具有明确协作目标,承担一定任务的一类工作流实体wfe的抽象集合。

WfR∈2WfE(wfe∈WfE)

定义3(任务和活动Task & Activity):在工作流环境中WfR所完成的一项工作称为任务;任务由若干操作组成,具有完整语义的协作步骤称为活动。活动具有动态特征和原子性,它是任务中不可再分的最小基本单位。

定义4(操作许可Operation Permission):用户主体对访问客体(共享资源,如文件、数据库、画板等)可施加的动作的许可。这里的操作既可以定义为实际的读、写和执行操作,也可以为抽象的操作。

定义5(集合间关系 Sets Relationship):模型中各个集合之间的关系。

(1) WfRA⊆WfE×WfR:工作流实体与工作流角色之间多对多的关系;

(2) AWfRA⊆A ×WfR,且存在双设函数f(a)→wfr:活动与工作流角色之间一对一的关系;

(3) AOPA⊆A×OP:活动与操作许可之间多对多的关系;

(4) WfRH⊆WfR×WfR:工作流角色与工作流角色之间继承的关系,是一偏序关系。

定义6(工作流会话Workflow Session): 工作流会话是工作流实体通过工作流角色执行一次活动的过程。

定义7 (工作流角色指派Workflow Role Assignment): 授权关系是一个三元组(wfe,wfr,C),其中wfe为工作流实体,wfr为工作流角色,C为约束。语义解释为工作流实体 wfe在满足C的前提条件下,获得工作流角色wfr。

定义 8(时间限制 Time Limit):TL={x ︳x=[τbi,τei] (i=1,2…n)},其中τbi为该时段的起始时间,τei为该时段的终止时间。

定义9 (时间限制工作流角色指派Time Limit Workflow Role Assignment):授权关系是一个四元组(wfe,wfr,TL,C),其中wfe为工作流实体,wfr为工作流角色,TL为时间限制,C为约束。语义解释为工作流实体wfe在满足C的前提条件下,获得工作流角色wfr,使wfe在TL拥有wfr。

1.2 约束规则及其性质

约束规则1(工作流角色指派约束CRA Constraint):同一个工作流实体只可以指派一互斥工作流角色集中的一个工作流角色。

约束规则2(授权基数约束 Cardinality Constrains):一个工作流实体可以拥有的工作流角色数目受一定限制。

约束规则3(操作许可指派约束OPA Constraint):同一个工作流角色只可以指派一互斥操作许可集中的一个操作许可。

性质1(系统强制撤销 System Imperative Revoke):当系统时钟超出了时间限制TL,工作流系统自动撤销工作流角色许可,其中包括显式和隐式的所有许可。

性质2(管理员强制撤销 Administer Imperative Revoke):当系统安全策略动态变化时,管理者可以显式、实时地回收已指派的工作流角色。

2 面向对象的建模

由于UML是目前较为常用的一种面向访问控制模型的软件建模方式,利用该建模工具得出的完整建模过程可通过正向工程易于实现软件的最终编码,且编码性能良好。本文采用的是Rational Rose对模型进行工程建模,这样便于设计和开发基于该模型的应用系统,缩短理论安全模型形式化、抽象性和实际应用系统开发之间的差距。

关于模型的静态建模,主要描述应用系统的用例图、实体类和类关系图。在系统用例图中,主要从用户角度描述系统的对外功能。对于这些功能的实施者可以分为以下四类:系统管理员、系统安全员、系统审计员和工作流实体。这四类用户分别完成不同的工作:系统管理员完成工作流实体和工作流角色的管理;系统安全员负责管理约束规则库;系统审计员主要完成对系统管理员授权管理操作进行跟踪监视,以及对应用系统对象访问的审计等;对于工作流实体主要是在系统中创建与撤销会话、访问资源等等,系统用例图如图2所示。

图2 RABAC for Workflow模型用例图

在实体类关系图中,主要描述主要实体的属性和操作以及各实体类之间的关系。类关系图如图3所示。

模型的动态建模主要是描述模型应用系统的交互图和对象行为图。对于它的动态建模,这里由于篇幅问题不可能完全描述系统中所有的动态行为特征,因此选择具有代表性的工作流角色指派时序图和活动图加以描述和解释。系统管理员向工作流实体指派工作流角色的时序图如图4所示。系统管理员向工作流实体指派工作流角色的合作图如图5所示。

图3 RABAC for Workflow模型主要实体类关系图

图4 工作流角色指派时序图

图5 工作流角色指派合作图

3 应用实例

基于RABAC for Workflow模型的访问控制体系架构中,用户分为四类:工作流实体、系统管理员、系统安全员和系统审计员。授权管理服务器由系统管理员负责,结合约束规则库中的授权约束部分,为工作流角色指派所能够执行的任务活动,然后为工作流实体指派工作流角色等,并将授权完整信息(包括授权者、被授权用户、授予角色、角色时限、授权时间等)写入授权数据库。此后,工作流实体使用该工作流角色进行资源的访问时,本地设计工作站上的访问监控器则通过查询授权数据库,判定工作流实体是否具有访问的权利;系统安全员根据应用级授权策略在安全策略服务器上管理约束规则库,其中包括约束规则的创建、更新、挂起和删除;系统审计员负责授权信息的跟踪监视和报警。访问控制过程如下:

(1) 工作流实体以某个工作流角色身份在工作站通过访问控制界面上的操作入口,请求对某个任务的活动进行操作。

(2) 访问控制系统接收到操作请求,由访问控制监控器判断该操作请求是否有效。

(3) 访问控制监控器根据授权数据库判断工作流角色是否具有该操作权限,如果没有则拒绝访问请求。

(4) 否则访问允许,调用系统相应操作。

4 结束语

RABAC for Workflow模型具有时间依赖和约束特征,同时保持基于角色授权管理中高效、灵活的特点,并满足“最小权限原则”和“职责分离原则”。采用UML进行工程建模,缩短理论安全模型形式化、抽象性和实际应用系统开发之间的差距。理论模型上结合信任管理与委托授权技术,进一步扩展该模型的访问控制机制,并实现其原型系统,将作为今后研究的主要内容。

[1]WfMC.Workflow Management Coalition Specification: Terminology &Glossary [S].Document Number WFMC-TC-1011.Brussels.1996.

[2]Ravi Sandhu,Role-based Access Control Models[J].IEEE Computer.1996.

[3]谭支鹏.基于角色的工作流模型及其应用[J].小型微型计算机系统.2003.

[4]宋春燕,徐建良,李申华.基于角色的安全工作流模型[J].计算机工程.2008.

[5]刘灿灿,骆志刚,张卫民等.科学工作流管理系统中基于用户分组的角色访问控制[J].计算机工程于科学.2008.

[6]杨天怡,董红林,黄勤等.应用角色和任务访问控制的工作流动态授权模型[J].计算机应用研究.2010.

[7]刘丁,王小明,付争方等.S-Shark安全工作流管理系统设计与实现[J].计算机应用研究.2009.

[8]张健,孙吉贵,李妮娅等.工作流系统中一个基于双权角色的条件化RBAC访问控制模型[J].计算机科学.2005.

[9]王小明,刘丁,付争方.工作流系统上下文相关访问控制模型[J].计算机科学.2006.

[10]张志勇,黄涛.信任管理中基于角色的委托授权研究进展[J].计算机应用研究.2008.

猜你喜欢
指派访问控制许可
版权许可声明
版权许可声明
版权许可声明
本期作者介绍
ONVIF的全新主张:一致性及最访问控制的Profile A
多目标C-A指派问题的模糊差值法求解
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
汉语分裂句的焦点及其指派规律
零元素行扩展路径算法求解线性指派问题