访问控制
-
1. 访问控制原理
1.1 访问控制策略
-
2. 主体、客体和访问权
-
3. 自主访问控制
3.1 自主访问控制的主要特点
3.2自主访问控制实现技术
3.3 自主访问控制实例
-
4. 基于角色的访问控制
-
5. 基于属性的访问控制
5.1 属性
5.2 ABAC逻辑架构
5.3 ABAC策略
5.4 ABAC 案例
访问控制:防止未经授权使用资源,包括防止以非授权方式使用资源。
我们可以把访问控制看作计算机安全的核心元素。计算机安全的主要目标是防止非授权用户获得对资源的访问,防止合法用户以非授权方式访问资源,使合法用户通过系统认证而被分配对系统中某些资源的访问权的用户和用户组总体的情形。
#1. 访问控制原理
广义来讲,所有计算机安全都与访问控制有关。除了访问控制外,这个广义的语境还涉及下面的实体和功能:
- 认证(authentication):验证用户或其他系统实体声称的身份是有效的。
- 授权(authorization):授予系统实体访问系统资源的权限和许可。这个功能确定对于特定的目的谁是可信的。
- 审计(audit):对系统记录和活动进行的独立评审和检查,以便测试系统控制的正确性,确保按既定政策和操作步骤执行,检测安全违背情况,提供在控制、政策和规程中任何指定的变化。
[图片上传失败...(image-4c0967-1546847783233)]
1.1 访问控制策略
包含在授权数据库中的访问控制策略用来指出什么类型的访问在什么情况下被谁允许。访问控制策略一般分成以下几类:
- 自主访问控制(Discretionary access control,DAC):基于请求者的身份和访问规则(授权)控制访问,规定请求者可以做什么。这种策略之所以被称为自主的,是因为允许一个实体按其自己的意志授予另一个实体访问某些资源的权限。
- 强制访问控制(Mandatory access control,MAC):通过比较具有安全许可的安全标记来控制访问。这种策略之所以被称为强制的,是因为一个具有访问某种资源许可的实体不能按其自己的意志授予另一个实体访问那种资源的权限。
- 基于角色的访问控制(Role-based access control,RBAC):基于系统中用户具有的角色和规定属于一定角色的用户的访问权的规则来控制访问。
- 基于属性的访问控制(Attribute-based access control,ABAC):根据用户属性、待访问的资源和当前的环境来控制访问。
#2. 主体,客体和访问权
访问控制基础的元素包括:主体,客体和访问权。
· 主体(Subject):主体是能够访问客体的实体。一般地,主体的概念等同于进程的概念。任何用户或应用实际上通过代表该用户或应用的进程来访问客体。进程使用用于的属性,如访问权。 基本访问控制系统一般定义了三类主体,每类具有不同的访问权:
- 所有者(owner):可以是资源的创建者。对于系统资源,所有权可以属于系统管理员。
- 组(group):除去分配给所有者的特权,命名组的用户也可以被授予访问权,以便具有组的成员资格就具有足够的访问权。在大多数方案中,一个用户可以属于多个组。
- 世界(world):被授予最少访问权的用户,他们能够访问系统,但不包含在该资源的所有者类和组类中。
· 客体(Object):是外界对其访问收到控制的资源。一般地,客体是一个用来包含和/或接受信息的实体。例如,记录、块、页、段、文件、部分文件、目录、目录树等。被访问控制系统保护的客体的数量和类型取决于访问控制运行的环境及在安全性方面与复杂性、处理器负载、易用性方面之间期望达到的平衡。
· 访问权(Access right):描述了主体可以访问客体的方式。访问权包括下列内容:
- 读(read):用户可以查看系统资源的信息。读权限包括复制或打印的能力。
- 写(write):用户可以添加、修改或删除系统资源的数据。写权限包括读权限。
- 执行(execute):用户可以删除某个系统资源,如文件或记录。
- 删除(delete):用户可以删除某个系统资源,如文件或记录。
- 创建(create):用户可以创建新的文件、记录或字段。
- 搜索(search):用户可以列出目录中的文件或者搜索目录。
#3. 自主访问控制(DAC)
自主访问控制方案是指一个实体可以被授权按其自己的意志使得另一个主体能够访问某些资源。DAC中主体对客体的访问权限是由客体的属主决定,也就是说系统允许主体(客体的拥有者)可以按照自己的意志去制定谁以何种访问模式去访问客体。[Discretionary]
3.1 自主访问控制的主要特点
自主访问控制是一种最普遍的访问控制安全策略,其最早出现在20世纪70年代初期的分时系统中,基本思想伴随着访问矩阵被提出,在目前流行的Unix类操作系统中被广泛使用。自主访问控制基于对主体的识别来限制对客体的访问,这种控制是自主的。与其他访问控制策略最大的却别在于,DAC部分地具有对其他主体授予某种访问权限权利的主体可以自主地(可以是间接地)将访问权限或访问权限的子集授予其他主体。在自主访问控制中具有这种授予权力的主体通常是客体的主人,因此有学者把自主访问控制称为基于主人的访问控制。
3.2 自主访问控制实现技术
DAC的一种通常方式是在操作系统或数据库管理系统中运用的访问矩阵(access matrix)。
矩阵中的一维由试图访问资源的被标识的主体组成。这个列表一般由用户或用户组组成,尽管除了用户之外,也可以控制对终端、网络设备、主机或应用的访问。另一维列出可以被访问的客体。
在实践中,访问矩阵通常是稀疏的,可以用下面两种方式之一分解。将矩阵按列分解,产生访问控制表(access control list,ACL),对于每个客体,ACL列出用户及其被允许的访问权。ACL可以包含一个默认的项,使得没有显式列出具有特殊权限的用户拥有一组默认的权限。
[图片上传失败...(image-729a2b-1546847783233)]
3.3 自主访问控制实例
大多数UNIX系统都依赖或至少是基于UNIX早起版本的文件访问控制方案。每个UNIX用户被分配一个唯一的用户标识号。用户是主组的成员,还可能是其他许多用组ID标识的组的成员。创建文件时,指定一个用户拥有该文件,并用该用户的ID标志这个文件。文件还属于一个特定组,组的初值是文件创建的主组或其父目录的属组。与每个文件相关联的是12个保护位的组合。所有者ID、组ID和保护位都是文件inode的一部分。
9个保护位分别用来指定文件所有者,组用户与其他用户的读、写和执行许可。
[图片上传失败...(image-a2f4f8-1546847783232)]
4. 基于角色的访问控制
传统的DAC系统定义了各个用户和用户组的访问权。与之相反,RBAC基于用户在系统中设定的角色而不是用户的身份。通常,RBAC模型定义角色为组织中的一项工作职责。 RBAC系统给角色而不是给单独的用户分配访问权。反过来,用户根据他们的职责被静态或动态地分配给不同的角色。
[图片上传失败...(image-2306de-1546847783232)]
5. 基于属性的访问控制
基于属性访问控制(ABAC)模型是访问控制技术的一个相对较新的发展。ABAC模型可以定义表达资源和主体的属性条件的授权。例如, 考虑一种配置,其中每个资源都有一个标识来表明创建资源的主体。然后,单个访问规则可以为每个资源的所有者指定所有权特权。
ABAC模型有三个关键要素:属性,已定义对于配置中的实体;策略模型,定义ABAC策略;和
体系结构模型,适用于实施访问控制的策略。
5.1 属性
属性是定义主体,对象,环境条件和/或预定义和预分配的请求操作的特定方面的特征 由权威机构。属性包含指示由属性,名称和值给出的信息类别的信息。 以下是ABAC模型中的三种属性:
· 主体属性:主体是活动实体(例如,用户,应用程序,进程或者设备)导致信息在对象或更改之间流动的过程或设备系统状态。每个主体都具有定义身份的关联属性和主体的特征。这些属性可以包括主体标识符,名称,组织,职称等。主体的角色也可以被视为属性。
· 对象属性:一个对象,也称为资源,是一个被动的(在给定请求的上下文)与信息系统相关的实体(例如,设备,文件,记录,表,进程,程序,网络,域) 接收信息。与主体一样,对象具有可用于做出访问控制决策的属性。例如,Microsoft Word文档, 可能具有标题,主体,日期和作者等属性。对象属性可以通常从对象的元数据中提取。特别是各种各样的 Web服务元数据属性可能与访问控制相关, 例如所有权,服务分类,甚至服务质量(QoS)属性。
· 环境属性:到目前为止,这些属性在很大程度上被忽略了大多数访问控制策略。它们描述了操作,技术甚至是操作信息访问发生的情境环境或环境。例如,属性,例如当前日期和时间,当前的病毒/黑客 活动和网络的安全级别(例如,互联网与内联网)不是与特定主题或资源相关联,但可能仍然存在 与应用访问控制策略相关。
5.2 ABAC逻辑架构
1. 主题请求访问对象。此请求将路由到访问控制机制。
2. 访问控制机制由一组定义的规则(2a)管理通过预先配置的访问控制策略。基于这些规则,访问控制机制评估主体(2b),对象(2c)和当前的属性环境条件(2d)确定授权。
3. 如果访问,访问控制机制授予对象访问对象的权限被授权,如果未经授权,则拒绝访问。
[图片上传失败...(image-c0ed90-1546847783232)]
5.3 ABAC策略
策略是一组规则和关系,用于管理允许的行为组织,基于主体的特权以及资源或对象的方式
在哪种环境条件下受到保护。反过来,特权代表了主体的授权行为;它们由权威机构定义并体现
在策略中。通常使用的其他术语代替权限是权限,授权和权益。政策通常是从以下角度编写的
需要保护的对象以及主体可用的权限。
5.4 ABAC案例 各种政府组织进行了协同努力,取得了成功的示范实现IdAM功能的ABAC系统。通过将不断发展的商业化技术和产品集成到ABAC系统中,用于Web信息门户,此示例提供了ABAC系统可以提供细粒度Fine-grained访问控制功能的证据。细粒度访问控制使用集成安全机制,如内置行级安全性(RLS)和参数视图以支持最小特权原则,其中访问级别被管理到受保护数据,资源或数据/资源子集的最小离散元素。当用户通过Web应用程序服务器登录时,RLS主要依赖于自动设置应用程序角色,然后是Web应用程序服务器根据角色设置适当的结构化查询语言(SQL)谓词。从Web服务器生成的参数视图通过执行来提供细粒度的访问控制。
以下功能:
1) 将用户的身份转移到容纳所请求和的数据库受保护的资源,以及
2) 成功授权后,将相关数据显示给请求有问题的用户。Web信息门户是一种信息技术(IT)框架集成信息,数据,企业应用程序,人员,流程和其他企业资源政府组织的资产和资产。它通常以Web的图形用户界面(GUI)或基于Web的客户端应用程序来提供安全的统一接入点,旨在实现通过可插入的用户界面软件组件聚合和个性化信息管理并显示在Web信息门户中,称为门户组件。通过集成到Web信息门户中的ABAC系统的示例,实现了保证信息共享的实现能力各政府机构的工作人员之间的合作可以帮助他们每天进行业务运营,以及紧急情况下的关键任务。以下段落介绍了ABAC系统的基本系统概述和目标集成到Web信息门户中。然后,本节最后讨论课程从示范中了解到,并详细介绍了ABAC的最佳行业实践实现。
权威属性存储 - 提供数据集合(通常包含数据集群或一组数据库),是政府授权的官方数据的官方来源负责保管和/或所有权的组织和/或数据保管人属性数据,并覆盖所有其他属性源. 策略存储 - 为管理访问的所有策略提供存储区域网络(SAN)对象,包括Web信息门户和受保护的企业资源。该请求超越了政府组织的用户终端到网络信息门户服务。成功的PDP摄取和处理权威属性,环境条件和相关政策请求受保护的资源,PDP制定适当的访问决策和PEP执行授权决定的结果。经PDP和PEP成功授权,PEP提供对资源的访问(即,对资源请求A,B和C的响应)。
· 启用允许或拒绝访问全部或部分Web的动态ABAC功能信息门户基于单一环境属性或外部条件变更为支持与紧急情况相关的激增需求。每当用户需要获取访问权限时资源,无论是集中在一个政府组织还是分布在各个政府组织政府组织,支持这种需求的必要流程是静态的,手动的,非常的粗粒度的访问控制,具有复杂和人力密集的帐户和信息管理。粗粒度访问控制使用传统的访问控制模型在事件或操作期间对受保护资源的两种绝对访问控制模式场景:允许访问所有受保护资源或拒绝访问所有受保护资源。也,粗粒度访问控制忽略了外部和环境条件;背景(或暗示用于受保护数据/资源的问题);和受保护的访问级别粒度关于做出适当的访问决策的资源。通常,安全机制例如访问控制列表(ACL)和基于角色的访问控制(RBAC)提供粗粒度访问控制。因此,当紧急情况出现时,系统的时间和精力管理员需要为特定资源提供适当级别的资源访问权限用户组(即,粒度访问控制)可能在系统中产生不稳定的情况管理员可能决定在激增期间忽略访问控制以便提供当前任务或方案的可用性。这是因为当前的传统环境没有具有为其用户组建立的访问控制策略或环境条件域名在特定环境之外。如果这些环境可以无缝地进行支持所有用户对其策略存储的共享访问以及对环境的共享访问映射到特定用户组的条件,然后是旧环境迅速允许ABAC系统获得适当的政策并要求外部与主要用户组关联的条件。然后ABAC可以执行所需的操作处理和确定适当的访问决策(即授权)。此功能暂时允许外部用户放弃获取对共享对象的访问权限(例如,在紧急情况下,特定遗留环境或域内的资源)。
[图片上传失败...(image-b27f5e-1546847783232)]
[图片上传失败...(image-70950c-1546847783232)]
ABAC****授权的步骤
1、用户访问资源,发送原始请求。
2、请求发送到策略实施点(PEP),PEP构建xacml格式请求。
3、PEP将xacml请求发送到策略决策点(PDP)。
4、PDP根据xacml请求,查找策略管理点(PAP)中的策略文件。
5、PDP从策略信息点(PIP)查找策略文件中需要的属性值(主体、资源、环境属性)。
6、PDP将决策结果(permit、deny、不确定、不适用)返回给PEP。
7、PEP发送请求到资源,并把资源返回给用户。
|
Abbr.
|
Term
|
Description
|
|
PAP
|
Policy Administration Point
|
Point which manages access authorization policies
管理访问授权策略的点
|
|
PDP
|
Policy Decision Point
|
Point which evaluates access requests against authorization policies before issuing access decisions
在发出访问决策之前评估对授权策略的访问请求的点
|
|
PEP
|
Policy Enforcement Point
|
Point which intercepts user's access request to a resource, makes a decision request to the PDP to obtain the access decision
(i.e. access to the resource is approved or rejected), and acts on the received decision截取用户对资源的访问请求的点,向PDP做出决策请求以获得访问决策(即批准或拒绝对资源的访问),并根据收到的决定采取行动
|
|
PIP
|
Policy Information Point
|
The system entity that acts as a source of attribute values (i.e. a resource, subject, environment)
充当属性值源的系统实体(即资源,主题,环境)
|
|
PRP
|
Policy Retrieval Point
|
Point where the XACML access authorization policies are stored, typically a database or the filesystem.
存储XACML访问授权策略的位置,通常是数据库或文件系统。
|
Allow access to resource MedicalJournal with attribute patientID=x
if Subject match DesignatedDoctorOfPatient
and action is read
with obligation
on Permit: doLog_Inform(patientID, Subject, time)
on Deny : doLog_UnauthorizedLogin(patientID, Subject, time)