第十七章 数据库安全
数据库安全
?其一是数据库数据的安全:它应能确保
当数据库系统崩溃时,当数据库数据存
储媒体被破坏时以及当数据库用户误操
作时,数据库数据信息不至于丢失。
?其二是数据库系统不被非法用户侵入,
它应尽可能地堵住潜在的各种漏洞,防
止非法用户利用它们侵入数据库系统。
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
数据库安全系统概述
?数据库安全系统特征
?数据库安全与操作系统的关系
?评价数据库的安全性
?数据库的安全控制和安全审核
数据库安全系统特征
? 数据的独立性
? 物理数据独立性
? 逻辑数据独立性
? 数据的安全性
? 数据的完整性
? 并发控制
? 故障恢复
? 事务故障
? 逻辑错误
? 系统错误
? 系统故障
? 介质故障
? 病毒与黑客
数据库安全系统特征
? 数据库恢复技术是一种可采取的补救措施。一
般,我们有三种方法来进行数据库恢复,
? 利用操作系统提供的功能
? 定期备份
? 利用多个数据库进行备份
? 威胁数据库安全的来源按其内容可划分为以下
3类,
? 系统内部的
? 人为的
? 外部环境的
数据库安全与操作系统的关系
? 在数据库发展的初期,信息安全主要是依靠操
作系统的文件管理功能,利用存取控制矩阵,
实现对各类文件的授权进行读写和执行等,其
次,还靠操作系统的监控程序进行用户登录和
口令鉴别的控制,并使用隔离技术。
? 数据库广泛使用之后,由于数据库提供了比文
件管理系统更强的功能,其共享程度高,操作
方便,而且含有重要的程序和不同级别需要的
各类数据。因此数据安全显得尤为重要,所以
有必要专门研究其数据保护机构
数据库安全与操作系统的关系
? 数据库安全同操作系统安全之间存在着某些差
别,
– 数据库实行保护的对象更多,不仅仅只限于文件级。
– 数据库中数据的生命周期通常要长一些,数据库安
全涉及不同层次,如文件、记录和数据项。
– 操作系统保护实际的资源,而数据席系统保护的对
象中某些对象可能具有复杂的逻辑结构,某些对象
可能反映同一物理映象。
– 不同的结构层、如内模式,概念模式和外模式要求
有不同的安全保护。
– 数据库安全是涉及数据的语义以及数据的物理表示。
数据库事务处理安全检查过程
请求登陆和身份鉴别 用户 用户表
事务管理程序
授权和语义完整
性检查规则
授权者
应用程序
p1 p2 … pn



















D B A
数据库管理系统
D B MA
操作系统
O S I / O
操作系统检查
文件保护加密
数据库
硬件检查
加密或后援储存
1
2 3
4
5
6
7
8
9
1 0
数据库安全与操作系统的关系
? 需要一个可靠的操作系统,操作系统应至少提
供下列功能,
– 要保护 DBMS,防止用户程序对之进行修改,尤其
是 DBMS中的存取控制机制
– 要对内存缓冲器中的数据提供保护,当敏感数据存
放在内存缓冲器中时,必须防止非授权用户对之进
行读写
– 防止 DBMS之外的别的程序对数据库直接存取,即
除了 DBMS之外,别的程序不能对外存中的数据库
文件直接进行存取。
– 进行正确的物理 I/ O,保证正确地读取数据库文件。
– 提供可靠的数据通信,通过通信线路传输数据时,
应对之提供保护,防止泄露或被篡改。
评价数据库的安全性
?我们评价一个数据库的安全性,主要参
考以下几个基本要求,
– 完全性
– 可信性
– 系统灵活性
– 便于使用
– 用户灵活性
– 防窜改
– 开销小
数据库的安全控制和安全审核
? 要审核其对共享数据的组织和存取方面所提供的控制,
看是否能充分保证数据的完整性。
? 对数据库环境的各个部分,应该指定专人负责。总的
原则是利用分工负责来确保一定程度的安全。
? 对数据所进行的描述、修改和数据字典所进行的维护,
也应制定出统一的规范,并以书面的形式给出。
? 在数据库中的数据遭到破坏的情况下,数据库系统要
有恢复功能,持破坏后的数据库恢复成原来的样子,
从而将损失减少到最小程度,并使所花费的恢复时间
最少。
? 为了数据恢复的需要 (如构造出某个过去事务的细节 ),
以及在有违犯安全的事件发生时,能追踪出有关线索
来,数据库系统要记录有关运行时的情况
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
数据库安全的策略
?系统安全性策略
?数据的安全性策略
?用户安全性策略
?数据库管理者安全性策略
?应用程序开发者的安全性策略
数据库安全的策略
?安全管理策略
?存取控制策略
?信息流控制
安全管理策略
?实现安全管理的方法有,
– 集中控制
– 分散控制
存取控制策略
?存取控制机制主要包括两部分,
? 定义用户权限,并将用户权限登记到数据字典中。
? 合法权限检查
?常用的存取控制策略,
? 最小特权策略
? 最大共享策略
? 开放与封闭系统
? 按名存取控制
? 取决于上下文的存取控制策略
? 取决于历史的存取控制策略
存取控制策略
?实施存取控制的方法,
– 视图法
– 修改询问法
– 识别有向回路的方法
– 将请求排序的方法
信息流控制
?前述的策略都是对数据存取的控制,而
对合法程序使用数据的控制也有限制。
?信息的泄露可能是从一个授权的合法程
序向一个未授权的程序泄露。规定数据
属于某类别或者某部门,却由用户随便
传递到其他类别去。因此,进行信息流
的控制是必要的。
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
数据库的加密方法
?三种对数据库的加密方法,
– 库内加密
– 整个数据库加密
– 硬件加密
数据库的加密方法
? 数据库系统中也要求密钥管理机制,并且要求
更加灵活和坚固。
? 由于数据库本身的特点,对数据库的加密有其
特殊的限制,
– 索引项字段很难加密
– 关系运算的比较字段的加密问题
– 表间的连接码字段的加密问题
? 目前,数据库加密技术经常采用,
– 多级密钥结构
– 公开密钥机制
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
数据库的完整性
?数据库的完整性就是指数据库中数据的
正确性以及数据之间关系的正确性。
?完整性约束条件分为六类,
– 静态列级约束
– 静态元组约束
– 静态关系约束
– 动态列级约束
– 动态元组约束
– 动态关系约束
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
统计数据库的安全保密
? 统计数据库是一种特殊类型的数据库,它和一
般的数据库相比,有很多共同点,但是也有许
多独特之处。和一般的数据库一样,在统计数
据库里可以存放许多信息,其中包括机密的信
息。在一般的数据库中,只要不违反数据库的
安全保密需求,用户就可以通过询问得到某一
个记录的信息。而统计数据库,它回答给用户
的只能是统计信息。
? 对于统计数据库而言,保密问题的本质就是只
能让用户得到统计信息,而不能得到数据库中
任何一个秘密的信息。
统计数据库的安全保密
? 在统计数据库里,我们的目标是防止用户从一
系列的询问里推断出某些秘密的信息,这时我
们要实行的控制称为“推理控制”
? 推理控制主要有两大类方法,
? 一类是限制那些可能导致泄密的统计询问,其中包括控制
询问集的尺寸、限制询问集之间的过分重叠等等。
? 另一类是对于用户提出的统计询问不加限制,但是在公布
的统计值中,甚至在数据库中加入一些“干扰”信息,以
防止泄密。
统计数据库的安全保密
?下面是一些推理控制的实例,
? 询问集尺寸控制法
? 询问集之间重叠的控制
? 最大阶控制
数据库安全
?数据库安全系统概述
?数据库安全的策略
?数据库的加密方法
?数据库的完整性
?统计数据库的安全保密
?数据安全的其他问题
数据安全的其他问题
?分布式数据库安全
?数据库安全标准的发展
? SQL Server数据库的安全保护
? ORACLE数据库的安全保护
分布式数据库安全
? 一类由单站点故障、网络故障等自然因素引起,这类
故障通常可利用网络提供的安全性来实现安全防护,
所以说网络安全是分布式数据库安全的基础;
? 另一类来自本机或网络上的人为攻击,即黑客攻击,
目前黑客攻击网络的方式主要有窃听、重发攻击、假
冒攻击、越权攻击、破译密文等
? 分布式数据库安全关键技术,
? 身份验证
? 保密通信
? 访问控制
? 库文加密
? 密码体制与密码管理
数据库安全标准的发展
? 1967年 10月,在美国国防科学委员会的赞助下
成立了特别工作组,它致力于计算机安全保护、
远程访问保护、远程共享计算机系统的保密信
息。
? 1994年 4月,美国国家计算机安全中心 (National
Computer Security Center,NCSC)颁布了 TDI,
即“可信计算机系统评佑标准在数据库管理系
统的解释”。
? 后来六国七方(美国国家安全局和国家技术标
准研究所、加、英、法、德、荷)共同提出
“信息技术安全评价通用准则”( CC for
ITSEC)。
SQL Server数据库的安全保护
? SQL Server提供了两种不同的方法来认证
用户进入服务器,
? 第一种方法 —Windows NT认证
? 第二种方法 —SQL Server混合认证
? SQL Server 7安全模式的一些新特性,
? 允许使用 Windows NT用户和组帐号作为 SQL
Server登录标识符。
? 引入了 SQL Server应用程序和用户角色,用以代
替 SQL Server 6.5中的别名和组。
ORACLE数据库的安全保护
? 现今最流行的 Oracle是采用下列策略、手段来
保证数据库的安全性,
? 访问控制
? 完整性
? 并发控制
? 审计跟踪
? 系统安全性策略
? 操作系统安全性
? 用户角色的管理
? 数据库管理者安全性策略
? 数据保护
? 数据库备份
? 数据库系统的恢复
作业
? B1级小型数据库
?文件型数据库
?功能简单
?提供简单 API(增删改)
?保证操作系统对该数据库的安全支持
? 1、修改操作系统相关部分
? 2、编写小型数据库管理系统