文章目录
随着数据泄露事件的频繁发生和网络攻击的日益复杂化,确保敏感数据和关键资源的安全变得越来越重要。在众多网络安全措施中,访问控制模型扮演着至关重要的角色。
什么是访问控制
什么是访问控制模型
访问控制的核心要素
1、访问控制模型的分类
访问控制模型主要分为三类:自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)。每种模型都有其独特的特点和应用场景,而选择合适的模型则取决于组织的具体需求和安全策略
2、自主访问控制模型DAC
自主访问控制模型(DAC)
- 创建者(客体的属主)能够决定该客体的访问权限
- 灵活,具有较好的易用性和可扩展性
- 安全性不高
DAC的实现机制: 通过访问控制表/矩阵实现
简而言之,通过管理员赋予不同用户对不同目标的读,写,所属权限来实现权限管理。
访问控制表ACL与访问能力表CL
访问控制列表(权限与客体关联)
-
基于对象的控制:ACL是依附于每个对象(如文件或目录)的(或者称之为客体)。每个对象都有一个列表,指定了哪些用户(或用户组)可以访问该对象,以及他们拥有的权限类型(如读、写、执行)。
-
集中化管理:由于每个对象都有一个控制访问权限的中心列表,因此权限管理是集中化的。管理员可以在一个地方查看或修改特定资源的访问权限。
-
查找效率:当一个对象被访问时,系统必须搜索与该对象相关联的ACL,以确定是否允许请求的操作。对于访问请求量大的系统,这可能会变成性能瓶颈。
访问能力列表(权限与主体关联)
-
基于用户的控制:与ACL不同,访问能力列表是基于用户的。每个用户都有一个列表,详细列出了他们可以访问的所有对象及其相应的权限。
-
分散管理:访问权限信息分散在每个用户的能力列表中。每个用户的列表指定了他们可以访问的资源和权限级别。
-
查找效率:当用户尝试访问一个对象时,系统只需要检查该用户的能力列表。系统不需要在每次访问尝试时搜索每个对象的ACL。
缺点
关于有点如上所示很面贡献了。灵活性高能够自主授权。那么主要的缺点包括
- 安全性不高
- 信息在传递过程中其访问权限关系会被改变
3. 强制访问控制模型MAC
特点
- 安全属性是强制的,任何主体都无法变更
- 安全性较高,应用于军事等安全要求较高的系统
BLP (Bell-LaPadula Model)
由D. Elliott Bell和Leonard J. LaPadula于1973年提出的一种模拟军事安全策略的计算机访问控制模型,取两个创始人的姓氏中的字母来命令,简称为BLP模型。 BLP的访问控制策略
- 包括自主安全策略与强制安全策略
- 强制安全策略为每一个主体和客体都分配了安全级,根据安全级进行访问控制
安全级别
安全级别包括密级和范畴
安全级别之间的支配关系
- 密级高于或等于, 范畴包含
eg:- L=<机密,{外交,商务}>
- L’=<秘密,{商务}>
- 结果:L 支配 L’
安全策略
简单安全规则
- 向下读(只能读取低于或等于当前密级的信息)
*-规则
- 向上写(只能写入高于或等于当前密级的信息)
BiBa模型(1977年由Biba提出)
Biba通过多级访问控制模型,保护数据完整性。
通过强制安全策略为每一个主体和客体都分配了完整级,根据完整级进行访问控制。
Biba的模型构成
-
完整级: 包括安全级和范畴
-
完整级之间与BLP类型,存在支配关系。
密级高于或等于, 范畴包含。
安全策略
- 向上读:主体可以读客体,当且仅当客体的完整级别支配主体的完整级
- 向下写:主体可以写客体,当且仅当主体的完整级别支配客体的完整级
Clark-Wilson(1987年由David D. Clark和David R. Wilson提出)
- 由计算机科学家David D. Clark和会计师David R. Wilson发表于1987年
- 确保商业数据完整性的访问控制模型,侧重于满足商业应用的安全需求
安全策略
- 每次操作前和操作后,数据都必须满足一致性条件
Chinese Wall 模型
Chinesw Wall模型也就是我们常说的“墙”, 所以,墙的本质就是通过我们独有的访问控制模型来实现的。随着它的诞生,也成为了世界各个高校在讲授访问控制模型时不得不提的经典案例。
Chinese Wall 模型创建了一种动态的访问控制策略,该策略根据用户的访问历史进行调整。它的设计目的是防止利益冲突,确保一旦客体(或任何专业人士)访问了一家公司的机密信息,他们就不能访问竞争对手的机密信息。
例如
控制策略
围绕三个主要概念构建:对象、主体和数据集。
-
对象(公司数据集): 这些是不同公司的数据集。一旦主体访问了一家公司的数据集,他们就被禁止访问竞争公司的数据集。
-
主体: 这些是试图访问数据集的用户或实体。他们的访问权限根据他们的访问历史动态调整。
-
利益冲突类: 包括直接竞争公司的群组。一个主体访问了该类别中一家公司的数据后,就不能访问同一类别中的竞争公司的数据。
访问控制规则
Chinese Wall 模型执行以下规则:
-
读取访问: 主体可以读取一个对象,当且仅当:
- 该对象不在其已访问过的竞争公司的数据集中。
- 访问不会导致违反利益冲突类的规定。
-
写入访问: 写入通常受到更多限制,以确保不会在竞争对手之间发生数据的交叉污染。
4、基于角色的访问控制RBAC
基于角色的访问控制(Role-Based Access Control,简称RBAC)是一种广泛应用的访问控制机制,主要通过分配角色和权限来管理用户对系统资源的访问。这种方法减少了直接将权限分配给用户的复杂性,而是通过角色来间接管理权限。
RBAC 的核心概念
RBAC 模型基于几个关键概念:
- 角色(Role): 代表一组权限的集合,通常与特定的工作职责或职位相关联。
- 用户(User): 系统的操作主体,可以是人员或其他实体。
- 权限(Permission): 用户或角色执行某项操作的能力,例如读取、写入或修改文件。
- 会话(Session): 用户与系统交互的一次实例,在此期间,用户可以激活一个或多个角色。
RBAC 的类型
RBAC 有几种不同的实现方式:
- RBAC0(基本RBAC): 包括角色、用户、权限以及用户与角色、角色与权限之间的关联。
- RBAC1(具有角色层级的RBAC): 引入角色层级概念,支持角色继承。
- RBAC2(具有约束的RBAC): 加入诸如分离职责、最少特权等安全策略约束。
- RBAC3(完整的RBAC): 包含前三个级别的所有特征,是最完整的RBAC模型。
RBAC 的优势
RBAC 模型的主要优势包括:
- 简化管理: 通过角色管理权限,而不是直接对每个用户单独管理,简化了权限的分配和管理。
- 提高安全性: 支持最少特权原则和职责分离,减少了潜在的安全风险。
- 灵活性和可扩展性: 可根据组织的需求和变化灵活调整角色和权限。
RBAC 是一种有效的权限管理方式,特别适用于权限需求复杂和频繁变化的大型组织或系统。