信息安全技术鉴别与授权基于角色的访问控制模型与管理规范(GB-T 25062-2010).pdf
《信息安全技术鉴别与授权基于角色的访问控制模型与管理规范(GB-T 25062-2010).pdf》由会员分享,可在线阅读,更多相关《信息安全技术鉴别与授权基于角色的访问控制模型与管理规范(GB-T 25062-2010).pdf(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ICS 35.040L80中中华华人人民民共共和和国国国国家家标标准准GB/T 信息安全技术鉴别与授权基于角色的访问控制模型与管理规范Information security technology Authentication and authorization Role-based access control model and management specification(报批稿)-发布-实施国国家家质质量量监监督督检检验验检检疫疫总总局局发布发布GB/T I目次前言.II引言.III1 范围.12 规范性引用文件.13 术语和定义.14 缩略语.25 一致性.26 RBAC 参考模
2、型.26.1 概述.26.2 核心 RBAC.26.3 层次 RBAC.46.4 带约束的 RBAC.57 RBAC 系统和管理功能规范.77.1 概述.77.2 核心 RBAC.77.3 层次 RBAC.137.4 静态职责分离关系.167.5 动态职责分离.21附录 A(资料性附录)功能规范概述.26附录 B(资料性附录)组件原理.31附录 C(资料性附录)Z 语言示例.33GB/T II前言本标准的附录 A、附录 B 和附录 C 为资料性附录。本标准由全国信息安全标准化技术委员会(TC260)提出并归口。本标准起草单位:中国科学院软件研究所,信息安全共性技术国家工程研究中心。本标准主要起
3、草人:冯登国、徐震、翟征德、张敏、张凡、黄亮、庄湧。GB/T III引言主流 IT 产品供应商开始在他们的数据库管理系统安全管理系统、网络操作系统等产品中大量实现基于角色的访问控制功能,然而却没有对其特征集达成一致。缺乏广为接受的模型,导致了对基于角色的访问控制效用和含义理解的不规范性和不确定性。本标准参照 ANSI INCITS 359-2004,使用一个参考模型来定义基于角色的访问控制的特征,并描述这些特征的功能规范,通过以上方法来解决这些不规范与不确定的问题。GB/T 1信息安全技术鉴别与授权基于角色的访问控制模型与管理规范1范围本标准规定了基于角色的访问控制(RBAC)模型、RBAC
4、系统和管理功能规范。本标准适用于信息系统中 RBAC 子系统的设计和实现,相关系统的测试和产品采购亦可参照使用。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。ISO/IEC 13568-2002信息技术-Z 形式规范注释语法、形式系统和语义学3术语和定义下列术语和定义适用于本标准。3.1组件 component这里是指四个 RBAC 特征集之一:核心 RBAC层次 RBAC
5、静态职责分离关系动态职责分离关系。3.2对象 object需要进行访问控制的系统资源,例如文件打印机终端数据库记录等。3.3操作 operation一个程序的可执行映像,当被调用时为用户执行某些功能。3.4权限 permission对受 RBAC 保护的一个或多个对象执行某个操作的许可。3.5角色 role组织语境中的一个工作职能,被授予角色的用户将具有相应的权威和责任。3.6用户 user人、机器网络自主智能代理等,进行资源或服务访问的实施主体。3.7会话 session从用户到其激活的角色集合的一个映射。3.8职责分离 separation of duty限制用户获得存在利益冲突的权限集的
6、约束,例如用户不能同时获得会计和审计的权限。GB/T 24缩略语下列缩略语适用于本标准:RBAC基于角色的访问控制(Role Based Access Control)SSD静态职责分离(Static Separation of Duty)DSD动态职责分离(Dynamic Separation of Duty)USERS用户集(User Set)ROLES角色集(Role Set)OBJS对象集(Object Set)OPS操作集(Operation Set)SESSIONS会话集(Session Set)PRMS权限集(Privilege Management Set)ACL访问控制列表(
7、Access Control List)5一致性对于特定的应用,并非所有的 RBAC 特征都是必要的。因此,本标准提供了一种通过对功能组件和同一功能组件内的特征进行选择,以组装构成所需要的 RBAC 特征的方法。本标准首先定义了一个RBAC 的特征核心集合,任何其他的特征包都必须包含这一核心特征集。在构建 RBAC 特征包时,角色层次,静态约束(静态职责分离),动态约束(动态职责分离)是可选组件。6RBAC 参考模型6.1概述RBAC 参考模型通过四个 RBAC 模型组件来进行定义核心 RBAC角色层次 RBAC静态职责分离关系动态职责分离关系。核心 RBAC 定义了能够完整地实现一个 RBA
8、C 系统所必需的元素元素集和关系的最小集合,其中包括最基本的用户/角色分配和权限/角色分配关系。此外,它还引入了角色激活的概念作为计算机系统中用户会话的一个组成部分。核心 RBAC 对于任何 RBAC 系统而言都是必需的,其它 RBAC 组件彼此相互独立并且可以被独立地实现。角色层次 RBAC 组件支持角色层次。角色层次从数学上讲是一个定义角色之间级别关系的偏序,高级别的角色获得低级别角色的权限,低级别角色获得高级别角色的用户成员。此外,层次 RBAC 还引入了角色的授权用户和授权权限的概念。静态职责分离针对用户/角色分配定义了角色间的互斥关系。由于可能与角色继承产生不一致,静态职责分离关系组
9、件在没有角色层次和存在角色层次的情况下分别进行了定义。动态职责分离关系针对用户会话中可以激活的角色定义了互斥关系。每个模型组件都由下列子组件来定义:a)一些基本元素集;b)一些基于上述基本元素集的 RBAC 关系;c)一些映射函数,在给定来自某个元素集的实例元素的情况下能够得到另一个元素集的某些实例元素。RBAC 参考模型给出了一种 RBAC 特征的分类,可以基于这些分类的特征构建一系列 RBAC 特征包。本标准的主要目的不是试图定义 RBAC 特征的全集,而是致力于提供一组标准的术语来定义已有的模型和商业产品中最主要的 RBAC 特征。6.2核心 RBACGB/T 3核心 RBAC 的元素集
10、和关系在图 1 中进行了定义。核心 RBAC 包含了 5 个基本的数据元素:用户集(USERS)角色集(ROLES)对象集(OBJS)操作集(OPS)权限集(PRMS)。权限被分配给角色,角色被分配给用户,这是 RBAC 的基本思想。角色命名了用户和权限之间的多对多的关系。此外,核心 RBAC 中还包含了用户会话集,会话是从用户到该用户的角色集的某个激活角色子集的映射。角色是组织上下文中的一个工作职能,被授予了角色的用户将具有相应的权威和责任。权限是对某个或某些受 RBAC 保护的对象执行操作的许可。操作是一个程序的可执行映像,被调用时能为用户执行某些功能。操作和对象的类型依赖于具体系统,例如
11、在一个文件系统中,操作可以包含读写执行;在数据库管理系统中,操作包含 select、insertdeleteupdate 等。访问控制机制的核心功能是保护系统资源。与以前的访问控制模型一致,RBAC 模型中的对象是包含或接收信息的实体。对一个实现 RBAC 的系统,对象可以代表信息容器(如操作系统中的文件和目录或数据库中的表视图字段),或者诸如打印机磁盘空间CPU 周期等可耗尽的系统资源。RBAC覆盖的对象包括所有在分配给角色的权限中出现的对象。RBAC 中一个很重要的概念是角色的相关分配关系。图 1 中给出了用户分配关系(UA)和权限分配关系(PA)。图中的箭头表示关系是多对多的(例如,一个
12、用户可以被分配给多个角色并且一个角色可以被分配给多个用户)。这种安排带来了给角色分配权限和给角色分配用户时的灵活性和细粒度。如果没有这些,就有可能造成给用户分配过多的对资源的访问权限;能够更灵活地控制对资源的访问权限也有助于最小特权原则的实施。用户用户 角色角色 会话会话 用户用户/角色分配角色分配 角色角色/权限分配权限分配 会话角色会话角色 权限权限 操作操作 客体客体(UA)(RA)(ROLES)(OPS)(OBJS)(SESS-IONS)(Session_roles)(PRMS)会话用户会话用户(Session_users)(USERS)图 1 核心 RBAC用户在建立一个会话的时候可
13、以激活他/她所被分配的角色的某个子集。一个会话只能与一个用户关联,一个用户可能同时拥有多个会话。函数 session_roles 返回一个会话激活的角色,函数 session_user给出会话的用户。在用户的会话中保持激活状态的角色的权限构成了用户的可用权限。以下为核心RBAC 规范:a),USERS ROLES OPS OBJS分别代表:用户集角色集操作集对象集;b)UAUSERSROLES,一个多对多的映射,代表用户/角色分配关系;c)_(:)2USERSassignedusers r ROLES,一 个 映 射,给 出 分 配 了 角 色 r 的 用 户,_()|(,)assignedu
14、sers ruUSERSu rUA;d)()2OPSOBSPRMS,权限集;GB/T 4e)PAPERMSROLES,一个多对多的映射,代表权限/角色分配关系;f)_(:)2 PRMSassignedpermissions r ROLES,一个映射,给出分配给角色 r 的权限,_()|(,)assignedpermissions rpPRMSp rPA;g)(:)ops p PRMSopOPS,权限到操作的映射,给出与权限 p 关联的操作;h)(:)obs p PRMSobOBS,权限到对象的映射,给出与权限 p 关联的对象;i)SESSIONS,会话集;j)_(:)sessionuser s
15、 SESSIONSUSERS,一个从会话 s 到对应用户的映射;k)_(:)2ROLESsessionroles s SESSIONS,一个从会话 s 到其激活的角色集的映射,_()|(_(),)sessionroles srROLESsessionusers srUA;l)_(:)2PRMSavailsessionperms s SESSIONS,一个从会话 s 到它拥有的权限集的映射,_()_()_()r sessionroles savailsessionperms sassignedpermission r。6.3层次 RBAC6.3.1概述如图 2 所示,层次 RBAC 引入了角色层
16、次。角色层次通常被作为 RBAC 模型的重要部分,并且经常在 RBAC 商业产品中得以实现。角色层次可以有效地反映组织内权威和责任的结构。角色层次定义了角色间的继承关系。继承通常是从权限的角度来说的,例如,如果角色 r1“继承”角色 r2,角色 r2的所有权限都同时为角色 r1所拥有。在某些分布式 RBAC 实现中,角色层次是集中管理的,而权限/角色分配却是非集中管理的。对这些系统,角色层次的管理主要是从用户成员包含关系的角度进行的:如果角色 r1的所有用户都隐含地成为角色 r2的用户,则称角色 r1“包含”角色 r2。这种用户成员包含关系隐含了这样一个事实:角色 r1的用户将拥有角色 r2的
17、所有权限。然而角色 r1和角色r2之间的权限继承关系并不对它们的用户分配做任何假设。本标准认可两种类型的角色层次通用角色层次和受限角色层次。通用角色层次支持任意偏序关系,从而支持角色之间的权限和用户成员的多重继承。受限角色层次通过施加限制来得到一个简单的树结构(一个角色可以拥有一个或多个直接祖先角色,即继承多个角色;但只能有一个直接后代角色,即被一个角色继承)。6.3.2通用角色层次a)RHROLES ROLES是一个称为继承的角色之间的偏序关系,记作。如果 r1r2,则角色 r1 拥有角色 r2 的所有权限并且角色 r1 的用户都将是角色 r2 的用户;b)_(:)2USERSauthori
18、zedusers r ROLES,一个在角色层次存在的情况下从角色到该角色的授权用户的映射,_()|(,)authorizedusers ruUSERSrru rUA;c)_(:)2PRMSauthorizedpermissions r ROLES,一个在角色层次存在的情况下从角色到其GB/T 5授权权限的映射,_()|(,)authorizedpermissions rpPRMSr rp rPA。用户用户 角色角色 会话会话 用户用户/角色分配角色分配 角色角色/权限分配权限分配 会话角色会话角色 权限权限 操作操作 客体客体(UA)(RA)(ROLES)(OPS)(OBJS)(SESSIO
19、NS)(Session_roles)(PRMS)会话用户会话用户(Session_ users)角色层次角色层次(RH)(USERS)图 2 层次 RBAC通用角色层次支持多重继承的概念,从而使得一个角色可以从两个或者更多其它角色继承权限或用户成员。多重继承具有两个重要的性质。第一,多重继承使得可以通过从几个低级别的角色来构建较高级别角色的方式来定义角色间的关系以反映组织和事务的结构。第二,多重继承使得可以一致地对待用户/角色分配关系和角色/角色继承关系。用户也可以被包含在角色层次中,并且仍然用来代表用户/角色分配以及用户对角色权限的继承。在受限角色层次中,一个角色只能有一个直接后代。尽管受限
20、角色层次不支持权限的多重继承,但与层次 RBAC 比较却具有管理上的优势。如果 r1r2并且这两个角色之间不存在其它的角色(即不存在不同于角色 r1和角色 r2的角色 r3,满足 r1r3r2),则 r1是 r2的直接祖先,记作 r1r2。6.3.3受限角色层次受到下述限制的通用角色层次:r,r1,r2ROLES,rr1rr2r1=r2。角色层次可以用偏序图来表示。图中的节点代表角色,如果 r1是 r2的直接后代,则存在从 r1指向r2的有向箭头。在角色层次的偏序图上,rxry当且仅当存在从 rx到 ry的有向路径。由于角色之间的偏序关系是传递和反对称的,所以不存在有向回路。通常,角色层次图上
21、的箭头与角色间的继承关系相一致都是自上而下的,因此角色用户成员的继承是自上而下的,而角色权限的继承是自下而上的。6.4带约束的 RBAC6.4.1概述带约束的 RBAC 模型增加了职责分离关系。职责分离关系可以被用来实施利益冲突(Conflict OfInterest)策略(防止某个人或某些人同时对于不同的某些个人、某些集团或组织以及某种事物在忠诚度和利害关系上发生矛盾的策略)以防止组织中用户的越权行为。作为一项安全原则,职责分离在工商业界和政府部门得到了广泛的应用,其目的是保证安全威胁只有通过多个用户之间的串通勾结才能实现。具有不同技能和利益的工作人员分别被分配一项事务中不同的任务,以保证欺
22、诈行为和重大错误只有通过多个用户的勾结才可能发生。本标准支持静态和动态的职GB/T 6责分离。6.4.2静态职责分离关系在 RBAC 系统中,一个用户获得了相互冲突的角色的权限就会引起利益冲突。阻止这种利益冲突的一个方法是静态职责分离,即对用户/角色分配施加约束。本标准中定义的静态约束主要是作用于角色,特别是用户/角色分配关系,也就是说,如果用户被分配了一个角色,他/她将不能被分配另一些特定的角色。从策略的角度,静态约束关系提供了一种有效的在 RBAC 元素集上实施职责分离和其它分离规则的有效手段。静态约束通常要限制那些可能会破坏高层职责分离策略的管理操作。以往的 RBAC 模型通常通过限制一
23、对角色上的用户分配来定义静态职责分离(一个用户不能同时分配处于 SSD 关系下的两个角色)。尽管现实世界中确实存在这样的例子,这样定义的 SSD 在两个方面限制性太强:SSD 关系中角色集的成员数(只能为 2)和角色集中角色的可能组合情况(每个用户最多只能分配角色集中的一个角色)。在本标准中,静态职责分离通过两个参数定义:一个包含两个或更多角色的角色集和一个大于 1 的阈值(用户拥有的角色中包含在该角色集中角色的数量小于这个阈值)。例如,一个组织可能要求任何一个用户不能被分配代表采购职能的 4 个角色中的 3 个。正如图 3 所示,静态职责分离可能存在于层次 RBAC 中。在存在角色层次的情况
24、下,必须注意不要让用户成员的继承违反静态职责分离策略。为此,层次 RBAC 也被定义为继承静态职责分离约束。在角色层次 RBAC 中,为了解决可能出现的不一致性,静态职责分离被定义为针对角色的授权用户的约束。用户用户 角色角色 会话会话 用户用户/角色分配角色分配 角色角色/权限分配权限分配 会话角色会话角色 权限权限 操作操作 客体客体(UA)(RA)(ROLES)(OPS)(OBJS)(SESS-IONS)(Session_roles)(PRMS)会话用户会话用户(Session_ users)角色层次角色层次(RH)(USERS)SSD 图 3 层次 RBAC 下的静态职责分离a)静态职
25、责分离(2)ROLESSSDN由一组形如(rs,n)的对构成,其中 rs 是角色的集合,t 是 rs 的子集,2n,满 足 任 何 用 户 都 不 能 同 时 被 分 配rs中 的n个 或 者 更 多 角 色,(,),:|_()rtrs nSSDtrs tnassignedusers r 。b)层次 RBAC 下的静态职责分离在存在角色层次的情况下,静态职责分离基于角色的授权用户而不是直接分配了该角色的用户进行重新定义,(,),:|_()rtrs nSSDtrs tnauthorizedusers r 。6.4.3动态职责分离关系GB/T 7静态职责分离关系和动态职责分离(DSD)关系的目的都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息安全技术鉴别与授权基于角色的访问控制模型与管理规范GB-T 25062-2010 信息 安全技术 鉴别 授权 基于 角色 访问 控制 模型 管理 规范 GB 25062 2010
限制150内