带有时间约束的角色访问控制研究

时间:2022-09-19 11:25:47

带有时间约束的角色访问控制研究

【摘要】在RBAC模型中,通过引入角色层次简化了用户和授权的复杂关系,近些年来RBAC模型得到广泛应用并日趋完善,但不能进行时间约束的授权,在实际应用中比较受限,本文对RBAC访问控制模型进行时间上的扩展,来处理众多应用中普遍涉及的与时间有关的工作,给出了角色授权的时间概念和相应的时间约束,处理两种典型的带有时间约束的角色访问控制,给出了连贯和周期两种扩展模型,并详细分析了与时间有关的访问控制的关键。

【关键词】信息安全;访问控制;角色;时间约束

1.引言

随着计算机的发展,信息管理已经渗透到我们生活,在我们的办公环境中数据无处不在,数据迅速积累给我们提供便利,同时给我们的管理也带来巨大挑战,角色访问控制为用户提供了权限的解决方案。实际应用中的一部分访问并不是一种静态行为,而是动态变化的。比如:我们有一些工作需要在不同处理阶段对不同级别的用户动态的授予权限,有一些工作需要周期性的在指定的时间内被某种角色的用户完成,经典的RBAC模型没有涉及与时间有关的约束,无法控制非法访问,因此必须引入时间约束来完善该模型。本文专注解决此类问题,对RBAC模型进行时间约束上的扩展,对不同阶段的不同角色实现更安全可靠的授权管理。

本文包括以下几个方面的工作:

(1)给出角色授权的时间概念;

(2)给出带有时间约束的扩展模型RBACT;

(3)对授权过程的关键技术进行分析。

2.RBAC模型

2.1 RBAC模型简介

美国国家标准与技术研究院(NIST)在参考RBAC96模型的基础上于2000年提出NIST RBAC参考模型.NIST标准RBAC模型由4个部件模型组成[1],分别是基本模型RBAC0(core RBAC)、角色分级模型The RBAC1(hierarchal of RBAC)、角色限制模型RBAC2(constraint RBAC)和统一模型RBAC3(combines RBAC).其中RBAC0是基本核心模型,表示对支持RBAC系统的最小需求.RBAC1是在RBAC0的基础上加上了角色层次体系,反映了多级安全需求.RBAC2是在RBAC0的基础上加上了约束集合.RBAC3是RBAC1的功能和RBAC2的功能的集合,RBAC模型根据约束条件的不同有如下四个等级[2]。

2.2 RBAC的特点

(1)访问权限与角色相关联,不同的角色有不同权限。

(2)角色继承。

(3)最小权限原则,即指用户所拥有的权力不能超过他执行工作时所需的权限。

(4)职责分离。

(5)角色容量。在一个特定的时间段内,有一些角色只能由一定人数的用户占用。

RBAC支持3个著名的安全原则:最小权限原则、责任分离原则[3]和数据抽象原则.最小权限原则可以通过将角色配置成其完成任务所需要的最小的权限集而体现.责任分离原则可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现.数据抽象原则可以通过权限的抽象来体现。

2.3 RBAC中的授权约束

RBAC模型中,授权约束可以分为静态授权约束(SAC)和动态授权约束(DAC)两类。

静态授权约束(SAC):用户不能被指定给一个冲突集合中的两个或者多个角色;

动态授权约束(DAC):用户不能同时激活一个冲突角色集合中的两个或多个角色。.

3.角色授权的时间概念

在实践中有两种典型的需要时间介入的访问控制情形,一种是某一事务需要不同角色在不同阶段进行相应处理,其中伴随着授权转换和激活新的授权,处理完毕的权限收回。比如办公自动化中的请假事务,需要申请人向部门领导提出请求,超过一定时限的还需要上报主管部门,或者财务报销制度里需要报销人申请,部门领导、财务部门、主管领导审批等层级申请,每一个阶段都有时间长度的限制,相邻阶段需要动态授权,特点是该事务在不同角色的时间序列里,我们称之为连贯时间约束;还有一类是操作对象有明显的时效性,比如教师阅卷并提交成绩,超市里定期打折促销,此种情形的特点是某一种角色在一定的时间周期里会重复相同的动作,我们称之为周期时间约束。

3.1 连贯时间约束[4]

根据约束时间特征,连贯时间约束可分为激活时间范围约束、激活时间长度约束和时间范围内激活时间长度约束3类。

激活时间范围约束:规定用户、角色或者权限只能在特定时间范围内可以激活。

激活时间长度约束:规定用户、角色或者访问许可每次只可以激活不超过一个固定长度的时间范围。可用该类约束限制某些很重要的操作或权限以防因激活时间过长而被盗用并产生严重后果的可能。

时间范围内激活时间长度约束:规定用户、角色或者访问许可在一定的时间范围内的累计激活时间不超过一个规定的上限。

3.2 周期时间约束

周期时间约束[5]的基本思想是通过对周期时间P进行检测,在约束下,角色触发事件一旦产生,则角色触发器可立即执行,也可在一个明确的时间内延迟执行,通过赋予许可活动的优先级,来解决许可活动的冲突,即角色的状态变化随周期时间的变化,通过周期约束的描述增强了RBAC活动约束机制[6]。

4.带有时间特性的RBAC扩展模型:RBACT

4.1 连贯时间约束模型

如图1所示,在与时间有关的约束中,连贯时间约束中涉及到权限的动态分配,某一事务处理的过程里动态完成授权并将权限及时回收,在每一次为角色动态授权时需要检查角色-权限约束的一致性,并且该工作在权限回收时也需要进行同样的工作,理想状态下,系统的某一状态可以定期重现。具体过程为,某一用户在时间范围约束内发起请求以激活约束,系统检测该角色是否此时处于“许可”状态,如果是,将进入合法授权申请,并进入授权周期的计时,在合理时限内完成授权,判断该授权是否是最终操作,如果是结束,如果否则进入下一级别授权,连贯的时间约束模型在RBAC模型建表的基础上,需要额外做两方面的工作,第一需要在角色-权限表中增加一个为了跟踪是否处在“许可态”的字段作为标志,另外就是每次完成授权之后都要进行角色所在层次的一致性检查,以保证在该约束下的正确授权。

4.2 周期时间约束模型

周期时间约束的应用有更普遍的应用,因为该操作具有周期性,所以控制科学合理会大大提高众多用户的操作时效性,通常我们需要对用户集合进行有目的的分层并且在同层次里进行分组以提高授权过程中降低冲突的风险。

周期控制因为涉及相对较多的相同角色用户的周期性操作,所以重点工作在能在合适的时间触发对应角色进行有时限的操作,待时限期满,自动取消对应的操作权限,整个系统在某一个时间周期内处于一个新的“稳态”,如图2。

基于时间的授权撤销的基础是转授权的时限性。当系统时间超过某授权的最大时限时,系统自动地撤销被授权用户的该授权所授予的角色,基于时限的自动撤销授权方式可以采用一种时间终结的自触发过程。

5.结论

本文在目前比较通用的RBAC模型的基础上增加了时间特性,并对拥有时间特性的在RBAC模型上做了时间的扩展,分析了实际应用中很典型的两类与时间有关的授权问题,给出了两种典型的与时间有关的访问控制的解决方案,并给出了操作流程,扩展后的模型更具有实用性、安全性,大大降低了管理员的工作负担,对与有时间约束的系统来说,时效性和安全性都相当重要,需要在以后的研究中提出更加有效的模型。

参考文献

[1]Sandhu R S,Ferraiolo D F,Kuhn D R.The NIST model for role-based access control:Towards a unified standard//Proc of the 5th ACM Workshop on Role-Based Access Control.New York:ACM,2000:47-63.

[2]CHANG Yan-de.Research Progress on Role-based Access Control [J].Computer and Modernization.2011 vol.12:5-8

[3]刘佳,刘洪冰.RBAC的访问控制模型的回话优先级扩展[J].计算机应用与软件,2008,25(10):30-37.

[4]黄建,卿斯汉,温红子.带时间特性的角色访问控制[J].软件学报,2003,14(11):1944-1954.

[5]ELISA B,ANDREA B P,ELENA F.TRBAC:A temporal role-based access control m ode l[J].ACM Transactions on Information and System s Security,2000,4(3):21-30.

[6]XIA Q-i shou.RBAC delegation model research based on time[J].Journal o f Northwest University(Natural Science Edition).2008,Vol.38,No.6:932-936.

上一篇:太阳能草坪灯控制系统研究与设计 下一篇:火力发电厂直流系统接地的故障分析及处理