当前位置:文档之家› 访问控制方式总结

访问控制方式总结

访问控制方式总结授权是根据实体所对应的特定身份或其他特征而赋予实体权限的过程,通常是以访问控制的形式实现的。

访问控制是为了限制访问主体(或称为发起者,是一个主动的实体,如用户、进程、服务等)对访问客体(需要保护的资源)的访问权限,从而使计算机系统在合法范围内使用;访问控制机制决定用户及代表一定用户利益的程序能做什么以及做到什么程度。

访问控制依据特定的安全策略和执行机制以及架构模型保证对客体的所有访问都是被认可的,以保证资源的安全性和有效性。

访问控制是计算机发展史上最重要的安全需求之一。

美国国防部发布的可信计算机系统评测标准(Trusted Computer System Evaluation Criteria,TCSEC,即橘皮书),已成为目前公认的计算机系统安全级别的划分标准。

访问控制在该标准中占有极其重要的地位。

安全系统的设计,需要满足以下的要求:计算机系统必须设置一种定义清晰明确的安全授权策略;对每个客体设置一个访问标签,以标示其安全级别;主体访问客体前,必须经过严格的身份认证;审计信息必须独立保存,以使与安全相关的动作能够追踪到责任人。

从上面可以看出来,访问控制常常与授权、身份鉴别和认证、审计相关联。

设计访问控制系统时,首先要考虑三个基本元素:访问控制策略、访问控制模型以及访问控制机制。

其中,访问控制策略是定义如何管理访问控制,在什么情况下谁可以访问什么资源。

访问控制策略是动态变化的。

访问控制策略是通过访问机制来执行,访问控制机制有很多种,各有优劣。

一般访问控制机制需要用户和资源的安全属性。

用户安全属性包括用户名,组名以及用户所属的角色等,或者其他能反映用户信任级别的标志。

资源属性包括标志、类型和访问控制列表等。

为了判别用户是否有对资源的访问,访问控制机制对比用户和资源的安全属性。

访问控制模型是从综合的角度提供实施选择和计算环境,提供一个概念性的框架结构。

目前人们提出的访问控制方式包括:自主性访问控制、强访问控制、基于角色的访问控制等自主性访问控制美国国防部(Department of Defense,DoD)在1985年公布的“可信计算机系统评估标准(trusted computer system evaluation criteria,TCSEC)”中明确提出了访问控制在计算机安全系统中的重要作用,并指出一般的访问控制机制有两种:自主访问控制和强制访问控制。

自主访问控制(DAC)根据访问请求者的身份以及规定谁能(或不能)在什么资源进行什么操作的访问规则来进行访问控制,即根据主体的标识或主体所属的组对主体访问客体的过程进行限制。

在DAC系统中,访问权限的授予可以进行传递,即主体可以自主地将其拥有的对客体的访问权限(全部或部分地)授予其它主体。

DAC根据主体的身份及允许访问的权限进行决策。

自主是指具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体。

在DAC系统中,由于DAC可以将访问权限进行传递,对于被传递出去的访问权限,一般很难进行控制。

比如,当某个进程获得了信息之后,该信息的流动过程就不再处于控制之中,就是说如果A可访问B,B可访问C,则A 就可访问C,这就导致主体对客体的间接访问无法控制(典型如操作系统中文件系统)。

这就造成资源管理分散,授权管理困难;用户间的关系不能在系统中体现出来;信息容易泄漏,无法抵御特洛伊木马的攻击;系统开销巨大,效率低下的缺点,不适合大型网络应用环境。

强访问控制强制访问控制(MAC)根据中央权威所确定的强制性规则来进行访问控制。

和DAC不同,强制访问控制并不具备访问主体自主性,主体必须在由中央权威制定的策略规则约束下对系统资源进行访问。

强制访问控制是一种不允许主体干涉的访问控制类型,是基于安全标识和信息分级等信息敏感性的访问控制。

在MAC 中,系统安全管理员强制分配给每个主/客体一个安全属性,强制访问控制根据安全属性来决定主体是否能访问客体。

安全属性具有强制性,不能随意更改。

MAC最早出现在美国军方的安全体制中,并且被美国军方沿用至今。

在MAC方案中,每个目标由安全标签分级,每个对象给予分级列表的权限。

分级列表指定哪种类型的分级目标对象是可以访问的。

典型安全策略就是“read-down”和“write-up”,指定对象权限低的可以对目标进行读操作,权限高的就可以对目标进行写操作。

MAC通过基于格的非循环单向信息流政策来防止信息的扩散,抵御特洛伊木马对系统保密性的攻击。

系统中,每个主体都被授予一个安全证书,而每个客体被指定为一定的敏感级别。

MAC的两个关键规则是:不向上读和不向下写,即信息流只能从低安全级向高安全级流动。

任何违反非循环信息流的行为都是被禁止的。

MAC实现一般采用安全标签机制,由于安全标签的数量是非常有限的,因此在授权管理上体现为粒度很粗。

但是由于MAC 本身的严格性,授权管理方式上显得刻板,不灵活。

如果主体和权限的数量庞大,授权管理的工作量非常大。

在MAC中,允许的访问控制完全是根据主体和客体的安全级别决定。

其中主体(用户、进程)的安全级别是由系统安全管理员赋予用户,而客体的安全级别则由系统根据创建它们的用户的安全级别决定。

因此,强制访问控制的管理策略是比较简单的,只有安全管理员能够改变主体和客体的安全级别。

MAC应用领域也比较窄,使用不灵活,一般只用于军方等具有明显等级观念的行业或领域;虽然MAC增强了机密性,但完整性实施不够,它重点强调信息向高安全级的方向流动,对高安全级信息的完整性保护强调不够。

基于角色的访问控制随着网络技术的迅速发展,对访问控制提出了更高的要求,传统的访问控制技术(DAC,MAC)已经很难满足这些需求,于是提出了新型的基于角色的访问控制(RBAC)。

RBAC有效地克服了传统访问控制技术的不足,降低授权管理的复杂度,降低管理成本,提高系统安全性,成为近几年访问控制领域的研究热点。

最早使用RBAC这个术语,是在1992年Ferraiolo和Kuhn发表的文章中。

提出了RBAC中的大部分术语,如,角色激活(Role Activation),角色继承(Role Hierarchy),角色分配时的约束(Constraints)等等。

因为RBAC借鉴了较为人们熟知的用户组、权限组和职责分离(Separation of Duty)等概念,而且,以角色为中心的权限管理更为符合公司和企业的实际管理方式。

Ferraiolo和Sandhu等人分别在1994年后提出了有关RBAC模型的早期形式化定义,其中,Sandhu等人定义了RBAC模型的一个比较完整的框架,即RBAC96模型。

RBAC1和RBAC2都建立在RBAC0之上,RBAC1给出了角色继承的概念,RBAC2增加了约束的概念。

在扩展研究中,RBAC管理方面,研究者试图采用RBAC本身来管理RBAC,于是,出现ARBAC97模型及其扩展,这些模型让管理角色及其权限独立于常规角色及其权限。

第二是RBAC功能方面。

研究者通过扩展RBAC的约束来增强它的表达能力,以适应不同情况下的权限管理。

最初的约束是用来实现权责分离,后来又出现了其他的约束,如,约束角色的用户数目,增加了时间约束的TRBAC模型,增加了权限使用次数的UCRBAC模型,带有使用范围的灵活约束,采用形式化的语言来描述RBAC的约束,如RCL2000语言、对象约束语言(OCL, Object Constraint Language)和其他语言等。

第三,是讨论RBAC与其他访问控制模型的关系。

第四是RBAC在各个领域的应用。

美国国家标准与技术研究院(The National Institute of Standards and Technology,NIST)制定的标准RBAC模型由4个部件模型组成,这4个部件模型包括RBAC的核心(Core RBAC),RBAC的继承(Hierarchal RBAC),RBAC的约束(Constraint RBAC)中的静态职权分离(SSD)和动态职权分离(DSD)两个责任分离部件模型。

RBAC的核心思想就是将访问权限与角色相联系,通过给用户分配合适的角色,让用户与访问权限相联系。

角色是根据企业内为完成各种不同的任务需要而设置的,根据用户在企业中的职权和责任来设定它们的角色。

用户可以在角色间进行转换,系统可以添加、删除角色,还可以对角色的权限进行添加、删除。

这样通过应用RBAC将安全性放在一个接近组织结构的自然层面上进行管理。

在DAC和MAC系统中,访问权限都是直接授予用户,而系统中的用户数量众多,且经常变动,这就增加了授权管理的复杂性。

RBAC弥补了这方面的不足,简化了各种环境下的授权管理。

RBAC模型引入了角色(role)这一中介,实现了用户(user)与访问许可权(permission)的逻辑分离。

在RBAC系统模型中,用户是动态变化的,用户与特定的一个或多个角色相联系,担任一定的角色。

角色是与特定工作岗位相关的一个权限集,角色与一个或多个访问许可权相联系,角色可以根据实际的工作需要生成或取消。

用户可以根据自己的需要动态激活自己拥有的角色。

与用户变化相比,角色变化比较稳定。

系统将访问权限分配给角色,当用户权限发生变化时,只需要执行角色的撤消和重新分配即可。

另外,通过角色继承的方法可以充分利用原来定义的角色,使得各个角色之间的逻辑关系清晰可见,同时又避免了重复工作,减小了出错几率。

基于上下文的访问控制CBAC是在RBAC研究的基础上产生的。

CBAC是把请求人所处的上下文环境作为访问控制的依据。

基于上下文的访问控制,可以识别上下文,同时,其策略管理能够根据上下文的变化,来实现动态的自适应。

一般地,基于上下文的访问控制利用了语义技术,以此实现上下文和策略的更高层次的描述和推理。

通用的基于角色的访问控制通用的基于角色的访问控制(Generalized Role-Based Access Control,GRBAC)是RBAC的延伸,比RBAC更为灵活。

RBAC模型局限于基于主体(subject)特性,对于客体(object)或环境状况不能很好的区分支持。

RBAC不能支持与时间(time)有关的控制,同时也不能很好地支持基于内容的控制。

针对RBAC这些问题,GRBAC通过在策略中增加环境状态(environmental state)和客体状态(object state)来解决这些问题。

GRBAC用客体角色来支持基于内容的访问控制。

基于内容的访问控制(Content-Based Access Control)通过有效整合等级文件系统进行控制。

与内容的访问控制不同,GRBAC主要运用与安全相关的对象状态或属性,通过对象角色来控制。

相关主题