管道信息系统中访问控制模型研究

(整期优先)网络出版时间:2009-04-14
/ 3

管道信息系统中访问控制模型研究

李作开张书华夏治国

管道信息系统中访问控制模型研究

李作开1张书华1夏治国2

(1、大庆油田工程有限公司,黑龙江大庆1630002、新疆电力设计院,新疆乌鲁木齐830000)

摘要:在分析管道信息系统中访问控制的特点,以及RBAC模型不能满足现有管道信息系统需求的基础上,提出了基于角色和任务的混合访问控制模型,简化了对用户和访问权限的管理,使得管道信息系统的访问控制更加灵活多变。

关键词:管道信息系统;访问控制;角色;任务

Abstract:Pipelinedatasecurity,especiallyaccesscontrol,hasbecomeanindispensablefunctioncomponentinthepracticalapplicationofpipelinefields.However,currentapproachestoaccesscontrolaremostlybasedonRBAC(rolebasedaccesscontrol);hencetheyarenotadaptingtopipelinesystems.Inthispaper,anewaccesscontrolmechanismwhichisthecombinationoftaskandrole-basedaccesscontrolmodelispresented.Thecombinationmodelcanmeettheneedtomanageandenforcethestrongandefficientaccesscontroltechnologyinlarge-scaleenvironments.

Keywords:pipelinesystem;Accesscontrol;Role;Task

引言

伴随着管道数字化建设的快速发展和地理信息系统(GIS)技术的日新月异,以信息基础设施为基础,以多尺度、多种类的空间基础地理信息为支撑的GIS系统,按照“数字地球”的构想,充分利用高新技术,集成管道的各种信息,构筑基于GIS的管道数字化平台,为管道建设与管理提供一个科学的管理和决策支持系统、一个高效的管理工具。在目前的信息技术体系中,系统安全控制处于核心的位置,尤其在管道数字化体系中,访问控制模块是很重要的部分。

目前管道信息系统开发基本采用基于角色控制的权限管理(RBAC)[1],由用户—角色—权限三种元素组合策略,基本解决了图文一体化权限统一配置管理。但它只是一种静态权限分配机制,只是形式上的权限统一。对于与复杂的活动业务流程相关的动态权限以及和业务流转相关的动态权限流动等无法实现,仅仅依靠基于角色的访问控制模型尚不能完全满足系统需要。因此,对RBAC模型进行了改进,引入了任务的概念,提出了基于任务和角色的双重访问控制模型,使得管道信息系统的访问控制变得更加灵活。

1RBAC引入任务后的访问控制模型

1.1RBAC模型介绍

基于角色的访问控制是信息系统权限控制中最常见的访问控制模型[2-7]。基于角色的访问控制模型的基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权。RBAC从控制主体的角度出发,根据管理中相对稳定的职权和责任来划分角色,将访问权限与角色相联系。RBAC包含三个实体:用户User、角色Role和权限Privilege。用户是对数据对象进行操作的主体,可以是人、机器人和计算机等。权限是对某一数据对象可操作的权利。角色的概念源于实际工作中的职务。一个具体职务代表了在工作中处理某些事务的权利。角色管理是大型数据库管理用户的一种思想,把这个概念引入授权管理中,则角色作为中间桥梁把用户和权限联系起来。一个角色与权限管理可以看作是该角色拥有的一组权限的集合,与用户关联又可以看作是若干具有系统身份的用户的集合。基于角色的访问控制技术的核心思想是将访问权限转换成角色的权限,通过给用户分配不同的角色,达到赋予用户不同权限的目的。它需要管理员根据情况创建角色,然后把有关权限赋予给此角色,最后将该角色授予合适用户,这样用户就可以获得该用户所拥有的权限。RBAC模型如图1所示,通过用户—角色,角色—权限的关联,RBAC与直接的用户—权限关联的访问控制模型相比,简化了授权的管理,减少了授权管理工作量和复杂度。

图1RBAC模型

1.2基于任务和角色的双重访问控制模型

基于角色的访问控制模型的共同点是它们都是从系统的角度出发保护资源,其访问控制的原理可以简单地描述为如果主体对客体有访问请求,而且该主体拥有对该客体的访问权限,要么提供访问操作,否则拒绝该访问请求。它们的弱点在于都没有把操作主体执行操作时所处的环境考虑在内,这样容易造成安全隐患。RBAC中没有依赖和时序的概念,这样就难以处理存在依赖关系的访问控制。例如系统中的一个操作序列包含顺序执行的三个任务,其中任一任务失败将导致整个操作序列取消,系统恢复到第一个任务开始之前的状态。某一角色只能在第二个任务中访问某项数据,在其它时间均不能访问该数据,这样的访问控制在RBAC中是难以实现的。另外,在这些安全模型中,只要主体拥有对客体的访问权限,主体就可以无数次地使用该权限,而不能对主体所拥有的权限根据所处的环境进行动态管理。它们在进行授权时,将权限提前授予,不符合“最小特权原则”。在管道信息系统应用中采用上述访问控制模型时,往往显得力不从心,难以实现对用户和权限的动态管理。目前大多数管道系统所采用的访问控制机制是基于单个用户的,即每一个用户有一个账号和与其对应的权限;或者是简单的矩阵式管理。显然这些访问控制机制已经无法满足企业规模不断扩大的需要,即使采用RBAC模型,为了实现最小特权原则,提高系统安全性,也需要频繁地切换角色,而且难以随执行的上下文环境实现对权限的动态控制,不能实现对用户行为的时间关联约束,也不能实现控制权安全一致的传递,因此必须探寻行之有效的解决办法。

Thomas和Sandhu[8]于1997年提出了基于任务的访问控制(task-basedaccesscontrol,TBAC)。TBAC从应用和企业级的角度来考虑和解决安全访问控制问题,而非以往从系统的角度[9]。它面向任务,从任务和任务执行来建立安全模型并实现访问控制,在任务处理的过程中提供动态的权限管理。TBAC采用的是面向任务的观点,从任务执行的角度来建立安全模型,对象的访问权限随着所执行任务的上下文环境的改变而发生变化。而TBAC的缺陷在于不适合大型企业的应用,因为工作流管理系统主要是应用于大型企业的流程自动化管理,那么该系统的访问控制就会不可避免地牵涉到许多任务以及许多用户的权限分配问题,而TBAC只是简单地引入受托人集合来表示任务的执行者。这样的系统虽然达到了基于任务授权和提高安全性的目的,但是管理异常复杂另外,该模型也没有对执行任务过程所需要的操作权限的控制。

鉴于两种访问控制技术在管道系统访问控制中的不足,提出了一种基于角色和任务的双重访问控制模型,模型如图2所示。基于TBAC模型和RBAC模型,是将任务的概念引入到RBAC模型中,每个角色有一定的权限,用户通过成为某个角色而获得相应的权限,但双重模型中的角色与RBAC模型中的角色的语义不同。在RBAC模型中,用户成为某个角色后就能够随时使用该角色所拥有的权限,而在混合模型中,用户通过成为某个角色而拥有的权限在它的某个任务中激活该角色之前并不能使用,当任务无效时,角色所拥有的权限被冻结。

图2基于任务和角色的双重访问控制模型

模型的相关概念如下:

(1)用户:用户是一个可以自主访问系统中资源的主体,用户可以是人、网络中的计算机等;用USERS表示系统中的用户集合。

(2)角色:角色是组织中的工作职能的语义表达。代表了被授予角色的用户的职权和责任,用ROLES表示系统中的角色集合。

(3)任务:任务是系统执行过程中的一个逻辑单元,它由一系列授权操作组成,一个任务可以包含多个子任务,一个任务可以由一个用户完成,也可以由多个用户协作完成,它是一个可区分的动作,可能与多个角色相关,也可能包括几个子任务。

(4)权限:是具体的对某个数据对象的操作能力。

(5)操作:操作是对系统中的资源进行访问的动作,在文件系统中可能是读、写或执行,在数据库管理系统中则可能是插入、删除、添加或更新,用OPS表示系统中的操作集合。

(6)数据:是指某个活动所处理的具体数据。

2访问控制模型的实现

与一般的信息管理系统相比,管道信息系统有自己的特点。包含业务过程的管道信息系统中的访问控制与其他管道系统中的访问控制是有其明显区别的,因为业务过程定义过程中不能确定其操作的管道对象,只能在实例化的过程中得到具体的对象。此时用户对管道信息的可操作范围及权限不仅仅要考虑用户的角色及地理位置,还要考虑此项目的空间范围。因此,对管道系统,特别是包含业务过程和空间数据的管道系统的访问控制的研究显得尤为重要。作者以VisualStudio2008为开发工具,数据库为SQLServer2005,设计实现了某管道信息系统中的访问控制模块,并使用模拟数据对本文的模型进行了实验验证。

在应用访问控制模型开发系统时,一个关键问题是如何在系统中实现任务机制。只要能体现角色和任务双重模型的思想的实现就是好的实现,具体实现方法则可以灵活多变。要标识一个任务的开始,可以在系统中显式地提供一个菜单项,单击该菜单项以后就开始某个任务,也可以通过识别用户的特征操作序列识别某个任务的开始。对于新生成的任务,应该在系统中开辟新的数据区域保存其状态信息;当任务在执行过程中状态发生改变时,系统中保存的该任务的状态信息应该及时修改;当任务执行成功或者被取消时,应该修改或从系统中删除该任务的状态信息。

3结论

管道信息系统中,访问控制部分是很重要的模块。在分析管道信息系统授权需求的基础上提出了一种基于角色和任务的双重访问控制模型。该模型通过任务把角色和权限关联起来,用户通过指派的角色分配的任务获得可执行的任务,然后在执行任务的过程中获得任务所允许的对客体的操作权限,这样就保证了数据的安全性。实践表明,该模型能较好地满足当前管道信息统统访问控制需求,系统管理方便。

参考文献

[1]SandhuR,etal.Role-BasedAccessControlmodels[J].IEEEComputer,1996,29(2):38-47.

[2]何超英,蒋捷,陈军等.基于角色和任务的层次对象访问控制模型[J].武汉大学学报信息科学版,2006,8(8):716-719.

[3]曾隽芳,温大勇,杨一平.电子政务系统基于角色的权限管理研究[J].计算机工程与应用,2004,22:156-160.

[4]冯德民,王小明,赵宗涛.一种扩展角色存取控制模型[J].计算机工程与应用,2003,39(3):87-89.

[5]杨柳,危韧勇,陈传波.一种扩展型基于角色权限管理模型(E-RBAC)的研究[J].计算机工程与科学,2006,28(9):126-128.

[6]冯德民,王小明,赵宗涛.一种扩展角色存取控制模型[J].计算机工程与应用,2003,39(3):87-89.

[7]刘益和,沈昌祥.基于角色管理的安全模型[J].计算机应用研究,2007,5:119-121.

[8]ThomasRK,SandhuR.Task-basedauthenticationcontrols(TABC):Afamilyofmodelsforactiveandenterprise-orientedauthenticationmanagement.In:ProcoftheIFIPWG113Work-shoponDatabaseSecurity.London:Chapman&Hall,1997:16-18.

[9]邓集波,洪帆.基于任务的访问控制模型[J].软件学报,2003,14(1):76-82.

作者简介:李作开(1979~),男,大庆油田工程有限公司助理工程师,主要研究方向为测绘工程。张书华(1982~),女,大庆油田工程有限公司助理工程师,主要研究方向为地理信息系统。夏治国,男,新疆电力设计院助理工程师。