数据库安全性概念:数据库的安全性指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。
数据库的不安全因素:
1.非授权用户对数据库的恶意存取和破坏
2.数据库中重要或敏感的数据被泄露
3.安全环境(计算机系统的安全性)的脆弱性
计算机系统的安全模型示意图:
计算机系统中,安全措施是一级一级层层设置
数据库安全性控制的常用方法:
1.用户标识和鉴定(Identification & Authentication) 系统提供的最外层安全保护措施
用户身份鉴别的方法:
(1)静态口令鉴别
静态口令一般由用户自己设定,这些口令是静态不变的
(2)动态口令鉴别
口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法
(3)生物特征鉴别
通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等
(4)智能卡鉴别
智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能
2.存取控制
存取控制机制由 定义用户权限(授权) 和 合法权限检查 组成
常用的存取控制方法:
(1)自主存取控制(Discretionary Access Control ,简称DAC)
用户对不同的数据对象有不同的存取权限
不同的用户对同一对象也有不同的权限
用户还可将其拥有的存取权限转授给其他用户
可通过 SQL 的GRANT 语句和REVOKE 语句实现
自主存取控制缺点:
可能存在数据的“无意泄露”
原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记
解决:对系统控制下的所有主客体实施强制存取控制策略
(2)强制存取控制(Mandatory Access Control,简称 MAC)
每一个数据对象被标以一定的密级
每一个用户也被授予某一个级别的许可证
对于任意一个对象,只有具有合法许可证的用户才可以存取
在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类
主体是系统中的活动实体
客体是系统中的被动实体,受主体操纵
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)
主体的敏感度标记称为许可证级别(Clearance Level)
客体的敏感度标记称为密级(Classification Level)
强制存取控制规则:
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。
3.视图
把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护
4.审计
审计日志(Audit Log)将用户对数据库的所有操作记录在上面
DBA利用审计日志找出非法存取数据的人、时间和内容
5.数据加密存储和加密传输
概念:防止数据库中数据在存储和传输中失密的有效手段
基本思想:根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式-—密文(Cipher text)
加密方法:
(1)存储加密
(2)传输加密
原文地址:https://www.cnblogs.com/paradis/p/9638494.html