基于RBAC扩展的权限模型在用电信息采集系统中的应用
2017-04-13李蚌蚌
李蚌蚌
(西安工程大学 计算机科学学院,陕西 西安 710048)
基于RBAC扩展的权限模型在用电信息采集系统中的应用
李蚌蚌
(西安工程大学 计算机科学学院,陕西 西安 710048)
传统的RBAC(Role-Based Access Control - 基于角色的访问控制)模型在权限分配管理方面无法满足用电信息采集系统区域限制要求。结合用电信息采集系统限制性因素,提出一种改进扩展的RBAC模型。该模型摒弃了传统RBAC模型中以角色、用户二元组作为唯一标识权限的方式,调整为以区域、角色、用户三元组作为权限唯一标识,解决了区域限制问题;引入审计机制,记录用户操作,便于后期审计工作。实际应用表明,改进后的模型可以满足用电信息采集系统权限管理要求。
用电信息采集系统;扩展RBAC模型;区域限制
0 引言
用电信息采集系统是国家智能电网的重要组成部分,系统安全很重要[1-2]。必须设计一套高效、安全的访问控制模型,以保障系统使用安全。访问控制作为国际化标准组织定义的五项标准安全服务之一,是实现信息系统安全的重要机制。传统的访问控制有自主访问控制(DAC)[3]、强制访问控制(MAC)[4]、基于角色的访问控制[5]。自主访问控制、强制访问控制虽然解决了一些问题,但都存在一些缺陷。如DAC在安全性能方面显得力不从心,MAC在安全性能方面较好,但控制过于死板和严苛,不适用于通用大型系统。基于角色的访问控制依据角色决定访问权限,依据角色的权限来拒绝越权访问,相比MAC、DAC更加灵活和易于扩展,是大多数系统安全策略首选。但在用户数量多、用户变化频繁的OA系统中,管理员职责重大。有学者在传统RBAC模型基础上引入了用户组概念[6]。在某些需要协同工作的系统中,用户的权限是动态变化的,为了解决更加细粒度的权限控制,有学者提出了基于角色和规则的访问控制[7]和基于属性证书的访问控制[8],使权限控制更加灵活。然而,因为存在地域管理限制,用电信息采集系统中角色和地域直接关联,例如隶属站点Z1的用户不能管理站点Z2的设备。传统的 RBAC模型只有角色、用户二元组,无法确定某一用户的具体权限,并且没有审计功能,当系统出现安全问题时无法追踪定位用户以及操作。针对上述问题,本文在RBAC基础上结合用电信息采集系统实际需求,设计了一种改进的RBAC模型。该模型引入了区域概念,使得区域、角色、用户这个三元组可以唯一确定某一用户的具体权限,并引入审计功能,以满足系统的安全需求。
1 RBAC模型
RBAC模型是一种把权限(Permission)与角色(Role)关联在一起的控制模型,用户根据其隶属的角色而成为该角色成员,从而获得该角色所拥有的权限。RBAC模型分为4种类型,见表1。
表1 RBAC类型
RBAC96是一个完全融合以上4种RBAC思想的模型,如图1所示。RBAC模型共有用户、角色、权限、会话、约束5大组成部分,其中用户、角色、权限是核心,角色是用户和权限之间建立关系的连接者,用户通过角色关联权限,使用户实体具有某种许可才能执行某些操作。约束依附于RBAC系统核心之上,用来表达许可被执行的前提条件;会话是一个动态概念,用户在身份认证之后与系统建立会话。
图1 RBAC96模型
2 用电信息采集系统
用电信息采集系统通过对配电网中变压器和终端用户的用电数据进行采集和分析,实现用电信息的自动采集、计量异常监测、电能质量监测、用电分析和管理、智能电力计量设备状态评价、用电信息发布等功能,增加用电系统的信息化、集约化以及管理方式的精细化。系统采用J2EE体系,使用JAVA+JSP+Struts2+Spring+Hibernate+MySQL经典组合方式实现,由基础信息、故障告警、采集数据、在线监测和状态评价5大部分组成,权限管理归属于基础信息管理模块之下,系统功能架构如图2所示。
图2 扩展后RBAC模型架构
用电信息采集系统模块较多、各模块具体操作权限分类也较复杂,系统角色分为站点级、市级、省级,站点级只能管理其辖属的站点内资源。
3 改进的RBAC
3.1 原RBAC模型缺陷
尽管RBAC模型有众多优点,但是应用到具有分布式管理的信息系统时,可能会出现以下缺陷:
(1) 角色、用户二元组无法唯一,因为存在区域限制,没有把区域考虑到权限管理中。
(2) 未对系统用户和非法用户行为进行记录和审查,导致发生系统安全事故时,无法快速定位责任。
针对传统RBAC模型在用电信息采集系统应用中的缺陷,本文对传统RBAC模型进行了改进优化,提出了改进的RBAC模型,如图3所示。
图3 改进的RBAC模型
3.2 区域限制
用电信息采集系统是分布式部署和分布式管理,同一层级的角色操作权限是一样的,但可操作的资源对象不同,而资源对象具有地域位置信息,所以角色能操作的资源需要根据各自角色所归属的区域决定。据此,引入区域限制概念,在角色管理上增加区域字段,用以标识不同角色所归属的地域。
3.3 审计功能
审计是独立于用户的常规业务操作,对系统用户行为起监督和评价职能,记录用户的业务访问和业务操作流程,对用户操作进行追踪。如果出现越限和尝试越限操作,将详细记录轨迹,以便进行审查时提供详细资料。在改进的RBAC模型中,审计功能作为一个独立模块由专人使用,常规用户包括管理员是无权查看和操作该模块的,这样就增加了记录的安全性和可靠性。有了审计模块,入侵者虽然也可以获得管理员权限,但他的操作会全程记录下来,留下入侵证据,为后续事故处理和责任追寻提供参考。
4 实现
用电信息采集系统用户及权限信息均保存在系统数据库的8张表中,分别是用户表、角色表、区域表、用户与角色关联表、权限表、菜单模块组表、日常日志审计表、非法日志审计表,各表详细设计及关系如图4所示。
5 改进后的功能结构
改进的RBAC模型系统分为用户管理、角色管理、区域管理、权限管理、审计管理及访问控制菜单,本文从用户登录及角色职责两方面对该结构进行说明:
(1) 用户登陆:系统根据用户输入的用户名登录口令进行身份验证,如果通过身份认证,则允许用户进入系统访问,并为该用户建立会话,保存用户相关的上下文信息。主模块会根据用户的角色和区域调用权限获取接口,从系统数据库中获取用户权限,根据权限的不同进行组合,并将组合后的权限加载到系统中,用户可在权限范围内操作。可操作的资源对象会根据当前用户所拥有的角色辖属区域进行资源过滤,用户只能管理自己对应辖属的资源。
图4 权限管理模块数据库表实体关系
(2) 角色职责:系统中的角色根据类别分为省级角色、市级角色、站点级角色,其中省级角色有一个初始默认记录为superadmin,市级角色默认记录为admin,各角色对应的详细功能如表2所示,各角色对应的用户权限如表3所示。
表2 角色类别及权限
6 结语
本文针对传统RBAC面对分布式部署和管理的不足,提出了改进的RBAC模型,着重优化了传统模型中角色、用户二元组无法作为用户权限唯一标识的缺陷,使得区域、角色、用户三元组为权限管理提供唯一标识,满足了RBAC模型在用电信息采集系统中的功能和安全需求。通过审计日志模块,对使用者的操作进行详细跟踪和记录。改进的RBAC模型在增加审计模块后,增强了系统安全性。
表3 角色分类权限
[1] 郜盼盼.智能电网系统中面向用电信息安全防护的认证加密系统研究[D].北京:北京邮电大学,2013.
[2] 陈飞.智能电网信息安全交互模型及关键技术研究[D].北京:华北电力大学,2014.
[3] 沈海波,洪帆.访问控制模型研究综述[J].计算机应用研究,2005(6):9-11.
[4] 郭玮,茅兵,谢立.强制访问控制MAC的设计及实现[J].计算机应用与软件,2004(3):1-2.
[5] 刘强,王磊,何琳.RBAC模型研究历程中的系列问题分析[J].计算机科学,2012(11):13-18.
[6] 安沛,王春玲.企业OA系统安全机制的研究与应用[J].西安工程大学学报, 2015(1):78-83.
[7] 芮国荣,邢桂芬.基于角色和规则的访问控制[J].计算机应用,2005(4):864-866.
[8] 张可翔,谢冬青,冷健.一种基于属性证书和角色的访问控制模型[J].微电子学与计算机,2006(11):143-145.
[9] 唐金鹏,李玲琳,杨路明.面向用户属性的RBAC模型[J].计算机工程与设计,2010,31(31):2184-2186.
[10] 徐博,郭淑琴,陆敏飞.一种基于扩展RBAC的访问控制模型在SSL VPN系统中的应用[J].浙江工业大学学报,2011,39(2):177-180.
[11] 张靖康,石宇良,王海豹.扩展的RBAC权限管理模型的设计与研究[J].电子设计工程,2013,2(13):50-53.
[12] 张伟.基于角色的讯问控制模型的研究与应用[D].青岛:青岛理工大学, 2012.
[13] 张晓群.基于Eclipse插件技术的RBAC模型的研究与实现[D].西安:西安建筑科技大学,2007.
[14] 林琳.基于RBAC扩展模型的权限管理系统的设计与实现[D].成都:电子科技大学,2009.
(责任编辑:杜能钢)
李蚌蚌(1991-),男,安徽亳州人,西安工程大学计算机科学学院硕士研究生,研究方向为信息安全、网络信息处理。
10.11907/rjdk.162631
TP319
A
1672-7800(2017)003-0115-03