数据库笔记#4:数据库安全性
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 | CREATE ROLE <角色名>; |
强制存取控制MAC
- B1
- 每一个数据对象被标以一定的密级
- 每一个用户也被授予某一个级别的许可证
- 对于任意一个对象,只有具有合法许可证的用户才可以存取
全部实体被分为主体和客体两大类:
- 主体:系统中的活动实体。数据库管理系统所管理的实际用户,代表用户的各进程。
- 客体:系统中的被动实体,受主体操纵。如文件、基本表、索引、视图。
敏感度标记
- -DBMS为每一个主体和客体的实例指派一个敏感度标记。
- 分为:绝密TS、机密S、可信C、公开P
- 主体的敏感度标记称为许可证级别
- 客体的敏感度标记称为密级
强制存取控制规则
- 上读:仅当主体的许可证级别大于或等于客体的密级时,才能读取客体
- 下写:仅当主体的许可证级别小于或等于客体的密级时,才能写入客体
审计
- C2以上的DBMS必须有审计功能
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 二零拾肆!