您的位置:首页 > 其它

说说关于访问控制模型

2016-01-22 15:48 183 查看
**

前言

**

前段时间一直在帮导师写论文,虽然在实验室之余,本人致力于学习前端技术(好想在这里加一个坏笑的表情),但是云计算的学习不能中断啊,论文不能停。。。。也就说一下对访问控制的理解,表示我还是一个研究生。

在信息环境中,访问控制主要用来确保信息不会被非法访问。在访问控制的安全机制中,经过合法授权的实体能够对请求的资源进行合法的访问,而未经过授权的实体则不能访问所请求的资源。因而,访问控制的目的就是为了对资源请求的合法性进行相应的验证,是一种授权行为的体现。通过访问控制可以对系统的安全性进行判定。

**

正文

**

访问控制服务主要由访问控制模型策略描述语言组成

常见的访问控制模型主要是自主访问控制 DAC、强制访问控制 MAC、基于角色的访问控制 RBAC。

访问策略规则以及访问主体和访问客体三者是访问控制系统的基本条件。

访问主体:在信息环境中,对目标信息的获取通常是由访问主体发起的,访问主体需要遵循相应的规则,从而可以访问一定的客体。通常访问主体是用户开发和使用的应用程度。

访问客体:在信息系统中,客体可以被主体进行一定的访问行为操作。

安全访问策略:是为了保护信息安全性而制定的策略规则,规定了主体是否可以访问客体以及可以使用何种方式对客体进行访问。

常见的策略描述语言就有ACML、XACML,就像前端里面的JSON、XML一样,用于前后端的交流,哈哈,这是我的理解~~就说XACML语言吧,它是为了PEP(执行模块)和PDP(策略模块),还有可能有PIP(信息模块)的信息交换,因为每个模块可能用不同的语言写,会存在语义鸿沟(当然,这是虚拟机自省技术里的定义了),但是确实也是这样,就像两个地区的人都说方言肯定听不懂嘛,所以大家交流都得说普通话,这就是策略描述语言。

那么来说说访问控制模型啊

经典的三大模型DAC、MAC、RBAC,虽然现在在学术界这三大模型都遭到嫌弃,但是现有的访问控制模型其实都是在这三大模型上改改写写的。

自主访问控制(DAC,Discretionary Access Control)

自主访问控制(DAC,Discretionary Access Control)比较基础和常用,在多种计算机系统中都会提供自主访问控制。此种访问控制的基本思想是:访问控制中访问客体的拥有者具有很大的权限,能够决定客体是否可以被相应主体访问,并且可以迁移和转让访问客体。在 DAC 模型中,访问权限是否进行授权需要根据主体情况并结合具体的安全规则从而做出判断。DAC 有访问控制矩阵和访问控制列表两种实施方式。

访问控制矩阵(ACM:Acess Control Matrix)中使用矩阵的列和行来分别对应访问主体和访问客体,二者交叉位置的元素则代表着相应的主体对客体的操作规则。



访问控制列表(ACL:Access Control List)是前面说介绍矩阵的一种变形。列表对应某个固定客体,其中的列表示能够对此客体进行一定操作的主体。第二列访问属性则表示二者对应的具体操作。如表 所示,是上表中客体 X 所对应的等价控制矩阵转化。通过 ACL 可以方便的理解和查询某个客体所对应的特定权限主体,适用于稳定的主客体不太复杂的系统。在信息系统发生较大改变时,需要重新对访问控制列表进行相应修改,容易影响系统安全性。



DAC 在进行授权时相对灵活,访问控制中客体的所有者可以将其所有用的权限进行转移,从而具有很好的灵活性,适用范围比较广,因而可以用于多个系统。但是,DAC 存在几个缺点:

1.由于权限可以进行委托,会导致资源管理比较分散,同时增加了系统的风险性。

2.不能够适应多域安全策略环境,以及在环境策略变化的情况下无法保证整体的安全性。

3.访问控制权限容易发生转移,同时,在主体与客体数量较多时,会给系统带来巨大开销,导致效率低下,不能很好的适应交大规模的网络环境

强制访问控制(MAC)

强制访问控制(MAC:Mandatory Acess Control)在十八世纪七十年代就已经提出,在 Multics 模型上得到最早使用和验证,与前面介绍的自主访问控制相比,定义规则和策略相对更加严格。MAC 设计的基本思想是:在访问控制系统中,主体和客体被分配一定的安全属性,然后系统对二者所拥有的属性关系进行一定的评价比较,从而确定是否进行访问。也就是说这是一种多级表示模型。比较关系来源于安全属性,并且用(安全级别,类型集合)这样的组合代表安全属性。类型集合是指一定的元素的集体,而安全等级则表示相应信息的保密等级。在系统中安全属性是由维护系统的管理人员进行配置的,或者是系统自动生成的,这种安全属性是不能随意被修改的,具有强制认可性。

MAC 具有强制性和严格的单向不可逆性。MAC 系统规定高级别主体可以得到低级别主体的信息,而反过来却行不通。如果主体 A 的级别高于客体 B,那么主体 A 可以读取客体 B 中的信息和资源;如果主体 A 的级别低于主体 B 的级别,那么主体 A 可以对主体 B 进行一定的诸如写入的操作;如果主体 A 和客体 B的等级是相同的,那么主体 A 和客体 B 之间不能进行任何读与写的操作。这意味着在 MAC 模型的信息始终遵循单向流通的规则,因而可以保证系统信息的安全。如图 所示。



强制访问控制中最具有代表性的就是 BLP 模型。

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

基于角色的访问控制(RBAC)是在上世纪九十年代被提出,是一种评估效果比较好的访问控制信息技。在此种模型中,主体与客体并不是直接发生联系,而是增加了角色这一层次,先将访问操作的权限匹配给某些角色,然后在将这些特定的角色指定给相应的主体,通过这种方式主体就得到了对客体的访问权限。



基于角色使得主体和客体之间的关系不是通过他们之间的映射来建立,而是中间有了周转,多了一个角色这个中转站。

其他

然后随着云计算的出现,又出现了基于属性的访问控制ABAC,大家可以自行去查资料。基于属性的访问控制很厉害,它具有环境属性,而且可以把角色啊、客体啊、主体啊都当作一种属性,这种细粒度的访问控制安全性能很强,而且还能把数据挖掘的思想运用进来。

本文作为科普性文章,扯到这里就不往下阐述了,如果有兴趣想跟我交流的,可以回复我,哈哈(虽然并不是很期待大家可以回复)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: