《安全等级模型深度解读:从基础到实践》
第4章 TCSEC的B1级深度解读
4、TCSEC的B1级深度解读:标记、强制访问控制、安全策略模型
TCSEC(Trusted Computer System Evaluation Criteria,可信计算机系统评估准则)的B1级是“标记安全保护”级别。它是从自主访问控制(DAC)迈向强制访问控制(MAC)的关键分水岭。B1级要求系统不仅具备C2级的所有功能,还必须引入敏感度标记和强制访问控制机制,并基于一个形式化的安全策略模型进行构建。
4.1 敏感度标记(Sensitivity Labels)
B1级要求系统为每个主体(用户/进程)和客体(文件/目录/设备)分配一个敏感度标记。标记通常包含两个维度:
- 分级(Hierarchical):如 绝密 > 机密 > 秘密 > 公开
- 范畴(Category):如 {核武器, 外交, 财务}
| 实体 | 分级 | 范畴 | 完整标记 |
|---|---|---|---|
| 用户A(主体) | 机密 | {核武器, 外交} | (机密, {核武器, 外交}) |
| 文件X(客体) | 秘密 | {外交} | (秘密, {外交}) |
| 进程P(主体) | 绝密 | {核武器, 财务} | (绝密, {核武器, 财务}) |
4.2 强制访问控制(Mandatory Access Control, MAC)
MAC是B1级的核心安全机制。与DAC(自主访问控制)不同,MAC由系统根据主体和客体的安全属性强制实施,用户无法绕过或修改。其核心规则基于Bell-LaPadula模型:
📌 Bell-LaPadula 基本安全公理
- 简单安全属性(ss-property):主体只能读取安全级别 不高于 其自身级别的客体(向下读)。
- 星属性(*-property):主体只能写入安全级别 不低于 其自身级别的客体(向上写)。
- 强星属性(Strong *-property):主体只能读写与自身安全级别 相同 的客体(可选增强)。
4.3 安全策略模型(Security Policy Model)
B1级要求系统必须有一个形式化的安全策略模型,该模型需满足:
- 状态机模型:系统被定义为一组状态,安全状态转换必须遵守安全规则。
- 模型一致性:所有系统操作(读、写、执行)都必须在模型框架内定义。
- 形式化证明:提供数学证明,表明模型能够维持安全状态。
// 安全策略模型伪代码示例(状态机验证)
State currentState = { subjects, objects, accessMatrix }
function checkAccess(subject, object, accessMode):
if accessMode == READ:
return subject.clearance >= object.classification
AND subject.category ⊆ object.category
if accessMode == WRITE:
return subject.clearance <= object.classification
AND object.category ⊆ subject.category
return false
function transition(subject, object, accessMode):
if checkAccess(subject, object, accessMode) == true:
performOperation(subject, object, accessMode)
return new SecureState()
else:
return SecurityViolation()
4.4 B1级与其他级别的对比
| 特性 | C2(受控访问保护) | B1(标记安全保护) | B2(结构化保护) |
|---|---|---|---|
| 自主访问控制 | ✅ 有 | ✅ 有 | ✅ 有 |
| 敏感度标记 | ❌ 无 | ✅ 有 | ✅ 有 |
| 强制访问控制 | ❌ 无 | ✅ 有 | ✅ 有 |
| 形式化安全模型 | ❌ 无 | ✅ 有(非形式化也可) | ✅ 有(形式化) |
| 隐蔽信道分析 | ❌ 无 | ❌ 无 | ✅ 有 |
4.5 实践要点与挑战
- 标记的完整性:所有客体在创建时必须被正确标记,系统需防止标记被篡改。
- 策略的不可旁路性:所有访问路径(包括系统调用、IPC、网络)都必须经过MAC检查。
- 可信计算基(TCB):B1级要求TCB必须保护自身免受篡改,并维护域隔离。
- 审计增强:所有与安全标记相关的操作(如标记修改、MAC违规)必须记录审计日志。
💡 核心总结:TCSEC B1级通过引入敏感度标记和强制访问控制,将安全策略从用户自主提升到系统强制层面。基于Bell-LaPadula模型的“向下读、向上写”规则,有效防止了高敏感信息向低级别主体的泄露。B1级是构建多级安全(MLS)系统的基石,也是后续B2/B3级别更严格形式化验证的基础。