240 likes | 355 Views
访问控制技术 宣讲人:孙婷婷. 主讲内容. 访问控制基本原理 自主访问控制 强制访问控制 基于角色的访问控制. 访问控制的基本原理. 访问控制( access control )是实现既定安全策略的 系统安全技术 ,其目标是 防止对任何资源 (计算资源、通信资源和信息资源)进行 非授权 的访问。 访问控制系统一般包括: 主体( subject ):发出访问操作、存取要求的主动方 客体( object ):主体试图访问的资源 安全访问策略:一套规则,主体是否对客体有访问能力 访问控制功能组件包括:. 执行 访问请求. 提交 访问请求. 发起者.
E N D
访问控制技术 宣讲人:孙婷婷
主讲内容 • 访问控制基本原理 • 自主访问控制 • 强制访问控制 • 基于角色的访问控制
访问控制的基本原理 • 访问控制(access control)是实现既定安全策略的系统安全技术,其目标是防止对任何资源(计算资源、通信资源和信息资源)进行非授权的访问。 • 访问控制系统一般包括: • 主体(subject):发出访问操作、存取要求的主动方 • 客体(object):主体试图访问的资源 • 安全访问策略:一套规则,主体是否对客体有访问能力 • 访问控制功能组件包括: 执行 访问请求 提交 访问请求 发起者 访问控制执行功能AEF 目标 主体 客体 决策请求 决策结果 访问控制决策功能ADF
访问控制的基本原理(续) • 访问控制粒度分类: • 粗粒度(coarse grained)访问控制 • 中粒度(medium grained)访问控制 • 细粒度(fine grained)访问控制
自主访问控制 • 自主访问控制最早出现在20世纪70年代初期的分时系统中,是多用户环境下最常用的一种访问技术,也是目前计算机系统中实现最多的访问控制机制。 • 又称为基于拥有者的访问控制 • 资源共享方面难以控制 实现方法 • 最直接的方法是利用访问控制矩阵,每一行表示一个主体,每一列表示受保护的客体,矩阵中的元素表示主体对客体进行的访问模式。
自主访问控制——基于行 • 每个主体上都附加一个该主体可访问的客体的列表。 • 根据列表的内容不同,又有不同的实现方式: • 能力表(capability list) • 前缀表(profiles list) • 口令(password)
访问能力表示例 John Alice Bob
自主访问控制——基于列 • 每个客体都附加一个可访问它的主体的明细表。 • 最常用的实现方式是访问控制表(access control list,ACL)。 • 优点 • 表述直观 • 易于理解 • 有效的查询拥有访问权限的用户 • 缺点 • 不利于规模大、需求复杂的网络的授权管理
访问控制表示例 文件1 文件2 文件3 文件4
自主访问控制策略的局限性 存在的不足主要体现在: • 资源管理比较分散 • 用户间关系不能在系统中体现出来,不易管理 • 信息容易泄露,无法抵御特洛伊木马的攻击 • 改进 • HRU模型:管理员可以限制客体访问权限的扩散 • TAM模型:客体和主体产生时就对就对访问权限的扩散做了具体的规定 • ATAM模型:访问权限需要动态变化的系统安全策略
强制访问控制 • 强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策 • 基本思想: 每个主体都有既定的安全属性,每个客体也都有既定的安全属性,主体对客体是否能执行特定的操作,取决于二者安全属性之间的关系。 • 强制访问控制和自主访问控制是两种不同类型的访问控制机制,他们常结合起来使用。 控制模型 • BLP模型 • Biba模型
BLP模型 • 模拟符合军事安全策略的计算机操作的模型,是最早、最常使用的一种模型,已实际应用于许多安全系统的开发中。其目标是详细说明计算机的多级操作规则。 • 所有的主体和客体都有一个安全标签,不可随意改变 • 用λ标志主体或客体的标签,当主体访问客体时,满足两条规则: • 简单安全性:如果主体s能够读客体o,则λ(s)≥λ(o) • *-特性:如果主体s能够写客体o,则λ(s)≤λ(o) 简单安全性规则要求主体只能向下读,不能向上读。 *-特性规则要求主体只能向上写,不能向下写。 *-特性规则允许一个主体可以向一个高安全级的客体写入信息 • 上述两个特性保证了信息的单向流动。
Biba模型 • Biba提出了与BLP相反的模型,成为Biba模型,用来防止非法修改数据。 • 用ω表示主体客体的安全标签,当主体访问客体时,要满足 • 简单完整性原则:如果主体s可读客体o,则ω(s)≤ ω(o) • *-属性:如果主体s可读客体o,则ω(s)≥ω(o) • 上面的两条原则限制了不可靠信息在系统中的活动。但降低了安全性。
强制访问控制策略的局限性 • 存在的不足主要体现在 • 使用不灵活,应用的领域狭窄,一般只用于军方等具有明显等级观念的行业或领域; • 对授权的可管理性考虑不足 • 主要优势 • 阻止特洛伊木马的能力 • 主要缺陷 • 实现工作量太大 • 管理不便 • 不够灵活 • 偏重保密性,系统连续工作能力、授权的可管理性不足
基于角色的访问控制 RBAC的概念早在20世纪年代就已经提出,但在相当长的一段时间内没得到重视。进入20世纪90年代,安全需求的发展使得它得到了关注,NIST的研究人员认为RBAC将成为DAC和MAC的替代者。 基本原理 • 核心思想:将访问权限与角色相联系,通过给用户分配合适的角色,让用户与访问权限相关联。角色根据企业内为完成各种不同的任务需要设置。用户可以在角色之间进行转换。系统可以添加、删除角色,同时可以对角色的权限进行添加、删除。 • 通过应用RBAC,可以将安全性放在一个接近组织结构的自然层面上进行管理。
用户、角色和许可的关系图 用户1 用户2 . . . 用户n 角色1 角色2 . . . 角色n 权限1 权限2 . . . 权限n 会 话 限 制
基于角色的访问控制 • RBAC具有以下特点: • 以角色作为访问控制的主体 • 角色继承 • 最小特权原则 角色3 角色4 包含 包含 角色2 包含 角色1
RBAC2001参考模型 NIST的RBAC参考模型包括核心RBAC、层次RBAC、静态职责分离和动态职责分离4个模型构件,分别描RBAC系统某一方面的特征。 核心RBAC的 5个基本要素集:用户(users)、角色(roles)、对象(OBS)、操作(OPS)和访问权限(PRMS)。用户被委派一定的角色,每一角色被授予一定的访问权限。核心RBAC还引入了会话(session)的概念,会话即一个用户与一个角色子集之间的映射关系。一个用户可以建立多个会话,一个会话只有一个用户参与。
核心RBAC结构 访问权限集 • Users、roles、OPS、OBS分别表示用户集、角色集、操作集和对象集 • UA表示users和roles间的委派关系 • Assigned_users:(r:roles)→2users表示委派到角色r上的一组用户,即Assigned_users(r)={u ∈users|(u,r) ∈ UA}. • PRMS=2(OPS× OBS)表示访问权限集 • PA表示PRMS与roles间的授予关系 • Sessions表示会话集 • User_sessions表示用户u的一组会话 • Session_roles表示参与会话s的一组角色 • Avail_session_perms表示在会话s中用户拥有的访问权限 用 户 角 色 操作集 对象集 UA PA 用户—会话 会话—角色 会 话
层次RBAC结构 访问权限集 构建合理的角色层次关系对于解决权限管理的实际问题有非常重要的意义: • 角色之间的层次关系是对应用领域中工作职位间关系的一个非常形象的模拟 • 构造合适的角色层次关系在很大程度上方便了系统的权限管理 • 能够满足某些特殊安全管理的需要,层次化管理或最小特权原则 角色的层次结构中存在两种继承关系: • 权限继承关系 • 用户继承关系 用 户 角 色 操作集 对象集 UA PA 角色继承 用户—会话 会话—角色 会 话
有约束的RBAC结构 访问权限集 有约束的RBAC规定在RBAC模型上实施职责分离机制。RBAC2001建议标准引入两种职责分离机制:静态职责分离和动态职责分离 • 静态职责分离(static separation of duty relations , SSD) • 静态职责分离要求在用户/角色委派是实施约束 • RBAC2001建议标准规定的静态约束机制仅限于角色集上的约束关系特别是UA关系。他要求UA上的SSD关系带有两个参数:包含两个或两个以上的角色子集;大于1的基数,任何用户在此角色集中被委派的角色数不得超过基数。 用 户 角 色 操作集 对象集 UA PA 角色继承 用户—会话 会话—角色 会 话 静态职责分离
有约束的RBAC结构 访问权限集 • 动态职责分离(dynamic separation of duty relations , DSD) • DSD限制用户权限空间中访问权限的可用性 • 为动态撤销权限提供了可操作性 用 户 角 色 操作集 对象集 UA PA 角色继承 用户—会话 会话—角色 会 话 动态职责分离