密码学应用—访问控制模型简介

访问控制技术,指防止对任何资源进行非授权的访问,从而使计算机系统在合理的范围内使用。也指用户身份及其所属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能使用的一种技术,如UniNAC网络准入控制系统的原理就是基于此技术之上。

访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。

访问控制模型包括:自主访问控制模型(DAC)、强制访问控制模型(MAC)。

一、自主访问控制模型(DAC):

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

如:以linux为例,实现访问控制表、矩阵:

  文件1 文件2 文件3
root 7 7 7
root(组) 4 4 4
其他用户 0 0 0

除了之前,我们可以通过chmod命令对文件权限进行修改,我们还可以通过setfacl命令修改访问权限。区别是,chmod只能从用户,用户组,其他用户三方面对权限进行修改,而setfacl可以将权限,精确到用户。

getfacl filename :获取文件访问控制列表

setfacl -m u:username:7 filename :设置用户在文件或目录控制访问列表

setfacl -m g:groupname:7 filenam:设置组在文件或目录控制访问列表 

setfacl -x u:username filename :删除某用户在某文件或目录上的访问列表

setfacl -x g:groupname:7 filename :删除某组在某用户或文件上的访问列表

setfacl -b  filename :取消对该文件上的所有ACL权限

特点:

授权的实施主体自主负责赋予和回收其他主体对客体资源的访问权限。DAC模型一般采用访问控制矩阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。

ACL是DAC中常用的一种安全机制,系统安全管理员通过维护ACL来控制用户访问有关数据。

缺点:

主体的权限太大,无意间就有可能泄露想信息

不能防备特洛伊木马的攻击访问控制表

当用户数量多、管理数据大时、ACL就会很庞大,不易维护。

二、强制访问控制模型

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

1.BLP模型:

BLP模型是Bell-Lapudula的简称,是D.Rlliott Bell和Leonard J.LaPadula于1973年提出的一种模拟军事安全策略 的计算即访问控制模型。该模型用于保证系统信息的机密性。

BLP模型的安全策略包括自主安全策略和强制安全策略两个部分:

自主安全策略使用一个访问控制矩阵表示,矩阵中的元素表示主体对客体所有允许的访问模式,主体按照在访问矩阵中被授权的对客体的访问权限,对客体进行相应的访问。

强制安全策略对每个主体和客体 都定义了安全级,安全级由密级和范畴构成。安全级之间存在支配关系。

BLP安全特性

低安全级不可以向高安全级读,高安全级可以向低安全级读。

*特性

低安全级可以向高安全级写,高安全级不能向安全级写。

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

2.Biba模型

Biba模型是1977年,由Biba提出的,多级访问控制模型。

强制安全策略为每一个主体和客体都分配了完整级。根据完整级进行访问控制:

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

当访问者安全级别低于被访问者时,访问者可以读取被访问者的信息,但访问者不可以向被访问者写入信息。

3.Clark-Wilson模型概念

Clark-Wilson模型概念是由计算机科学家David D.Clark和会计师David R.Wilson发表于1978年,用于确保商业数据完整性的访问控制模型,侧重于满足商业应用的需求。每次操作前和操作后,数据都必须满足这个一致性条件。

4.Chinese Wall模型

若干有竞争关系的数据集构成了利益冲突,例如:银行COI类、石油公司COI类。该模型常用于域—权限隔离。同一域内的不同角色,不能赋予相同的权限。

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

系统内置多个角色,将权限与角色进行关联,用户必须成为某个角色才能获得权限。根据用户所担任的角色来决定用户在系统中的访问权限。

BBAC支持三个著名的安全原则:最小权力原则、责任分离原则和数据抽象原则。

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

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

 

猜你喜欢

转载自blog.csdn.net/weixin_47931795/article/details/107213444