《数据库系统的安全.ppt》由会员分享,可在线阅读,更多相关《数据库系统的安全.ppt(36页珍藏版)》请在三一办公上搜索。
1、第5章 数据库系统的安全,5.1 数据库安全概述5.2 数据库安全的威胁5.3 数据库的数据保护5.4 数据库的备份和恢复,5.1 数据库安全概述,5.1.1 简介 数据库系统的安全需求与其他系统大致相同,要求其完整性、可靠性、有效性、保密性、可审计性及可存取控制与用户身份鉴别等。,5.1.2 数据库系统的特性 操作系统并不直接提供对数据库系统的保护,数据库文件的保护主要由数据管理系统完成。其安全使用特性有以下几点要求。1多用户2高可用性3频繁地更新4大文件5安全性与可靠性问题,5.1.3 数据库系统的安全性要求 数据库系统的基本安全性要求主要是访问控制、伪装数据的排除、用户的认证和可靠性等.
2、1数据库的完整性2元素的完整性3可审计性4访问控制5用户认证6可用性,5.1.4 数据库系统安全的含义1系统运行安全2系统信息安全,5.1.5 数据库系统的安全架构 数据库系统信息安全性依赖于两个层次:一层是数据库管理系统本身提供的用户名和口令的认证、视图、访问权限控制和审计等管理措施;另一层就是靠应用程序设置的控制管理。1用户分类2数据分类3审计功能,5.1.6 数据库安全系统特性1数据独立性(1)物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。(2)逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。,2数据安全性 操作系统中的对象一般情况下是文件,粒度较粗
3、,而数据库支持的应用要求更为精细的数据粒度。通常,比较完整的数据库对数据安全性采取以下措施。(1)将数据库中需要保护的部分与其他部分相隔离。(2)使用授权规则。(3)将数据进行加密。,3数据的完整性4并发控制 5故障恢复,5.1.7 多层数据库系统的安全 多层数据库系统就是把操作系统的多级安全模型引入安全数据库设计之中的一种构想。多层数据库对访问进行控制的一种简单方法是使用“分区”。多层数据库对访问控制的另一种方法是利用视图。,5.2 数据库安全的威胁,对数据库安全的威胁主要有以下3种:数据篡改、数据损坏和数据窃取。5.2.1 数据篡改 数据篡改指的是对数据库中的数据未经授权就进行修改或删除,
4、使其失去原来的真实性。数据篡改可以通过限制对特定数据的访问来遏制这个问题。,发生这种人为篡改的原因主要有以下几种。(1)个人利益的驱动(2)隐藏证据(3)恶作剧(4)无知,5.2.2 数据损坏1破坏破坏可分为下列3种情况。(1)偶然或无意的。(2)硬件或软件的故障/错误。(3)人为的破坏。2恶作剧3计算机病毒,5.2.3 数据窃取导致窃取的原因如下。(1)被窃取的数据可能比想象中更有价值。(2)不满和将要离开的员工的恶意行为。(3)工商业间谍窃取数据。,5.3 数据库的数据保护,5.3.1 数据库的故障类型1事务内部的故障 事务(Transaction)是构成单一逻辑工作单元的操作集合,它是一
5、个不可分割的单位。事务内部的故障多发生于数据的不一致性。(1)丢失修改。(2)不能重复读取。(3)“脏”数据的读出,即不正确数据的读出。,2系统范围内的故障 系统故障是指造成系统停止运转的任何事件,从而使得系统必须重新启动。系统故障主要有以下两种情况。(1)发生故障时,一些尚未完成的事务的部分结果已送入物理数据库。(2)发生系统故障时,有些已完成的事务有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中。,3介质故障4黑客和计算机病毒 总结各种故障,对数据库的影响有两种可能性。一是数据库结构本身被破坏,二是数据库的结构没有破坏,但数据内容可能不正确,这是因为事务的运行被正常中止造成的。恢
6、复的基本原理十分简单,即冗余。,5.3.2 数据库的数据保护 数据库保护主要是指数据库的安全性、完整性、并发控制和数据库恢复。1数据库的安全性 在一般的计算机系统中,安全措施是一级一级层层设置的,如图5.1所示。,图5.1 数据库安全控制模型,(1)用户标识和鉴定(2)存取控制 对于获得访问权的用户还要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有权存取的数据。,表5.1 授权规则表,(3)数据库加密 有必要对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。数据库密码系统应采取公开密钥。多级密钥结构。加密机制。数据库加解密密钥应该是相同,公开的,而加密算法应该是绝对保
7、密的。,数据库加密的范围 只能对数据库中的数据进行部分加密。数据库中不能加密的部分包括以下内容。数据库加密对数据库管理系统原有功能的影响 然而,数据库数据加密以后,数据库管理系统的一些功能将无法使用。,2数据库中数据的完整性 数据的完整性主要是指防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。数据库中的所有数据都必须满足自己的完整性约束条件,这些约束包括以下几种。(1)数据类型与值域的约束(2)关键字约束(3)数据联系的约束3数据库并发控制,(1)未加控制的并发控制,如表5.2所示。表5.2未加控制的并发操作过程,(2)未加控制的并发操作读取造成数据不一致,如表5.3所示。,表5.
8、3 并发操作造成数据不一致,(3)未提交更新发生的并发操作错误,如表5.4所示。,表5.4 未提交更新而发生的并发操作,表5.5 原表5.2加锁后的执行状态,表5.6 原表5.3加锁后的执行状态,表5.7 原表5.4加锁后的执行状态,5.4 数据库的备份和恢复,5.4.1 数据库的备份 数据库的备份大致有3种类型:冷备份、热备份和逻辑备份。1冷备份2热备份3逻辑备份,5.4.2 系统和网络完整性1服务器保护(1)电力调节,以保证能使服务器运行足够长的时间以完成数据库的备份。(2)环境管理,应将服务器置于有空调的房间,通风口和管理应保持干净,并定期检查和清理。(3)服务器所在的房间应加强安全管理
9、。(4)做好服务器中硬件的更换工作,从而提高服务器中硬件的可靠性。(5)尽量使用辅助服务器以提供实时故障的跨越功能。(6)通过映像技术或其他任何形式进行复制以便提供某种程度的容错。,2客户机的保护(1)电力调节,保证客户机正常运行所需的电力供应。(2)配备后备电源,确保电力供应中断之后客户机能持续运行直至文件被保存和完成业务。(3)定期更换客户机或工作站的硬件。3网络连接,图5.2 数据库的恢复,5.4.3 数据库的恢复,1数据库的恢复办法,2利用日志文件恢复事务下面介绍如何登记日志文件,以及发生故障后如何利用日志文件恢复事务。(1)登记日志文件(Logging)(2)事务恢复,总之,利用转储和日志文件可以有效地恢复数据库。当数据库本身被破坏时(如硬盘故障和病毒破坏)可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。当数据库本身没有被破坏,但内容已经不可靠时(如发生事务故障和系统故障)可利用日志文件恢复事务,从而使数据库回到某一正确状态,这时不必重装后备副本。,