时间: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