访问控制模型的改进研究及应用

时间:2022-09-30 09:10:13

访问控制模型的改进研究及应用

摘要:传统的基于角色访问控制模型无审计功能,易造成权限的滥用。本文提出了一种可审计的控制访问模型RBAC-a,进行了较详细的可行性和实用性分析,并结合一个实际项目阐述了RBAC-a的具体应用。最后在对论文进行总结的基础上,提出了访问控制未来可能的发展方向。

关键词:访问控制;安全审计;信息安全

中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011) 16-0000-02

Improvement Research and Application on Access Control Model

Duan Pengsong1,Zhang Han2

(1.Software School,Zhengzhou University,Zhengzhou450003,China;2. Software School,Zhengzhou University,Zhengzhou450003,China)

Abstract:This paper presents a new access control,Auditable Role-Based Access Control Model(RBAC-a),to improve the traditional RBAC.The feasibility and practicability of RBAC-a are also analyzed and the application of RBAC-a based on a business project is presented in this paper.Finally,the paper points out the possible direction of the access control from author’s viewpoint.

Keywords:Access control;Security audit;Information security

一、概述

(一)访问控制概念

访问控制是通过对数据、程序读出、写入、修改、删除和执行等的管理,确保主体对客体的访问是授权的,并拒绝非授权的访问,以保证信息的机密性、完整性和可用性[1]。基于角色的访问控制模型(Role-based Access Model),基本设计思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权限,优势是更加灵活,安全性也基本得到保障,缺点是管理员和用户的操作无约束,不可审计。

(二)安全审计

安全审计是对访问控制的必要补充,是访问控制的一个重要内容。通过借助适当的工具和规程,审计跟踪可以发现违反安全策略的活动、影响运行效率的问题以及程序中的错误。审计跟踪可以实现多种安全相关目标,包括个人职能(individual accountability)、事件重建(reconstruction of events)、入侵检测(intrusion detection)和故障分析(problem analysis)[2]。

二、RBAC模型及定义

RBAC由于其和实际应用比较一致的特点,成为当前访问控制领域研究的热点,应用越来越多。RBAC0定义了能构成一个RBAC控制系统的最小的元素集合,其模型如图1所示。

图1:RBAC0模型

三、RBAC的改进模型:RBAC-a

(一)传统RBAC的不足

RBAC存在着一些缺点,其中较大一个缺点就是授权用户的操作没有限制。比如系统管理员的权限过大,登录系统后可以在自己权限范围内无限制地做任何事情。可以看出,这个问题的根本原因是系统没有一种有效的机制对用户实行限制。

(二)RBAC-a模型的提出

针对RBAC的这个缺点,经过认真的分析和比较,并结合安全审计的功能,笔者提出了基于审计系统的RBAC―RBAC-a,其中a代表audit。RBAC-a核心思想就是把RBAC模型和审计系统结合起来,使真个信息系统的设计更趋于合理化。

RBAC-a的模型定义:

1.U、R、P、S以及a(用户、角色、权限、会话和审计)

2.PA P×R,PA是权限到角色的多对多关系;

3.UA1U×R,UA1是用户到角色的多对多关系;

4.UA2U×a,UA2是用户到审计的多对一关系

5.roles(Si){r|(user(Si),r)∈UA}。

User:SU,将各个会话映射到一个用户的函数user(Si)。

Roles:S2R,将各个会话Si与一个角色集合连接起来的映射,可以随时间变化而变化,且会话Si授权UR∈roles(Si){P|(P,R)∈PA}。

该模型的示意图如下:

图2:基于审计系统的RBAC模型

从图中可以看出,审计系统和RBAC可以看成是信息系统中并行的两个子系统。审计子系统由专门的审计人员来管理,其他人员没有操作的权限。同样,审计人员也没有操作RBAC系统的权限。用户(包括系统管理员)对系统的每一笔操作都会被记录下来。这样一来,用户(包括系统管理员)就不会在自己的权限范围内对系统进行不当操作,因为操作任何一步都会被系统记录在案,都是有帐可查的。如果是真的出了问题,也可以通过审计人员查看审计日志来确定到底是谁的过错,该追究谁的责任。通过两个子系统的共同合作,紧密配合,使信息系统的访问控制功能趋于合理和完善。

(三)RBAC-a模型的设计及应用

以下以笔者参与开发的一个信息管理系统为例,说明RBAC-a模型的应用。在这个信息系统中,RBAC-a的功能是由RBAC子系统和审计子系统两个子系统共同实现的。该信息管理系统的顶层活动图如下:

图3:应用RBAC-a模型的信息系统的顶层活动图

RBAC-a的实现用到数据表共有七个:用户表,角色表,权限表,用户角色表,用户权限表,角色权限表,事件表。其中前六个表是为了实现RBAC的基本功能,最后一个表是用于审计子系统。由于表的数目较多,不能一一列举,下面仅列出权限表的数据库设计:

表1:权限表--TBPermission

名称 注释

PERMISSIONID 权限ID

PERMISSIONFATHERID 父节点ID

PERMISSIONNODENAME 节点名称

PERMISSIONSNUM 权限序号

PERMISSIONLINKADDRESS 链接地址

PERMISSIONDESCRIPTION 权限描述

ISMENU 是否为菜单

EVENTDESCRIPTION 操作事件描述

(四)审计人员登陆审计系统后界面截图

审计人员可以通过登陆审计系统来对用户的操作进行审计。其登陆后的界面如下(由于目前该项目已商用,所以用的数据是开发阶段的测试数据):

图4:登陆审计系统后界面

统计证明,网络安全的一大部分原因都是来自于系统内部人员无意和有意操作。RBAC-a的审计作用不仅可以在一定程度上预防此类隐患,而且和现实生活中企业的管理模式一致,可以有效提高管理效率,使企业在推行信息化的道路上安全可以得到保障。

四、结束语

虽然RBAC-a可以在一定程度上提高系统的安全性和稳定性,但毕竟是被动的防御手段。如果能够变被动防御为主动防御,那么系统的安全性又会上一个新台阶。RBAC-a的进一步改进之处就是添加即时监控的功能,就是在危险情况即将发生时就给操作者警告,而不是事后再追究责任[4-5]。

参考文献:

[1]陈爱民,于康友等.计算机的安全与保密[M].北京:电子工业出版社,1992,29-122

[2]罗钰,何连跃.Kylin安全审计子系统的研究和实现[J].计算机工程与科学,2007,Vol29,No.3P.30-32

[3]林磊,骆建彬等.管理信息系统中基于角色的权限控制[J].计算机应用,2002,19(6):82-84

[4]David Ferraiolo,Richard Kuhn.Role-Based Access Control.the 15th National Computer security Conference,1992.

[5]孔钦东等.网络信息内容审计[M].电子工业出版社,2010

上一篇:数据挖掘在实验教学质量评价中的应用 下一篇:炼钢厂提高转炉煤气回收效率的技术措施