APP下载

基于集成化企业模型的访问控制机制与系统研究

2011-05-11范玉顺

制造业自动化 2011年1期
关键词:集成化访问控制视图

张 皓,范玉顺

(清华大学 自动化系,北京 100084)

基于集成化企业模型的访问控制机制与系统研究

张 皓,范玉顺

(清华大学 自动化系,北京 100084)

0 引言

自90年代以来,企业间的竞争越来越激烈,其竞争形式也发生了巨大的变化,企业快速响应市场的能力已成为企业能否赢得市场竞争的最重要的核心能力。与此同时,信息技术飞速发展并迅速成为支撑企业运行最重要的基础架构[1]。企业信息化的实施极大的提高了企业的运行效率与核心竞争力,但同时也带来了一些问题,其中最重要的一个就是信息安全问题。国际标准组织(ISO)在ISO7498-2中提出了五种信息保护的方式,访问控制就是其中之一。

访问控制在人类有了需要保护的财产时便存在了,如门锁、保险箱、门卫等都可视为广义的访问控制。在信息安全领域,访问控制所关注的问题是信息系统的用户何时以何种方式对信息资源进行操作的问题[2]。几乎所有的企业应用系统都会应用访问控制机制,良好的访问控制策略可以优化信息的共享与交互,否则将会增加管理与实施成本。随着信息技术的发展,传统的访问控制技术如自主访问控制(DAC,Discretionary Access Control)和强访问控制(MAC, Mandatory Access Control)已经不能满足企业环境下访问控制需求[3]。90年代中期出现了基于角色的访问控制模型(RBAC, Role-Based Access Control),RBAC引入了角色的概念,简化了权限管理的复杂性并提高了授权效率[4]。随着工作流技术在企业中的广泛应用,源自最小权限规则的动态授权问题成为研究的热点,传统的RBAC无法解决动态授权问题,于是产生了包括TBAC在内的各种工作流授权模型[5]。

RBAC和TBAC及其各种扩展模型在很大程度上解决了现代企业中的访问控制问题,但是这些模型大多将企业的组织架构用简单的角色及其继承关系来描述,这并不能适应企业日益复杂的组织架构的实际情况。企业模型作为对企业的形式化描述,通过各个视图及其关联对企业进行描述,其组织视图可以良好的描述企业的组织架构,其过程视图是工作流运行系统的元模型,而其资源、信息等视图可以描述企业内需要访问控制的客体[1]。将企业建模理论融合到访问控制领域是一个全新的课题,本文将在此背景下提出了一种新的访问控制模型:基于集成化企业模型的访问控制(IEM-BAC,Integrated Enterprise Model-Based Access Control)。

本文的组织形式如下,第一部分是引言,主要介绍IEM-BAC的产生背景。第二部分详细分析了现代企业环境下对访问控制的需求。第三部分简要介绍集成化企业建模理论。第四部分介绍RBAC和TBAC理论。第五部分给出IEM-BAC模型及其形式化描述。第六部分将IEM-BAC运用到集成化企业建模平台之中。第七部分对前面内容进行总结。

1 现代企业环境下的访问控制需求

现代企业环境下,各种异构的信息系统由于其自身特性对访问控制提出了不同的需求。如文档管理系统需要使用RBAC来进行授权,但同时也需要根据用户和文档的密级属性来进行访问控制;工作流管理系统需要根据任务实例的执行状态动态的控制用户权限[5];CRM系统需要根据传统的RBAC控制用户权限。虽然这些异构的系统访问控制的方式有所不同,但是我们可以将其分为两大类:静态访问控制和动态访问控制。

静态控制:和流程的运行无关的访问控制都属于静态控制,对于静态权限的控制我们可以使用RBAC模型[4],有分配权限的主体将客体的权限分配给其余主体。在企业中,文档一般按照密级划分,只有主体密级高于文档密级的才能进行访问,因此我们需要将RBAC进行适当的扩展,嵌入基于属性的访问控制。

动态控制:和流程运行历史及状态相关的访问控制为动态控制。这部分权限与其关联的任务的执行状态以及时间有关,和任务关联的角色或人员在任务的不同状态时具有不同的权限。这部分权限我们可以参考TBAC模型[5]。工作流机根据任务的状态判断用户对其所关联的任务权限是否有效,如果有效则允许用户进行操作,否则阻止用户进行操作。

现代企业的组织形式日益发生变化,垂直的企业架构已经不能满足企业敏捷性的需求,很多企业的业务使用项目组的形式来进行运作,由此带来了企业组织模型的变化[1]。这种变化对访问控制也提出了新的需求,经典的RBAC对组织结构以角色及其继承关系进行描述,这已经不能适应现代企业的实际情况。我们需要在访问控制模型中包含企业的组织结构以完成更优化的授权。应用企业建模工具建立组织模型,然后将用户与角色的关联转变为用户与组织的关联,这种转化的可以将角色的管理和权限的分配进行解耦并增强访问控制模型对企业组织的描述能力和模型的灵活性。

2 集成化企业建模理论

集成化企业建模理论是由清华大学的范玉顺教授针对现存企业建模存在的问题提出的一种先进的建模理论[1,6]。集成化企业建模体系结构由生命周期维、视图模型维、通用性层次维组成三维立方体。

生命周期维主要研究建模过程的问题,通用层次维将企业模型按粒度抽象为不同的层次。视图模型维包括了过程视图、组织视图、资源视图、文档视图在内的多种视图,不同的视图描述企业的不同侧面,其中过程模型作为核心,将其余模型通过关联与引用联系起来。

集成化企业建模中的组织模型用来定义企业组织形式和人员模型。组织模型由组织单元、虚拟组织单元、工作组、人员、角色、职位等元素组成。组织单元之间的隶属关系构成企业的组织树,组织结构树描述了企业的静态模型。为了便于对企业进行管理,引入了虚拟组织单元,用于表示企业高层管理人员对几个下级部门的管辖权。工作组描述的则是企业中动态的组建的跨部门的人员组合,主要用于对项目进行描述。角色描述完成一种企业职能所需要的具有特定技能或职位的人员属性,而职位是面向企业行政责任的组织属性,代表企业人员在管理上的等级关系[1]。

组织模型描述了企业精确的组织架构,这种描述弥补了传统的RBAC中对企业组织模型描述能力的不足。在IEM-BAC模型中使用企业组织模型来描述访问控制模型中的组织关系,这样不仅能够增强访问控制模型对组织的描述能力,还能够将授权与角色的管理解耦。

集成化企业模型的资源、产品、信息等视图描述了企业的各种需要保护的要素,这些要素将成为访问控制的对象。

3 RBAC,TBAC

传统的DAC和MAC访问控制模型不能满足企业环境下的访问控制。1992年,David Ferraiol和Kuhn第一次提出了基于角色的访问控制模型(role based access control,RBAC)[3]。在RBAC中定义了用户、角色、权限三种主要元素,它的基本思想是:将客体权限授予角色,用户通过扮演角色而获得权限,用户和权限没有直接的关联。在企业环境下,企业中的角色以及角色的权限是比较固定的,相对而言人员的流动要更大一些。所以直接对人员进行授权是比较耗时且易于出错的,而在人员和权限之间加上角色层,这样有利于人员与权限的解耦,减少管理成本。完整的RBAC还引入了权责分离(SoD, Seperation of Duty)以及角色的继承,完整的RBAC模型如图1所示[4]。

图1 RBAC3模型

现代企业的运行离不开业务流程,而每个业务流程又分为不同的任务并由企业员工协作完成。为了保护企业的信息安全,需要对任务关联的资源进行访问控制。

RBAC不能满足工作流环境下的动态授权问题。1994年,Sandhu和Thomas提出了基于任务的访问控制模型(taskbased access control,TBAC)[7]。TBAC扩展了传统的基于主体/客体的访问控制模型,它引入了基于任务的上下文信息对权限的影响。文中提出授权步骤的概念,每一个授权步骤和一个保护态(一组权限)相关。保护态随着任务的状态变化而改变,并且根据保护态的状态对用户进行授权。1997年,Thomas和 Sandhu借鉴RBAC96的模式,提出了TBAC的模型框架。在此文章中,Thomas将TBAC分为TBAC0、TBAC1、TBAC2和TBAC3。TBAC0是框架的基础,他提供了对任务、授权步骤、不同授权步骤之间的关联建模的基础。TBAC1和TBAC2包含TBAC0并包含了更多的特性。TBAC1包含了授权的组合而TBAC2包含了约束。TBAC3包含了TBAC1和TBAC2的所有特性[5]。

4 IEM-BAC模型

本节中我们将集成化企业模型融入到访问控制中,然后建立IEM-BAC模型并给出其文字及形式化描述。IEM-BAC模型如图2所示。

4.1 IEM-BAC主体管理

1)区分用户和人员。首先企业人员不一定是信息系统的使用者,如流水线的操作员可能就不是BI系统的使用者;再者信息系统的用户也不一定是企业的人员,如咨询公司的实施人员,所以我们需要将用户和企业人员区分开来。

2)用户通过用户管理工具进行管理,人员引用集成化企业模型中的组织模型,当存在关联关系时,用户与人员是一对一关系。访问控制模型中的其余组织信息引用集成化企业模型的组织视图,包括人员、职位、角色,以及角色的继承关系。

图2 IEM-BAC访问控制模型

3)对于非企业人员的用户(如实施团队),我们通过用户组对其进行授权管理。因为非企业人员用户不适合使用企业的组织模型描述。

4.2 IEM-BAC授权管理

1)静态授权。用户的静态授权通过RBAC实现,在这里我们将传统的角色细分为用户组、代理、角色、职位等,区分这些角色有利于精确的授权。授权客体引用集成化企业模型中的各个视图,其中资源视图可以描述企业的各种资源,这使得IEM-BAC具有了很强的企业资源描述能力,也大大扩展了IEM-BAC的控制范围。

2)动态授权。用户的动态授权通过TBAC实现,一个任务关联一个权限的集合和一个主体集合,系统根据任务的执行状态动态改变主体对此权限集合的状态,图3是权限集的状态图[5]。

图3 权限集的状态图

3)代理授权。用户自授权可以通过代理的方式实现。用户可以将自己拥有的权限或自己需要承担的任务代理给其他用户。为了简化管理,不支持二次代理。代理可以通过一个五元组来描述:Del(Delegator,Delegatee,PS,TS,Status,)其中Delegator是代理的主体,Delegatee是代理的受体,PS为代理包含的权限集或任务集,TS为代理的时间跨度,Status为代理的状态。

4.3 IEM-BAC约束关系

1)静态权责分离约束[2]。SSD通过组织建模进行描述,在建立组织模型后可以指定冲突角色集CRS(Con fl ict Role Set) ,在为用户授予角色时,不能同时授予同一用户超过指定上限个角色。

2)动态权责分离约束[2]。DSD也是通过组织建摸描述的,和SSD不同的是可以为用户任意授予角色,但是用户在一次会话中不能同时激活 的上限个冲突角色。

4.4 IEM-BAC形式化描述。

定义1:IEM-BAC基本术语:

分别定义用户、角色、职位、人员、任务、操作、客体、代理为Users, Groups, Roles, Positions,Employees, Tasks, Delegation, OPS, OBS,其中Roles,Positions, Employees引自组织模型。

用户代理:

Del (Delegator, Delegatee, PS, TS, Status)

权限集合[2]:PRMS⊆2OPS×OBS

用户人员集合:UE⊆Users×Employees

人员关联的用户:

employee_user(r)⊆{u⊆Users|(u,e)⊆UE},是空集或单元素集合。

UD⊆Users×Delegation: 用户代理映射

用户作为代理者的代理集合:

delegator_del(u)⊆{u⊆Users|(u,d)⊆UD},用户作为受理者的代理集合:

delegator_del(u)⊆{u⊆Users|(u,d)⊆UD},用户用户组映射:UG⊆Users×Groups

Group(u)⊆{u⊆Users|(u,g)⊆UG}用户所属的用户组集合。

用户和任务映射:UT⊆Users×Tasks

角色和任务映射:RT⊆Roles×Tasks

职位任务映射:PT⊆Positions×Tasks

主体s的任务集合:

task(s,type)⊆{s⊆Users×Roles×Positions|(s,type,task)⊆UT×RT×PT}

其中type为主体的类型

代理任务映射:DT⊆Delegation×Tasks

角色职位映射:RP⊆Roles×Permissions

职位和权限映射:PP⊆Positions×Permissions

用户组和权限的映射集合

GP⊆Groups×Permissions

任务和权限映射:TP⊆Tasks×Permissions

主体的权限集合:

Permission(s,type)⊆{s⊆Users×Roles×Positions×Tasks|(s,type,perm)⊆GP×RP×PP×TP},其中为主体的类型:用户组、角色、职位、任务。

定义2:组织模型元素定义[1]:

Roles,Positions,Employees,WorkGroups,OU(VOU),CRS分别定义为角色,职位,人员,工作组,组织单元(虚拟组织单元),冲突角色集。

人员角色映射:ER⊆Employees×Roles

人员职位映射:EP⊆Employees×Positions

角色继承:RH⊆Roles×Roles是Roles集合上一种偏序关系,用≺表示。如果R1≺R2,表示R2继承R1所有的权限

职位继承:PH⊆Positions×Positions是Positions集合上一种偏序关系,用≺表示。但是职位不涉及权限的继承,仅代表一种行政的管辖关系。

定义3:工作流相关定义

Task(subjectSet,constraint,objectSet,status),一个任务实例是一个四元组,其中subjectSet表示的是任务的主体集,可以是人员、角色或者是职位等,constraint表示的是任务实例的约束(包括动态授权约束,业务约束等),objectSet表示的是完成此任务所需的业务对象集合,status表示任务的状态(包括挂起、完成、激活等)。

规则1:访问授权规则:当且仅当主体s的激活角色的权限并集包括权限permission(o,op)时,s才能对o进行op操作[2]。

s:Users,op:OPS,o:OBS

isAuthorized(s,o,op)=true⇒

∃r:Roles‖p:Positions‖g:Groups‖t:Tasks

^perm∈permission(P)∪permission(r)∪permission(g)∪permission(t) |t.status=active

^ (o,op)∈perm

规则:权责分离SoD[2]:冲突角色集CRS(m,n)中具有n个权限,其中任何大于等于 个权限不能同时赋予同一用户或被同一用户同时激活。

CRS(m,n)⊆Roles,

∀u∈Users

¬∃role(u)∩CRS(m,n) =RS,RS.count≥m

规则3:动态授权规则[5]:当且仅当主体关联的任务处于激活状态时,主体才能使用任务关联的权限集。

∀s~task:s∈Employees∪Roles∪Positions (o,op)~task

isAuthorized(s,o,op) =true⇒

task.status=active

5 IEM-BAC的应用

清华大学CIMS工程研究中心开发的集成化企业建模平台采用了IEM-BAC模型进行访问控制。集成化企业建模平台是一套包含集成化企业建模工具、文档管理工具、绩效管理工具、工作流管理工具的企业管控系统。集成化企业建模平台部件的逻辑结构如图4所示。

建模工具和用户管理工具使用C/S架构,工作流系统、文档管理系统以及绩效管理系统使用B/S架构。用户分别通过相应的客户端或者浏览器与应用进行交互,用户身份验证成功后,各个应用会根据用户合并后的权限(角色、职位、用户组、代理)初始化用户的界面。当用户发出操作请求后,访问控制模块会根据数据库信息实时判断用户是否具有此操作的权限并将结果以布尔型变量返回给应用,这样的好处是可以实时的控制用户权限以防止恶意操作。

图4 集成化企业建模平台部件逻辑图

用户管理工具包括用户/组管理、用户-人员关联管理、主体授权管理等功能。用户管理工具通过模型数据库、工作流数据库获取相应应用的受控客体,主体的授权信息记录在用户权限数据库中。集成化企业建模平台是大型的企业应用软件,一般需要实施团队协助企业进行实施,对于实施团队使用用户组的模式进行管理。当建立了相应的组织模型后,就可以在用户管理工具中获取组织模型中的主体并对其权限进行管理,同时通过在工具中建立人员的登录用户就可以完成对企业人员的授权。

不同的用户可以协同进行建模,分别建立各个企业模型视图,并采用数据锁定技术保持模型的一致性,即当一个用户对某个业务元素进行编辑时,其余有编辑权限的用户只能以查看的方式将其打开,保持了数据的一致性,这也是信息安全性的一个重要准则。

工作流系统通过模型适配器获得企业模型数据库中过程模型及相关定义,模型适配器将过程模型转化为中性的XPDL文件。工作流机通过和工作流数据库交互完成其工作并将相应的任务推送到用户界面。用户通过登陆自己主页后会看到自己被指派或代理的任务,访问控制模块会根据过程实例执行的历史情况判断用户任务实例权限状态,然后决定用户有权限的操作。

企业文档是企业知识管理重要的组成部分,为了弥补建模工具C/S架构灵活性不足,开发了B/S架构的文档管理系统。文档管理系统对应企业模型中的文档视图,他们通过公用的企业模型数据库进行同步。文档管理系统中的权限是静态的权限,和建模权限类似通过用户管理工具分配给相应的主体。但是企业还需要根据文档的密级限制用户的访问,因此在判断用户对文档的权限前,首先判断用户密级是否不低于文档密级,判断为真时再按照权限库中的权限进行判断。

6 结束语

本文通过分析现代企业环境下的访问控制需求,发现集成化企业模型可以很好的支持访问控制模型中的组织架构描述。在分析了集成化企业模型与访问控制模型的关联之后,将集成化企业模型融入到访问控制领域并提出了IEM-BAC,最后将IEM-BAC应用到集成化企业建模平台中。

集成化企业建模平台中的访问控制模块实现了对企业建模工具、文档管理工具、绩效管理工具、工作流管理系统的动态和静态的权限控制,说明IEM-BAC模型能够很好适应企业环境下的访问控制需求。以后的研究内容会集中在统一权限管理工具的研究,将IEM-BAC的管理范围扩展到第三方应用。

[1]范玉顺.信息化管理战略与方法[M].北京:清华大学出版社, 2008.

[2]Ferraiolo D, Kuhn D R, Chandramouli R. Role-based access control[M]. ArtechHourse, 2007.

[3]Ferraiolo D, Kuhn D R. Role-Based Access Control:Proceedings of the NIST-NSA National(USA) Computer Security Conference[Z]. 1992554-563.

[4]Sandhu R, Al. E. Role-Based Access Control Models[J].IEEE Computer. 1996, 29(2).

[5]Thomas R K, Sandhu R S. Task-based Authorization Controls(TBAC): A Famiily of Models for Active and Enterprise-oriented Authorization Management:Proceedings of the IFIP WG11.3 Workshop on Database Security[Z]. Lake Tahoe, California: Chapman & Hall,1997.

[6]范玉顺,吴澄. 集成化企业建模系统体系结构与实施方法研究[J]. 控制与决策. 2000, 15(4): 401-405.

[7]Thomas R K, Sandhu R. Conceptual foundations for a model of task-based authorizations: Computer Security Foundations Workshop VII[Z]. 1994.

Research on integrated enterprise model based access control mechanism and enforcement

ZHANG Hao, FAN Yu-shun

访问控制是一种保护企业信息安全的重要机制,传统的MAC、DAC模型已不能满足现代企业的访问控制需求,RBAC和TBAC由于其良好的适应性成为企业级应用访问控制的主要实现机制。但是现在的访问控制模型普遍存在对组织架构描述能力较弱的问题,本文将企业建模理论融合到访问控制中,提出了一种新的访问控制模型IEM-BAC,并将其应用到实际的企业应用中。

访问控制;企业建模;工作流;RBAC;TBAC

张皓(1984-),男,硕士,研究方向为企业建模、工作流管理、访问控制。

TH315

A

1009-0134(2011)1(上)-0001-06

10.3969/j.issn.1009-0134.2011.1(上).01

2010-08-31

863计划项目(2009AA010308);国家科技支撑计划项目(2008BAH32B03-1)。

猜你喜欢

集成化访问控制视图
一种跨策略域的林业资源访问控制模型设计
博格华纳向集成化转型
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
ONVIF的全新主张:一致性及最访问控制的Profile A
基于电子商务的计算机软件系统集成化维护思路探索
动态自适应访问控制模型
集成化供应链项目转变药学管理模式