`
williamou
  • 浏览: 37468 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

NIST RBAC 模型 —— 向统一标准化的努力(1,2)

阅读更多
NIST RBAC 模型 —— 向统一标准化的努力
原文名称:The NIST Model for Role-Based Access Control Towards A Unified Standard

摘要

本文描述了一个RBAC(基于角色的访问控制)的统一模型。RBAC是一个已被证实可用于大规模授权控制应用的技术。但是,由于迄今RBAC还没有一个标准模型,对其使用和相关含义的确定造成很多不必要的混乱。NIST的模型就是希望通过整理过去的RBAC模型,已有的商业产品,以及研究原型中的思想,找出共同点,从而寻求解决目前这种混乱的情况。它致力于成为RBAC标准未来发展的基础。RBAC是一个内涵丰富且开放的技术,吸引着众多用户,研究人员和产品厂商去对它投入大量精力。NIST模型专注于RBAC已达成共识的方面,从功能上对其进行四个级别的划分:flat,hierarchical,constrained,symmetric。这四个级别是不断累积的,每一级别是在上一级别的基础上增加新的要求而成。文中也提到另一种做法:保持flat和hierarchical的级别关系,而将constrinats和symmetry作为额外特性[原文:An alternate approach comprising flag and hierarchical RBAC in an ordered sequence and two unordered features--constraints and symmetry--is also presented.]。本文还将列出NIST模型中不包含,但十分重要的其他RBAC特性。其中某些是由于业界没有达成共识,所以不适合写入此文档;其他则是在标准化之前还需要进行进一步的研究协商工作。

第1节 介绍

本文计划制定一个RBAC的标准参考模型。RBAC是一个既新而又有悠久历史的技术。虽然严格的RBAC模型最近才出现,其角色的基本概念已经作为控制权限的方法而使用了数十年。RBAC标准的缺失使得其出现了形形式式的实现,以致阻碍了RBAC的先进性的发挥。RBAC这个词本身没有一个广被认同的意义,而被不同产品厂商,用户以不同方式使用在不同的地方。本文目的就是建立这一领域的一个标准。

RBAC提供一个非常有用的抽象层次,以在业务企业级别而非个别用户级别去提升安全管理。角色基本概念很简单:根据企业里的功能角色进行权限分配,然后恰当的将一个或多个角色赋予用户。在RBAC中,访问控制是基于每个用户在企业内所拥有的角色。一个角色可以对应企业内的一种任务,职责,或者资格。相对用户信息和任务分配的频繁更改,企业内的角色是相对稳定的。因此RBAC可以提供一个强大的机制,以减少企业内分配用户权限过程中的复杂度,花销和犯错机会。由于企业内部的多个角色通常会拥有重复的权限,所以RBAC模型通常支持角色的层级结构,即一个角色可以继承另一个角色的所有权限。

RBAC支持各企业不同的安全策略,并集中到一个企业级的平台上[原文:RBAC allows for specification and enforcement of a variety of protection policies which can be tailored on an enterprise-by-enterprise basis.]。具体系统上的安全策略强化可以通过RBAC的配置来实现。这样的做法,对于访问控制和授权管理中传统的做法,如DAC和MAC(DAC和MAC中,安全策略是与访问控制模型紧密结合,不能更改的),是一个了不起的改变。由于权限管理是通过角色对企业功能进行组织,利益关系的冲突就更为明显了。因此很多RBAC模型支持角色间责任互斥的约束功能。这为管理员提供了比现有访问控制标准更为强大的功能去管理和增强企业策略。

由于客户对RBAC的需求,产品厂商都将RBAC的特性集成到他们的数据库,系统管理以及操作系统等产品中。这些开发都是在没有任何关于RBAC特性共识的情况下进行的。为了尝试严格定义RBAC的特性,出现了一系列RBAC模型及其实现(FK93,FCK95...)。这些模型都是各自为政,并没有就RBAC一些突出的特性进行标准化。因而RBAC依旧是一个不定型的概念。为了更好进一步开发和使用RBAC技术,需要订立标准。NIST的RBAC模型正是这一方向上的首次尝试。

RBAC是一个内涵丰富且开放概念,一定程度上很简单,也可以说很复杂。所以业界公认,以一个模型去概括RBAC是不现实。因为这样一来,该模型则需要包含或排除太多,和只能众多选择其中的一个。NIST的RBAC模型被组织为功能上不断增加的四个级别。这些级别是累加的,每一级别包含前一级别的要求。

1) Flat RBAC
2) Hierarchical RBAC
3) Constrained RBAC
4) Symmetric RBAC

本文以下内容织如下:第2节对NIST的RBAC模型以及其四个级别进行一个概述。第3节到第6节按顺序描述四个级别,以及对级别中包含的特性的基本原理进行说明。NIST模型专注于RBAC技术已达成共识的部分。第7节讨论NIST模型中没有包括但很重要的RBAC特性。其中某些是由于业界没有达成共识,所以不适合写入此文档;其他则是在标准化之前还需要进行进一步的研究协商工作。

第2节 概述

本节提供对NIST的RBAC模型进行一个概述,如表1中所示。对模型4个级别的基本原理也作了说明。熟悉RBAC概念和相关词汇的读者可以通过阅读本章大致了解这个模型。而对RBAC相对陌生的读者可以先跳过本节,等读完接下来几节中对模型中各级别的详细描述,再回过头来重新阅读第2节。

NIST的RBAC模型组织为四个级别,不断在功能上进行增强。这些级别是累积的,每个级别包含上一个级别的所有要求,并增加一项新的要求。以下将会描述各个级别的基础原理以及每个级别选择新增特性的考虑。更详细的描述会则在后面单独讨论各个级别的章节中。

2.1 Flat RBAC
Flat RBAC包括了RBAC最必要的几个方面。RBAC的基本概念是:用户分配给角色,许可分配给角色,用户通过角色来获得许可。NIST的RBAC模型要求用户——角色和许可——角色关系必须支持多对多。因此一个用户可以分配给不同角色,一个角色可以拥有多个用户。对于许可也类似。Flat RBAC要求用户——角色关系可以双向检索,即用户可以获取其已分配的角色,反过来角色也能获取其拥有的用户。(在Symmetric RBAC中,对于许可——角色关系也有类似要求。)最后,Flat RBAC要求用户能够同时行使多个角色上的许可。这一要求排除了那些限制用户同一时间只能激活一个角色的产品。

基本原理:Flat RBAC抓住了那些传统的基于组的访问控制特性。这些特性已经在当代的操作系统中有了很好的实现。因此这已经是一个应用广泛而成熟的技术。Flat RBAC所要求的这些特性是对于任何形式的RBAC都显然是必须实现的。定义Flat RBAC的重点在于决定排除哪些特性。Flat RBAC已经革命性地去除了很多内容,只保留最少的必需特性。尤其重要的是,这些特性都是与传统健壮的基于组的访问控制相兼容。然而反过来,由于以上的某些要求,并不是所有基于组的机制都可以满足Flat RBAC的要求。

2.2 Hierarchical RBAC
Hierarchical RBAC增加了对支持角色层级关系的要求。层级精确来说是一个定义角色之间上下级关系的偏序(原文:partial order)。这样上级角色将会拥有下级角色的所有许可。在这一方面,NIST模型划分了两个子级别。

General Hierarchical RBAC
支持在角色层级中使用任意的偏序。
Restricted Hierarchical RBAC
某些系统会在角色层级中实施限制。大多数情况下只会支持简单结构如树型,反向树型。

这两个子级别也体现在了后续的RBAC级别中,如表1所示。

角色层级可以是继承层级(一个角色的激活代表所有下级角色的激活),或者是激活层级(没有前者要求),或者两者皆有。具体实现哪种角色层级实就留待读者去决定。

基本原理:任意偏序形式的角色层级是通常在Flat RBAC上增添最实用的一个功能。这个特性在很多文献中提到,并且已经在多个产品中实现。文献[SCFY96]中对关于偏序中对传递,反射,非对称等性质的取舍问题,已有足够的讨论[原文:Justification for requiring the transitive, reflexive and anti-symmetric properties of a partial order have been amply discussed in the literature.]。这一方面已经有一个很强的共识。对于支持任意偏序带来的好处,也得到了很多的认同。尽管如此,还是有很多产品只对角色层级结构提供有局限性的支持,不过这实质上已经是Flat RBAC的功能的大大增强。因此本文对这两个子级别进行了划分。

2.3 Constrained RBAC
Constrained RBAC增加了对责任互斥(SOD)支持的要求。SOD作为一个减少欺诈机会和意外损失的手段,远在计算机出现之前已被采用,并且历经了时间的考验。SOD通过将一个动作或任务的职责和授权分散到不同的用户身上,由此提高了进行欺诈行为时的风险——因为该行为会涉及到多个人在内。许多文献中已对很多不同的SOD需求进行了阐述,包括了静态SOD(基于用户——角色关系)和动态SOD(基于角色激活机制)。NIST的RBAC模型将到底支持哪种形式的SOD留给了读者去决定。

基本原理:SOD经常被称为推动RBAC的主要动力。这一原则已经在组织的日常工作中得到实施,因此应该得到高级访问控制产品的支持。将SOD排在角色层级之后,主要是因为已有产品中角色层级是比SOD更为通常支持的特性。

2.4 Symmetric RBAC
Symmetric RBAC增加了对许可——角色关系可以双向检索的要求,这与第一级别(Flat RBAC)中对用户——角色关系的双向检索要求类似。因此可以确定一个具体许可到底分配给了哪些角色,以及一个具体角色到底拥有了哪些许可。许可——角色关系的双向检索必须保持与用户——角色关系的双向检索相当有效的性能表现。

基本原理:许可——角色关系的双向检索在第四级模型中才提出,主要因为在大型分布式的系统上,其实现较为困难。该特性有时候被称为RBAC区别与传统基于组的访问控制的一个内在特征。NIST模型从实用性方面考虑,将这一较难实现的特性放在了RBAC的较高级别模型中。

  • 大小: 56.4 KB
分享到:
评论

相关推荐

    NIST RBAC 模型 —— 向统一标准化的努力

    本文描述了一个RBAC(基于角色的访问控制)的统一模型。RBAC是一个已被证实可用于大规模授权控制应用的技术。

    NIST RBAC模型 pdf 【英文】

    讲解了NIST约定的4级RBAC模型,有良好的配图,该模型能指导RBAC设计时所需考虑的要素

    基于RBAC的权限设计模型.doc

    NIST (The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)...

    最好的RBAC_权限设计

    NIST (The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)...

    美NIST标准-ABAC-中英文版本

    基于属性的访问控制模型标准-中英文。基于NIST下载的原版本进行的中文翻译,并保留了原文,方面进行中英文比对。是开放版本,方便进行模型标准的了解与解读。对产品开发以及零信任中的属性可以有更深入的了解。

    NIST Sp800-22随机数测试标准

    随机数在安全领域有着重要作用,该标准可以检测随机数的随机性。

    sts-2.1.2.rar_NIST随机数_nist2.1.2源码_nist随机数标准_sts-2.1.2_sts-2_1_2

    说明: NIST标准的随机数检测工具;支持单比特频数检测、块内频数检测、扑克检测、重叠子序列检测、游程总数检测、游程分布检测等源代码

    信息安全管理系列之十 ICT供应链风险管理标准NIST SP800—161探析 (2).docx

    信息安全管理系列之十 ICT供应链风险管理标准NIST SP800—161探析 (2).docx信息安全管理系列之十 ICT供应链风险管理标准NIST SP800—161探析 (2).docx信息安全管理系列之十 ICT供应链风险管理标准NIST SP800—161...

    NIST.SP.800-90B.pdf NIST 随机数生成标准及建议

    美国国家标准与技术研究院关于随机数生成及测试的标准

    美国国家标准技术研究院(NIST)发表研究成果“基于机器学习的轰燃预测模型”.pdf

    美国国家标准技术研究院(NIST)发表研究成果“基于机器学习的轰燃预测模型”.pdf

    NIST SP800-88r1.pdf

    the system owner should refer to NIST Special Publication (SP) 800-53 Revision 4, Security and Privacy Controls for Federal Information Systems and Organizations2, which specifies that “the ...

    面向多客体的细粒度RBAC模型及应用 (2008年)

    从综合信息管理系统以及软件系统集成的需求出发,分析了NIST RBAC模型的局限性,在此基础上对其模型进行扩充,提出 ERBAC模型。该模型适用于多种客体且具体客体不确定的情况。文章还给出了ERBAC模型的具体定义和应用...

    NIST SP800-88_rev1.pdf

    Based on the results of categorization, the system owner should refer to NIST Special Publication (SP) 800-53, Recommended Security Controls for Federal Information Systems, which specifies that, ...

    NIST.SP.800-53r5-draft.pdf

    本基础 NIST 出版物的第 5 修订版代表了开发下一代安全和隐私控制的多年努力。出版物的主要变化包括: 通过更改控件的结构,创建更基于结果的安全性和隐私控制; 将隐私控制完全集成到安全控制目录中,创建一套统一...

    nist sp800-16标准

    nist sp800-16标准,对于信息安全从业人员,培训人员等有参考价值

    NIST SP 800-193(中文)

    这个出版已经由NIST依照法定职责根据联邦信息安全现代化法案》(FISMA) 2014年44事项§3551节。,公法(P.L.) 113-283。NIST负责制定信息安全标准和指南,包括对联邦信息系统的最低要求,但这些标准和指南不应适用于...

    NIST随机数测试标准中文版

    NIST随机数测试标准中文版,只看到有英文的,传给中文的

    NIST随机性测试套件

    美国国家标准与技术研究所提供的Special Publication800-22测试包(简称NIST随机性测试)。 NIST测试程序是一个统计包,包括 16 种测试手段。这些测试手段可测试由用作保密随机或者伪随机数发生器的硬件和软件产生的...

    随机数熵评估标准 NIST.SP800-90B 源代码

    随机数熵评估标准 NIST.SP800-90B 源代码。 近似熵 最小熵

    nist 800-181标准中文版

    nist 800-181标准中文版作为美国信息安全乃至世界通用的标准,对于信息安全产品开发、方案设计等具有重要的参考价值

Global site tag (gtag.js) - Google Analytics