数据库访问控制技术研究综述.doc_第1页
数据库访问控制技术研究综述.doc_第2页
数据库访问控制技术研究综述.doc_第3页
数据库访问控制技术研究综述.doc_第4页
数据库访问控制技术研究综述.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

20目录第一章 绪论41.1 论文研究背景及意义41.1.1 研究背景41.1.2 研究意义41.2 访问控制技术研究现状41.2.1 国外发展现状41.2.2 国内研究现状51.3 本文主要工作51.4 本文的组织结构5第二章 传统的访问控制研究62.1 访问控制技术基本术语62.2 自主访问控制(DMC)62.2.1 自主访问控制概述62.2.2 自主访问控制实现策略62.3 强制访问控制(MAC)72.3.1 强制访问控制概述72.3.2 强制访问控制基本规则72.4 适应性强制访问控制(AMAC)82.5 基于角色访问控制(RBAC)82.5.1 基本模型 RBACo82.5.2 层次模型 RBACl92.5.3 约束模型 RBAC2102.5.4 管理模型 ARBAC97102.6 基于任务访问控制模型112.6.1 TBAC 模型组成112.6.2 TBAC 的授权122.7 访问控制模型的比较13第三章 现有的改进技术153.1 基于次数限制的访问控制模型153.1.1 ERBAC 模型改进思路153.1.2 模型相关概念163.1.2.1 模型基本概念163.1.2.2 模型扩充概念163.1.2.3 模型约束表达173.1.3 ERBAC 模型访问控制规则实现173.1.3.1 数据字典改造173.1.3.2 访问控制规则183.2 访问控制新技术 UCON203.2.1 UCON 的提出203.2.2 UCON 的模型20第四章 结论及展望21文参考文献21 第一章 绪论 1.1 论文研究背景及意义 1.1.1 研究背景 数据库技术从 20 世纪 60 年代产生至今,已经得到了快速的发展。数据库系统具有强大的数据存储、数据处理和网络互联的能力 ,因此在许多领域有着广泛应用。数据库系统担负着日益艰巨的集中处理大量信息的任务,其安全问题日渐突出。随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域。但随之而来产生了数据的安全问题。数据库作为信系统重要数据的存储和处理核心,往往成为最吸引攻击者的目标。访问控制技术是数据库安全领域的一个重要研究方向,传统的访问控制技术已越来越不能满足现代数据库的安全需求。本课题的主要针对现有数据库访问控制技术问题做综述性介绍,通过对不同数据库模型的访问控制技术对比研究,得出更优的技术方案。 1.1.2 研究意义 早期数据库的访问控制大致分为自主访问控制和强制访问控制。自主访问控制中访问规则的制定取决于用户自身,用户根据需要将客体的访问权限授予他人,他人也可将此访问权限转授出去,因此管理过于松散,不可避免将导致一系列的安全威胁,比如机密信息泄露和敏感信息篡改;而强制访问控制规则不允许用户自身进行访问控制的管理,而是进行系统的统一管理和控制,其规则过于严格,可用性不是很高。20 世纪 90 年代初期,策略中立的基于角色访问控制模型(RoleBased Access Control Model,RBAC)被提出来。基于角色的访问控制模型是在用户和权限之间引入角色这个层次,并且围绕着角色这个新的概念来实施访问控制策略。不同的角色和它所应具有的权限相联系,而用户成为某些角色的成员,这样用户便获得了这些角色的权限。角色根据实际单位或组织的不同工作职责来划分,依据用户所承担的不同的权利和义务来授予相应的角色。对于一个存在大量用户和权限分配的系统来说,从大量的用户管理转而管理、操纵少量的角色,这样简化了权限分配管理,提高安全管理的效率和质量,并且能直接反映企事业单位内部安全管理策略和管理模式。基于角色的访问控制模型在现实中有着较为广泛的应用,然而这一模型本身存在着一些问题: (1)该模型是一种静态模型,用户一旦被赋予普通角色,除非被收回,否则用户一直持有,不能达到权限的自动收回。 (2)传统的 RBAC 模型中,权限直接与角色相关,这就决定了权限的粒度最多只能细化到角色一级。最小权限约束只是角色的最小权限约束,而实际系统中一个角色往往 可以执行多项任务,不管用户是否执行任务,只要用户激活某一角色就拥有该角色的全部权限。实际上,用户在正常工作时的一个时间点上通常都只是用一个角色实现一种操作,所以 RBAC 的最小权限约束粒度还不够细化。 (3)有的情况下,用户需要执行激活角色的所有任务,这需要解决任务执行的顺序问题;有的权限的成功执行需要多用户多角色的多次执行,这需要明确多用户多角色执行的次序。 1.2 访问控制技术研究现状 1.2.1 国外发展现状 基于角色的访问控制模型(RBAC)相关研究起始于 20 世纪 90 年代。 1992 年,美国国家标准与技术研究所(NIST)的 David Ferraiolo 和 Rick Kuhn 在综合了大量的实际研究之后,率先提出基于角色的访问控制模型框架,并给出了 RBAC 模型的一种形式化定义。该模型第一次引入角色的概念并给出其基本语义,指出 RBAC 模型实现了最小权限原则 (1east privilege)矛 II 职责分离原贝 JJ(separation of duty)。该模型中给出了一种集中式管理的 RBAC 管理方案, 1995 年他们以一种更直观的方式对该模型进行了描述。 Ravi Sandhu 和他领导的位于 George Mason 大学的信息安全技术实验室(LIST)于 1996 年提出了著名的RBAC96 模型,将传统的 RBAC 模型根据不同需要拆分成四种嵌套的模型并给出形式化定义,极大的提高了系统灵活性和可用性。RBAC96 实际上是一个 RBAC 模型族,其中最基本的模型是 RBACo,它包含了 RBAC中的核心部分。RBACl 和 ImAC2 都建立在 RBACo 之上,RBACl 增加了角色继承的概念,RBAC2 增加了角色之间的约束。RBAC3 则把 RBACl 和RBAC2 综合了起来,同时提供继承和约束,并讨论了两者的关系。 1997 年他们更进一步提出了一种分布式 RBAC 管理模型 ARBAC97,让管理角色及其权限独立于常规角色及其权限,实现了在 RBAC 模型基础上的分布式管理。这两个模型清晰的表征了 RBAC 概念并且蕴涵了他人的工作,成为 RBAC 的经典模型。 2001 年, RBAC 领域的领军人物 David Ferraiolo,Ravi Sandhu 等人联合拟定了一个 RBAC 模型的美国国家标准草案,力图统一不同模型中的术语,并对所有 RBAC 的基本操作给出伪码定义。2001 年 8 月,ACM(Association for Computing Machinery)版标准草案完成。2003 年 4 月,NIST 提交标准草案。2004 年 2 月 19日,在这两个标准的基础上, INCITS 正式批准了 ANS1NCITS 359 2004 standard Information technology Role Based AccessControl Modelt剐这一模型。 1.2.2 国内研究现状 国内的学者在基于角色的访问控制模型方面也开展了大量的研究工作。其研究多是对以往 RBAC 模型的扩展,使其更适应于实际应用,或是针对某一应用在 RBAC 模型的基础上提出一种新的模型。比如左永利、吴中福等在基于角色访问的数据库自适应容侵结构一文 t91,提出了一种基于 RBAC 和攻击响应的容侵数据库结构。该结构能根据用户的动态行为进行自适应的系统参数调节,可根据用户的角色、历史记录、不同的应用领域和系统容侵要求对系统参数进行自动调节,提高系统的自适应能力。邢小永、张彬等在一种基于角色的访问控制扩展模型一文中对 RBAC 进行了扩展,引入了用户组、角色组,并充分利用用户组、角色组、对和操作的层次性有效地建立起一种以角色为中介的用户到权限的对应关系。此模型能更好的适应现实应用的需要,提高授权的灵活性。夏鹏万、陈荣国等在增强的基于角色数据库访问控制模型一文中针对 RBAC 存在的不足和缺陷(元素分类模糊束与规则简单)进行改进,形成了一个较原有 RBAC 模型更加实用和安全性更高的角色访问控制模型。其在组成元素的定义上更加详细并且分类更加清晰,约束规则更加具体与实用,可以对数据库系统的安全访问提供有力的支持。 1.3 本文主要工作 本课题的主要针对现有数据库访问控制技术问题做综述性介绍,通过对不同数据库模型的访问控制技术对比研究,得出更优的技术方案。除了对传统访问控制模型进行简单介绍,还对现阶段出现的一些改进方案进行简要分析。 1.4 本文的组织结构 第一章是前言。介绍了课题的研究背景和意义,对国内外研究现状作了分析,最后对课题的主要研究内容以及组织结构做了说明。第二章是传统的访问控制模型。介绍了自主访问控制、强制访问控制、适应性强制访问控制、基于角色的访问控制以及基于任务访问控制模型的访问控制实现策略、安全规则等。分析比较了各种传统访问控制的优缺点。第三章是现有的改进技术的研究。UCON 访问控制技术、基于次数限制的访问控制模型、基于角色访问控制模型的改进及强制访问控制与自主访问控制相结合的模型、改进思想、优点等。第四章是结论及展望。综述访问控制技术及对访问控制技术的未来发展做一下展望。 第二章 传统的访问控制研究 2.1 访问控制技术基本术语 (1)主体:主体是可以对其它实体施加动作的主动实体。系统中所有主体的集合定义为 S=Sl,S2Sn,其中 Si 为任意主体。在强制访问控制模型中,每个主体都属于某个级别,为多对一关系,通过函数Sec(Si)=安全等级即密级来确定。 (2)客体:一个接受其它实体动作的被动实体。所有客体的集合定义为 0=01,020n)。其中 0i 为任意客体。强制访问控制模型中,对任意 0i0 都具有四元组 Oi=(密级,范围,标记,时限)。在操作系统内部,客体一般为文件、目录、端口和设备。在数据库系统内部,客体又主要为关系、表、视图、记录、存储过程和函数等。 (3)用户(user):主要是和某个计算机系统交互的自然人151。 (4)角色(role):反映一个组织内部一项具体的工作职责,被授予某种角色的用户将具备一定的职权。在一次会话中,用户激活的角色集称为活跃角色集。 (5)许 n-I(permission):作为系统主体的人对客体进行特定模式访问的操作权限。 (6)会话(session):一个用户和他所具有的角色集中活跃角色子集之间的映射关系,具有动态特征。 (7)角色层次(Role Hierarchy);角色之间建立的一种偏序关系,其中上层角色继承下层角色的访问权限。 (8)约束(Constraint):角色之间的一种关系。 (9)管理角色(Administrative Role):一种具有以下许可的角色:可以修改用户、角色、许可集,或是修改用户和许可的分配关系。2.2 自主访问控制(DMC) 2.2.1 自主访问控制概述 控制(DAC)策略是一种通用访问控制策略。在该策略下决定用户能否访问某数据对象的依据是系统中是否存在明确授权。如果授权存在则允许访问,否则访问被禁止。DAC 的主要特征表现在:主体可以自主地把自己所拥有客体的访问控制权限授予其他主体或从其他主体收回所授予的权限。DAC 根据主体所属的身份来控制对客体目标的授权访问,主体对客体的控制是基于对主体的鉴别和访问控制规则。一个主体如果具有对一个客体的自主访问权限,那么这个主体可以把该客体信息共享给其他主体,并且只能控制直接访问而无法控制间接访问。当主体提交对客体的访问请求,系统检查主体对该客体的所有权来决定是否容许访问。 2.2.2 自主访问控制实现策略 DAC 的典型方法是访问控制矩阵或访问控制列表。访 问控制矩阵(AccessControl Matrix,ACM)是一种通过矩阵形式表示访问控制权限的方法,实现如表 21 所示。 21 访问控制矩阵表表中每一行代表一个主体,每一列代表一个客体,矩阵中行列的交叉元素代表某主体对某客体的访问权限。在表 21 中,主体 3 对客体 2 有“读“的权限;对客体 3 既有“读”权限,又有“写”权限;但对客体 1 没 有任何访问权限。在实际应用中,当主体、客体数量很多时,矩阵中的空元素将造成存储空间的极大浪费。访问控制表(Access Control List,ACL)是 DAC 系统中通常采用的另一种安全机制。ACL 是以客体为中心建立的访问权限表,对每个客体单独指定对其有访问权限的主体,还可以将有相同权限的主体分组,授予组的访问权限。如针对客体 Objectl,用户 Userl 有“读”权限,用户 User2 有“读写”权限,组 Deptqb的所有成员都有“写”权限。ACL 中定义如下:Objeetl: (Userl, Read), (User2, Read, Write), (Dept, Write) ACL 表述直观,易于理解,可以较方便的查询对某一特定资源拥有访问权限的所有用户。但对于用户数量多、客体对象复杂的信息系统,当组织内的人员发生人事变动(升迁、换岗、招聘、离职等)时,管理员需要修改用户对所有资源的访问权限,这使得访问控制的授权管理变得十分复杂,并且容易出错,造成权限的失控状态。 2.3 强制访问控制(MAC) 2.3.1 强制访问控制概述 强制访问控制模型 MAC 是由美国政府和军方联合研究出的一种控制技术,目的是为了实现 I:I 二 DAC 更为严格的访问控制策略。MAC 的基础是对主体和客体进行级别分类,即根据客体的敏感级和主体的许可级来限制主体对客体的访问。对于不同类型的客体,MAC 采取不同层次的安全策略,并针对不同类型的客体来进行访问授权。MAC 由授权机构为主体和客体分别定义固定的安全属性,用户无权进行修改。系统通过对安全属性的匹配比较来决定是否容许访问的进行。安全属性在安全策略没有被改变之前是不能被改变的,所以一个主体无权将对系统资源的访问权传授给其他主体。主体权限反映了信任程度,客体权限则与其所含信息的敏感度一致,通过二者的比较来判断访问的合法性。访问控制的两个关键规则是:不向上读和不向下写,即信息流只能从低安全级向高安全级流动,任何违反非循环信息流的行为都是被禁止的。 2.3.2 强制访问控制基本规则 强制访问控制模型的典型代表是 1973 年提出的 Be ll La Padula 模型,强制访问控制是 B1 级数据库管理系统的重要特征,它主要是限制对敏感客体的访问。在 BLP 模型中:范围表示能够访问客体 0 的所有级别主体的集合;标记用来表示当前操作过客体的主体最高类别,初始为最低类别;每个客体所对应的四元组是由保密中心指定的;时限表示客体从创建到删除的时间长度;客体具有密级即为安全等级共分 4 个等级 sc绝密,机密,秘密,普通);客体依照它所服务的对象划分成类即客体类用 0-Class 来表示。BLP 模型的基本思想是,确保信息不向下流动,从而保证系统内的信息是安全的。BLP 模型的信息不向下流动是通过下面两个规则来保证的: (1)简单安全规则:当一个主体的安全级支配另一个客体的安全级时,主体才具有对客体进行“读”操作的权限; (2)*-规则:当客体的安全级支配主体的安全级时,主体才具有对客体进行“写”操作的权限。满足了上述两个规则即控制了系统中信息的流动,保证所有安全级别上的主体只能访问其具有访问权限的客体,从而保证信息不会向下流动。此外,系统还有一个自主安全规则: (3)ds 规则:每个存取必须出现在存取矩阵中,即一个主体只能在获得了所需的授权后才能执行相应的存取。 2.4 适应性强制访问控制(AMAC) 适应性强制访问控制可以更好的适合到一般目的的数据,处理实践和为包含敏感信息的数据库提供一个设计框架,这些就是适应性强制控制的主要目的。为了克服基于强制控制的限制,AMAC 具有好几个设计特色,这些特色可以帮助一个数据库的一个安全技术,它具有以下优点: 1. 该技术支持数据库中所有语句的设计,能够用来设计数据库的强制保护以及数据库的自主访问设计. 2. 在种种情况下,强制访问保护需要一个支撑策略去获得数据库段作为保护触发,是可以获得的.这样就可以克服了前面所讨论的缺点:在多级系统中什么标准应当安全客体的粒度。 3. 该技术下,可以支持,强制访问保护所需要的安全客体和主体的安全标记自动获得。如果有必要的话,安全管理员可以重新低昂一自动标记的候选安全标记。这样克服了数据标记通常不能获得的缺陷。 4. 使用数据库触发器来实现 ANAC 安全,这样能够很好的适合应用场合中的依赖安全需求。 适应强制访问控制属于基于角色安全模型中的一类,角色安全模型中假设每一个系统的潜在用户在一个企业中扮演某一个角色。用户可以根据他们的角色授权来实现对一个预先定义数据几个的具体的数据库操作。AMAC 模型不仅仅涉及访问控制问题而且也涉及发哦数据库的设计环境问题,重点强调在结果数据库的安全。在DBMS 中实现结果数据库可以仅支持 DAC,或者同时支持 DAC 和 MAC,该技术结合了数据模型领域以及来自数据安全领域中众所周知和被广泛接受的概念但是 AMAC 对于授权和收权没有特别深入的研究,不适合于商业用途。这种强制访问控制时序的工作量比较大,管理不方便。AMAC 中角色知识适合几种数据库,对于分布式数据没有做出定义和研究。AMAC 知识从传统的访问控制方法到 RBAC访问控制方法的一个过渡模型。 2.5 基于角色访问控制(RBAC) 在目前提出的众多 RBAC 模型中,最具代表性的是 RBAC96 模型家族。下面详细论述 RBAC96 模型族的几层模型。 2.5.1 基本模型 RBACo 授权机制从某个角度看可以视之为在系统内通过特定的操作(Ac t ion)将主体与客体联结起来。这里所说的操作就是 RBAC 模型中的许可,把许可授予角色就是权 限角色分配关系 PA,为用户分配角色就是用户角色分配关系 UA。一个角色可以被授予多个许可,一种许可以授予多个角色;一个用户可以分配(扮演)多个角色,一个角色可以被分配给多个用户。角色在系统中的变化程度远远小于用户的改变,它在系统中,相对来说是比较稳定的。并且,把许可授予少量的角色,这与授权给众多的用户相比,简化了许可的授权管理。在采用 RBAC 模型的系统中,每个用户进入系统得到系统控制的时候,就开始了一次会话。每个会话都是动态产生的,从属于一个用户。每次会话激活用户的角色集中的一个子集,这个子集也称为活跃角色集。访问控制系统根据本次会话启用的活跃角色集,将其映射到许可集上,便得出会话用户所具有的许可(权限)。对于该用户而言,在一次会话内可以获得活跃角色集中所有角色所授予的许可,这样的安全机制的好处是显然的。例如,统一用户在进入系统时打开适当的会话就可以以最小的系统代价得到最灵活的系统安全服务功能。在工作站的环境下,一个用户还可以同时打开多个会话,每个会话置于一个窗口内。用户获得非常大的机动灵活,同时又获得可靠的数据安全,因为系统可以方便地被设置成安全级别较低的活动,不会打开一个较高安全级别的会话。因为引入了会话概念,使得在一个系统中并存两个以上存取控制机制的灵活性也增强了。会话和角色的设置更容易实施最小特权原则,即在一个成熟的安全系统内部应当绝不会给予用户以超过执行任务所需特权以外的特权。 RBAC96 需遵循的基本安全原则有: (1)责任分离原则(Seperat ion of Dut ies Pr inc iple)对于一个特定的事务集,可能一个用户并不能执行这个事务集中的每一个事务。例如,在银行信贷处理中,不存在一个职员既可以处理信贷事务,又能够处理审计事务。信贷和审计这两个相关的职责,不能由一个用户来承担。责任分离原则的实施有角色态互斥和动态互斥两种,具体操作在角色约束中来完成。 (2)最小特权原则(Leas t Pr iv ilege Pr inc iple) 它保证某个角色在完成相应职责时,拥有所需的所有许可,并且这个许可集决不能 超过他实际所需的许可范围,即不给角色分配多余的权限许可,保证拥有这个角色的用户具有最小的特权。 (3)数据抽象原则(Data Abs trac t ion Pr inc iple) 许可既可以为实际的权限,如操作系统中提供的典型的读、写、执行等权限,数据库管理系统中的 Se lec t,Update,Exec ute 等权限,也可以是一些抽象的权限许可,例如账目信贷、存取等许可。 RBACo 的形式化定义: U,R,AR,P 以及 S(用户集,角色集,活跃角色集,许可集和会话集) PA 属于 PxR,PA 是授权到用户的多对多的关系 UA 属于 UxR,是用户到角色的多对多的关系 roles (S1)属于rf (user(S1),r )eUA user:S jU,将各个会话映射到一个用户的函数 user(Si) roles:S j2R,将各个会话 S,与一个角色集合联结起来的映射,随时间的变化而变化。 2.5.2 层次模型 RBACl 在一般的单位和组织中,特权或职权通常是具有线性关系的,因此在 RBAC 模型家族中引入了一定的层次结构用以反映这一实际情况。对于常见的组织(单位)结构图,都是类似于树状的连通图。原则上, RBACl 体现了上级领导(角色)所得到的信息访问权限高于下级职员的权限。 RBACl 的形式化定义: U,K 腿 P 以及 S(用户集,角色集,活跃角色集,许可集和会话集) PAcPxR,PA 是授权到用户的多对多的关系 UAc _UxR UA 是用户到角色的多对多的关系 RH_cRxR RH 是角色上的个偏序关系,称之为角色层次关系或支配关系,一般记为“=” User:S 到 U,将各个会话映射到一个用户的函数 user (s ) roles:S-2R,将各个会话 S 与一个角色集合联结起来的映射,随时间的变化而变化。 在多级安全控制结构内,存取类的保密级别是线性排列的。其中的安全策略要求是,要想合法地获取信息,提出访问请求的人员的级别要大于信息的级别。RBACl中支持的层次关系可以容易地实现多级安全系统所要求的保密级别的线性排列的要求。 多级安全系统的另一个要求就是要能够支持范畴的安排,范畴是相互独立的和无序的。为了获得信息的访问权,提出访问请求的用户所具有的范畴,必须和访问信息的范畴相吻合。角色的层次结构(RBAC)中的角色可以容易地实现所要求的保密存取类的范畴的要求。 2.5.3 约束模型 RBAC2 RBAC2 是在 RBACo 的基础上加入约束元素。作为一个完整的安全模型,约束机制是非常重要的。对于一个具体的系统而言,无论它是否具有层次角色的特征,约束机制都是必不可少的。例如,在一个组织内不能将出纳角色和审计角色同时授予一个用户,否则将可能产生欺诈行为。当使用了角色约束机制后,公司的领导层就可以不必再考虑具体的实施。这样对于系统管理员的工作,也将变得轻松,对于一个大型的系统而言,也是非常重要的。实际上,通过约束机制,RBAC 就可以实现强制安全控制,而这包括了对 RBAC 本身的管理和控制。对于角色的约束机制主要有以下几种约束:角色静态互斥约束;角色动态互斥约束;角色基数约束:角色前提约束。在实际的系统中,经常用到的是前三种角色约束机制。角色静态互斥是要求某些角色不能同时分配给一个用户;动态互斥是一个用户开始会话时,不能同时激活某些角色,否则将会违背本组织的安全策略。 角色基数包括角色可以分配的最大和最小用户数,基数约束并非 RBAC 模型所要求的,但在具体的应用系统中,却是安全策略所要求的一个方面。大多数的应用系统在 RBAC 模型的实现过程中,将其作为角色约束的一项来加以实现。角色前提约束是指用户在被指派角色 R 之前,必须已经具备另一个角色 Rt。实际情况中类似的前提约束条件都是对有一定业务联系或关系的角色起作用。 RBAC2 的定义如下: RBAC2 包含了 RBACo 中所有的基本特性,除此之外增加了对 RBACo 的所有元素的核查过程,只有拥有有效值的元素才可被接受。 定义集合 Ro le members( r i)=ulu 被分配了角色 r i) Sta_mutex( r i)=r jl r i 和 rj 满足静态互斥,i 不等于 j) Dyn_mtrtex(r i)=r jI r i 和 rj 满足动态互斥,i 不等于 j Members_lim( r i)=nln=0,n 为 ri 的角色成员限制数) Members_num(r i)=nln=0,n 为 ri 的角色成员数 约束规则 1(静态责任互斥):一个用户 U 所被分配的任意两个角色 ri,rj 都不能属于静态互斥角色。 约束规则 2(动态责任互斥):在一次会话 S 中,所激活的任意两个角色 ri,rj 都不能属于动态互斥角色。 约束规则 3(角色基数规则):所能分配给角色 r 的最大用户(成员)数量不能超过角色成员限制数。 2.5.4 管理模型 ARBAC97 通过单一的系统管理员管理 RBAC 系统,根据实际的系统需求,可以采用 RBAC 模型家族中的某一个模型。但是对于一个具有上千个角色的大型系统而言,管理这些角色和它们之间的关系将是一个复杂的任务,在这个过程中需要涉及安全管理员组的授权问题。由于 RBAC 的关键优势在于它简化了许可管理,因此 ARBAC97 将谈到 RBAC 管理自身的功能。使用 RBAC辅助管理 RBAC 系统将是 RBAC 全面成功的一个决定性的因素。ARBAC97 模型的基本思想是利用 RBAC 模型本身来进行 RBAC 模型的管理,包括用户角色管理、权限角色管理、角色层次关系管理、限制管理等几个部分。模型的管理员本身也具有角色,称作管理员角色,并且也有角色继承关系。管理员用户通过拥有管理员角色得到对角色继承关系的管理权。相对于非管理员的角色继承关系,管理员角色继承关系可以是一个单独的继承关系,并且该继承关系上的每个管理员角色将对应非管理员角色继承关系上的一部分管理区域,实现一种分工明确的分布式角色管理。 ARBAC97 模型分为三个部分:用户角色指派管理(URA97),权限角色指派管理(PRA97),以及角色继承关系管理(认 97),下面分别进行简要介绍。 (1)URA97 模型 URA97 模型管理用户角色指派,从管理员的职责来看,URA97 模型分为两个部分指派模型(Grant Model)和吊销模型(Revoke Model)。在指派模型中, 为了刻画不同层次的管理员能够管理的用户角色指派的范围,模型定义了一个关系,确定每个管理员对应于每个角色是否能够进行用户指派。考虑到管理员之间也存在一个层次关系,实际中的 指派模型给每个管理员指定了一个管理范围,可以用一个区间来表示。高级的管理员角色的管理区间包含下级角色的管理区间,从而形成了一个有层次的、职责分明的管理层次。 对应于吊销模型,每个管理员也有一个吊销的角色区间,他可以在该区间中吊销任何角色的对应用户。根据管理员层次,同样有一个吊销的继承关系保证管理的不越级操作。由于一个角色对应的用户可以是通过角色继承关系得到的,因此在吊销模型中又可以分为强吊销(Strong Revoke)和弱吊销(Weak Revoke)。如果一个吊销操作是弱吊销,那么如果该用户是通过继承关系成为该角色的对应用户,吊销操作将不起作用;如果是强吊销,那么将强行剥夺该用户属于上层角色的权利。一般来说强吊销可能产生一些不可预知的后果,所以处理起来应该比较慎重。 (2)PRA97 模型 PRA97 模型管理权限角色指派。由于在 RBAC96 模型中权限和用户的地位是对称的,因此 PRA97 模型实际上是 URA97 模型的一个对偶模型。PRA97模型中同样可以定义指派模型和吊销模型,也同样可以定义管理员的管理区间。在吊销模型中同样存在强吊销和弱吊销之分。 (3)RRA97 模型 角色本身的管理是整个 RBAC 模型中最复杂的部分。由于角色的继承关系会影响到用户角色指派和权限角色指派,因此管理员可管理的角色区间会更加严格。类似 URA97 模型,每个管理员针对每一种改变角色的操作都可以定义一个方法,刻画是否可以添加角色、删除角色以及改变角色间的继承关系。RRA97 模型中定义了多种角色区间的概念,并且给出了一些形式化的证明,保证了这些区间能够安全的实现角色模型的分布式管理。 2.6 基于任务访问控制模型 在介绍基于任务的访问控 SfJ(Task Based Access Control, TBAC)t25】之前,先介绍一下工作流的概念。工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。实际上,工作流是为了完成某一目标而由多个相关的任务(活动)构成的业务流程,所关注的是处理过程的自动化,对人和其他资源进行协调管理,从而完成某项工作。当数据在工作流中流动时,执行操作的用户在改变,用户的权限也在改变,这与数据处理的上下文环境相关,而基于任务的访问控制正是适合工作流环境下的访问控制模型。 TBAC 是一种新的安全模型,它以任务、活动为中心来建立安全模型和实现安全机制。在进行任务处理过程中,对信息对象的访问权限是随着执行任务的上下文环境而变化的,因此它是一种上下文相关的访问控制模型,又称为主动访问控制模型。 2.6.1 TBAC 模型组成 TBAC 模型也由四个层次模型组成,与RBAC96 模型的层次类似,如图 21所示。 图 2-1 TBAC 层次模型关系Fi92。1 relationship between TBAClevels model TBACo 是其基本模型,规定了系统的最小需求; TBACl 在 TBACo 的基础上增加了复合授权; TBAC2 在 TBACo 的基础上增加了约束,包括静态约束和动态约束; TBAC3 包含 TTBACI 与 TBAC2,也间接包含 TTBACo。下面介绍一下 TBAC模型中几个主要的基本概念: 授权步(Authorization Step,AS):表示一个原始授权处理步,是指在一个工作流程中对处理对象的一次处理过程,是访问控制所能控制的最小单元,由受托人集和许可集组成。 授权结构体(Authorization Unit,AU)-由一个或多个授权步组成的结构体,它们在逻辑上是联系在一起的。授权结构体分为一般授权结构体和原子授权结构体。一般授权结构体内的授权步依次执行;原子授权结构体内的每个授权步紧密联系,其中任何一个授权步失败都会导致整个结构体的失败。 处理状态(Processingstate):当前的处理状态表示授权步在生命周期内的执行程度。任何授权都有时间期限,因此每个授权步都有一个生命周期与之关联。在生命周期内,存在五种态,分别是睡眠、激活、有效、挂起和无效。 任务(Task,T):是工作流程中的功能逻辑单元,与多个用户相关,可能包括几个子任务。而授权结构体是任务在计算机中进行控制的一个实例。任务中的子任务,对应于授权机构体中的授权步。 受托人集(TrusteeseO:可被授予执行授权步的用户的集合。执行委托者(Executortrustee):被授予执行该授权步的受托人集中的一个成员。 许可集(PermissionsseO:受托人集的成员被授予授权步时所拥有的访问许可的集合。 执行者许可集:执行委托者在执行授权步过程中所需许可的集合。 激活许可集:一个授权步的处理可以决定后续授权步对处理对象的操作许可,这些许可称为激活许可集。 保护态:执行者许可集和激活许可集一起称为授权步的保护态。 依赖(Dependency):授权步之间或授权结构体之间的相互关系,反映了基于任务的访问控制的原则。 任务句柄(Task Handle):保存调用授权步的任务的相关信息。 一个工作流的业务流程由多个任务构成,而一个任务对应于一个授权结构体。每个授权结构体由特定的授权步组成,授权结构体之间以及授权步之间通过依赖关系联系在一起。 2.6.2 TBAC 的授权 在 TBAC 中,授权 NtiNN(s、0、P、L、AS)来表示。其中,s 表示访问主体,0 表示被访问的客体,AS 表示授权步,P 表示授权步 AS 所激活的权限,L 表示授权步 AS 的生命周期。L 和 AS 是 TBAC 模型区别于其它访问控制模型的显著特点。AS 在生命周期内,存在五种处理状态,各状态的意义如下: 1) 睡眠状态(Dormant):表示授权步没有被任何任务调用; 2) 激活状态(Revoked):表示授权步被请求调用激活,并且将被处理; 3) 有效状态(valid):与授权步相关的权限都被激活,授权步开始执行,随着权限被使用,其保护态发生变化: 4) 挂起状态(Hold):因执行条件不足或被管理员强制而处于的状态。在该状态下,与授权步相关的权限都不能使用,直到挂起被释放为止,它可以被恢复为有效状态,也可以被管理员强制为无效状态; 5) 无效状态(Invalid):授权步执行完毕,生命周期终止,授权步将从系统中被删除。 授权步的状态变迁如图 22 所示: 图 2-2 授权步状态变迁图授权步的状态变化一般实行自我管理,依据执行的条件而自动变迁。在授权步 AS 被触发之前,它的保护态是无效的,其中包含的权限不可使用。当授权步 AS 被触发时,它的执行委托者开始拥有执行许可集中的权 限,同时它的生命周期开始倒计时。在生命周期期间,五元组(s、0、P、L、AS)有效;当生命周期终止时,AS 终止,五元组无效,执行委托者所拥有的权限被收回。 因此,授权步不是静止的,其状态随着处理的进行动态地改变。在执行任务时,TBAC 只给用户分配所需的权限,未执行任务或任务终止后,用户不再拥有所分配的权限,而且在任务执行过程中,当某一权限不再被使用时,授权步会自动将该权限收回。另外,对于敏感的任务若需要不同的用户来执行,可以通过授权步之间的依赖关系来实现。授权步的生命周期和授权步自我动态管理,是 TBAC 动态授权的具体体现。 2.7 访问控制模型的比较 本章通过对四种访问控制模型的分析研究,发现了各种模型的优缺点及其适合的应用环境。现将它们进行比较如下: (1)自主访问控制模型的优点是具有较高的灵活性,思想简单,容易实现。创建客体的主体具有对该客体所有的访问权限,并且可以将权限授予其他主体或从其他主体收回他所授予的权限,实现了自主授权,这比较符合人们对权限的基本认识。尽管 DAC 已在许多系统中得以实现(女 HUNIX),然而 DAC 的一个致命弱点是:访问权的授予是可以传递的,一旦权被传递出去将难以控制,访问权的管理是相当困难的,会带来严重的安全问题;而且 DAC 不保护受保护的客体产生的副本,即一个用户不能访问某一客体,但能够访问它的拷贝,这更增加了管理的难度。在大型系统中,主、客体的数量巨大,无论使用哪一种形式的 DAC,所带来的系统开销都是难以支付的,效率相当低下,难以满足大型应用特别是网络应用的需要。另一方面,各种自主访问控制模型普遍难以解决的一个问题是如何有效的抵御特洛伊木马攻击。木马在对象的属主不知情的情况下,可以直接冒充属主给攻击者授权,或将信息表示成攻击者可以访问的某种方式,从而绕过访问控制机制,达到窃取或篡改、破坏的目的。 (2)强制访问控制模型的优点是管理比较集中,根据严格的安全级别定义来实现权限管理,安全性较高。MAC 起初主要用于军方的应用中,并且常与 DAC 结合使用,主体只有通过了 DAC 与 MAC 的检查后,才能访问某个客体。由于 MAC 对客体施加了更严格的访问控制,因而可以防止特洛伊木马之类的程序偷窃,同时 MAC 对用户意外泄漏机密信息也有预防能力。由于 MAC 增加了不能回避的访问限制,因而影响了系统的灵活性;另一方面,虽然 MAC 增强了信息的机密性,但不能实施完整性控制;再者网上信息更需要完整性,否则会影响 MAC 的网上应用。在 MAC 系统中实现单向信息流的前提是系统中不存在逆向潜信道。逆向潜信道的存在会导致信息违反规则的流动。但现代计算机系统中这种潜信道是难以去除的,如大量的共享存储器以及为提升硬件性能而采用的各种 Cache 等,这给系统增加了安全隐患。 (3)适应强制访问控制属于基于角色安全模型中的一类,角色安全模型中假设每一个系统的潜在用户在一个企业中扮演某一个角色。用户可以根据他们的角色授权来实现对一个预先定义数据几个的具体的数据库操作。AMAC 模型不仅仅涉及访问控制问题而且也涉及发哦数据库的设计环境问题,重点强调在结果数据库的安全。在 DBMS 中实现结果数据库可以仅支持 DAC,或者同时支持 DAC 和 MAC,该技术结合了数据模型领域以及来自数据安全领域中众所周知和被广泛接受的概念。但是 AMAC 对于授权和收权没有特别深入的研究,不适合于商业用途。这种强制访问控制时序的工作量比较大,管理不方便。AMAC 中角色知识适合几种数据库,对于分布式数据没有做出定义和研究。AMAC 知识从传统的访问控制方法到 RBAC 访问控制方法的一个过渡模型。 (4)基于角色的访问控制模型由于引入了角色,使得用户和权限得到了逻辑分离,授权变得简单而灵活,访问控制框架有了较强的扩展性。其缺点是不能处理工作流中的数据信息,被动的访问控制特点使其不能满足企业动态业务流程处理的需要。 (5)基于任务的访问控制以任务和活动为中心,是一种上下文相关的访问控制模型,适合处理工作流中有时效性和流动性的数据信息,权限随着数据的处理而被授予或取消。但这种主动的访问控制模型不能处理非工作流类的任务,如业务查询、决策等,并且 TBAC 不支持角色的层次关系,不适合企业的组织结构层次和分布式管理。自主访问控制和强制访问控制将主体和客体直接绑定在一起,授权时需要对每对(主体,客体)指定访问许可。这样一来,存在问题是当主体和客体达到较高的数量级之后,授权工作将变得十分困难。随着信息技术的发展和网络的成熟,企业信息系统规模越来越大,自主访问控制和强制访问控制远远满足不了企业中访问控制的需要,适合企业环境下的访问控制模型是 RBAC 和 TBAC。RBAC 是被动的访问控制模型,适合处理非工作流(业务流程)类的任务;TBAC 是主动访问控制摸型,适合处理属于工作流(业务流程)中的任务。企业环境下的访问控制中,既有业务流程类任务,又有非业务流程类任务,因此需要将TBAC 与 RBAC 两种模型结合起来。本文在此基础上,选取任务和角色作为企业访问控制中的基本元素,并引进强制访问控制思想,构建了角色与任务相结合的访问控制模型。 第三章 现有的改进技术 3.1 基于次数限制的访问控制模型 3.1.1 ERBAC 模型改进思路 EI 出 AC 模型对 RBAC 模型进行的改进主要包含以下几个方面: ()与基于任务的访问控制相结合,克服原有模型静态授权与最小权限约束不够细化的缺陷,实现权限的自动授予与收回,最小权限约束细化到任务一级。基于角色的访问控制最小权限约束控制到角色一级,但在实际应用中,一个角色往往可执行多项任务,用户在执行其中某一项任务时,还持有可执行其它任务的权限。最小权限约束不够细化,造成了系统的安全风险。ERBAC 将基于角色访问控制与基于任务的访问控制相结合,将任务作为权限的属性之一,角色被赋予可执行某些任务,任务开始才能有效执行相对应的权限,任务结束权限被收回。这样一方面将最小权限细化到任务一级,另一方面任务结束,权限被收回,自然实现了动态授权原则。 ()借鉴强制访问控制的思想,为每个用户以及权限设定一个安全级别,提出同类域概念,将同类域作为权限的一个属性。 基于角色的访问控制模型是一种策略中立的模型,可实现多种访问控制策略,比较灵活。但其在讲究灵活的同时,安全性被削弱。因此 ERBAC 借鉴强制访问控制的思想,为每个用户以及权限设定一个安全级别,提出同类域概念,将同一安全级别的用户或权限归属于同一同类域。用户能否执行某任务除了受时间等任务上下文环境影响外,还受用户与权限之间的级别关系决定。此模型弥补了基于角色访问控制安全性较弱的缺点,进一步加强了数据对象的安全,适用于金融、军事等安全性要求比较高的领域。 (3)引入任务优先级和角色价值权值概念,实现任务优先级的确定。模型实现中,用户所持有的角色重要性是不同的,根据角色重要性的不同,提出角色价值权值的概念。在一个用户可同时执行多个任务的情况下,需要运用一定的方法确定执行多个任务的先后次序,确定它们的优先级,以追求系统效率的最高,确保最重要的任务能得到优先执行。 (4)引入角色的序权值和次数权值概念,解决多角色或多用户多次执行同一个权限的次序确定问题。有的系统应用要求一个权限的成功执行需要多个角色或多个用户多次执行此权限,这样就需要明确多个角色或多个用户执行权限的次序。 3.1.2 模型相关概念 3.1.2.1 模型基本概念 本模型应用文献中对时间、任务等的概念,介绍如下: (1)二元组(TS;)是一个时间域,其中 TS=tR lt0)是一个时间集,表示 TS 上的全序。 (2)时间段tl,t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论