1 概述
工作流环境的随机性、时变性、外界干扰的不确定性以及系统运行中的动态职责难以分离与绑定等常导致工作流管理混乱,因此,管理系统的安全可靠性相对而言不太高。尽管基于角色的访问控制(Role based Access Control,RBAC)模型提供了高效便捷的安全授权方式和授权维护模型,但是从系统层次分析,其实现方法还存在诸多不安全因素,许多文献对此从不同角度作了探讨。基于角色的访问模式已被广泛应用于各行业的各类工作流管理系统,为了增强和提高访问的安全性,创建更加可靠的工作流安全访问模式,本文提出一种基于动态控制机制的工作流安全访问模型。
2 传统RBAC模型存在的安全隐患
传统RBAC模型的基本组成元素为角色、用户、会话、权限和约束,各元素之间的关系如图1所示。
图1 RBAC模型
RBAC的核心思想是通过角色对用户进行授权控制。角色依据组织中的各种工作职能创建,其中,权限和角色相关联,用户根据职位和资格被分配适当的角色,从而获得相应的权限。在传统RBAC模型中,系统根据用户的角色进行访问授权与控制,通过角色的中介作用实现用户与访问权限的逻辑分离,因此,用户可以非常容易地从一种角色转换到另一种角色,同时,从某个角色回收权限或者根据新的需求赋予某个角色新的权限也是非常方便的。
传统的RBAC模型拥有灵活高效的授权机制,但存在如下3个方面的安全隐患:
(1)基于角色的访问控制是静态的,事实上,访问控制研究正朝着复杂化、多层次方向发展,即基于角色的访问控制应该是动态的,因此,在应用方面有其局限性。
(2)在大型联合企业群中,组织和功能变化是经常发生的,一旦有变动,必须进行角色的重新分配,大量的组织管理工作调整所需的成本是十分昂贵的。
(3)随着IT技术的迅猛发展,信息系统功能越来越强,结构变得更加复杂,传统的RBAC模型很难适应新形势的发展变化。如:过去只需要“前台显示+后台信息管理”模式,现在则更多地需要动态控制显示的栏目、区分浏览者的类别、针对不同用户提供不同的用户界面等。
3 基于动态控制机制的访问模型
3.1 动态安全访问模型结构
在访问过程中,工作流系统是以多个基本的工作活动按照某种固定程序组织起来的,一般可将其分解为目标、角色、规则和过程4个元素的集合,通过合理调配和精确监控各个元素之间的关系来提高企业管理水中和工作效率。针对工作流系统中动态职责分离、互惠职责分离、案例约束、动态职责绑定等阶段存在的安全性隐患,本文通过对传统RBAC模型的相关环节进行改进,建立基于动态控制机制的工作流安全访问模型。基于RBAC元模型的动态安全访问模型在传统RBAC模型中引入目标案例(Target Case,TC)、用户管理(User Management,UM)与目标(Target,T)元素,其结构如图2所示。图2的模型通过各个实体之间的相互关系来进行实例化约束,同时借助会话来实现动态约束。TC是指工作流系统中业务流程的实例;T则是具体业务流程实现的目标实体,如定义一个用户在特定的工作流业务流程中只执行一个特定的目标,可用三元关系doer(u,c,t),u∈U,t∈T,c∈TC表达。
图2 动态安全访问模型
3.2 动态安全访问模型的组成元素
动态安全访问模型主要的组成元素如下:
(1)用户(User),指工作流系统中被赋予一定角色集合且具有相应权限从事一项工作的人员或者资源主体,可以是人、进程等,一般指人,工作流环境下的所有用户构成用户集U。
(2)角色(Role),指工作流系统中的工作或所处职位,它代表了具有一种资格、权利和责任的集合体。由多个角色构成的角色集合记为R。
(3)权限(Permission),指对工作流系统数据或与该数据相关的其他数据资源进行操作或访问的许可。权限表示对工作流系统中的客体进行某种特定的访问操作,其相应的操作模式与具体应用有关。
(4)用户管理,指对组织内部人员结构的定义。
(5)角色关系管理(Role Relation Management),指对角色之间的各种层次关系进行定义,如管理角色之间的继承关系就是通过权限划分来实现的,角色1和角色2是继承关系就表示角色1拥有角色2的全部权限。
(6)会话(Session),指用户激活某种角色的过程。角色必须通过会话才能被激活,用户可通过多次会话激活不同的角色,同时用户也拥有被激活角色所具有的各种权限。
(7)权限关系管理(Permission Management),指对权限之间的暗含、持有和继承关系的分配和收回操作。
上述定义表明动态安全访问模型是一个完整的模型。
3.3 动态安全访问模型的运行策略
动态安全访问模型的运行是由基本约束关系与动态约束条件予以保证的。
(1)基本约束关系
基本约束关系可借助基于谓词逻辑的形式化语言进行描述。如对于图2的模型,按照基本约束关系描述,可借助形式化语言表达为:
(2)动态约束条件
依据当前目标案例的先前活动顺序,工作流环境下的动态约束条件用于动态地描绘约束执行情况,分别动态地授予角色和用户的访问权限,其中包括动态权责的分离与动态权责的捆绑、案例间依赖的约束以及互惠职责分离等。
1)动态权责分离
系统中某项目标的完成,其主体执行时不能相互矛盾,必须实施互斥规则。就像在一场竞技比赛中绝对不容许某个人既是运动员又是裁判员一样,运动员与裁判员两者的关系必须是相互排斥的。在管理系统中如果忽视动态职责分离有可能导致不良后果,如在勘察协同设计业务中,不允许在同一协同工作流程中实施项目审查的人员和提交协同设计方案的人员是相同的人,借助谓词逻辑形式化语言可描述为:
2)动态职责捆绑
动态职责捆绑与动态权责分离相反,有时主体为执行某个目标,相容规则的捆绑是必要的,为了简化繁杂的管理程序以提高办事效率,常常希望在某一个协同设计流程中,实施审查项目协同任务的审查人和实现协同设计的直接审批人是相同的人,用谓词逻辑形式化语言可描述为:
3)案例间依赖的约束
在执行任务中,各个任务之间如存在依赖关系,为了简化操作,则对其参考案例进行一定的约束。
4)互惠职责分离
鉴于利益关系,用户间的业务要杜绝跨越多个案例操作,避免相互耦合带来的不良影响,也就是相互之间的操作要互惠互利,面不是相互影响。
4 框架模型及其应用
动态安全访问模型已经成功应用到工程勘察设计企业网络化协同设计项目中,并从系统授权许可角度提出了基于工作流管理系统框架的协同设计集成模型。在工程勘察设计企业各部门和工作环节之间构建了一个安全访问集成框架,提供可靠的授权许可服务,使协同设计工作流管理系统局部的改动不致影响系统的安全性,并且能方便地与工作流管理系统实现无缝集成,其体系结构如图3所示。
图3 动态安全访问模型应用集成框架
该集成框架基于C/S体系结构与SOA理念,采用J2EE的技术路线和多层模式的框架设计,框架集成中,访问控制系统根据RBAC数据库中的信息为用户分配角色。用户向业务应用发送请求时,RBAC访问控制模块根据角色、权限关系、特征类别以及特征实例,对协同用户请求即时做出响应。
5 结束语
随着网络规模逐步扩大、用户数量急剧增加、协同层次日益复杂,传统的安全访问模型已经不适用于当今的工作流系统。因此,本文提出一种基于动态控制机制的工作流安全访问模型。该模型可轻松实现对动态权责的分离与捆绑,加强各案例间的约束管理以及互惠职责分离,并已成功应用在工程勘察设计企业网络化协同设计项目中,与工作流引擎组件实施框架集成后,能很好地解决没计协同资源库的访问控制问题,为工作流管理系统的安全运行提供良好的技术支撑。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于动态控制机制的工作流安全访问模型
本文网址:http://www.toberp.com/html/consultation/1083959522.html