1. 数据库的不安全因素
- 非授权用户对数据库的恶意存取和破坏
- 数据库中重要或敏感的数据被泄露
- 安全环境的脆弱性
2. 安全标准
C1级开始应用自主存取控制(DAC)
B1级开始对标记的主体和客体实施强制存取 控制(MAC)以及审计等安全机制。
3. 数据库安全性控制
-
用户身份鉴别(最外层安全保护措施)
静态口令鉴別
动态口令鉴别 短信密码 和动态令牌方式
生物特征鉴别 指纹、虹膜和掌纹等
智能卡鉴别 -
存取控制
定义用户权限,并将用户权限登记到数据字典中
合法权限检查 -
自主存取控制方法
-
授权:授予与收回
GRANT
REVOKE -
数据库角色
过程:
1. 角色的创建
2. 给角色授权
3. 将一个角色授予其他的角色或用户
4. 角色权限的收回 -
强制存取控制方法
对于主体和客体,数据库管理系统为它们每个实例(值)指派一个敏感度标记(label)。
当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:
(1) 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。
(2) 仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。
自主存取控制(MAC)能够通过授权机制有效地控制对敏感数据的存取。但是由于用户对数据的存取权限是“自主”的,在这种授权机制下,仍可能存在数据的“无意泄露”。
-
视图机制
为不同的用户定义不同的视图,把数据对象限制在一定的范围内。也就是说, 通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度 的安全保护。
-
审计
审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
可审计事件有服务器事件、系统权限、语句事件及模式对象事件,还包括用户鉴别、 自主访问控制和强制访问控事件。换句话说,它能对普通和特权用户行为、各种表操作、 身份鉴别、自主和强制访问控制等操作进行审计。
-
数据加密
数据加密主要包括存储加密和传输加密。
存储加密
对于存储加密,一般提供透明和非透明两种存储加密方式。透明存储加密是内核级加 密保护方式,对用户完全透明;非透明存储加密则是通过多个加密函数实现的。
传输加密
常用的传输加密方式如链路加密和端到端加密。