基于RBAC改进模型的电力系统数据安全设计


(1.中国水电顾问集团北京勘测设计院 100024 2.华北电力大学电气工程学院 102206)
摘 要 根据电力企业的特点,系统分析信息共享与数据安全的重要性,在解决以往权限模型存在的缺陷和不足的同时,提出基于RBAC(Role Based Access Control)改进模型的权限管理系统设计方案。该方案提出了静态责任区控制、动态责任区控制和运行参数的概念,对于保证模块级数据安全性、记录级数据安全性和变电站级数据辨识提供可行、可靠、高效的技术支撑,并从实用性角度详细分析该方案在三层C/S结构下的实现方法。
关键词 数据安全 RBAC 责任区
1 引言
随着经济的不断发展和Internet技术的进步,基于Internet的跨地区、全行业、电力内部网开始逐步完善。网上应用着各种业务、生产及办公系统,大量的重要数据开始通过网络实现共享与整合。数据是整个信息系统的支柱,也是电力企业最宝贵的资源与财富,其安全性具有极为重要的意义。
2 需求分析
基于角色的访问控制是近年来安全访问控制领域的研究热点。以往的权限模型中私有角色概念具有局限性,影响了其在大型角色-权限关系中的应用。RBAC最显著的特点之一就是由于用户相对变化较多,角色相对变化较少的实际情况,使角色关系具有相对稳定性和易维护性。然而私有角色的处理手法却损害了该特点的体现,在以下几个方面表现得尤为明显:
(1)私有权限问题 有些权限仅仅属于某角色自身,而不能被其他角色所执行。按照以往RBAC模型,处理私有权限问题的方法是为当前角色增设一个私有角色,这几乎使角色数量增加一倍。
(2) 部门权限问题 部门内部权限是不应被上级部门所执行的。如果用以往RBAC私有角色的方法解决该问题将使角色层次关系变得异常复杂。
(3)权限属性变化问题权限属性不是一成不变的,用RBAC私有角色的方法,只有对角色层次关系进行结构上的调整才能完成该类变化,这就使问题变得更复杂。
作者针对RBAC模型的不足,放弃私有角色思路,提出了责任区控制和运行参数控制的概念,利用责任区控制和运行参数的设置来满足某用户的私有权限问题,以达到为此用户设置唯有他可执行的权限,而不必再为他设置私有角色。
鉴于电力企业多学科、多任务、多角色、多环节的复杂管理模式,对一些重要的数据和涉及生产事故、设备故障等需要定位责任和找出问题原因的信息要做到落实到具体人、具体时间和具体的操作步骤,以保证整个工作流程可观、可控、在控。具体要求如下:①管理方式灵活有效。②权限管理性质细分。③数据范围明确。④数据责任认定清晰。⑤严谨完善的权限转移体制。
3 模型分析
假设用U表示用户集合,R表示角色集合,P表示权限集合,u表示某个用户,r表示某个角色,p表示某个权限。角色的权限分为三类:私有权限、公有权限和特征权限。


角色继承方式一般有四种:一般继承、私有化继承、公有化继承和无特征继承。


4 解决方案
4.1 采用三层C/S结构实现
三层C/S结构将表示层、应用逻辑层、数据服务层明确地进行分割,使其在逻辑上各自独立,并且单独加以实现。与两层C/S结构相比,其应用逻辑层被明确地划分出来。
(1)客户端负责与用户交互,并把用户请求通过调用中间层组件传递给应用逻辑层。

 

(2)应用服务器执行具体的事务逻辑,并负责数据访问验证、数据范围验证以及维护数据完整性和一致性。
(3)数据库服务器负责数据的存取和管理。
4.2 核心模型设计
本系统采用对用户功能授权+静态责任区控制+动态责任区控制的实现方案。可保证每一用户的数据安全。

 

PRMS(Permission):许可。代表某种不可再细化的权限,表示对客体资源的操作许可。
Source、Operate、Domain(Permission Element):许可元素。定义许可的内容和性质等。Source是指角色可用资源;Operate完成资源类别和访问策略之间的绑定;Domain控制角色可执行的资源(数据)范围。
Role:角色。权限分配的单位与载体,代表某类业务的范畴。通过继承关系支持分级权限实现。
PA(Permission Assignment):许可分配。即将若干许可分配给某个角色的过程。
User:用户。是权限的拥有者或主体。用户和权限分离,通过授权管理进行绑定。
UA(User Assignment):用户授权。即将若干个角色分配给某个用户的过程。
Session:会话。对应于一个用户和一组激活的角色,表征用户进行角色激活的过程。一个用户可以进行几次会话,在每次会话中激活不同的角色,这样用户也将具有不同的访问权限。用户必须通过会话才能激活角色。
SCDE(Static Control of Duty Extent):静态责任区控制。SCDE是指将约束定义在用户指派阶段,与会话及角色激活无关。比如在电力生产管理信息系统中,用户和角色对于功能模块的可执行权限和可管理权限属于静态责任区控制的范围,即用户对没有赋予他权限的功能模块相关数据的安全性不负有责任。
DCDE(Dynamic Control of Duty Extent):动态责任区控制。DCDE是指将约束定义在角色激活阶段,作用域在会话内部。在本系统中的所有功能模块和数据记录都应用了DCDE的概念,即某特定登录用户对赋予他权限的功能模块中的所有数据记录都要负起责任,包块数据的编辑、审核、上报和回退等功能的实施。
PH(PRMS Hierarchy):许可组合。即具有某类相同性质的PRMS的组合。该组合一般代表一定的功能。组成PH时必须实现SCDE。
RH(Role Hierarchy):角色组合。一般代表某几项业务的权限。
UH(User Hierarchy):用户组合。一般和应用程序用户的岗位有关。
UAgt(User Agent):用户代理。即在一定的策略下,用户A授权给用户B,让B代替A行使A的权限,该过程必须实现DCDE。
RP(Run Parameter):运行参数。针对电力系统的特点,在实现SCDE保证模块级数据安全和实现DCDE保证记录级数据安全性的同时,引入运行参数的概念来控制被授权用户所能控制的具体变电站的相关数据信息。
RPA(Run Parameter Assignment):运行参数分配。通过授权过程可以为具体用户提供个性化运行参数配置服务,以进一步控制用户所访问的数据范围。
4.3 资源控制机制
资源(被访问的对象)有一定归属问题。比如A变电站值班员a添加的设备台账信息只可由a修改,A站的值班长aa审核之后,A站的人员以及上级领导可以查看,但B变电站的人员并不具备查看的权限。
在资源控制的实现过程中,SCDE、DCDE和运行参数的联合应用,提高了具体变电站相关信息的安全性,避免了具有相同性质、相同属性、甚至是完全相同的数据在变电站之间产生混淆。为管理信息系统在电力生产中的应用提供了良好的技术支撑。
4.4 数据访问机制
权限管理系统提供集中管理权限的服务,负责用户、角色、权限信息的鉴别,以及运行参数的判定。

 

系统根据用户,角色、访问策略、运行参数和控制对象之间的关联关系,同时考虑权限的正负向授予,计算出用户的最小权限。并返回权限关系表,即二元组{Object,Operator}。
5 实现方法
5.1 角色功能
(1)部门隔离级别和创建者ID。记录角色创建人的用户ID和设置的部门隔离级别。


(3)功能模块的可管理权限和可执行权限完全分离。电力企业中很多角色不仅是生产部门的骨干而且具有管理员的权限,如不分开,将难以实现对系统的严格管理。
(4)具有管理类角色的用户可以创建用户和角色,但仅限于添加当前用户所在部门及下一级部门的人员。
(5)设置模块运行参数(仅管理类角色有此权限)以限定可访问的功能或数据范围。
5.2 用户功能
(1)多重继承角色属性,所有属性取合集。
(2)具有被特殊分配的权限和参数,与继承自角色的权限和参数合并使用。
5.3 模块功能
除完成本身的功能外,还要根据当前用户和用户所属角色的各种运行参数,进行运行状态自动设置和访问数据自动过滤。
5.4 运行参数
(1)默认值。运行参数全部采用默认值取值规则,一般默认为上级角色同类参数值。
(2)设定值。在角色可管理功能配置中设定其运行参数值。比如可用单位部门、可用变电站等。
5.5 相关库表
为实现上述功能,需建立以下数据库表:
(1)单位部门表Org _ Dept
(2)单位级别编码表Org _ Level
(3)部门职工表Org _ Staff
(4)用户表User
(5)角色表Role
(6)用户角色分配表User _ Role
(7)功能表Function
(8)角色(用户)可管理功能表Mge _ Func
(9)角色(用户)可执行功能表Exe _ Func
(10)功能运行参数表Func _ Param
(11)运行参数分配表Para _ Assign
(12)功能运行参数值表Param _ Value
注:针对同一功能、同一运行参数,应用者为用户则具备优先权,即为用户特殊设置的运行参数覆盖为角色设置的运行参数。
6 结束语
本文提出的这种支持责任区控制、数据访问可精确到记录级的权限管理系统设计思路及其具体实现方案已经应用于某省电力公司变电设备标准库的建设及其以此为依托的变电运行管理系统和智能操作票系统,从现场的运行情况来看,该方案具有扩展性好、安全性高,支持岗位、权限多变需求等优点,非常适用于电力企业的生产管理实际。

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生