访问控制矩阵

访问控制矩阵

访问访问控制矩阵(Access Control Matrix)是计算机安全中用于描述系统内所有主体(如用户、进程)对客体(如文件、设备、内存段)访问权限的一种抽象模型。它由 Butler Lampson 提出,是访问控制理论的基础。

结构

  • :代表系统中的主体。
  • :代表系统中的客体。
  • 单元格:表示特定主体对特定客体所拥有的访问权限(如读 r、写 w、执行 x、拥有 own 等)。

例如,一个简单的访问控制矩阵:

主体\客体 文件A 文件B 打印机
Alice r w r w
Bob r r w -
进程P1 r x - w

核心思想

访问控制矩阵提供了一种全局视角,完整地刻画了系统中所有授权关系。它本身是一个概念模型,实际系统中很少直接以矩阵形式存储(因为矩阵可能非常稀疏,浪费空间),而是通过两种主流方式实现:

  1. 访问控制列表(ACL):按列(客体)存储,每个客体附带一个列表,记录哪些主体拥有哪些权限。例如,文件A的ACL为 (Alice: rw, Bob: r, 进程P1: rx)
  2. 能力列表(Capability List):按行(主体)存储,每个主体持有一张“票据”,标明它能访问哪些客体及相应权限。例如,Alice的能力列表为 (文件A: rw, 文件B: r, 打印机: w)

优缺点

  • 优点:概念清晰,能精确表达任意主体对任意客体的权限,适用于形式化分析和安全策略设计。
  • 缺点:直接实现时矩阵过大且稀疏,管理复杂;动态变化(主体/客体增删)时维护成本高。

访问控制矩阵是理解 ACL、能力机制以及更高级访问控制模型(如 RBAC)的基础。(Access Control Matrix)是计算机安全中用于描述系统内所有主体(如用户、进程)对客体(如文件、设备、内存段)访问权限的一种抽象模型。它由 Butler Lampson 提出,是访问控制理论的基础。

结构

  • :代表系统中的主体。
  • :代表系统中的客体。
  • 单元格:表示特定主体对特定客体所拥有的访问权限(如读 r、写 w、执行 x、拥有 own 等)。

例如,一个简单的访问控制矩阵:

主体\客体 文件A 文件B 打印机
Alice r w r w
Bob r r w -
进程P1 r x - w

核心思想

访问控制矩阵提供了一种全局视角,完整地刻画了系统中所有授权关系。它本身是一个概念模型,实际系统中很少直接以矩阵形式存储(因为矩阵可能非常稀疏,浪费空间),而是通过两种主流方式实现:

  1. 访问控制列表(ACL):按列(客体)存储,每个客体附带一个列表,记录哪些主体拥有哪些权限。例如,文件A的ACL为 (Alice: rw, Bob: r, 进程P1: rx)
  2. 能力列表(Capability List):按行(主体)存储,每个主体持有一张“票据”,标明它能访问哪些客体及相应权限。例如,Alice的能力列表为 (文件A: rw, 文件B: r, 打印机: w)

优缺点

  • 优点:概念清晰,能精确表达任意主体对任意客体的权限,适用于形式化分析和安全策略设计。
  • 缺点:直接实现时矩阵过大且稀疏,管理复杂;动态变化(主体/客体增删)时维护成本高。

访问控制矩阵是理解 ACL、能力机制以及更高级访问控制模型(如 RBAC)的基础。