Access Control

less than 1 minute read

Published:

访问控制是在系统中基于访问控制规则对可执行的动作进行限制的安全机制。

访问控制定位

一万米视角下,访问控制在用户主体和受保护的资源客体间,限制主体的动作

5000米视角下,访问控制包括授权(Authorization),验证(Authentication)和审计(Audit)三部分。授权指具体指明用户和角色可以执行的动作,验证指验证执行动作的是有授权的用户本人,审计包括审查安全日志,并在必要时对违反的用户进行惩罚。

在剩余部分中,主要讨论授权,不特殊指明的话下文中访问控制特指授权。授权在多个层级上都存在,从硬件、网络、数据库到操作系统和具体应用,授权对象从系统进程、主机、用户到程序。

访问控制的规则,模型和机制:

  • 规则:逻辑访问规则
  • 模型:规则的形式化描述
  • 机制:控制的低层级实现

访问控制的挑战:

  • 解释性:访问控制模型是否可以表达高等级规则
  • 性能:访问控制执行频繁,并且必须快速完成
  • 完全仲裁:能否发现并检查所有的动作
  • 安全性:访问控制机制的实现是否符合控制策略

访问控制模型

访问控制矩阵:标明每个用户对于每个资源的控制权限范围

模型角度

  • 强制访问控制模型(MAC):由操作系统控制
    • 权限由中央系统根据中心策略赋予,适用于多级安全系统或现代操作系统等对于重心控制有强烈需求的系统,灵活度较低,管理成本高
    • SELinux MAC model:使进程遵守MAC策略来限制对于文件和网络资源的访问。
      • 基于策略:使用定义好的策略接口来划分策略,改变策略不需要重启
  • 自由访问控制模型(DAC):由主体自行控制
    • 由资源所有者自行设定权限,灵活度较高,没有集中控制导致难以废除和改变,适用于文件和个人信息共享的控制。
    • The Graham-Denning DAC Model:为访问控制矩阵扩展控制和所属关系列,客体有一个所有者,主体有一个控制者,权限可以转移。可以通过创造和删除主体和客体,创造,转移和删除权限,检查授权状态等8种操作改变访问控制矩阵

权限授予角度

  • 基于个体的访问控制
  • 多级别访问控制
  • 基于角色的访问控制
  • 基于属性的访问控制

如何加强访问控制

实践中的重要技术