密码学应用-访问控制模型个人学习总结

简介

为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用。保证用户在系统安全策略下正常工作,拒绝非法用户的非授权访问请求,拒绝合法用户越权的服务请求

模型类别

自主访问控制模型(DAC)

自主访问控制是指用户有权对自身所创建的访问对象(文件、数据表等)进行访问,并可将对这些对象的访问权授予其他用户和从授予权限的用户收回其访问权限。
如:以Linux的文件权限为例,实现访问控制表/矩阵

ACL

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。

特点

  • 授权的实施主体自主负责赋予和回收其他主体对客体资源的访问权限。DAC模型一般采用访问控制矩阵和访问控制列表存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的
  • ACL(访问控制表)是DAC中常用的一种安全机制,系统安全管理员通过维护ACL来控制用户访问有关数据。

缺点

  • 主体的权限太大,无意间就可能泄露信息
  • 不能防备特洛伊木马的攻击访问控制表
  • 当用户数量多、管理数据量大时,ACL就会很庞大,不易维护

强制访问控制模型

主体和客体都有一个固定的安全属性,系统用该安全属性来决定一个主体是否可以访问某个客体。是一种强加给访问主体的规则

BLP模型

BLP模型是Bell-Lapudula 的简称,是D.Elliott Bell 和 Leonard J.LaPadula 于1973年提出的一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问控制模型,该模型用于保证系统信息的机密性。
BLP模型的安全策略包括自主安全策略强制安全策略两个部分。

  • 自主安全策略使用一个访问控制矩阵表示,矩阵中的元素表示主体对客体所有允许的访问模式,主体按照在访问矩阵中被授予的对客体的访问权限对客体进行相应的访问。
  • 强制安全策略对每个主体和客体都定义了安全级,安全级由密级和范畴构成。安全级之间存在支配关系(密级高于或等于、范畴包含)

BLP安全特性

  • 低安全级不可以向高安全级读,高安全级可以向低安全级读
  • 低安全级可以向高安全级写,高安全级不可以向低安全级写

两种特性是同时存在

  • 当访问者安全级别高于被访问者时,访问者可以读取被访问者信息,但访问者不可以向北访问者写入信息
  • 当访问者的安全级抵御被访问者时,访问者不可以读取被访问者信息,但访问者可以向被访问者写入信息

同范畴内,遵守如上规则,不同范畴不可以读和写

安全级
密级:绝密、机密、秘密、公开
范畴:军事、外交、商务……

BIba模型

1977年,由Biba提出,多级访问控制模型,保护数据完整性。强制安全策略为每一个主体和客体都分配了完整级。根据完整级进行访问控制,当访问者安全级别高于被访问者时,访问者可以向被访问者写入信息,当访问者不可以读取被访问者信息;当访问者的安全级低于被访问者时,访问者可以读取被访问者信息,但访问者不可以向被访问者写入信息

Clark-Wilson 模型概念

由计算机科学家David D.Clark 和会计师 David R.Wilson 发表于1987年确保商业数据完整性的访问控制模型,侧重于满足商业应用的安全需求。每次操作前和操作后,数据都必须满足这个一致性条件。
在商业应用环境中,最关心系统数据的完整性以及对这些数据操作的完整性。数据的完整性是指,如果数据满足给定的条件,则称数据处于一个一致性状态,在每次操作前和操作后,数据都必须满足这个一致性条件。系统的一个事务处理就是一系列操作,,使系统从一个一致性状态转移到另一个一致性状态。数据操作的完整性是指,需要有人检查和验证事务处理是否被正确执行,一个事务需要两个或两个以上的不同的人来执行,如果要使用一个事务处理来破坏数据,必须有两个不同的人员犯错,或者他们合谋担保钙食物处已被正确实现

中国长城模型

该模型常用于域权限隔离,指在同一域中一个用户无法获得多个权限。

密码学应用-访问控制模型个人学习总结

基于角色的访问控制(RBAC)模型

  • 系统内置多个角色,将权限与角色进行关联,用户必须称为某个角色才能获得权限。根据用户所当然的角色来决定用户在系统中的访问权限。
  • 对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与全新集合之间建立一个角色集合。
  • 每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。
  • 常见于权限管理类的网站,这些网站会存在一个定制化的业务需求,不同的用户拥有不同的功能界面、不同的业务权限。从项目角度来描述就是不同的用户拥有不同的角色,不同的角色绑定了不同的功能模块,并且要保证用户不能操作权限之外的功能。基于这样的出发点可以考虑建立一套多用户、多角色、多种功能、用户< - >角色< - >菜单灵活绑定的程序
  • RBAC支持三个著名的安全原则:最小权限原则责任分离原则数据抽象原则

基于属性的访问控制(ABAC)模型

传统的RBAC 与 ACL 等访问控制机制中,可以认为是ABAC 的子集,对于RBAC,只是我们的访问机制的实现只是基于属性role 而异,ACL 则是基于属性是identity 的AC 。ABAC就以面向对象的思想来进行更精细的访问控制,匹配复杂的业务场景