您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第5章 数据库系统的安全
第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数据库系统的安全性要求数据库系统的基本安全性要求主要是访问控制、伪装数据的排除、用户的认证和可靠性等.1.数据库的完整性2.元素的完整性3.可审计性4.访问控制5.用户认证6.可用性5.1.4数据库系统安全的含义1.系统运行安全2.系统信息安全5.1.5数据库系统的安全架构数据库系统信息安全性依赖于两个层次:一层是数据库管理系统本身提供的用户名和口令的认证、视图、访问权限控制和审计等管理措施;另一层就是靠应用程序设置的控制管理。1.用户分类2.数据分类3.审计功能5.1.6数据库安全系统特性1.数据独立性(1)物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。(2)逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。2.数据安全性操作系统中的对象一般情况下是文件,粒度较粗,而数据库支持的应用要求更为精细的数据粒度。通常,比较完整的数据库对数据安全性采取以下措施。(1)将数据库中需要保护的部分与其他部分相隔离。(2)使用授权规则。(3)将数据进行加密。3.数据的完整性4.并发控制5.故障恢复5.1.7多层数据库系统的安全多层数据库系统就是把操作系统的多级安全模型引入安全数据库设计之中的一种构想。多层数据库对访问进行控制的一种简单方法是使用“分区”。多层数据库对访问控制的另一种方法是利用视图。5.2数据库安全的威胁对数据库安全的威胁主要有以下3种:数据篡改、数据损坏和数据窃取。5.2.1数据篡改数据篡改指的是对数据库中的数据未经授权就进行修改或删除,使其失去原来的真实性。数据篡改可以通过限制对特定数据的访问来遏制这个问题。发生这种人为篡改的原因主要有以下几种。(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)是构成单一逻辑工作单元的操作集合,它是一个不可分割的单位。事务内部的故障多发生于数据的不一致性。(1)丢失修改。(2)不能重复读取。(3)“脏”数据的读出,即不正确数据的读出。2.系统范围内的故障系统故障是指造成系统停止运转的任何事件,从而使得系统必须重新启动。系统故障主要有以下两种情况。(1)发生故障时,一些尚未完成的事务的部分结果已送入物理数据库。(2)发生系统故障时,有些已完成的事务有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中。3.介质故障4.黑客和计算机病毒总结各种故障,对数据库的影响有两种可能性。一是数据库结构本身被破坏,二是数据库的结构没有破坏,但数据内容可能不正确,这是因为事务的运行被正常中止造成的。恢复的基本原理十分简单,即冗余。5.3.2数据库的数据保护数据库保护主要是指数据库的安全性、完整性、并发控制和数据库恢复。1.数据库的安全性在一般的计算机系统中,安全措施是一级一级层层设置的,如图5.1所示。图5.1数据库安全控制模型(1)用户标识和鉴定(2)存取控制对于获得访问权的用户还要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有权存取的数据。关系S关系C关系SC用户1NONESELECTALL用户2SELECTUPDATESELECTDELETEUPDATE用户3NONENONESELECT用户4NONEINSERTSELECTNONE用户5ALLNONENONE表5.1授权规则表(3)数据库加密有必要对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。数据库密码系统应采取公开密钥。多级密钥结构。加密机制。数据库加解密密钥应该是相同,公开的,而加密算法应该是绝对保密的。②数据库加密的范围只能对数据库中的数据进行部分加密。数据库中不能加密的部分包括以下内容。③数据库加密对数据库管理系统原有功能的影响然而,数据库数据加密以后,数据库管理系统的一些功能将无法使用。2.数据库中数据的完整性数据的完整性主要是指防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。数据库中的所有数据都必须满足自己的完整性约束条件,这些约束包括以下几种。(1)数据类型与值域的约束(2)关键字约束(3)数据联系的约束3.数据库并发控制时刻操作员A1操作员A2GZ值t1读取GZ200t2读取GZt3修改GZ=GZ×2t4修改GZ=GZ-100t5COMMITt6COMMIT100(1)未加控制的并发控制,如表5.2所示。表5.2未加控制的并发操作过程时刻操作员A1操作员A2GZ值t1读取GZ200t2读取GZ200t3修改GZ=GZ+100300t4COMMIT300(2)未加控制的并发操作读取造成数据不一致,如表5.3所示。表5.3并发操作造成数据不一致时刻操作员A1操作员A2GZ值t1读取GZ200t2修改GZ=GZ-50150t3读取GZ150t4ROLLBACK200(3)未提交更新发生的并发操作错误,如表5.4所示。表5.4未提交更新而发生的并发操作时刻操作员A1操作员A2GZ值t1读取GZ200t2读取GZ200t3修改GZ=GZ×2Wait400t4COMMITWait400t5释放封锁Wait400t6再读取GZ400t7修改GZ=GZ-100300t8COMMIT300表5.5原表5.2加锁后的执行状态时刻操作员A1操作员A2GZ值t1读取GZ200t2读取GZ200t3修改GZ=GZ+100Wait300t4释放封锁Wait300t5再读GZ300t6COMMIT300表5.6原表5.3加锁后的执行状态时刻操作员A1操作员A2GZ值t1读取GZ200t2修改GZ=GZ-50150t3读取GZ150t4ROLLBACKWait200t5释放封锁Wait200t6再读取GZ200表5.7原表5.4加锁后的执行状态5.4数据库的备份和恢复5.4.1数据库的备份数据库的备份大致有3种类型:冷备份、热备份和逻辑备份。1.冷备份2.热备份3.逻辑备份5.4.2系统和网络完整性1.服务器保护(1)电力调节,以保证能使服务器运行足够长的时间以完成数据库的备份。(2)环境管理,应将服务器置于有空调的房间,通风口和管理应保持干净,并定期检查和清理。(3)服务器所在的房间应加强安全管理。(4)做好服务器中硬件的更换工作,从而提高服务器中硬件的可靠性。(5)尽量使用辅助服务器以提供实时故障的跨越功能。(6)通过映像技术或其他任何形式进行复制以便提供某种程度的容错。2.客户机的保护(1)电力调节,保证客户机正常运行所需的电力供应。(2)配备后备电源,确保电力供应中断之后客户机能持续运行直至文件被保存和完成业务。(3)定期更换客户机或工作站的硬件。3.网络连接图5.2数据库的恢复5.4.3数据库的恢复1.数据库的恢复办法2.利用日志文件恢复事务下面介绍如何登记日志文件,以及发生故障后如何利用日志文件恢复事务。(1)登记日志文件(Logging)(2)事务恢复总之,利用转储和日志文件可以有效地恢复数据库。①当数据库本身被破坏时(如硬盘故障和病毒破坏)可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。②当数据库本身没有被破坏,但内容已经不可靠时(如发生事务故障和系统故障)可利用日志文件恢复事务,从而使数据库回到某一正确状态,这时不必重装后备副本。
本文标题:第5章 数据库系统的安全
链接地址:https://www.777doc.com/doc-3298435 .html