基于RBAC策略的授权体系的设计

时间:2022-05-08 10:53:43

基于RBAC策略的授权体系的设计

摘要: 基于角色访问控制(RBAC)是一种方便安全和高效的访问控制机制。本文首先分析了基于角色的访问控制模型的特点,并以RBAC的基本模型为依据,设计并实现了适合于电子政务的授权体系。

关键词:RBAC;角色;权限

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)17-21439-03

1 引言

随着计算机技术和网络技术的迅猛发展,基于网络的应用系统对安全性提出了越来越高的要求,基于角色的访问控制方法RBAC(Role―BasedAccessControl)由于较好地满足了现实领域中的安全需求,故得到了广泛应用。基于角色的访问控制是一种主动型的访问控制方式[1]。RBAC相对于自主访问控制DAC(DiscretionaryAccessControl)以及强制访问控制MAC(MandatoryAccessControl)将用户与访问权限直接对应的做法,减少了用户工作职责的变动对系统稳定性的影响,因为用户职责或任务易于变化,而根据工作职责设置的角色则相对稳定。近年来,基于角色的访问控制(RBAC)模型以其授权管理简单、权限变更灵活、开销低、易操作等特性得到了广泛的认可和应用[2]。

本文提出的授权模型正是采用基于角色的访问控制(RBAC)模式。授权体系把各个应用软件的分散认证和授权功能集中起来,建立一个认证授权中心,便于集中的认证和授权的管理。授权体系负责用户的认证、会话管理和授权。用户登录时登录请求由认证授权模块认证后,这一模块为这一用户建立一个会话。

2 授权模型

授权模型采用基于角色的访问控制(RBAC)模式。模型如图1所示:

这种模型的优点如下:

(1)机构关于工作岗位的策略可以直接反映为角色的定义和用户的角色赋予; (2)为得到更大的灵活性和规则的简约性,角色可以进行结构化;(3)为了功能的灵活性,用户可以同时激活多个会话,有些任务可能需要多个视图或不同类型的行为;(4)我们可以增加UML约束,以表明有些角色不能用于同一个会话或被赋予给同一个用户(职责分离);(5)用户组可以作为角色成员,这样可以大大降低授权规则和角色分配的数目。

3 授权体系的功能模块划分

3.1 授权体系的功能模块说明

授权体系的功能模块划分如图2所示:

具体功能模块说明见表1。

3. 2模块的细化

3.2.1 权限设定

权限设定模块根据功能的不同又可分为:权限分配模块和授权体系配置模块。

(1)权限分配模块的主要构成元素如下表:

(2)授权体系配置模块的主要构成元素如下表:

3.2.2 参数处理

结合应用实例并且考虑到可扩展性和通用性。需要做一个通用接口,在权限验证之前把数值转换为对应权限这样在权限验证时只比较权限,不涉及到数值的问题。

3.2.3 权限验证

完成权限的比较与数据库的读写操作,把比较结果交给结果处理模块。这里有一个重要的工作:权限的结构设计。

3.2.4 结果处理

授权体系的结果只有两种情况:(1)通过验证,结果是授权信息的记录号;(2)没有通过验证,结果是抛出一个异常。

3.2.5 数据库操作

数据库操作可分为两个模块:权限操作模块与授权信息登记模块。这样设计的原则是权限操作与授权信息可以是不同类型的数据库。(例:权限操作是一个LDAP,而授权信息是一个Oracle,也可都是一个Oralce具有可扩展性,通用性)

3.3 验证算法

授权体系做为一个Service来提供相应的功能, 请求参数这是为使用授权体系而必须要提供的参数,验证逻辑是为了完成授权请求的验证比对所提供的依据,参考图2所示 。

验证算法:完成一次授权验证的步骤如下:

第一步:(由Login模块来完成)完成操作人与授权人的身份核实

第二步:(由调用授权体系的模块来完成)完成操作类型的区分和授权参数的初始化,并且向授权体系提交授权参数。

第三步:授权体系接收授权参数,并且进行参数的处理操作(即根据请求类型和操作类型查出对应的信息)

第四步:完成请求权限的验证(即验证操作人与授权人是否有此权限)。 批准的条件:

(1)请求参数中的授权人,操作人和请求数值与设定的相同或在允许的范围。

(2)请求参数中的授权人与权限设置表中的一至且请求数值与设定的相同或在允许的范围。

(3)请求参数中的授权人,操作人和请求数值小于设定的数值。

(4) 请求参数中的授权人,操作人和请求数值大于设定的数值,返回可以使用的数值。

第五步:完成授权处理(即如果符合就批准并且建立相应的记录,如果不符合就返回一个Exception)

4 授权体系的数据存储结构设计

以下给出授权体系的主要的数据存储结构,在实际的应用中,还是要更具需要添加相应的表和字段信息。

4.1 授权记录的存储结构

(1) 授权信息表

(2)操作人表

(3)授权人表

5 结束语

基于角色的数据访问控制(RBAC)是提高系统安全性的一种灵活有效的访问控制策略,它可以根据需求的不同,建立不同的角色关系和操作权限集。既可以管理内部用户,也可以管理远程用户,大大地方便了系统的管理。为电子政务系统面临的多用户、多分支机构的矛盾问题提供了很好的安全解决方案。

参考文献:

[1] D Heuscher , K Brown , F Noo.Redundant data andexact helical conebeam reconstruction[J].phys Med Biol,2004(49);2219-2238.

[2] Sandhu R , Coyne E , Feinstein. Role - based Access Cont rolModel [J] . IEEE Computer ,1996 ,29 (2) :38 - 47.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:省级行业信息服务系统的设计与实现 下一篇:基于应用――网络层组播相结合的体系结构研究