1.数据库的安全性:
数据库保护数据以防止不合法的使用导致数据的泄露或者修改、破坏。
2.数据库的不安全因素:
- 未授权用户对数据库的存取
- 数据库中数据的泄露
- 安全环境脆弱
3.数据库实现安全性控制的方法:
- 用户身份鉴别
- 多层存取控制
- 审计
- 视图
- 数据加密
4.存取控制包括权限定义、权限检查两部分。
5.C2级别的DBMS支持自主存取控制。B1级别的DBMS支持强制存取控制。
6.自主存取控制:
用户对不同的数据对象具有不同的存取权限,不同用户对同一数据对象也具有不同的权限。而且用户自主决定是否将权限给予他人。
7.强制存取控制:
每一个数据库对象被授予一定的密级,每一个用户拥有一定级别的许可证。对于任一数据对象,只有符合级别的许可证的才能进行操作。
8.权限的授予以及撤回
--权限授予-- Grant <权限名>...... on <数据对象类型> <数据对象名> to <用户名> [with grant option] --[with grant option]表示是否允许将权限授予给别人-- --权限撤回-- Revoke <权限名>...... on <数据对象类型><数据对象名> from <用户名> [cascade|restrict] --[cascade|restrict]cascade表示级联删除restrict表示限制删除--
9.数据库模式的建立
create user <模式名> with [DBA|RESOURCE|CONNECT]
10.数据库角色
--建立角色 create role <角色名> --给角色授权 grant <权限名> on <数据对象类型> <数据对象名> to <角色名> [with admin option] --删除角色权限 revoke <权限名> on <数据对象类型> <数据对象名> from <角色名>
11.强制存取控制
- 主体:系统中活动的实体。可以理解为用户。
- 客体:系统中的被动实体。受主体操控。
- 敏感度标记:主题的敏感度标记->许可证。客体的敏感度标记->密级。
- 敏感度标记被分为四个级别TS>=S>=C>=P。
12.强制存取控制规则:
- 主体的许可证级别大于等于客体的密级时,才能进行读取客体。
- 主题的许可证级别小于等于客体的密级时,才能写操作客体。(防止高密级数据往低密级流动)
13.视图的优点
- 对数据进行了一定的安全保护
- 对数据提供了一定的逻辑独立性
- 对同一数据提供了多种角度的观看
- 简化了用户的操作
- 可以更加清晰的表示查询
14.审计
审计功能是指用户的操作被自动记录下来保存在审计日志中。 是一种事后检查的安全机制。
15.数据加密
- 可直接识别:明文
- 不可直接识别:密文
数据加密分为两类,存储加密、传输加密。
其他安全保护措施:
- 推理控制:避免用户通过可见数据推出高密级数据。
- 隐蔽通道:利用数据库的约束,看数据是否存在,从而使高密级数据流向低密级。
- 数据隐私:控制不愿被他人知道或者他人不便知道的个人数据的能力。