第五讲 访问控制技术

来源:互联网 发布:淘宝vip专享 编辑:程序博客网 时间:2024/06/05 18:27

概念:访问控制 访问控制列表 访问能力表 授权关系表

           自主访问控制 强制访问控制 基于角色的访问

理解:访问控制技术的实现原理,技术特点

           访问控制模型的特点及使用场景

运用举例:能够依据具体的应用场景,选择恰当的访问控制


一、概念

访问控制是通过某种途径显式地准许或者限制访问能力及范围的一种方法。通过限制对关键资源的访问,防止非法用户的侵入或因为合法用户的不慎操作而造成的破坏,从而保证网络资源受控地、合法地使用,它是针对越权使用资源的防御措施。

访问控制技术是建立在身份认证的基础上的‘。

目的:确保用户合法地和受控地使用网络资源

作用:针对越权使用网络资源的防御机制

方式:访问控制策略、访问控制技术、访问控制模型

访问控制三元组:主体、客体访问控制策略

访问控制基本原理:系统资源的访问权限存放在控制策略数据库中,通过一个参考监视器监视用户对系统资源访问的行为,依据访问控制策略数据库的规则,确定是否允许访问操作

二、实现技术

实现原理:实现访问控制的基础是如何明确访问控制策略。

实现方法:访问控制矩阵ACM、访问能力表、访问控制表和授权关系表

访问控制矩阵ACM:行表示客体,列表示主体,行和列的交叉点表示某个主体对某个客体的访问权限

访问能力表ACCL:从主体出发,用链表形式表达矩阵一行的信息。

访问控制表ACL:从客体出发,用链表形式表达某一列的信息。

授权关系表ACARL:每一行表示了主体和客体的一个权限关系

ACM:实现简单,便于集中控制         用户资源数量多时,执行效率低 ,存储空间严重浪费       极少采用

ACCL:用户间权限传递简单             权限回收困难,用户生成一个新的客体并对其授权、或删除一个客体时都比较复杂      用户数量大,动态性高的分布式系统

ACL:权限回收容易        权限传递困难,如访问控制列表太大或者经常改变,维护访问控制列表会成为一个问题          操作系统

ACARL:兼顾ACCL和ACL的特点     存在信息冗余      关系数据库


三、应用模型

主流访问控制模型:

自主访问控制DAC

         思路:确认主体身份及所属组的基础上,根据访问者的身份和授权来决定访问模式,对访问进行限定’

         特点:具有授权某种访问权力的主体能够自己决定是否将访问控制权限的某个子集授予其他的主体或者从其他主体那里回收他所授予的访问权限

                    目前采用较多

         优点:自主性为用户提供极大的灵活性,从而适用于许多系统和应用

         缺点:安全级别较低,用户、权限客体间的授权管理复杂

         局限性:不能实现全局性访问控制、不能区分所有权和访问权、不能体现严格的组织架构

强制访问控制MAC

        思路:为主体和客体统一设定安全标签,根据访问者的安全 等级和被访问客体的安全等级来决定访问控制

        特点:安全管理员统一对主体和客体的安全标签赋值,普通用户不能改变。可以提供严格的访问控制策略保障

        BLP模型:安全标签就是安全级,客体的安全级表现客体中所含信息的敏感程度,而主体的安全级别则反映了主体对敏感信息的可信程度

               特点:主体按照“向下读,向上写”的原则访问客体,侧重于信息的保密性;保证了客体的高度安全,使信息流程为单向不可逆,保证了信息流的流向,能阻止木马

               实例:防火墙实现的单向访问机制

       BiBa模型:

               特点:主体按照“向上读,向下写”的原则访问客体,侧重于信息的完整性,使信息流总是高安全级别的实体流向低安全级别的实体

               实例:对WEB服务器的访问过程

       优点:通过安全标签实现信息的单向流通,BLP模型可以保证数据机密性,BiBa模型可以保护数据完整性,比MAC有更高的安全性

       缺点:实现工作量太大,管理不便,可用性和灵活性差。

基于角色的访问控制RBAC

        思路:管理员创建角色,给角色分配权限,给角色分配用户,角色所属的用户可以执行相应的权限

        特点:RBAC实现了用户和权限的分离,具有支持权限的继承,与实际应用密切关联等特点

        基本原则:最小权限、责任分离、数据抽象

        NIST RBAC参考模型:

                分类:基本RBAC(用户、许可、用户委派、权限分配、会话-角色、用户-会话)、分级RBAC(角色的结构化分层,定义了角色的继承关系)

                         、静态责任分离(增加了责任分离,对用户分配的角色进行约束,也就是当用户被分配给一个角色时,禁止其成为第二个角色)、

                          动态责任分离(通过对用户会话过程进行约束,对最小特权提供支持:在不同的时间拥有不同的权限)

        RBAC设计实现:用户表、洪湖角色关系、角色表、角色许可关系表、许可表

        RBAC运行过程

前两个直接授权,RBAC间接授权

四、Windows操作系统的访问控制

本地安全机构LSA:SAM服务(SAM数据库存储账户信息)、NetLogon(域认证模式下建立安全信道)、LSA服务(提供登录的交互式界面、根据认证结果和安全策略生成用户系统访问令牌)

访问控制模块组成:访问令牌和安全描述符(DACL指出了允许和拒绝某用户或者用户组的存取控制列表、SACL指出了在该对象上的一组存取方式的存取权限细节的列表)



习题

8-1 说明一种可使用BLP模型的应用。
参考答案:BLP是提供分级数据机密性的强制访问控制模型,执行下读上写的访问控制策略。例如对内部网络进行数据机密性保护时,防火墙实现的单向信息流动控制则可以看作BLP模型的应用,安全等级高的内部网络可以读取安全等级低的外部网络的数据,但不允许外部网络读取内部网络的数据;内部网络的数据不允许写入外部网络,但外部网络则可以写入内部网络。

8-2 列举3种主要访问控制策略,并简要说明每种策略的含义。
参考答案:1)自主访问控制,由资源的创建者管理访问权限,并允许权限传递;2)强制访问控制,集中式管理访问权限,按照安全等级划分确定访问控制策略;3)基于角色的访问控制,通过角色实现用户权限的管理

说明访问控制矩阵的原理,并举出一个实例
参考答案:采用矩阵形式描述主体和客体间的访问权限:行表示客体(各种资源),列表示主体(通常为用户),行和列的交叉点表示某个主体对某个客体的访问权限(比如读、写、执行、修改、删除等)。实例如下:

客体

主体

Object1

Object2

Object3

Alice

Own ,R ,W

R

R ,W

Bob

R

Own ,R ,W

John

R ,W

Own ,R ,W