金光明 沈晔 袁定莲 张坤 庞琨
摘 要:基于角色的访问控制已经广泛应用于管理信息系统中,但其只能通过角色来实现用户和权限的关联,当系统有临时授权用户的需求时操作不便,且用户角色关联关系缺乏灵活性,不能随时间动态变化。本文在研究已有访问控制策略基础上,建立了用户权限直接关联关系,并提出了时间约束因子,将其引入用户角色指派与用户权限指派中,建立了带时间约束的访问控制(TRAC,Time-Restricted Access Control)模型。在档案管理系统的实际应用表明,该模型能很好的实现用户权限随时间的动态变化,提高系统访问控制策略的灵活性与可配置性。
关键词:访问控制;时间约束因子;用户权限
中图分类号:TP311.1 文献标识码:A
1 引言(Introduction)
随着数字化、网络化和开放化在人们工作和生活中的普及,信息系统得到了广泛应用,让给人们带来了快捷、便利的工作生活环境,但随之而来的多用户、多终端可以远程操作信息系统的这一问题,这对信息系统的安全防患工作构成了巨大的挑战。目前信息系统采用的安全防患措施主要有两类:系统部署安全和软件设计安全。前者如采用防火墙、隔离设备、终端接入方式等对软硬件设备进行防护,属于系统部署级别的防护;后者如采用访问控制策略、用户终端验证等方法,属于软件设计级别的防护。在具体的应用中,后者更具有灵活性与可配置性,本文从用户的访问控制角度研究信息系统的安全性。
访问控制(Access Control)指系统限制对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段,通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。传统的访问控制类型有:自主访问控制(DAC, Discretionary Access Control)和强制访问控制(MAC, Mandatory Access Control),这两种访问控制都是通过直接关联用户和操作对象直接进行关联,约束用户的权限,而随着信息系统资源结构日益复杂,终端规模日益增大,这种用户和操作对象的直接关联模式满足不了系统需求[1,2,18]。
目前广泛采用的基于角色的访问控制(RBAC,Role-Based Access Control)模型,是在用户和操作对象之间加入了角色,通过对角色的访问进行控制,使权限与角色相关联,用户通过成为适当角色的成员而得到其角色的权限[3]。这种策略能为大规模系统中多权限多用户的管理带来便利,而在实际应用中,RBAC访问控制模型存在如下不足:
(1)临时授权用户操作不便。如果系统需要临时授予某个用户某个权限,目前的RBAC模型需要先建立一个新的角色,然后将权限与新角色建立联系,最后将这个新角色赋予给该用户,这样的操作流程对需要频繁进行临时授权的信息系统而言,显然不合理。
(2)缺少权限时间约束。RBAC模型中给用户授予的角色缺少时间约束,用户与角色一旦建立关联,就永久有效,不会随时间变化,这不满足临时授权用户的角色在指定时间段内有效的需求。
本文基于已有基于角色的访问控制(RBAC)模型的不足,对RBAC进行了改进,增加了用户与权限的关联关系,并且提出了时间约束因子,将其引入到用户角色指派和用户权限指派中,使得用户角色权限具有时间动态性,从而满足临时授权用户的权限动态变化的需求。
本文的结构如下:第一节提出信息系统中访问控制策略的需求,并提出本文需要解决的问题;第二节分析了已有的RBAC及其改进模型;第三节详细阐述了本文提出的带时间约束的访问控制TRAC模型;第四节将TRAC模型在实际的档案管理系统中进行了应用;最后对全文进行总结。
2 RBAC及已有改进模型(RBAC and The Improved
Model)
2.1 RBAC模型
1992年Ferraiolo和Kuhn提出了RBAC的概念,逐渐成为当前流行的先进的安全管理控制方法。所谓角色(role)是指拥有一定权限和责任的某一特定职位。RBAC在用户和资源之间加入了角色,把对资源的使用权赋予角色,然后让用户属于某一角色,从而使用户具有角色的权限。这样,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现用户与访问权限的逻辑分离,其模型如图1所示[4-6]。
RBAC使权限管理更为简单、更容易维护,更适合网络系统和大型管理信系统(MIS, Management Information System)的使用,其特点是实现授权管理与角色的划分,职责分担以及目标分级等控制功能[15]。
图1 RBAC模型
Fig.1 The model of RBAC
2.2 RBAC改进模型
RBAC模型是访问控制的基本模型,其对访问控制的各个对象进行了定义,并给出了各对象之间的关联关系,在具体实施中,很多学者根据实际需要,对该模型进行了改进。
在RBAC模型的基础上,文献[7]引入了继承约束和时间约束,同时加入了用户多级授权,文献[14]引入了信任模型,文献[8]将访问控制的颗粒度细化到一个地理实体,这些策略都是使得访问控制的粒度更加细化,满足了模型对复杂角色关系的适应性。
文献[9]针对RBAC中角色私有权限处理方法的不足,引入公有继承方式和角色权限转换策略,保护角色的私有权限,而采用简单灵活的方式控制公有权限的继承,解决了角色继承的复杂度。
文献[10]将领域对象从系统中分离出来,在建立对象过程中采用向导方式,从而实现系统的动态可扩展功能,而扩展的系统应能实现对用户的安全访问控制。
文献[11]提出通过建立权限约束关系来支持角色之间的约束关系,定义了权限约束支持的基于角色的约束访问控制模型及增强权限模型,这种访问控制模型可以增强系统安全访问以及提供更灵活的授权机制,有效降低安全管理员的工作复杂性。
文献[12]针对Web系统中的应用,提出了一种基于角色—功能模型的用户访问控制方法,将最底层菜单中页面实现的业务功能进行划分,以业务功能作为权限配置的基本单位。这种方法在菜单及页面实现的业务功能上实施访问控制,可使Web系统用户访问控制较好地满足用户要求,有效降低Web系统开发的工作量。
综上所述,可以得出RBAC是各种访问控制改进模型的原型,学者们针对具体的业务需求,对RBAC进行了针对性的调整优化,提高管理信息系统的访问控制效率。
3 TRAC模型设计(The Design of TRAC Model)
假设系统中所有用户的集合用表示,表示系统中的单一用户,系统中角色集合为,表示系统中的单一角色,系统中所有的权限集合为,表示系统中的单个权限,具体的权限应该是操作(Operation)与对象(Object)的二元关系,操作包括增加、删除、修改、查看、下载等动作,对象包括功能模块、页面、界面元素等基本界面操作对象[1,7,15]。
定义1:时间约束因子T(Time):指一系列描述时间区域的集合,为一个时间区域,表示不考虑时间约束,即时间区域为无穷大。
定义2:带时间约束的用户角色指派(User Role Authorize Based on Time Constraint):指用户集合、角色集合和时间约束因子T的多对多关系,即。其中表示用户u、角色r及时间约束因子t的一个三元关系,即用户u在时间区域t内具有角色r的所有权限。
定义3:角色权限指派(Role Permission Authorize):指角色集合R与权限集合P之间的多对多关系,即,表示角色r与权限p之间的二元关系,即角色r具有权限p。
定义4:带时间约束的用户权限指派(Time-Based User Permission Authorize):指用户集合、权限集合和时间约束因子T的多对多关系,用表示。其中表示用户u、权限p及时间约束因子t的一个三元关系,即用户u在时间区域t内具有权限p。
定义5:用户的带时间约束权限(Time-Based Permission Authorize of User):是指经过与指派给用户的带时间约束权限的集合,是权限P与时间约束T之间的多对多关系,用表示,表示用户u拥有的待时间约束权限,包括用户u通过和指派的带时间约束权限可以有重叠。
根据以上定义,提出了带时间约束的访问控制(TBAC,Time-Based Access Control)模型,如图2所示。与图1中RBAC模型对比可知,配置流程时,TBAC模型在用户和权限之间建立了直接关联,且在用户角色指派和用户权限指派中,增加了时间约束条件。访问流程中,用户通过会话可以从用户角色指派间接获取权限,也可通过用户权限指派直接获取权限。
图2 TBAC模型
Fig.2 The model of TBAC
4 TRAC在档案管理系统中的应用(The application
of TRAC in file management system)
档案管理系统是一个典型的MIS系统,其存储的信息是一个单位的重要存档资料,不同密级档案对访问人员开放程度不同,档案的增加、删除、修改、查看、下载等都受到非常严格的管控,且具有非常明确的临时授权需求:如经过批准的访问人员,可以在指定时间段内具有访问某一类型文件的临时权限,不在指定时间段内,该访问人员的临时权限则会自动失效;此外年末是需归档文件的井喷期,大量文件需要集中归档,档案管理员需要授予新用户临时增加档案角色,帮助档案的录入,一旦档案录入时间截止,临时授权人员的角色自动失效。
针对档案管理系统中对访问控制系统的需求,以下从数据库表设计、视图设计、系统流程分别进行阐述,最后给出带时间约束的访问控制系统实例。
4.1 数据库表
根据上一节阐述的带时间约束的访问控制模型,设计以下七个数据库表:
(1)用户表(T_USER)。存储所有用户集合U,包括用户实体及其属性。
(2)权限表(T_PERMISSION)。存储系统中所有权限集合U,权限划分情况体现了系统访问控制颗粒度的大小,主要包括操作和对象两个部分,操作可以是增加、删除、修改、查看、下载等动作,对象可以是功能模块、某一类型信息、按钮等界面元素。
(3)角色表(T_ROLE)。存储系统中所有的角色集合R,包括角色实体和属性。
(4)时间约束表(T_TIME)。存储系统中所有的时间约束信息。包括时间约束名TimeName、时间约束类型TimeType、开始时间BeginTime、结束时间EndTime、生命周期LifeCycle和累计生命周期AccountTime。
其中时间约束类型分为以下三类:
a.时间段约束:表示只有在指定的开始时间BeginTime和结束时间EndTime内,该角色或功能才是活跃的,否则用户具有的该角色和功能无效。
b.生命周期约束:表示在受此约束的用户登陆后,其通过指定角色或功能进行操作的连续活跃时间不能超过生命周期LifeCycle,否则该用户将会被强制重新登录。
c.累计生命周期约束:表示受此约束的用户登录后,其通过指定角色或功能进行操作的累计活跃时间不能超过累计生命周期AccountTime,否则该用户将不具有该角色或权限。
(5)用户权限表(T_USER_PERMISSION)。存储带时间约束的用户权限指派集合,主要包括用户编码UserID、权限编码PermissionID、时间约束编码TimeID三个外键字段。
(6)用户角色表(T_USER_ROLE)。存储带时间约束的用户角色指派集合,主要包括用户编码UserID、角色编码RoleID、时间约束编码TimeID三个外键字段。
(7)角色权限表(T_ROLE_PERMISSION)。存储角色权限指派集合,主要包括角色编码RoleID、权限编码PermissionID两个外键字段。
这七个数据库表的主外键关联关系如图3所示。
图3 数据库主外键关联关系
Fig.3 The foreign key relationship of database
4.2 视图设计
考虑到用户既有与权限的直接关联关系,又有通过角色表与权限的间接关联关系,为了提高访问控制的查询效率,建立用户的带时间约束权限视图V_USER_PERMISSION_TIME,如图4所示。
图4 带时间约束权限视图
Fig.4 The view of time-restricted privilege
建立带时间约束权限视图的SQL语句如图5所示,其中union all命令将用户的直接权限集合和间接权限集合合并起来。
图5 建立带时间约束权限视图的SQL语句
Fig.5 The SQL of building time-restricted privilege view
4.3 系统流程
系统的访问控制配置及访问流程如图6所示。首先是系统访问控制的配置流程:系统管理员登录、新增用户信息、角色信息、权限信息;根据需要新增时间约束表信息;然后用户角色指派和用户权限指派,将用户具有的角色和权限与时间约束记录进行关联,也可以不指定时间约束记录,这样用户角色或用户权限关联关系将不受时间限制,永久有效;数据库视图将自动根据用户角色和用户权限关联关系的调整做出相应变化,这样系统管理员就完成了整个系统的访问控制配置。
图6 系统访问控制配置流程及访问流程
Fig.6 The process of system configuration and access
其次是系统访问控制的访问流程:普通用户使用系统管理员新增的用户信息登录系统,从用户登录到用户退出系统的整个操作过程中,进行角色功能的生命期跟踪,根据用户登录时长和系统时间,对用户的角色功能进行实时的调整跟踪,通过登录用户查询带时间约束的用户权限视图,得到登录用户当前时间的所有权限,然后允许用户进行相应的对象操作。
4.4 带时间约束的访问控制实例
假设档案管理员为用户u配置了角色r1、角色r2、权限p1和权限p2,各角色和权限的时间约束条件如表1所示。
表1 用户的角色权限时间约束实例
Tab.1 The time constraints example of user
role and permission
用户 角色 权限 约束类型 约束条件
u r1 时间段约束 8:00—10:00
u r2 生命周期约束 1小时
u p1 累计生命周期约束 3小时
u p2 null null
假设用户u在8:00登录系统,那么随着时间的变化,用户u的角色权限动态变化如图7所示,9:00以后用户的r2角色将失效,10:00以后用户的r2角色失效,11:00以后,用户将只具有p1功能也失效,且只具有p2的永久功能。
图7 用户u的角色权限随时间动态变化过程
Fig.7 The dynamic process of role and permission
with the time
通过带时间约束的访问控制系统,档案管理员可以对用户的角色和权限进行灵活的动态配置,通过灵活的时间约束因子,让用户在指定的时间具有指定的角色或权限,当用户操作时间不在指定时间内时,用户相应的角色或权限或自动失效,这样能减少了系统管理员删除用户权限的操作。
5 结论(Conclusion)
针对固定的基于角色的访问控制模型不能很好的满足临时用户使用信息系统的需求,本文在研究分析信息系统访问控制基本模型的基础上,增加了用户与功能的直接关联,并在用户权限指派和用户角色指派中加入了时间约束因子,使得信息系统的访问控制策略具有动态性,提升了访问控制策略的灵活性,使其更加贴近用户可配置的应用需求。在今后的工作中,将深入研究组合角色定义的理论和方法,并增加用户所在终端约束条件,进一步提高系统的访问控制效率。
参考文献(References)
[1] 沈海波,洪帆.访问控制模型研究综述[J].计算机应用研究,2005,6(3):9-11.
[2] Jin X,Krishnan R, Sandhu R. A unified attribute-based access control model covering DAC, MAC and RBAC[M]//Data and pplications security and privacy XXVI. Springer Berlin Heidelberg,2012:41-55.
[3] Gupta A,Kirkpatrick M S,Bertino E.A formal proximity modelfor RBAC systems[J].Computers & Security,2014,41:52-67.
[4] Qingwei J,Changyun L,Zhengwei Z,et al.Study on Unified Authorization System Based on the RBAC and Web Service[J].Journal of Hunan University of Technology,2012,4:019.
[5] Strembeck M,Mendling J.Modeling process-related RBAC models with extended UML activity models[J].Information andSoftware Technology,2011,53(5):456-483.
[6] Coyne E,Weil T R. ABAC and RBAC: Scalable,Flexible,and Auditable Access Management[J].IT Professional,2013,15(3):0014-16.
[7] 徐日佳,赵敬中.一种改进的 RBAC 模型的研究与应用[J].微机发展,2005,15(8):95-97.
[8] 张妍,陈驰,冯登国.空间矢量数据细粒度强制查询访问控制模型及其高效实现[J].软件学报,2011,22(8):1872-1883.
[9] 顾春华,肖宝亮.RBAC 模型层次关系中的角色权限[J].华东理工大学学报:自然科学版,2007,33(1):96-99.
[10] 周锦程,张佳强,冷文浩.可扩展系统中基于RBAC模型的访问控制[J].计算机工程,2009,35(14):145-147.
[11] 韩伟力,等.权限约束支持的基于角色的约束访问控制模型与实现[J].计算机辅助设计与图形学学报,2002,14(4):333-338.
[12] 庞希愚,王成,仝春玲.基于角色-功能的Web应用系统访问控制方法[J].计算机工程,2014,40(5):144-148.
[13] 夏启寿,殷晓玲,王汝传.RBAC 中基于信任的细粒度访问控制研究[J].计算机工程与应用,2012,48(21):75-78.
[14] 潘海雷,吴晓平,廖巍.XML文档的细粒度强制访问控制研究[J].计算机工程,2013,38(20):105-108.
[15] Schefer-Wenzl S,Strembeck M.Modeling context-awareRBAC models for business processes in ubiquitous computing environments[C]//Mobile,Ubiquitous,and Intelligent Computing (MUSIC),2012 Third FTRA International Conference on.IEEE,2012:126-131.
[16] 吴新松,等.一个环境适应的基于角色的访问控制模型[J].计算机研究与发展,2011,48(6):983-990.
[17] 郭银章,等.基于 TRBAC 混合模型的协同设计过程动态访 问控制[J].计算机集成制造系统,2012,2:261-268.
[18] 李欣.VDP 系统用户角色与权限设计[J].软件工程师,2013(11):55-57.
[19] 刘小园.访问控制列表在网络优化中的应用[J].软件工程师,2014(6): 29-30.
作者简介:
金光明(1962-),男,硕士,高级工程师.研究领域:软件开发,信息安全.
沈 晔(1985-),男,硕士,助理工程师.研究领域:信息安全.
袁定莲(1990-),女,硕士生.研究领域:访问控制.
张 坤(1990-),男,硕士生.研究领域:访问控制.
庞 琨(1980-),男,硕士生.研究领域:数据安全.