数据共享:只允许有合法权限的用户访问他存取的数据
一、数据库安全性概述:
不安全因素:1.非授权用户对数据库的恶意存取和破坏
2.数据库中重要或敏感数被泄露
3.安全环境的脆弱性
安全标准:
TCSEC标准:
TCSEC/TDI标准:安全策略、责任、保证、文档
安全级别(A1->B3,B2,B1->C2,C1->D)
D:一切不符合更高标准的系统,如DOS
C1:非常初级的自主安全保护,用户和数据分离,进行自主存取控制(DAC),保护或者限制用户权限的传播。
C2:安全产品的最低档次,提供受控的存取保护,如操作系统、数据库
B1:标记安全保护,对标记的主客体实施强制存取控制(MAC)
B2:结构化保护,建立形式化的安全策略模型并对系统内所有主客体实施DAC和MAC.
B3:安全域,该级TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程
A:验证设计,提供B3级保护同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
B2级以上的系统尚处于理论研究阶段
CC标准:把产品安全性分为安全功能要求和安全保护要求,EAL1-7依次相当于C1-A.
二、数据库安全性控制:
非法使用数据库的情况:
1.编写合法程序绕过DBMS及其授权机制
2.直接或编写应用程序执行非法操作
3.通过多次合法查询数据库从中推导出一些保密数据
用户->DBMS->OS->DB;
用户身份鉴别:系统提供的最外层安全保护措施
用户标识;口令(系统核对口令以鉴别用户身份);
静态口令鉴别:一般由用户自己设定,鉴别时只要按要求输入正确即可
动态口令鉴别:每次鉴别均需要使用动态产生的新口令,如短信验证码
生物特征鉴别:通过生物特征进行认证的技术,如指纹、虹膜等,安全性较高
智能卡技术:智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密的功能。
存取控制:
存取控制机制组成:
定义用户权限;合法权限检查
常用存取控制方法:
自主存取控制(DAC):不同用户对不同数据库对象有不同的存取权限,并可将权限转授。C2级,灵活
CREATE USER<username>
[WITH] [DBA|RESOURCE|CONNECT]
DBA:能进行所有数据库操作
RESOURCE:处理CONNECT权限外,还能创建表、索引,修改表等
CONNECT:不能创建新用户,能创建模式和基本表,可以与数据库连接
数据库角色:被命名的一组与数据库操作相关的权限;角色是权限的集合;可以为一组具有相同权限的用户创建角色;使用角色来管理数据库权限可以简化授权过程
缺点:可能存在数据的“无意泄露”(因为仅仅通过对数据的存取权限来进行安全控制,数据本身并无安全标记;解决,对系统下所欲主客体实施强制存取控制)
强制存取控制(MAC):每个数据对象被标以一定密级,每个用户被授予某一级别权限。B1级,严格。
主体:系统中的活动实体,如代表用户的各个进程
客体:系统中的被动实体,是受主体操纵的对象,如文件、基表等
敏感度标记:绝密、机密、可信、公开
主体的敏感度标记为许可证级别;客体敏感度标记为密级
规则:1.主体许可证级别大于等于客体密级时,可以读;
2.主体级别小于等于客体密级,可写
三、视图机制:
把要保密的数据对无权存取的用户隐藏起来,对数据提供一定程度的安全保护。
四、审计:
数据库管理系统达到C2以上安全级别必不可少的一项指标;
把用户对数据库的操作自动记录下来放到审计日志中
审计通常很费时间和空间
可审计事件:
服务器事件:包括数据库服务器的启动、停止等
系统权限:对系统拥有的结构或者模式对象进行操作的审计要求该操作通过系统权限获取。
语句事件:SQL语句的审计
模式对象事件:对特定模式对象上进行SELECT、DML操作等
审计功能:
基本功能:提供多种审计查阅方式
提供多套审计规则
提供审计分析和报表功能
审计日志管理功能
系统提供查询审计设置和审计记录信息的专门视图
分类:用户级审计;系统级审计
五、数据加密:
根据一定的算法将原始数据变换成不可直接识别的格式,从而使得不知道解密算法的人无法获取数据的内容。存储加密,传输加密
六、其他安全性保护:
推理控制处理时MAC未解决的问题。