基于RBAC的TRS访问权限管理的研究及实现

2012-11-29 08:39贾新茹汪健雄王红爱
铁路计算机应用 2012年3期
关键词:访问控制校验管理员

贾新茹,汪健雄,王红爱

(中国铁道科学研究院 电子计算技术研究所, 北京 100081)

铁路客票发售和预订系统(TRS)是一个复杂的、实时交易的生产系统,该系统覆盖全国18个铁路局,2000多个车站,系统进行窗口售票作业的用户有1.6万个左右,在“黄金周”等节假日还会增加10%左右,具有实时交易量大,涉及用户多,待管理资源多、权限管理复杂的特点,同时系统的业务规则需要严格遵循管理制度的规定。随着外部环境的变化(如需求变更),系统中的访问控制要素(主体、客体、操作等)将会发生变化。因此,找到一种管理方便、代价较小且适应力强、确保系统安全的权限管理方式是个值得研究的问题,具有重要的现实意义。

1 访问控制技术的比较

1.1 自主访问控制(DAC,Discretionary Access Control)

自主访问控制是根据访问者和它所属组的身份来控制对客体目标的授权访问,即用户自主设置自己的访问权限,其灵活性较高,但是这种访问控制策略的安全级别较低。对于实际的生产系统存在很大风险,不适合大用户量的系统使用。

1.2 强制访问控制(MAC,Mandatory Access Control)

强制访问控制技术是主、客体事先定义各自的安全级别,然后严格按照定义约定进行访问控制,其优点是管理集中,缺点是具体实现工作量太大,不便管理,缺乏同级别间的控制机制。这种控制技术从确保系统安全的角度符合TRS系统的要求,但会造成管理员繁重的工作。

1.3 RBAC(Role- based Access Control)的优势

与 DAC 和 MAC 相比,RBAC访问技术引入了角色的概念,角色作为用户与访问许可权之间的桥梁,实现了用户与权限的逻辑分离,用户不直接拥有权限,而是与特定的一个或多个角色相联系,角色与一个或多个访问许可权相联系。该访问控制技术能有效弥补前两种访问控制技术的不足,实现灵活地权限管理、系统资源管理和权限校验等问题,降低了权限管理的复杂度,缩减了系统维护管理开销,同时满足业务协调管理的需要,提高TRS系统中用户、权限管理的灵活应变能力。

2 RBAC模型介绍

RBAC标准模型体系结构如图1。

图1 RBAC模型体系

该模型要解决的问题是:“主体”能够对“主体”进行“权限允许”的操作。

(1)用户:系统的使用者,即完成操作的主体。(2)角色:是权限的集合。实现了用户和权限的分离,权限绑定在角色上,用户通过获得角色而具有该角色对应的权限。(3)会话:用户获得权限的过程。(4)权限或许可:分为操作和被操作对象。这部分描述的系统中有资源上允许的操作。(5)UA: 即用户与角色的对应,是一个多对多的关系。(6)PA:即权限与角色对应,也是一个多对多的关系。

3 RBAC在客票系统中的应用

3.1 TRS系统中的RBAC模型映射

经过对业务需求的分析、对系统中权限以及资源的梳理,同时结合业务操作相关的管理规定,对于系统中用户、权限、角色以及相应之间对应关系进行了界定,提出了TRS系统中RBAC模型,具体如图2。

(1)操作员:即系统用户。系统用户分为3层:铁道部级、铁路局级、车站级用户;按照完成业务种类不同进行分类,包括:售票、退票、订票、结账、计划、数据、管理员等。 其中各层中由于侧重业务的不同所包括的具体业务操作员类型有所不同。(2)业务角色:进行相关业务操作的权限集合,业务角色按照实际业务功能进行分类,主要有:售票、退票、订票、结账、计划管理、数据维护、值班管理员角色等。(3)用户登录:是用户合法性判断和用户权限验证的动态过程,当用户登录到系统后,即具有相应的角色权限。(4)权限许可:包括具体的业务操作及对象,以计划员进行票额调整为例,业务操作是进行票额调整,操作的对象为席位。系统中的业务操作:售普通车票、窗口结帐、票额调整、列车加挂、列车基本信息定义、窗口信息定义、设备管理等。被操作对象:席位、进款、设备、数据库中定义的信息等。(5)用户角色分配:管理员进行为用户分配业务角色。(6)角色许可分配:为业务角色界定所允许进行的业务操作及被操作对象。

图2 TRS中RBAC的应用

3.2 模型应用实现

上述模型在TRS系统中已经应用实现。由于涉及实际生产系统,简要列举其中若干项:

(1)用户定义表

用户工号 string not null,

用户名 string not null,

用户归属单位代码 string not null。

(2)角色定义表

角色代码 string not null,

角色名称 string not null。

(3)权限定义表

权限代码string not null,

权限名称string not null。

(4)用户—角色关系表

用户工号 string not null,

用户名string not null,

角色代码string not null。

(5)功能模块定义表

模块编码string not null,

模块名称 string not null。

3.4 角色激活

权限激活指的是用户获得角色所代表的权限过程,该过程在用户登录系统过程中完成,其流程如图3。

图3 RBAC访问权限验证流程

3.5 权限控制策略

3.5.1 自上而下的授权机制

TRS系统的权限管理控制遵循铁路行政管理模式,采用自上而下、逐级授权的机制。铁道部为最高管理层,管辖各铁路局,铁路局再对下属的多个车站进行管理,最终的作业终端为各个售票窗口,系统最终用户为售票员以及各层的相关业务人员。每级的权限均由上级进行分配,并接受上一级的监督管理。具体架构如图4。

图4 TRS系统权限管理体系

3.5.2 X权限

每一级管理层使用Z角色进行权限管理,包括用户管理和角色管理,其中用户管理包括用户的增加、删除、修改以及为用户进行角色分配。角色管理主要完成角色的配置,完成角色(权限组)定义、用户—角色关联定义等工作。

根据实际业务管理的需要,在铁路局管理级和车站管理级中引入了X角色,即超级管理员权限,在权限管理中X角色可以看作是上一级管理员角色,可以代表上一级的管理员完成授权功能,从而实现管理权限的灵活转移和下放。同时,X权限和Z权限的区分,实现了授权功能和维护管理功能的分离,具有Z权限的用户可以进行相关的维护工作,其所做的有关权限管理的定义必须经X权限管理员的确认授权才能生效,这种权限角色化的方式在保证安全的同时也提高了工作效率。具有X权限的值班员能为同一管理层的其他Z权限用户赋予X权限,或将X权限赋予下属一级的用户,使其能代为进行相应的管理操作和授权操作。

3.5.3 权限校验

权限校验包括两方面:(1)使用层权限校验,即判断当前用户是否具有相应的操作权限,主要包括:用户是否有权访问系统;用户可用的系统菜单、按钮等功能项;用户对系统数据库中记录级数据的访问权限。使用层的权限校验在用户登录过程中完成。(2)存储层权限校验,系统采用加密算法对用户和权限的对应关系以及加密规则进行保存,如果数据库中的数据被直接修改,使用层权限校验出错,用户将不能登录系统。使用层权限校验和存储层权限校验结合使用为系统应用级的安全提供有效保障。

4 结束语

运用 RBAC技术对TRS系统进行访问控制不仅能够减少授权管理的复杂性,同时也符合铁路业务的管理机制,是TRS系统应用级的安全保障的重要手段。基于 RBAC 访问控制模型在TRS系统应用级安全建设方面发挥了重要作用。

[1]单杏花,徐 彦,朱建生,周亮瑾.中国铁路客票发售和预订系统5.0版本的关键技术研究[J]. 铁路计算机应用,2006,15(11A):1-4.

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

[3]黄 静,陈 震,危水根,王 凌. RBAC模型在B /S医院信息系统中的应用[J]. 计算机技术与发展,2011,21(6):246-249.

猜你喜欢
访问控制校验管理员
一种跨策略域的林业资源访问控制模型设计
我是小小午餐管理员
使用Excel朗读功能校验工作表中的数据
我是图书管理员
我是图书管理员
可疑的管理员
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型