首页 > 范文大全 > 正文

基于WEB模式下ERBAC模型研究及实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于WEB模式下ERBAC模型研究及实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:本文介绍了基于web模式下RBAC模型,并根据在实际应用过程中RBAC出现的一些缺点和不足,引用用户组概念对RBAC进行扩展。在用户原有权限不变的基础上增加了用户所在部门的权限,并给出了一个基于扩展 RBAC 模型的应用,增强了用户授权的灵活性和管理性,使erbac模型具有较高的安全性。

关键词:RBAC模型;用户;角色;权限;ERBAC模型

中图分类号:TP393 文献标识码:A

1 引言

随着网络技术的迅速普及和网络应用的快速发展,如何保证网络应用的安全性成为网络管理者必须要解决的问题。解决网络安全的方法和措施有很多,而访问控制技术便是有效解决方法之一。它是计算机网络安全中重要的安全机制,而且可以和用户身份认证、数据加密等其他相关技术相互配合,以保护网络信息资源不被非法使用和访问,是保证网络安全应用的一种重要手段和措施。

基于角色访问控制(Role-Base Access Control)是近年来较为流行的一种安全访问控制方法,因其具有灵活性、安全性、方便性在用户权限管理中得到了广泛的应用。但是RBAC会随着网络用户数量的不断增加和信息资源结构的日益复杂难以满足实际的安全需求,扩展性差。因此,需要对RBAC进行改进和扩展。通过增加用户组的方式设计了一种新型的ERBAC模型,方便了管理员对用户权限的管理。

2 角色访问控制模型

20世纪90年代,通过对多用户、多系统不断深入研究,逐渐产生了角色的概念,形成了基于角色为中心的访问控制模型RABC。在RABC模型中包括三个实体:角色、用户和权限。

用户:一个可以访问计算机系统中的数据或者用数据表示的其他资源主体。

权限:用户访问计算机资源的许可。

角色:是一个或一群用户在组织内可执行的操作的集合。

角色是RBAC 模型的核心,能够完成一定的功能。系统管理员可以根据用户的职责和需求进行角色的创建、给用户指定权限和分配角色等。RBAC的思想核心是将权限和角色进行关联,通过赋予用户相应的角色来完成授权任务。用户和角色的关系是多对多的关系,即一个用户可以拥有多个角色,一个角色也可以分配给多个用户。角色和权限的关系也是如此。用户通过扮演某些角色来获取相应的访问权限。因此,角色成为连接用户和权限之间的中介。用户所具有的权限是该用户拥有的所有角色的权限集合的并集,角色之间可以有继承、限制等逻辑关系,并通过这些关系影响用户和权限的实际对应①。角色的增加可以实现用户和权限在逻辑上分开。角色的变化是相对比较稳定的,当用户权限改变时只需要给用户重新分配角色即可,极大的方便了权限管理。对于用户数量不断增加、功能不断完善的管理信息系统来说,RBAC降低了应用系统访问控制的难度,是一种高效、安全的解决方案。RBAC访问控制模型如图1所示。

3 RBAC模型的扩展

在实际应用过程中,RBAC模型的应用还存在着一定程度的不足。在许多应用系统中由于部门、人员众多以及业务的繁杂,使访问控制模型中的角色定义变得比较复杂,并且管理员对每个用户授权的工作量也非常大。如:对不同部门具有相同权限的同一级别用户,仍需要分别创建各自的角色,而每个角色所包含的用户量又比较少,因此对整个应用系统的权限管理来说工作量比较大。特别是当访问控制应用系统规模逐渐扩大以及业务需求的不断变化时,角色的创建必须要跟着部门、人员、业务需求关系的变化而发生改变。在一个企业级的应用系统中角色的数量可能会成百上千,管理员必须根据角色的变化手动逐个更新用户所拥有的权限。因此,RBAC无法满足复杂情况变化的需要,难以进行高效的权限管理。必须要对角色模型进行一定的改进,扩展RBAC模型,提高管理效能。

3.1 ERBAC模型

针对传统的RBAC模型所存在的问题,引入用户组进行改进。在RBAC模型原有角色授权的基础上,增加了用户组对数据资源进行授权,使用户所拥有的权限变为用户所属角色的功能权限和用户所属组的资源权限之和,如图2所示。改进后的用户访问控制扩展模型(ERBAC)不仅有效解决了角色定义、用户职责、权限和资源等动态变化时系统数据更新困难的问题,而且加强了用户授权的灵活性和管理性,在实际项目中得到了广泛的应用。当对用户进行权限授权后,用户要求访问系统某模块的功能时,系统不仅判断该用户所属角色而且也要判断用户所在用户组,同时判断角色所拥有的功能权限和用户组拥有的资源权限,此时用户就可得到两者所全部拥有的功能和资源权限。

3.2 用户组

管理系统在实际应用过程中,由于部门、人员较多,在对用户授权时就显得比较混乱和繁琐。为了简化授权工作,采用树型结构方式将各个部门按照一定的组织关系进行编排,授权工作就会变得一目了然。组是指一群用户的集合①。而且当某些用户职能相同时,通过创建一个角色并授予整个组,这个组的所有用户都可以取得同样的权限。当角色的权限发生变化时,整个用户组的权限也发生了相应地变化,使授权管理工作变得更加简化。

当用户组内所有用户的权限相同时,用户组可以代替角色。当同一用户组内所有用户权限不同时,再以用户组的方式进行授权,用户组内有的用户权限就会被放大,对整个系统的安全会构成一定的威胁。角色和用户组在某些时候有相似之处,但两者之间有着本质的区别:组是用户的集合,而不是权限的集合。角色作为用户和权限的连接体既可以是用户集合,也可以是权限的集合。所以,用户组的功能是无法顶替角色的。

4 ERBAC模型的实现

4.1 ERBAC设计思想

ERBAC的核心思想是:在用户的角色之间增加一个中间用户组。通过新建立的用户组—用户关系表、用户组—角色关系表,实现用户与功能权限、资源建立联系。用户组资源的分配可以通过用户组—资源关系表来实现,用户组中用户的增加可以通过用户组—用户关系表来实现,用户角色的授予可以通过用户—角色关系表来实现,角色功能的分配可以通过角色—功能关系表来实现。

4.2 数据库设计

根据ERBAC的设计思想,将用户按部门分类进行不同权限的授权。用户的各种信息及各表之间的关系如图3所示。

它的优点是用户和角色的管理和维护相对独立,当一方发生变化时另一方不会扰。当然两者之间也可以动态的建立对应关系。这样管理员对数据库设计和管理就可以更加方便和灵活。而角色—功能、用户—资源之间的也可以进行同样的设

① 夏榆滨,宣明付.基于RBAC的统一权限管理系统研究[J].微计算机信息,2006(30):114-146

计。当用户、角色、功能发生变化时,管理员不用手动来更新相关的数据,系统会自动动态更新,减轻了管理员的工作负担和减少了出错的概率,更易于数据库的维护。

4.3 访问控制模块设计

在访问控制模块中,系统会根据用户组的用户访问权限的不同显示不同的数据资源和功能。在用户登录界面中输入用户名和密码,服务器中的数据库对输入的用户名和密码进行验证。若用户名或密码输入错误或者是非法用户,系统转至出错提示页。若为合法用户进入系统。系统会根据存放在数据库中用户与角色数据表、角色与功能数据表、用户组与资源数据表中的相关数据加载相关页面、按钮和资源。对于每个页面的各个按钮能否使用系统会根据用户的角色进行判断,不能使用的按钮为灰色。拥有相应权限的用户能够在页面中使用和浏览相关资源或数据。用户访问控制流程如图4所示。

5 结束语

ERBAC作为RBAC的扩展和完善,在一定程度上弥补了RBAC授权的不足和缺陷,实现了系统权限方便、灵活和有效的管理。并且该模型具备很好的移植性和通用性,能够满足不同企事业单位管理信息系统的安全访问控制,增强了系统数据资源的安全性。

(本文审稿 李宗华)