基于时间约束的角色访问控制研究

2010-07-07 08:47贺贝
制造业自动化 2010年9期
关键词:访问控制时态粒度

贺贝

(河南工业贸易职业学院 ,郑州 450000)

0 引言

在一些组织中,通常需要通过周期的时态检测来限制某些功能的时效。如,在一个公司内可能会聘用临时职员,公司只授予其在工作时间内获得权限,如从上午9点至下午3点,而在此之外的时间均不能获得权限。但传统的RBAC模型的访问控制弱点在于没有把操作主体执行操作时所处的环境考虑在内,且只要主体拥有对客体的访问权限,主体就可以无数次使用该权限,这样容易造成安全隐患。RBAC模型虽然实现了用户和权限的逻辑分离,并遵循“最小特权原则”,但是非授权访问并不是一种静态行为,而是动态变化的。例如,盗用问题,某一盗用者在获得账号的权限后,为达到隐蔽的目的,并不是一直使用该账号,而是间断地或偶尔使用。经典的RBAC模型没有涉及与时间有关的约束,无法控制该非法访问。因此必须引入时间约束来完善该模型。这在现实生活中也经常用时间来约束行为的有效行使期限,达到一定的安全目的。比如教师更改学生考试成绩只能在评卷给分期间操作,有效期过后则自然失效。因此,在很多类似的系统中,往往在一个安全措施上再增加时间约束,通过周期的时间检测,限制某些功能的时效。尤其是具有时间周期特征或时间规律可以用周期的角色许可与非许可来描述的访问控制方式,都可以用考虑到时间的RBAC模型来实现其角色的授权访问。

1 角色访问控制模型和时间约束的角色控制模型

1.1 RBAC模型概述

基于角色的访问控制(Role-based Access Control,RBAC)技术出现于20世纪90年代,是一种很有潜力的访问控制技术。其基本思想是:有一组用户集和角色集,在特定的环境里,某一用户被指定为一个合适的角色来访问网络资源;在另外一种环境里,这个用户又可以被指定为另一个的角色来访问另外的网络资源,每一个角色都具有其对应的权限,角色是安全控制策略的核心,可以分层,存在偏序、自反、传递、反对称等关系。同时RBAC模型中的各种元素间还可以存在各种约束关系,包含互斥角色、基数约束、先决约束、会话约束、等级约束。这些丰富灵活的特性使得RBAC模型能很好地满足大型系统对复杂权限管理的需求。

1.2 时间约束模型

基于时间约束模型(temporal role-based access control mo-del,TRBAC)的基本思想是在RBAC模型基础上通过周期的时态检测使角色处于许可和非许可状态。我们可以定义其在工作时间内的状态为角色许可状态,而在此之外的状态为非许可状态。许可与非许可角色是由时间来决定。我们称一个用户在一个会话中能够激活的角色为一个许可角色(enabledrole)。这种角色许可、非许可之间的转化是通过角色触发器(roletriggers,RT)来控制的。角色触发事件一旦产生则角色触发器可以立即执行,也可以在一个明确的说明时间内进行延迟。通过赋予许可与非许可活动的优先级,来解决许可与非许可活动的冲突。

2 访问控制模型比较关系及应用环境

我们根据模型特点将RBAC模型产生以前的访问控制模型与RBAC模型以及带有时间约束的RBAC模型的关系及应用环境描述如图1所示。在很多实际应用的系统中,往往需要在安全措施上再增加时间约束,通过周期的时间检测,来限定某些功能的时效。特别是具有时间周期特征或时间规律角色许可与非许可来描述的访问控制方式,都可以用带有时间约束的RBAC模型来实现其角色的授权访问。

图1 三类模型的关系示意图

3 设计和实现

3.1 时间约束的角色访问控制系统的总体结构

本系统分为部分构成(下图所示):访问控制服务器(access control server,ACS)、访问请求过滤器(access filter server,A F S)、用户角色及授权管理器(user and role and authorizationmanagement server,URAS)、角色触发器(role trigger,RT)等安全服务器,用户库、角色库、权限库等访问控制信息库,以及管理控制台。系统的执行流程和各部分的功能介绍如下(图中虚框内部):

1)用户申请访问安全子网的应用服务器前首,先向身份认证服务器验证自己的身份和确定角色。

2)身份认证通过后,用户以角色R向AFS提出应用服务访问请求,AFS收到请求后,取出报文中的命令,解释对应操作含义,以及执行操作所需权限,同时从报文中取出用户请求访问的资源名称。AFS把用户的角色、时态约束、资源以及访问所需的操作权限等组成的报文发送给ACS请求做出访问决策,然后根据决策结果决定是否向应用服务器提交用户的请求。如果决策结果是否定的或者角色处于非许可状态,AFS返回给用户一个“操作失败”或者“角色处于非许可”应答报文。如果决策结果是肯定的,而且当前角色处于许可状态,AFS将访问命令报文转给真正的应用服务器,并负责将服务器的执行结果返回给用户。

3)访问控制器负责基于RBAC的访问控制服务,包含各约束规则的验证。

4)角色触发器负责对时态检测,根据时态变化使角色处于许可/非许可的触发转换。

5)用户/角色库中保存管理员预先定义的角色集、每个用户所属的角色。权限库存储每个角色对可访问资源的权限,包括是否可以访问及执行访问操作。

6)角色及授权管理器与管理界面组成安全管理系统,为网络安全管理员提供一个简单的角色及其授权管理工具(图2中小虚框内)。

3.2 系统表设计

图2 访问控制系统的总体结构

前面我们构建一个访问控制系统的总体结构,下面我们针对应用给出系统表设计(以学校为例)。

3.2.1 基本表

用户要进入系统必须经过身份认证(用户账号和口令),则首先建立一张校园网应用系统用户表;一个学校包含多个部门,基于部门级别建立一张部门表;部门下面的业务级别就对应一张业务表,业务也就对应着用户的岗位职责,复合业务项应将它的各个子基本业务项写进表中;然后为校园各部门建立相应的业务角色,部门角色表完成此项功能;适应系统需求建立一张合适的权限表;接着建一张用户—角色表,将用户映射成相应的角色;再建一张角色—权限表,为各个角色分配相应的数据访问权限。

3.2.2 约束表

建立关于约束的表:角色层次关系表对应模型中的角色层次,使父角色可以继承子角色;建立角色互斥约束表,支持模型中角色互斥功能;建立功能权限互斥约束表,支持模型中动态互斥,即权限分配互斥约束。

3.2.3 时态约束表

时态约束表中主要实现角色许可装置(role enabling baser),由事件表示和角色状态表示组成。

通过这些表的设计可以初步建立基于时间约束的RBAC的总体框架。

3.3 分析

上面应用设计是一个简化的设计,实际应用中要复杂得多。而RBAC的一大优点在于面对复杂应用的灵活性和可扩展性。在针对实际应用中要结合相关的网络技术,如认证、防火墙、入侵检测、及计费策略等。毕竟我们的每一个应用都是针对某一具体的问题,需要考虑实际应用中的其他技术,因此在实际应用中并不能排斥其它技术的功能。就上面的设计讨论时间约束的具体需求的定义及时间粒度问题来说,账号用户许可时间的定义可以根据不同的岗位设置进行定义:例角色某有效为1年从2008.8.8~2009.8.8,上班时间为上午9:00~15:00,那么可以通过触发器中的设定来实现角色许可时间;至于时间的粒度问题的讨论,假定周期的定义中假定以小时为时间粒度,如改变时间粒度(例如要将时间粒度设为分钟),只需周期表达式中的日历进行定义即可。时间粒度的粗细直接影响到系统的执行效率,可视实际使用需求、系统代价、安全等级等具体情况决定时间粒度。

4 结束语

本文针对传统的角色访问控制中忽略时间条件的问题,提出了带有时间约束的角色访问控制策略,给出了具体解决方案:先给出了一个控制体系的总体结构,后叙述性地给出了系统的表设计建议和关于角色时间约束以及粒度问题的分析。

[1] Ravi Sandhu,Edward Coyne,Hal Feinstein,et al.Role-based access control models[J].IEEE Computer,1996,29(2):38-47.

[2] Ferraiolo D,Sandhu R,Gavrila S,et al.A proposed standard for role-based access control[J].ACM Transactions on Information and System Security,2001,4(3):224-274.

[3] http://csrc.nist.gov/rbac/[EB/OL].

[4] 王帅,熊小华,朱彬.网格中基于角色的访问控制模型研究[J].微计算机信息,2008,1-3:133-134.

[5] 李栋栋,谭建龙.基于本体的权限管理系统的研究与实现[J].计算机工程,2005,31(13):43-45.

猜你喜欢
访问控制时态粒度
一种跨策略域的林业资源访问控制模型设计
粉末粒度对纯Re坯显微组织与力学性能的影响
超高清的完成时态即将到来 探讨8K超高清系统构建难点
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
双粒度混合烧结矿颗粒填充床压降实验
泉州湾表层沉积物粒度特征分析
煤粒度对褐煤生物气生成的影响特征
现在进行时
易混时态辨析