数据库安全性
一.视图机制
1.要把保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护。
2.间接地实现支持存取谓词的用户权限定义。
3.例子:建立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作授权给张明。
①先建立计算机系学生的视图CS_Student
CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept='CS';
②在视图上进一步定义存取权限
GRANT SELECT
ON CS_Student
TO 王平;
GRANT ALL PRIVILIGES
ON CS_Student
TO 张明;
二.审计(Audit)
1.什么是审计
①启用一个专用的审计日志(Audit Log):
将用户对数据库的所有操作记录在上面。
②审计员利用审计日志:
监控数据库中的各种行为,找出非法存取数据的人、时间和内容。
③C2以上安全级别的DBMS必须具有审计功能。
2.审计功能的可选性
①审计很费时间和空间。
②DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。
③审计功能主要用于安全性要求较高的部门。
3.审计事件
①服务器事件
②系统权限
③语句事件
④模式对象事件
4.审计功能
①基本功能
②多套审计规则:一般在初始化设定。
③提供审计分析和报表功能。
④审计日志管理功能
⑤提供查询审计设置及审计记录信息的专门视图。
5.AUDIT语句和NOAUDIT语句
①AUDIT语句:设置审计功能。
②NOAUDIT语句:取消审计功能。
③用户级审计
④系统级审计
6.例子
①对修改SC表结构或修改SC表数据的操作进行审计:
AUDIT ALTER,UPDATE
ON SC;
②取消对SC表的一切审计:
NOAUDIT ALTER,UPDATE
ON SC;
三.数据加密
1.数据加密:防止数据库中数据在存储和传输中失密的有效手段。
2.加密的基本思想
3.加密方法
4.存储加密
①透明存储加密
②非透明存储加密
5.传输加密
①链路加密
②端到端加密
6.基于安全套接层协议SSL传输方案的实现思路
①确认通信双方断点的可靠性
②协商加密算法和密钥
③可信数据传输
四.其他安全性保护
1.推理控制
①处理强制存取控制未解决的问题。
②避免用户利用能够访问的数据推知更高密级的数据。
③常用方法:
2.隐蔽信道
3.数据隐私保护
①描述个人控制其不愿他人知道或他人不便知道的个人数据的能力;
②范围很广:数据收集、数据存储、数据处理和数据发布等各个阶段。