摘要:访问控制是为了提高效益,增强竞争力,保障信息管理系统的安全而产生的一种信息安全技术。基于任务的访问控制模型(TBAC)是从应用的角度来解决安全问题,是基于主动式安全模型,以面向任务的观点来建立安全模型和实现安全机制,在任务处理的过程中提供动态实时的安全管理。将这种技术利用于高校数字图书馆可以有效的提高系统的效率,实现灵活的授权机制。
关键词:访问控制技术;TBAC;工作流;动态权限管理
伴随着数据库、网络和分布式计算的发展,组织任务进一步自动化,与服务相关的信息进一步计算机化,这促使人们将安全问题方面的注意力从独立的计算机系统中静态的主体和客体保护,转移到随着任务的执行而进行动态授权的保护上。
l TBAC的出现
传统的访问控制技术模型主要有三种,即自主访问控制模型(DAC),强制访问控制模型(MAC)和基于角色的访问控制模型(RBAC)。而传统的访问控制模型都是从系统的角度出发去保护资源(控制环境是静态的),在进行权限的控制时没有考虑执行的上下文环境。此外,传统的访问控制模型不能记录主体对客体权限的使用,权限没有时间限制,只要主体拥有对客体的访问权限,主体就可以无数次地执行该权限。
考虑到上述原因,引入工作流的概念加以阐述。工作流是为完成某一目标而由多个相关的任务(活动)构成的业务流程。工作流所关注的问题是处理过程的自动化,对人和其他资源进行协调管理,从而完成某项工作。当数据在工作流中流动时,执行操作的用户在改变,用户的权限也在改变,这与数据处理的上下文环境相关。传统的DAC(自主访问控制模型)和MAC(强制访问控制模型)访问控制技术,则无法予以实现,而RBAC(基于角色的控制模型)如今在数字图书馆中应用很多,效果也很不错,但该模型需要频繁地更换角色,且不适合工作流程的运转。这就迫使我们必须考虑新的模型机制,也就是在基于角色的基础上发展基于任务的访问控制模型。
2 TBAC的基本概念
不同于传统的访问控制模型,TBAC(基于任务的访问控制模型,Task—Based Access Control)倾向于基于应用层的控制,而且是基于主动式安全模型,以面向任务的观点,从任务(活动)的角度来建立安全模型和实现安全机制,在任务处理的过程中提供动态实时的安全管理。
在TBAC中,对象的访问权限控制并不是静止不变的,而是随着执行任务的上下文环境发生变化。这种控制模型,更多的从活动或任务的角度看待安全和实施的控制问题,它抽象出了一种控制机制,用于任务运行期间的管理。其同时也抽象出任务之间的一些访问/授权关联关系。TBAC首要考虑的是在工作流的环境中对信息的保护问题:在工作流环境中,数据的处理与上一次的处理相关联,相应的访问控制也如此,因而TBAC是一种上下文相关的访问控制模型。其次,TBAC不仅能对不同工作流实行不同的访问控制策略,而且还能对同一工作流的不同任务实例实行不同的访问控制策略。从这个意义上说,TBAC是基于任务的,这也表明,TBAC是一种基于实例(instance-based)的访问控制模型。
3 TBAC的构成
TBAC模型由工作流、授权结构体、受托人集、许可集四部分组成。
任务(task)是工作流程中的一个逻辑单元,是一个可区分的动作,与多个用户相关,也可能包括几个子任务。授权结构体是任务在计算机中进行控制的一个实例。任务中的子任务,对应于授权结构体中的授权步。
授权结构体(authorization unit):是由一个或多个授权步组成的结构体,它们在逻辑上是联系在一起的。授权结构体分为一般授权结构体和原子授权结构体。一般授权结构体内的授权步依次执行,原子授权结构体内部的每个授权步紧密联系,其中任何—个授权步失败都会导致整个结构体的失败。授权步(authorization step)表示一个原始授权处理步,是指在一个工作流程中对处理对象的一次处理过程。授权步是访问控制所能控制的最小单元,由受托人集(trustee-set)和多个许可集(peilnissions set)组成。
受托人集是可被授予执行授权步的用户的集合,许可集则是受托集的成员被授予授权步时拥有的访问许可。当授权步初始化以后,一个来自受托人集中的成员将被授予授权步,我们称这个受托人为授权步的执行委托者,该受托人执行授权步过程中所需许可的集合称为执行者许可集。授权步之间或授权结构体之间的相互关系称为依赖(dependen—cy),依赖反映了基于任务的访问控制的原则。授权步的状态变化一般自我管理,依据执行的条件而自动变迁状态,但有时也可以由管理员进行调配。
一个工作流的业务流程由多个任务构成。而一个任务对应于一个授权结构体,每个授权结构体由特定的授权步组成。授权结构体之间以及授权步之间通过依赖关系联系在一起。在TBAC中,一个授权步的处理可以决定后续授权步对处理对象的操作许可,上述许可集合称为激活许可集。执行者许可集和激活许可集一起称为授权步的保护态。
4 高校图书馆TBAC的设计
随着计算机技术、通信技术和网络技术的迅速发展,图书馆信息管理系统逐步发展起来,现在大多数高校已经采用了先进的计算机及网络技术来实现“数字图书馆”的功能,这就使的系统对访问控制有了较高的要求,这里采用基于任务的访问控制模型来简单设计一下高校图书馆的访问控制体系。
先将TBAC模型用五元组(S,O,P,L,AS)来表示,其中S表示主体,O表示客体,P表示许可,L表示生命期(1ifecy—cle),AS表示授权步。由于任务都是有时效性的,所以在基于任务的访问控制中,用户对于授予他的权限的使用也是有时效性的。因此,若P是授权步AS所激活的权限,那么L则是授权步AS的存活期限。在授权步AS被激活之前,它的保护态是无效的,其中包含的许可不可使用。当授权步AS被触发时,它的委托执行者开始拥有执行者许可集中的权限,同时它的生命期开始倒记时。在生命期期间,五元组(S,O,P,L,AS)有效。生命期终止时,五元组(S,0,P,L,AS)无效,委托执行者所拥有的权限被回收。
假设图书馆有教授阅览者、副教授阅览者、讲师阅览者、学生阅览者四个主体,则客体集合为0={O1、O2、O3、O4},Ol~O4分别表示教授阅览室、副教授阅览室、讲师阅览室、学生阅览室四个客体。
四类主体的操作可由归为两种:阅读、借阅。由此可以得到许可集P为(见表1)。
现假设某讲师去图书馆执行以下操作:借阅并阅读讲师阅览室资料,借阅学生阅览室资料,借阅副教授阅览室资料,阅读教授阅览室资料。其所需权限可分别表示为P12、P21、P22、P32、P41。
如果仅采用基于角色的访问控制技术,该讲师需要变化三个角色来实现以上操作。而采用基于任务的访问控制模型后,该讲师可首先以讲师的角色登陆系统,AS激活,从而拥有阅读(P21)、借阅(P22)讲师阅览室资料的权限,权限时限L为退出系统为止。在不更换角色的条件下,可以直接进入低级别的学生阅览室,激活该AS,拥有借阅(P12)和阅读权限,权限时限L为退出学生阅览室为止。不更换角色的条件下,在拥有副教授专属密钥(为每一名副教授分配的阅览室通行密码)的前提下进入较高级别的副教授阅览室,激活AS,拥有借阅(P32)的权限,权限时限L为退出副教授阅览室为止。还可在拥有专属教授密钥(为每一名教授分配的阅览室通行密码)的基础上进入高级别的教授阅览室,进入后,激活AS,拥有教授的权利,阅读(P41)该阅览室的资料,权限时限L为退出教授阅览室为止。
TBAC的访问政策及其内部组件关系一般由系统管理员直接配置。通过授权步的动态权限管理,TBAC支持最小特权原则和最小泄漏原则,在执行任务时只给用户分配所需的权限,未执行任务或任务终止后用户不再拥有所分配的权限;而且在执行任务过程中,当某一权限不再使用时,授权步自动将该权限回收;另外,对于重要的任务需要不同的用户执行,这可通过授权步之间的分权依赖实现。
5 结束语
通过以上访问控制体系可以看出,TBAC从工作流中的任务角度建模,可以依据任务和任务状态的不同,对权限进行动态管理。因此,TBAC非常适合分布式计算和多点访问控制的图书馆管理系统,TBAC可以把实际应用中的工作流和访问控制所需的各种关系整体地结合在一起,可以清晰地表达复杂工作流的控制机制。从现有国内外经验来看,如果能将TBAC与RBAC两种访问机制相互结合的应用于高校图书馆,访问控制将可以得到更好的效果。