开发者学堂课程【云安全基础课 - 访问控制概述: 授权机制】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/495/detail/6645
授权机制
内容介绍:
一、授权的介绍
二、访问控制模型
三、自主访问控制
四、非自主访问控制
五、自主访问控制与非自主(强制)访问控制的区别
一、授权的介绍
授权的概念
授权︰规定主体可以对客体执行的操作∶读、写、执行、拒绝访问等等。
访问控制有两个重要的过程,第一步是鉴别,检验主体的合法身份,第二个就是授权,限制用户对资源的访问权限,这是两个非常重要过程。
授权就是规定主体可以对客体执行哪些操作,我们常见的像读写、执行、拒绝访问等都属于操作。
二、访问控制模型
1、访问的概念
访问控制模型使用许多不同类型的授权机制或方法来控制谁可以访问特定的对象。访问控制模型就是对一系列访问控制规则进行集合的描述,可以是非形式化的,也可以是形式化的。
2、访问的类型
l 自主访问控制
l 非自主访问控制
图示访问控制模型包括主体、客体,然后具有访问控制的实施过程以及访问控制的决策过程。一般情况下主体提交一个请求来访问客体的请求,此时访问控制的措施来请求决策,决策通过识别完成判断。
如果通过了,提出的请求就会转到客体,此时主体就成功地访问了客体。访问控制模型使用许多不同的授权机制或者方法来控制谁可以访问哪些客体、对象。
三、自主访问控制
访问控制模型有很多,我们主要讲的是自主访问控制和非自主房控制。非自主访问控制相当于除自主访问控制之外的,我们就把他们全部归为非自住访问控制。
1、自主访问控制的概念
l 允许客体的属主决定主体对该客体的访问权限。
就是主体自身或者主体所属的这个群体来限制客体访问的一种方法,然后主体或者客体的拥有者可以将自己的控制权限转给其他的主体,即可以进行权限的转移。
l 自主访问控制:“根据主体身份和/或主体所属群体来限制他们对客体的访问的一种方法。这些控制具有任意之意,是因为拥有某一访问权的主体可以把该访问权转移(或许是间接转移)给任何其他主体。”
2、举例说明
l 举例1:通常大多数计算机操作系统的默认访问控制机制就是自主访问控制
Windows 操作系统由管理员账户创建的文件,可以对文件进行设置,谁可以访问谁不可以访问。
如果换一个账户重新登录操作系统,访问文件的时候,如果是管理员账户创建该文件时允许 everyone 访问,换了账号登录依旧可以访问。文件被访问的客体可以因为他的主体把权限转移给其他的主体,让很多人都能访问这个客体。
图示表格就是用户和目标,也就是主体和客体,而不同的主体和不同的客体,他们之间的权限是不一样的。用户 a 和目标 X,他有读写,并且是拥有者,用户 c 对目标 Y,就只有读和写,他不是拥有者,这是一个很常见的例子,也是一个很好理解的例子。
l 举例2:
我们经常在 IT 中接触到路由器、交换机,他们也有访问控制列表(Access Control List)的概念,叫做 ACL,是路由器或者交换机接口的一个指令列表,用来控制端口对数据包的转发、进出,这就是交换机、路由器的访问控制表。
ACL 通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。
在 ACL 的最后,有一条隐含的“全部拒绝”的命令(即︰隐式拒绝),所以在 ACL 里一定至少有一条“允许”的语句
3、自主访问控制的实现方法
l 访问控制列表(Access Control Lists )
l 访问能力表(Capacity List )
自主访问控制在实现的过程中会涉及到两个概念,一个就是访问控制列表(Access Control Lists ),一个就是访问能力表(Capacity List )
两者都是基于自主访问控制的实现机制,也就是访问控制矩阵。
主体 abcd 是一个竖列,客体 xyz 是横列,如果按竖列去看,就是访问控制表,客体y能被主体 b、d 访问;如果按横列看,就是访问能力表,主体b的横列,能够访问客体 x、y,即对主体来说是一个访问能力表,对客体来说是一个访问控制表。
4、自主访问控制的优缺点
l 优点
主体的身份和访问权限能够进行决策,具有某种访问能力的主体,能够对主体能访问某个子集的权限授予给其他的主体,灵活性高,能够被大量的采用,十分方便。
l 缺点
信息在传递的过程中,其访问权限发生了改变,这相对来说是不安全的,因为主体可以把他拥有的客体重新分配给其他的主体,所以权限关系的变化就带来了安全问题。
四、非自主访问控制
1、非自主访问控制模型的概念
非自主访问控制就是任何不能自由支配的模型都是非自主访问控制模型。
2、非自主访问控制模型的分类
这里比较典型的三种非自主访问控制模型,分别是 MAC——强制访问控、Role-BAC——基于角色的访问控制、基于内容的访问控制。
l 强制访问控制——Mac
>MAC 是“根据客体所含信息的敏感性(通过标签标识)以及对主体访问此类敏感信息的正式授权(即许可),来限制主体访问客体的一种方法。”主体对客体的所有访问请求都是按照强制访问控制策略进行控制的。客体的属主没有权限去控制客体的访问权限,这是防止对信息的非法和越权访问。
>举例:一个人如果请求访问某一涉密文件,这个人必须符合拥有者的访问控制策略,允许以及适当许可之后,才能被授予访问权。也就是说如果是强制访问控制,这个人一定是在访问控制策略符合的前提下,经过授权后才能被授予访问权限,而这个访问控制策略是事先预定好的,即使是这个设计文件的拥有者,它也无法改变该策略。
>典型的强制访问控制模型
BLP模型是多级安全模型,该模型于1973年提出,这个模型影响了许多模型的发展,因此是对计算机安全技术的发展影响很大的一个模型。它最大的一个特点就是向下读、向上写,怎么理解呢?
简单举个例子,当一个高级别的主体要与一个低级别的主题进行通信的时候,高级别的主体要写信息到低级别的客体上,以便低级别的主体可以去读取低级别的客体,此时相当于高级别的主体创建了一个低级别的客体,并且让低级别的主体去访问该客体,这就是向下读。主体会有一个高的安全等级和一个当前的安全等级,当前的安全等级就是降低了客体之后的安全等级,最高安全等级必须能支配到当前等级,主体可以从高等级降为低等级,以便低等级实体进行通信。反之向上写也是一样的。
l 基于角色的访问控制
>在基于角色的系统中,确定访问权的依据是系统拥有者创建或授权的一份规则列表,该列表规定了应该授予用户的权限(即访问,读、写、执行等操作)。这个概念是 nsp,由美国国家标准化委员会在90年代的时候提出来的,然后 nsd 专门组织了这个研究,1996年提出一个比较完善的基于角色的访问控制参考模型,就是 Role-Bac。
>基于角色的房控制的基本思想是根据用户所承担的角色来决定用户在系统中的访问权限。如图所示管理员指定一个用户在系统里创建一个用户,这个用户有一一定角色并且为这个角色赋予相应的权限,然后其他用户在使用这个用户时要进行激活,就有了相应的访问操作权限。当然这种方法具有局限性,所以在这种模型里面一个用户是必须扮演某一种角色,而且必须要激活该角色,才能对一个对象进行访问或者执行某种操作。
>举例:一个账号或者是某个群体,在某一天的某一个时刻可以访问某个网站。
l 基于内容的访问控制
基于内容和基于角色都是相对的概念,基于本身内容的访问控制,基于数据的访问控制以及基于系统中数据或者是功能的访问控制都属于基于内容的访问控制。
>举例:
机构内的经理如果访问公司数据库查看与自己手下相关的数据,但是他们不能查看其他经理手下的相关数据,这是基于数据来控制的。所以他属于基于内容的访问控制,但是为什么不是基于角色的访问控制,实际上他也是基于角色的访问控制,这是一个并列的关系,或者说在这个系统的设计里,它既基于了角色,也基于了内容来进行访问控制。
五、自主访问控制与非自主(强制)访问控制的区别
自主访问控制的颗粒度比较粗,灵活性比较高,配置效率比较低,而强制访问控制的颗粒度很大,灵活性不高,所以安全性就相对于更强一些。