当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:访问控制是当今一种保证信息安全的重要方法。而角色访问控制技术(RBAC)也因为其自身的特点使得安全管理模式得到大大简化,从而得到更加广泛的应用。文章分析了基于XML的访问控制规范语言(XACML)的访问控制框架,并将其与RBAC限制模型中的角色限制条件相结合,设计出一种可以更好地支持RBAC限制的改进模型。该模型不仅具有良好的统一,性、规范性和合理,性,也能更加适应动态的网络环境。

引言

随着社会信息化程度的提高,信息安全已经逐渐成为一个不可忽视的问题。互联网的不断发展带来了其应用模式的不断改变,这样的变化也给信息安全的保障带来了不小的挑战。访问控制作为保障信息安全的第一道关卡自然会受到广泛关注。目前,WEB服务普遍采用分布式网络应用构建技术,它建立在开放的标准之上,同时很好地利用了已有的成熟的互联网应用技术,包括各种模型规范和编程语言,并结合面向服务的思想,以更好地实现异构信息交流的目的。这就要求如今所采用的访问控制方法不仅要达到保证信息安全的目的,还必须具有良好的可扩展性、可定制性和异质信息的交互性。

1访问控制概述

访问控制技术是通过某种方式明确地准许或限制访问能力及范围的一种方法。通过访问控制服务,可以限制对关键资源的访问,防止非法用户的侵入或者因合法用户的不慎

收稿日期:2013-04-27操作所造成的破坏[%传统的访问控制方式包括自主访问控制(DiscretionaryAccessControl,DAC)、强制访问控制(MandatoryAccessControl,MAC)、基于角色的访问控制(Role-basedAccessControl,RBAC)等。每种访问控制方式都有广泛应用,但应用的范围有所区别[2]。

DAC最早出现在20世纪70年代的分时系统中,是一种多用户环境下最常用的访问控制技术。在目前流行的UNIX操作系统中,DAC被普遍采用,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问权限授予其他用户。在传统的系统中,访问通常基于ACL,ACL与授权子系统结合为一体,在许可和拒绝对资源的访问上扮演关键的作用。

MAC主要用在军事领域中,它是在DAC的基础上,增加了对网络资源的安全属性划分,规定不同属性下主体的访问权限。MAC是一种多级访问控制策略,系统事先给访问主体和受控对象分配不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控对象的安全级别属性进行比较,再决定访问主体能否访问该受控对象。

RBAC的概念由Ferraiolo和Kuhn于1992年提出叫RBAC的重点是分配一个所谓的角色给用户或用户组叫角色对应于业务系统中的岗位或者职位。由于角色是安全控制策略的核心,因此极大地简化了安全管理,特别适用于大规模的企业应用。无论是系统级还是应用级的安全管理,都可以应用RBAC进行权限控制,如目前的Windows操作系统和SQLServer的用户权限管理就体现了RBAC的思想。

从安全性的角度来看,较之DAC和MAC,RBAC更适合于商业应用。它综合了MAC和DAC的特点,既可以被配置成MAC,也可以配置接近DAC。

2RBAC与XACML

RBAC模型

RBAC的核心思想是将访问权限与角色相联系[5],通过给用户分配合适的角色,让用户与访问权限相关联。当主体发生变化时,只需修改主体与角色之间的关联,而不必修改角色与客体的关联。用户以什么样的角色对资源进行访问,决定了用户拥有的权限以及可执行何种操作。在RBAC中,角色成为访问的主体。

RBAC规范遵循角色继承原则、最小权限原则和责任分离原则[6]。

RBAC的优点:一是支持权限管理。通过角色沟通用户和资源,对用户的访问授权转变为对角色的授权,系统的管理工作是授权或取消用户的角色。二是管理员操作方便。行政管理人员委派用户到角色的工作,而技术人员配置权限到角色的工作。三是很好地描述角色层次关系,实现最小权限原则和职责分离原则,降低系统风险。

而RBAC存在的不足,则主要表现在两个方面:一是对资源实施访问时,如果无法通过用户角色验证,就再没有其他办法许可访问;二是在基于项目分配的人力资源公司内,用户可以拥有多个角色,同时角色经常变动,因此角色的管理工作量也是很大的。

XACML访问控制模型

XML是描述互联网上结构化信息与内容的标准,具有简单性、结构性与通用性。这些特性使得基于XML的XACML有着广泛的支持性。XACML是一种对访问控制策略和访问控制请求/响应产生过程加以描述的语言。XACML不仅提供了一系列逻辑算法对整个授权过程进行控制,而且提供了支持定义新功能、数据结构、合成逻辑算法等的标准可扩展点,可以根据主体、资源、环境的属性以及所采取的行为进行控制[7]。

XACML访问控制模型由策略执行点(PEP)、策略判决点(PDP)、策略管理点(PAP)、策略信息点(PIP)、主体(Subject)、资源(Resource)、环境(Environment)等组成。图1所示是XACML访问控制模型架构中各主要单元及相互间的关系冏。

支持RBAC限制的XACML改进模型

图1XACML访问控制模型框架

3基于RBAC的XACML改进模型

3.1问题描述

XACML的RBAC框架[9]规范了如何使用XACML来表示NIST-RBAC标准模型中的核心模型和层次模型。同时,该规范还提出一种叫做RoleEnablementAuthority的实体,将角色指派和角色激活的任务从XACMLPDP中分离出来,更好地体现了以角色为中心的访问控制模式。然而,此次提出的基于XACML的RBAC框架没有对这个实体进行更为明确的定位与规范,只是给出了几种可能的实现方式,例如,该实体可通过RoleAssignment〈Policy〉或<PolicySet>来判断主体是否指派了某个角色属性。

因此,可以说OASIS提出的XACML的RBAC框架还存在着一些缺陷,因为它并不能完整地支持RBAC限制,也没有给出使用RBAC策略的具体数据流程。然而,对于角色的限制是RBAC模型中非常重要的一方面,也是RBAC模型的主要动机之一,所以RoleEnablementAuthority需要在基于XACML的RBAC框架中拥有一个明确的定位。

本文以NIST-RBAC标准模型中的限制模型的原则为基础,结合OASIS提出的XACML的RBAC框架规范以及具体的XACML访问控制模型,用XACML描述一种基于角色的访问控制改进模型。

3.2支持RBAC限制的XACML改进模型

本文对OASIS的XACML的RBAC框架进行了改进,以便更好地支持NIST-RBAC限制模型中的静态职权分离和动态职权分离限制。图2所示是支持RBAC限制的XACML改进模型,其中,新增的模块与数据流由虚线表示。

图2中,管理员通过策略管理点定义所需要的安全策略;在一个具体的应用环境下,策略执行点截获用户发送的访问请求;策略执行点将截获的访问请求发送给上下文处理器,以便将请求转化为统一的XACML格式;上下文处理器将产生的XACML格式的访问请求发送给策略决策点并请求其进行访问控制决策;策略决策点向上下文处理器发送请求以获取额外信息进行决策,其中包括对主体属性、资源属性、环境属性、角色属性的请求和对角色状态的请求;上下文处理器接到策略决策点的请求后分别向策略信息点和角色管理点(新增模块)发送相应请求;策略信息点和角色管理点(新增模块)接到请求后会向不同的实体索取所需要的信息,并将得到的信息返回给上下文处理器;上下文处理器将收集到的必要信息发送给策略决策模块;策略决策模块根据策略信息、属性信息、资源的上下文信息以及角色状态信息进行访问请求决策,并将决策结果返回给上下文处理器;上下文处理器将决策结果返回给策略执行点,以执行相应的决策结果,同时,执行相应的职责信息和更新角色信息。

由此,XACML的RBAC框架规范中的RoleEnablementAuthority以一个新模块的形式得以规范化和具体化,同时NIST-RBAC标准模型中限制模型所提出的针对角色的限制在此改进模型中得到了实现。

支持RBAC限制的XACML改进模型

4改进模型的实现

4.1通过角色管理点实现静态责任分离

静态责任分离是责任分离的最简单的一种形式,即如果定义两个角色为静态的角色互斥,那么任何一个用户都不能同时被指派给这两个角色。这可以被看成是一种管理策略,是对管理员的用户角色指派操作的限制。本文以场景“‘Permit’‘administrator’‘A’to‘Set-Role-to-B’as‘employee’”来测试和分析各组件执行访问控制的效果。表1所列为相关测试用例和预期结果。

支持RBAC限制的XACML改进模型

借助于XACML3.0安全策略管理规范,可以定义的访问策略如下(简化的XACML):

-<RuleRuleId="StaticSeparationofDuty"

Effect="Permit">

-<Target>

-<Subjects>A</Subjects>

-<Rolesattribute>admin</Rolesattribute>

-<Rolesstatus>open</Rolesstatus>

-<Resources>employee</Resources>

-<Actions>

-<Action>

-<ActionMatchMatchId="urn:oasis:names:tc:

xacml:1.0:function:string-equal">

<AttributeValueDataType="http://www.w3.org/2001/

XMLSchema#string">Set-Role-to-B</AttributeValue>

<ActionAttributeDesignatorDataType="http://www.

w3.org/2001/XMLSchema#string"AttributeId="urn:oasis:

names:tc:xacml:1.0:action:action-id"/>

</ActionMatch>

</Action>

</Actions>

</Target>

</Rule>

该管理策略描述了管理员A在B没有被指派角色employee的情况下可以给用户B指派角色vendor;而当B已经被指派了vendor的互斥角色employee后,A再指派给B角色vendor时会遭到拒绝。

4.2通过角色管理点实现动态责任分离

动态责任分离允许同一角色被指派给不同的用户,但它们不能同时被激活。这种访问控制方式通过对模型内角色管理点中的角色状态的转化来实现。

本文以场景'Permit''administrator''Cto'edit',documentl'”来测试和分析各组件执行访问控制的效果。表2所列为相关测试用例和预期结果。

支持RBAC限制的XACML改进模型

借助于XACML3.0[10]安全策略管理规范,可以定义访问策略如下(简化的XACML):

-<RuleRuleId="DynamicSeparationofDuty"Effect="Permit">

-<Target>

-<Subjects>A</Subjects>

-<Rolesattribute>admin</Rolesattribute>

-<Rolesstatus>open</Rolesstatus>

-<Resources>Doc1</Resources>

-<Actions>

-<Action>

-<ActionMatchMatchId="urn:oasis:names:tc:

xacml:1.0:function:string-equal">

<AttributeValueDataType="http://www.w3.org/2001/

XMLSchema#string">edit</AttributeValue>

<ActionAttributeDesignatorDataType="http://www.

w3.org/2001/XMLSchema#string"AttributeId="urn:oasis:

names:tc:xacml:1.0:action:action-id"/>

</ActionMatch>

</Action>

</Actions>

</Target>

</Rule>

该管理策略描述了管理员A在角色验证成功的情况下可以对Doc1进行编辑,同时将管理员的角色状态设置为close,即其他具有管理员角色的用户无法进行相同操作。因此,当另一管理员B在A编辑Doc1的同时,申请对Doc1进行编辑遭到了拒绝。

5结语

角色访问控制模型对WEB信息安全的研究与应用有着重要的意义,而XAML的推广使得访问控制更加结构化、统一化与细粒度化。二者的结合应用为保障WEB服务安全提供了一种更为有效与规范的方法。本文通过对RBAC模型的研究,对XACML访问控制框架进行了改进,使得新模型更加适应动态的需求,为访问安全提供了更进一步的保障。然而,日益复杂化的网络环境也在不断地为保障信息安全的手段提出更高的要求,因此对于RBAC模型与XACML的应用研究也仍将不断地继续下去。

20211023_6172e0a713cd0__支持RBAC限制的XACML改进模型

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭