Clark-Wilson 完整性模型(1987 原始论文)

David E. Clark & Dan R. Wilson, “Comparing Commercial and Military Security Policies”, IEEE Symposium on Security and Privacy 1987。云盘路径:/田浩然上传的资料/0CI03 操作系统安全/课程参考文献/Clark-wilson Model/clark_wilson.pdf。这是信息安全领域被引最多的论文之一:商业完整性策略与军用保密策略的对比,以及 CW 模型的完整定义。

提取备忘:双栏排版 PDF 经 pdftotext 逐词断行、排版错乱,但内容可辨认。以下为本轮据原文整理的要点,个别引文措辞以重新排版后为准(标”待确认”处不逐字引用)。

核心论点

  1. 两种策略根本不同:军用策略(Orange Book / Bell-LaPadula 血统)管的是信息泄露(confidentiality);商业数据处理——尤其是资产管理和会计这条主线——首要目标是防止欺诈与错误的未授权修改(integrity)。
  2. 格模型(lattice model)不足以刻画完整性策略。完整性需要与保密性不同的机制:不是”读写方向翻转”就能解决。
  3. 商业完整性的真正基础是现实世界的数据处理实践:职责分离(separation of duties)、well-formed transaction、审计日志——这些在手工会计时代就已存在,模型只是把它们形式化。

模型要素

  • CDI(Constrained Data Item,约束数据项):受完整性规则约束的数据,任何时候必须处于 well-formed state(满足内部一致性约束,如账目平衡)。
  • UDI(Unconstrained Data Item,无约束数据项):系统外的原始数据(如客户交来的纸质单据),进入系统前不受约束。
  • TP(Transformation Procedure,转换过程):唯一被授权修改 CDI 的程序。TP 必须保证把 CDI 从一个 well-formed 状态变到另一个 well-formed 状态。
  • IVP(Integrity Verification Procedure,完整性校验过程):周期性检查 CDI 集合处于 well-formed 状态(如盘点、对账)。

认证规则(Certification Rules)

  • C1:系统必须证明每个 IVP 能检测出 CDI 集合的任何非法(非 well-formed)状态;TP 执行前后都必须跑相关 IVP。
  • C2:每个 TP 必须被认证为 valid——从合法初始状态出发到达合法终态。安全官员为每个 TP 定义认证集:(TP_i, (CDI_a, CDI_c, ...)),TP 只允许按认证过的参数组合执行。TP 必须串行化执行(并发执行时中间态可以不合法,但序列化序必须保持终态合法——现代数据库事务机制正是为此)。
  • C3:IVP/TP 关系的传递性约束(约束 3 类访问关系中哪些组合允许,具体表格见原文)。
  • C4/C5:每个 CDI 必须归属于某个 IVP 的证明范围;每个用户-UWI/CDI 访问对必须认证为”只读”或”不可访问”——即写权限只能经 TP。
  • C6:任何以 UDI 为输入的 TP 必须认证为只做合法转换——典型实现是编辑程序(edit program):校验/拒绝后把 UDI 转为 CDI。
  • 绕过即失效:如果用户能自建并运行未经认证的 TP,整个模型 goals 归零。

执行规则(Enforcement Rules)

  • E1:TP 的有效性可基于多用户职责分离(如同一 TP 只在特定时段有效则系统须提供可信时钟并认证 TP 会读时钟);审计日志可建模为”只能 append 的 CDI + 对应 TP”,无需特殊机制。系统必须维护 C2 认证关系表,任何 CDI 只能被表内认证的 TP 操作。
  • E2/E3:对 UDI 的写入受控;用户只能经认证路径访问 CDI。
  • E4:只有有权认证的 agent 才能修改认证关系表;认证某实体的 agent 不得对该实体有任何执行权——把职责分离提升为元规则(认证者与使用者分离)。

与其他模型对比

模型思路CW 的批评
Bell-LaPadula保密性:禁上读禁下写与完整性目标无关
Biba把 B-LP 方向翻转当完整性完整性不是保密性的镜像;格上的读写约束表达不了 well-formedness 和职责分离
格模型统称状态/对象分级商业完整性是”非格”(non-lattice)策略,需要专门机制

(论文还对比了 Clark 早年的 SRC 86 完整性模型,CW 是其简化推广。)

对后续实践的遗产

  • 职责分离 + 认证程序白名单 + 校验过程,直接对应现代:应用层最小权限(用户不碰表,只碰存储过程/API)、数据库事务与审计、财务系统的四眼原则。
  • 与本书单其他安全笔记关联:SELinux 的 TE(type enforcement,进程域-类型白名单)在思想上与 C2/E1 的”CDI 只能被认证 TP 操作”同构——都是把”谁能改什么”从自主名单换成系统强制的认证关系。

待确认

  • C3 的完整访问关系矩阵(论文表格 OCR 错乱,未能可靠还原),需要时对照 IEEE 原文。