TCSEC标准

  • D:如DOS,几乎没有专门的机制
  • C1:实现自主存取控制DAC
  • C2:安全产品的最低档次,实现审计和资源隔离
  • B1:标记安全保护,实现强制存取控制MAC、审计、TCSEC/TDI
  • B2:结构化保护,建立形式化的安全策略模型
  • B3
  • A1:给出系统的形式化设计说明和验证

数据库安全性控制

  • 常用方法:用户标识和鉴定、存取控制、视图、审计、数据加密

存取控制

存取控制机制主要包括 定义用户权限合法权限检查 两部分

实现MAC时要 首先实现 DAC

自主存取控制DAC

  • C2
  • 用户对不同的数据对象有不同的存取权限
  • 不同的用户对同一对象也有不同的权限
  • 用户还可以将其拥有的存取权限转授给其他用户
1
GRANT <权限> ON <对象类型> <对象名> TO <用户> [WITH GRANT OPTION];
1
REVOKE <权限> ON <对象类型> <对象名> FROM <用户> [CASCADE | RESTRICT];
1
CREATE USER <用户名> [WITH] [DBA|RESOURCE|CONNECT];
1
2
3
CREATE ROLE <角色名>;
GRANT <角色> TO <用户名|角色名> [WITH ADMIN OPTION];
DROP ROLE <角色名>;

强制存取控制MAC

  • B1
  • 每一个数据对象被标以一定的密级
  • 每一个用户也被授予某一个级别的许可证
  • 对于任意一个对象,只有具有合法许可证的用户才可以存取

全部实体被分为主体和客体两大类:

  • 主体:系统中的活动实体。数据库管理系统所管理的实际用户,代表用户的各进程。
  • 客体:系统中的被动实体,受主体操纵。如文件、基本表、索引、视图。
敏感度标记
  • -DBMS为每一个主体和客体的实例指派一个敏感度标记。
  • 分为:绝密TS、机密S、可信C、公开P
  • 主体的敏感度标记称为许可证级别
  • 客体的敏感度标记称为密级
强制存取控制规则
  • 上读:仅当主体的许可证级别大于或等于客体的密级时,才能读取客体
  • 下写:仅当主体的许可证级别小于或等于客体的密级时,才能写入客体

审计

  • C2以上的DBMS必须有审计功能