没有合适的资源?快使用搜索试试~ 我知道了~
数据库系统-第4章-数据库安全性.pdf
需积分: 8 0 下载量 200 浏览量
2022-10-15
18:13:53
上传
评论
收藏 541KB PDF 举报
温馨提示
试读
1页
数据库系统-第4章-数据库安全性.pdf
资源推荐
资源详情
资源评论
数据库系统
第4章-数据库安全性
4.1 计算机安全性概述
4.1.1计算机系统的三类安全性问题
数据库的安全性 保护数据库以防止不合法使用所造成的数据泄露、更改或破坏
计算机系统安全性
为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软
件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露
等。
三类计算机系统安全性问题
技术安全类
指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存
数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运
行,保证系统内的数据不增加、不丢失、不泄露。
管理安全类
软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物
理破坏、丢失等安全问题
政策法律类
政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法
令
数据库的不安全因素
1、非授权用户对数据库的恶意存取和破坏
用户名和口令被非法用户获取
非法操作,未经授权的访问和破坏
——用户身份鉴别、存取控制和视图等技术
2、数据库中重要的数据被泄露
——强制存取控制、数据加密和加密传输等技术
——审计功能
对潜在威胁加以防范
对入侵行为及信息破坏情况进行跟踪
3、安全环境的脆弱
数据库的安全性
计算机系统的安全性
硬件
操作系统
网络系统
4.1.2 安全标准简介
信息安全标准的发展历史
TCSEC标准 TCSEC/TDI安全级别划分
按系统可靠或可信程度逐渐增高
各安全级别之间:偏序向下兼容
D 级
将一切不符合更高标准的系统均归于D组
DOS是安全标准为D的操作系统
DOS 在安全性方面几乎没有什么专门的机制来保障
C1 级
C2级
B2以上的系统
还处于理论研究阶段
应用多限于一些特殊的部门,如军队等
美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放
到商业应用中来,并逐步成为新的商业标准
CC标准 CC
把信息产品的安全要求分为
安全功能要求
安全保证要求
提出国际公认的表述信息技术安全性的结构
CC文本组成
简介和一般模型:术语,概念,模型和框架
安全功能要求:11类功能组件、子类和类,如安全审计,通信,密码支持,标识
与鉴别等
安全保证要求:7类,如配置管理,交付与运行,开发,指导性文档等
CC评估等级划分
TCSEC/TDI标准的基本内容
TCSEC (桔皮书) /TDI (紫皮书) ,
从四个方面来描述安全性级别划分的指标
安全策略: 自主存取控制,客体重用,强制存取控制
责任:标识与鉴别,审计
保证:操作保证,生命周期保证
文档:安全特性用户指南,可信设施手册,测试文档,设计文档
四大商用数据库
Oracle 公司的Oracle 7
Sybase 公司的SQL Server 11.0.6
Informix公司
IBM DB2公司
4.2 数据库安全性控制
4.3 视图机制
4.4 审计(Audit)
4.5 数据加密
用户标识和鉴定
存取控制
视图
审计
密码存储
数据库安全性控制的常用方法
4.2.1 用户标识与鉴别
4.2.2 存取控制
4.2.3 自主存取控制方法
4.2.4 授权与回收
4.2.5 数据库角色
4.2.6 强制存取控制方法
用户标识 (Identification & Authentication) 系统提供的最外层安全保护措施
口令 系统核对口令以鉴别用户身份
用户名和口令易被窃取 每个用户预先约定好一个计算过程或者函数
存取控制机制组成
定义用户权限
合法权限检查
用户权限定义和合法权检查机制一起组成了 DBMS的安全子系统
常用存取控制方法
自主存取控制(Discretionary Access Control ,简称DAC)
C2级
灵活
强制存取控制(Mandatory Access Control,简称 MAC)
安全产品的最低档次
提供受控的存取保护,将C1级的DAC进一步细化,以个人身份注册负责,并实施
审计和资源隔离
达到C2级的产品在其名称中往往不突出“安全”(Security)这一特色
非常初级的自主安全保护
能够实现对用户和数据的分离,进行自主存取控制(DAC)
通过 SQL 的 GRANT 语句和 REVOKE 语句实现
用户权限组成
数据对象
操作类型
定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作
定义存取权限称为授权
B1级
严格
关系数据库系统中存取控制对象
自主存取控制方法(DAC)是指定义用户存取权限,定义用户可以在哪些数据库
对象上进行哪些类型的操作,当用户对数据库访问时首先检查用户的权限,防止
不合法的用户对数据库的存取。
强制存取控制方法(MAC)是指每一个数据对象被强制地标以一定的密级,每一
个用户也被强制地授予某一个级别的许可证。系统规定只有具有某一许可证级别
的用户才能存取某一密级的数据对象。
一、GRANT
GRANT语句的一般格式:
语义:将对指定操作对象的指定操作权限授予指定的用户
GRANT <权限>[,<权限>]...
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]...
[WITH GRANT OPTION];
发出GRANT:
DBA
数据库对象创建者(即属主Owner)
拥有该权限的用户
按受权限的用户
一个或多个具体用户
PUBLIC(全体用户)
WITH GRANT OPTION子句:
没有指定:不能传播
指定:可以再授予别的用户权限
不允许循环授权
二、REVOKE
授予的权限可以由DBA或其他授权者用REVOKE语句收回
REVOKE语句的一般格式为:
REVOKE <权限>[,<权限>]...
[ON <对象类型> <对象名>]
FROM <用户>[,<用户>]...;
三、创建数据库模式的权限
DBA在创建用户时实现
CREATE USER语句格式
CREATE USER <username>
[WITH][DBA | RESOURCE | CONNECT]
权限与可执行的操作对照表
数据库角色:被命名的一组与数据库操作相关的权限
可以为一组具有相同权限的用户创建一个角色
简化授权的过程
角色是权限的集合
一、角色的创建 CREATE ROLE <角色名>
二、给角色授权
GRANT <权限>[,<权限>]…
ON <对象类型>对象名
TO <角色>[,<角色>]…
三、将一个角色授予其他的角色或用户
四、角色权限的收回
GRANT <角色1>[,<角色2>]…
TO <角色3>[,<用户1>]…
[WITH ADMIN OPTION]
REVOKE <权限>[,<权限>]…
ON <对象类型> <对象名>
FROM <角色>[,<角色>]…
eg
自主存取控制缺点
可能存在数据的“无意泄露”
原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安
全性标记
解决:对系统控制下的所有主客体实施强制存取控制策略
强制存取控制(MAC)
保证更高程度的安全性
用户能不能直接感知或进行控制
适用于对数据有严格而固定密级分类的部门
军事部门
政府部门
主体是系统中的活动实体
DBMS所管理的实际用户
代表用户的各进程
客体是系统中的被动实体,是受主体操纵的
文件
基表
索引
视图
敏感度标记(Label)
绝密(Top Secret)
机密(Secret)
可信(Confidential)
公开(Public)
主体的敏感度标记称为许可证级别(Clearance Level)
客体的敏感度标记称为密级(Classification Level)
敏感性标记
强制存取控制规则
修正规则
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别等于客体的密级时,该主体才能写入相应的客体
主体的许可证级别 <=客体的密级 ,主体能写入客体
规则的共同点
禁止了拥有高许可证级别的主体更新低密级的数
据对象
自主存取控制DAC与强制存取控制MAC共同构成DBMS的安全机制
DAC + MAC安全检查示意图
先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过
MAC检查的数据对象方可存取。
把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安
全保护
主要功能是提供数据独立性,无法完全满足要求
间接实现了支持存取谓词的用户权限定义
eg
建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所
有操作权限授于张明
什么是审计
审计日志(Audit Log)
将用户对数据库的所有操作记录在上面
DBA利用审计日志 找出非法存取数据的人、时间和内容
C2以上安全级别的DBMS必须具有审计
审计分为
用户级审计
针对自己创建的数据库表或视图进行审计
记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类
型的SQL操作
系统级审计
DBA设置
监测成功或失败的登录要求
监测GRANT和REVOKE操作以及其他数据库级权限下的操作
审计功能
AUDIT语句:设置审计功能
NOAUDIT语句:取消审计功能
审计功能:
审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)
中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库的现有
状况的一系列事件,找出非法存取数据的人、时间和内容等
eg:
数据加密的基本思想
根据一定的算法将原始数据(明文,Plain text)变换为不可直接识别的格式(密
文,Cipher text)
不知道解密算法的人无法获知数据的内容
防止数据库中数据在存储和传输中失密的有效手段
加密方法
替换方法
置换方法
混合方法
DBMS中的数据加密
数据加密主要包括
存储加密
传输加密
透明存储加密
非透明存储加密
内核级加密保护方式,对用户完全透明
通过多个加密函数实现
数据在写到磁盘时对数据进行加密,授权用户读取数据是对其进行解密
进行增删改查操作时,数据库管理系统自动对其进行解、加密工作
链路加密
端到端加密
对传输数据在链路层进行加密,对报文和报头均加密。(报头是路由选择信息,
报文是传送的数据信息)
发送端加密,接收端解密。只加密报文,不加密报头。
确认通信双方端口的可靠性
协商加密算法的密钥
可信数据传输
实现思路包括三点:
统计数据库
允许用户查询聚集类型的信息(如合计、平均值等)
不允许查询单个记录信息
eg: 允许查询“程序员的平均工资是多少?”,不允许查询“程序员张勇的工资?”
隐蔽的信息通道
能从合法的查询中推导出不合法的信息
统计数据库中特殊的安全性问题
规则
规则1:任何查询至少要涉及N(N足够大)个以上的记录
规则2:任意两个查询的相交数据项不能超过M个
规则3:任一用户的查询次数不能超过1+(N-2)/M
eg:
数据库安全机制的设计目标: 试图破坏安全的人所花费的代价 >> 得到的利益
4.6 统计数据库安全性
4.7 其他安全措施
隐蔽信道
数据隐私保护
4.8小结 实现数据库系统安全性的技术和方法
存取控制技术
视图技术
审计技术
自主存取控制功能
角色
使用角色来管理数据库权限可以简化授权过程
CREATE ROLE语句创建角色
GRANT 语句给角色授权
通过SQL 的GRANT语句和REVOKE语句实现
数据的共享日益加强,数据的安全保密越来越重要
DBMS是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制
TCSEC和CC
推理控制
常用方法
基于函数依赖的推理控制
基于敏感关联的推理控制
推理控制是强制存取控制未解决的问题。推理控制机制用来避免用户利用其能访
问的数据推至更高密级的数据
处理内容也是强制存取控制未解决的问题,避免高安全等级用户按事先约定方式
主动向低安全等级用户传输信息
控制不愿被他人知道或他人不便知道的个人数据的能力。
作 者 : @ 十 言 | 来 自 : 知 犀 思 维 导 图
资源评论
luck*
- 粉丝: 30
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功