一、数据库安全性概述
数据库的安全性
是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏
数据库的不安全因素
- 非授权用户对数据库的恶意存取和破坏
为阻止非法操作,保证数据免受未授权访问和破坏,数据库管理系统提供安全措施主要包括用户身份鉴别、存取控制和视图
等技术 - 数据库中敏感信或重要数据被泄露
为防止数据泄露,数据库管理系统提供的主要技术有强制存取控制
、数据加密存储和加密传输等
另外安全要求较高部门提供审计功能
- 安全环境的脆弱性
二、数据库安全性控制
1.用户标识与鉴别
用户标识与鉴别是系统提供的最外层安全保护措施
2.存取控制
存取控制
机制主要包括定义用户权限
和权限合法检查
两部分
定义用户权限和权限合法检查机制一起组成了DBMS的安全子系统
(存取控制子系统)
C2
级的数据库管理系统支持自主存取控制
B1
级的数据库管理系统支持强制存取控制
1.自主存取控制(DAC)
- 同一用户对不同数据对象有不同存取权限
- 不同用户对同一数据对象有不同存取权限
- 用户可将其拥有的权限转授给其他用户
标准SQL提供了自主存取控制语句,即GRANT
/REVOKE
授权:授予与收回
SQL中使用GRANT和REVOKE向用户授予或收回对数据库的操作权限。
GRANT语句向用户共授予权限
。
REVOKE语句收回以授予用户的权限
存取控制的对象
不仅包括数据
本身,也还有数据库模式
//GRANT一般格式
GRANT <权限>[,<权限>]...
ON <对象类型> <对象名> [,<对象类型> <对象名> ]...
TO <用户> [,<用户>]...
[WITH GRANT OPTION]
如果指定了WITH GRANT OPTION语句,则获得某些权限的用户还可以把这种权限再授予给其他用户;否则则不能传播授予
接受权限的(TO后面)可以是一个或多个用户,也可以是PUBLIC,即全体
发出GRANT语句的可以是数据库管理员、该数据库对象创建者、已拥有该权限的用户
//REVOKE一般格式
REVOKE <权限>[,<权限>]...
ON <对象类型> <对象名> [,<对象类型> <对象名> ]...
FROM <用户> [,<用户>]...[CASCADE|RESTRICT]
CASCADE级联收回使用WITH GARAN OPTION传播给其他用户的对应要收回的权限
注意系统只是收回从该用户直接或间接传播给其他用户的权限
优点:灵活;通过授权机制有效控制其他用会对敏感信息的存取
缺点:可能存在数据的“无意泄露”
原因:这种机制仅通过对数据的存取权限来进行安全控制,而数据本身并无安全标记
解决:对系统控制下的所有主客体实施强制存取控制策略
2.强制存取控制(MAC)
- 每个数据库对象标以一个密级
- 每个用户被授予某个级别的许可证
- 对任意对象,只有具有合法许可证的用户才可以存取
在强制存取控制中,数据库管理系统所管理的全部实体分为主体
和客体
两大类
主体是系统中的活动实体
,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体是系统中被动实体
,是受主体操纵的,包括文件、基本表、索引、视图等。
对于主体客体,DBMS为它们指派一个敏感度标记(label)
,分为若干级别:绝密、机密、可信、公开。
密级次序:TS>=S>=C>=P
主体的敏感度标记称为许可证级别
客体的敏感度标记称为密级
MAC机制通过对比主体label和客体label,最终决定主体是否能够存取客体
当主体以标记label注册入系统时,系统要求他对任何客体的存取必须必须遵循如下规则:
- 仅当主体许可证级别
大于或等于
客体密集时,主体才能读
取相应客体 - 仅当主体许可证级别
等于
客体密集时,主体才能写
相应客体
DAC和MAC共同构成DBMS的安全机制
原因
:较高安全性级别提供的安全保护要包含较低级别的所有保护,因此在实现MAC时要首先实现DAC
过程
:
系统首先进行自主存取控制检查,对通过自主存取控制检查的允许存取的数据库对象再由系统自动进行强制存取控制检查,只有通过强制存取控制检查的数据库对象方可存取
3.视图控制
视图机制把要保密的数据对无权存取这些数据的用户隐藏起来
视图机制主要功能在于提供数据的独立性
,其安全功能不太详细,往往达不到要求
视图机制和授权机制配合使用:
- 用建立视图的方式屏蔽一部分保密数据
- 在视图上进一步定义存取权限
- 间接实现了存取为此的用户权限定义
4.审计
审计
:
- 启用一个专用的审计日志,将用户对数据可得操作记录在上面
- DBA可以利用审计日志中的追踪信息找到非法存取数据的人
审计通常很费时间空间,所以审计往往设置为可选特征
5.数据加密
数据加密是防止数据库数据存储和传输中失密的有效手段,通常也为可选特征
加密基本思想
是根据一定算法将原始数据——明文转换成不可直接识别的格式——密文