保障与安全数据库安全.ppt

上传人:小飞机 文档编号:5925156 上传时间:2023-09-05 格式:PPT 页数:73 大小:343.61KB
返回 下载 相关 举报
保障与安全数据库安全.ppt_第1页
第1页 / 共73页
保障与安全数据库安全.ppt_第2页
第2页 / 共73页
保障与安全数据库安全.ppt_第3页
第3页 / 共73页
保障与安全数据库安全.ppt_第4页
第4页 / 共73页
保障与安全数据库安全.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《保障与安全数据库安全.ppt》由会员分享,可在线阅读,更多相关《保障与安全数据库安全.ppt(73页珍藏版)》请在三一办公上搜索。

1、1,13 数据库安全,13.1 数据库安全概述 13.2 数据库安全策略与安全评价 13.3 数据库安全模型 13.4 数据库安全技术 13.5 数据库加密 13.6 小结,2,13.1 数据库安全概述,数据库系统担负着存储和管理数据信息的任务。计算机系统的数据组织形式有两种,一种是文件形式,一种是数据库形式。文件组织形式的数据缺乏数据共享性,而数据库组织形式的数据具有共享性、独立性、一致性、完整性和可访问控制,现已成为计算机系统存储数据的主要形式。因为操作系统对数据库文件没有特殊的安全保护措施,数据库的安全必须通过数据库管理系统来实现。数据库的安全性是指保护数据库以防止不合法的使用所造成的数

2、据泄漏、更改或破坏。,3,数据库系统的组成 数据库系统,分成两部分:一部分是数据库,按一定的方式存取数据;另一部分是数据库管理系统,为用户及应用程序提供数据访问,并具有对数据库进行管理、维护等多种功能。数据库 数据库,就是若干数据的集合体。因此数据库要由数据库管理系统进行科学地组织和管理,以确保数据库的安全性和完整性。,13.1 数据库安全概述,4,关系、层次和网状型数据库模型(1)关系结构模型:把一些复杂的数据结构归结为简单的二元关系(即二维表格形式),按照关系运算理论(主要是三范式原则)组织与管理数据。(2)层次结构模型:实质上是一种有根节点的定向有序树(在离散数学中“树”被定义为一个无回

3、路的连通图)。(3)网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统。,13.1 数据库安全概述,5,数据库管理系统DBMS的主要职能1)有正确的编译功能,能正确执行规定的操作。2)能正确执行数据库命令。3)能保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容。4)能识别用户、分配授权和进行访问控制。5)顺利执行数据库访问,保证网络通信功能。,13.1 数据库安全概述,6,数据库的特性(1)多用户(2)高可用性(3)频繁的更新(4)大文件(5)安全性与可靠性问题复杂,13.1 数据库安全概述,7,问题的提出数据库的一大特点是数据可以共享但数据共享必然带来

4、数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据,13.1 数据库安全概述,8,13.1 数据库安全概述,数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据 数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一数据库是网络系统的核心部分,有价值的数据资源都存放在其中,这些共享的数据资源既要面对必需的可用性需求,又要面对被篡改、损坏和被窃取的威胁。,9,13.1 数据库安全概述,13.1.1 数据库面临的安全威胁

5、(1)数据输入或处理中的错误(2)硬件故障引起的信息破坏或丢失(3)软件保护功能失效造成信息泄漏(4)非授权用户的非法存取或篡改数据(5)授权者制定不正确、不安全的防护策略(6)操作者复制和泄漏机密、敏感的数据资料(7)系统设计者回避安全功能,安装不安全的资料(8)应用程序员设计、安装了特洛伊木马软件(9)终端放置在不安全的环境中而被窃听(10)终端使用者隐瞒自己身份,进行不正确的输入(11)病毒侵入系统,破坏或修改了数据库软件,10,13.1.2 数据库安全的重要性(主要原因)(1)在数据库中,由于数据的冗余度小,数据库一旦被修改,原来存储的数据就被破坏,而且这些数据无法恢复。因此,必须加强

6、数据库恢复技术,当系统或程序出现故障后,能恢复数据库。(2)由于大部分数据库是联机工作的,可以支持多个用户同时存取,因此必须采取措施防止由此引起的破坏数据完整性的问题。(3)数据库中保存着大量的数据,这些数据有多个用户共享,而他们的职责和权力又有所不同,因此必须限制数据库用户,不允许他们访问非授权数据,并严格控制用户修改数据,以免造成其他用户对数据访问的正确性。(4)数据库还涉及其他应用软件,因而数据库的安全还涉及应用软件的安全与系统的安全。,11,13.1.3 数据库的保密性 数据库管理系统DBMS要求严格的用户身份鉴别。为了进一步加强数据库系统的安全性,必须对使用数据库的时间和地点加以限制

7、。在指定时间、指定终端上登录上机的用户进行身份标识(ID)和口令的鉴别是对操作系统身份鉴别的一种补充。数据库管理系统的访问控制分为两类:任意访问控制和强制访问控制。(1)任意访问控制可以通过控制矩阵进行。(2)在数据库管理系统中,强制访问控制也是通过与军事安全类似的方法来实现。,12,13.1.4 数据库系统的安全需求 1.数据库安全需求 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。对于数据库的安全威胁,必须采取有效措施,以满足其安全需求。(1)数据库完整性(2)元素的完整性(3)可审计性(4)访问控制(5)用户认证(6)可获用性,13,表.1数据库系统安全需求

8、,14,(1)数据库的完整性,在物理完整性方面,要求从硬件或环境方面保护数据库的安全,防止数据被破坏或不可读。例如,应该有措施解决掉电时数据不丢失不破坏的问题,存储介质损坏时数据的可利用性问题,还应该有防止各种灾害(如火灾、地震等)对数据库造成不可弥补的损失,应该有灾后数据库快速恢复能力。数据库的物理完整性和数据库留驻的计算机系统硬件可靠性与安全性有关,也与环境的安全保障措施有关。,15,在逻辑完整性方面,要求保持数据库逻辑结构的完整性,需要严格控制数据库的创立与删除、库表的建立、删除和更改的操作,这些操作只能允许具有数据库拥有者或系统管理员权限的人才能够进行。逻辑完整性还包括数据库结构和库表

9、结构设计的合理性,尽量减少字段与字段之间、库表与库表之间不必要的关联,减少不必要的冗余字段,防止发生修改一个字段的值影响其他字段的情况。,(1)数据库的完整性,16,元素完整性主要是指保持数据字段内容的正确性与准确性。元素完整性需要由DBMS、应用软件的开发者和用户共同完成。软件开发者应该在应用程序中增加对字段值的录入或更新的检查验证,例如应该检查输入数据是否与字段类型、取值要求一致,例如性别的取值不应该是“男”、“女”或其它代表男、女的特征值以外的结果,年龄字段的值不超过150、不低于0等;还需要检查输入值是否满足字段之间的约束条件。,(2)元素的完整性,17,数据库管理系统DBMS对保证元

10、素完整性方面起着重要作用,它用三种方式维护数据库中数据元素的完整性。字段检查:可防止输入数据时可能出现的错误。访问控制:提供访问控制机制最大限度地减少未授权用户对数据库的修改,保护数据库的完整性、真实性和一致性。,18,更改日志DBMS维护数据完整性的另一个有力措施是数据库日志功能,该日志能够记录用户每次登录和访问数据库的情况以及数据库记录每次发生的改变,记录内容包括访问用户ID、修改日期、数据项修改前的值和修改后的值。利用该日志系统管理员可以撤消对数据库的错误修改,可以把数据库恢复到指定日期以前的状态。,19,(3)可审计性,为了能够跟踪对数据库的访问,及时发现对数据库的非法访问和修改,需要

11、对访问数据库的一些重要事件进行记录,利用这些记录可以协助维护数据库的完整性,还可以帮助事后发现是哪一个用户在什么时间影响过哪些值。如果这个用户是一个黑客,审计日志可以记录黑客访问数据库敏感数据的踪迹和攻击敏感数据的步骤。,20,对于审计粒度与审计对象的选择,需要考虑存储空间的消耗问题。审计粒度是指在审计日志中将记录到哪一个层次上的操作(事件),例如用户登录失败与成功、通行字正确与错误、对数据库、库表、记录、字段等的访问成功与错误。但小粒度的审计又需要大量的存储空间,这又是一般数据库系统很难做到的。对于那些要求高度安全的系统来说,这种开销是需要的。但审计日志也不见得完全反映用户已经从数据库到底获

12、得了什么值,例如完成选取操作时,可以访问一个记录而并不把结果传递给用户,但在另外的情况下,用户可以通过间接访问方式获得敏感记录的数据,用户可能已经得到了某些敏感数据,而在审计日志中却很难反映出来。,21,(4)访问控制与用户认证,和操作系统相比,数据库的访问控制的难度要大得多。在操作系统中,文件之间没有关联关系,但在数据库中,不仅库表文件之间有关联,在库表内部记录、字段都是相互关联的。操作系统中控制的粒度是文件,数据库中则需要控制到记录和字段一级。操作系统中几百个文件的访问控制表的复杂性远比同样具有几百个库表文件,而每个库表文件又有几十个字段和数十万条记录的数据库的访问控制表的复杂性要小得多。

13、,22,由于访问数据库的用户的安全等级是不同的,分配给他们的权限是不一样的,为了保护数据的安全,数据库被逻辑地划分为不同安全级别数据的集合。有的数据允许所有用户访问,有的则要求用户具备一定的权限。在DBMS中,用户有数据库的创建、删除,库表结构的创建、删除与修改,对记录的查询、增加、修改、删除,对字段的值的录入、修改、删除等权限,DBMS必须提供安全策略管理用户这些权限。,23,由于数据库中的访问目标数据库、库表、记录与字段是相互关联的,字段与字段的值之间、记录与记录之间也是具有某种逻辑关系的,存在通过推理从已知的记录或字段的值间接获取其他记录或字段值的可能。而在操作系统中一般不存在这种推理泄

14、漏问题,它所管理的目标(文件)之间并没有逻辑关系。,24,这就使数据库的访问控制机制不仅要防止直接的泄漏,而且还要防止推理泄漏的问题,因而使数据库访问控制机制要比操作系统的复杂得多。限制推理访问需要为防止推理而限制一些可能的推理路径。通过这种方法限制可能的推理,也可能限制了合法用户的正常查询访问,会使他们感到系统访问效率不高甚至一些正常访问被拒绝。,25,DBMS是作为操作系统的一个应用程序运行的,数据库中的数据不受操作系统的用户认证机制的保护,也没有通往操作系统的可信路径。DBMS必须建立自己的用户认证机制。DBMS要求很严格的用户认证功能,例如DBMS可能要求用户传递指定的通行字和时间-日

15、期检查。DBMS的认证是在操作系统认证之后进行的,这就是说,用户进入数据库,一个用户需要进行操作系统和DBMS两次认证,增加了数据库的安全性。,26,(5)保密性与可用性,DBMS除了通过访问控制机制对数据库中的敏感数据加强防护外,还可以通过加密技术对库中的敏感数据加密。但加密虽然可以防止对数据的恶意访问,也显著地降低了数据库访问效率。数据库中数据并不是任何时候都可以访问。例如,一个用户在更新几个字段时,其他的用户对这几个字段的访问请求便被禁止。当更新完毕时,其他用户对这些字段的访问即可获得。,27,2.操作系统的安全需求(1)操作系统应能防止对数据库管理系统和用户程序的非法修改(2)操作系统

16、应能保护存储器中的数据不被非法修改(3)操作系统应能保护数据库,使其中的数据安全、完整(4)操作系统应能认证数据库的合法用户,当非法用户进入时能及时报警(5)操作系统应能正确地进行物理I/O操作 3.数据库管理系统的需求(1)有正确的编译功能,能正确地进行规定的操作(2)能提供正确的系统变量值,能正确地执行命令文件(3)能保证数据的安全性和完整性,能抵御物理破坏,能维护数据库逻辑的完整性,能恢复数据库中的内容(4)能进行用户识别和访问控制(5)可用性,28,13.1.5 数据库的完整性技术,前面已经介绍了数据库的安全需求问题,下面研究数据库管理系统DBMS防止数据丢失或被破坏的办法,保证数据库

17、完整性、元素完整性和元素准确性(元素值是正确的)的技术。但所有的解决办法都不是绝对的,因为任何控制都不能阻止一个有权用户有意、无意对数据库中数据的破坏。,29,(1)两阶段提交,为了保证数据更新结果的正确性,必须防止在数据更新过程中发生处理程序中断或出现错误。假定需要修改的数据是一个长字段,里面存放着几十个字节的字符串。如果当仅更新了其中部分字节时,更新程序或硬件发生了中断,结果该字段的内容只被修改了一部分,另一部分仍然为旧值,这种错误不容易被发现。对于同时更新多个字段的情况发生的问题更加微妙,可能看不出一个字段有明显错误。解决这个问题的办法是在DBMS中采用两阶段提交(更新)技术。,30,第

18、一阶段称为准备阶段。在这一阶段中,DBMS收集为完成更新所需要的信息和其他资源,其中可能包括收集数据、打开文件、封锁其他用户、计算最终的结果等处理,总之为最后的更新作好准备,但不对数据库作实际的改变。这个阶段即使发生问题,也不影响数据库的正确性。,31,第二阶段的工作 是对需要更新的字段进行真正的修改,这种修改是永久性的。在第二阶段中,在真正进行提交之前不对数据库采取任何行动。由于如果第二阶段出问题,数据库中可能是不完整的数据。因此一旦第二阶段的更新活动出现任何问题,该阶段的活动也需要重复,DBMS会自动将本次提交对数据库执行的所有操作都撤消,并恢复到本次修改之前的状态,这样数据库又是完整的了

19、。,32,上述第一阶段和第二阶段在数据库管理中合称为一个“事务”(Transaction),所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。,33,(2)并发访问控制,数据库系统通常支持多用户同时访问数据库,DBMS需要提供一种因共享数据产生冲突的解决的办法。如果这些用户不同时访问同一条记录,则用户之间不存在任何问题。当他们同时从一个数据项读数据的时候,也不存在相互影响,各自都

20、可以获取正确的数据;但当多个用户同时读写同一个字段的时候,将有可能发生冲突。DBMS提供解决冲突的机制,例如加锁/解锁就是一种解决冲突的办法。,34,解决这个问题办法是DBMS要把整个查询与更新两个阶段作为一个不可分割的基本操作,把这种可以保持数据库完整性的基本操作定义为一个“事务”。根据一个事务处理的原则,在老李的取款操作没有完成之前,不考虑接受第二个人的取款请求,35,并发访问的另一个问题是读与写之间的冲突,当一个用户正在更新一个字段的值的时候,另一个用户恰好进来读该字段的值,则第二个用户完全有可能获取一个仅部分被更新的数据。防止这种问题发生,DBMS为读、写用户分别定义了“读锁”和“写锁

21、”,当某一记录或数据元素被加了“读锁”,其他用户只能对目标进行读操作,同时也分别给目标加上各自的“读锁”,而目标一旦被加了“读锁”,要对其进行写操作的用户只能等待,若目标即没有“写锁”,也没有“读锁”,写操作用户在进行写操作之前,首先对目标加“写锁”,有了“写锁”的目标,任何用户不得进行读、写操作。这样在第一个用户开始更新时将该字段(或一条记录)加写锁,在更新操作结束之后再解锁。在封锁期间,另一个用户禁止一切读、写操作,36,(3)触发器,DBMS提供触发器(triger)功能,用于监视正在输入或修改的值是否破坏数据库的完整性。触发器可以检查正在输入的数据是否与数据库其他部分保持一致,或者与特

22、定字段的属性是否一致。触发器可以完成以下功能:,37,1)检查取值类型与范围,触发器检查每个字段的输入数据的类型与该字段的类型是否一致,例如,是否向字符类型的字段输入数值型的值,若不一致则拒绝写入;范围比较则是检查输入数据是在该字段允许的范围内,例如,成绩的分类是“优秀”、“良好”、“及格”、“不及格”,如果当前输入的是“中等”,则拒绝写入。,38,2)依据状态限制,状态限制是指为保证整个数据库的完整性而设置的一些限制,数据库的值在任何时候都不应该违反这些限制。如果某时刻数据库的状态不满足限制条件,就意味着数据库的某些值存在错误。在前面谈到的两阶段更新过程中的提交标志,该标志在提交阶段一开始就

23、被设置,在提交阶段结束时被清除。DBMS可以利用提交标志作为一种限制,它的置位表示数据库处于不完整状态,此时应拒绝用户访问。,39,3)依据业务限制,业务限制是指对数据库进行修改必须满足数据库存储内容的业务要求,作出相应的限制。例如对于有名额限制的录取数据库,当向数据库增加新的录取人员时,必须满足名额还有空缺这一限制条件。,40,业务限制和字段之间取值关联的问题与具体业务内容情况相关,其中包括许多常识性知识,彻底检查这一类的不一致性,需要在程序中增加一些常识性推理功能,既检查程序需要有一些“智能”处理能力。简单的范围检查可以在多数DBMS中实现,而更为复杂的状态和业务限制则需要有用户编写专门的

24、检测程序,供DBMS在每次检查活动中调用。,41,13.1.6 数据库系统安全的含义,(1)系统运行安全系统运行安全包括:法律、政策的保护,如用户是否有合法权利,政策是否允许等;物理控制安全,如机房加锁等;硬件运行安全;操作系统安全,如数据文件是否保护等;灾害、故障恢复;死锁的避免和解除;电磁信息泄漏防止。(2)系统信息安全系统信息安全包括:用户口令字鉴别;用户存取权限控制;数据存取权限、方式控制;审计跟踪;数据加密。,42,13.2 数据库安全策略与安全评价,13.2.1 数据库的安全策略 1.传统的数据库文件安全策略 传统的数据库文件安全主要通过以下三个途径来实现:(1)依靠操作系统的访问

25、控制功能实现(2)采用用户身份认证实现(3)通过对数据库加密来实现 2.数据库文件安全技术的局限性(1)安全技术的主要不足 首先,数据库文件的安全性完全依赖于操作系统,当系统配置不当时,安全根本得不到保证;其次,当数据库文件在目录或计算机间移动时,这种保护不复存在 数据库文件的安全完全依赖于基于密码校验的身份认证 数据库文件一般都很大,因此,采用这种技术进行加密和解密的时间代价很大,43,(2)实例-Access 97/2000数据库的安全问题 Access 97/2000提供了用户身份认证和数据库文件加密等技术。在实际应用中,用户一般采用给数据库添加密码(用户身份认证)来限制非法用户的访问。

26、Access 97/2000身份认证技术所存在的安全隐患在如下几个方面:密码数据区可以被还原 密码可以被破解 密码容易被猜测 数据库文件头可以重新构造,44,3.数据库安全新策略 新的数据库文件安全技术应具有以下的特点:(1)安全性不受操作系统平台影响(2)加密内容的适量(3)采用先进的加密技术(4)加密和数据压缩结合(5)身份认证陷阱(6)数据库文件反复制的能力 4.建立数据库安全性策略(1)系统安全性策略 管理数据库用户 用户身份确认 操作系统安全性,45,(2)数据的安全性策略 一般用户的安全性 a.密码的安全性 b.权限管理 终端用户的安全性(3)数据库管理者安全性策略 保护sys和s

27、ystem用户的连接 保护管理者与数据库的连接 使用角色对管理者权限进行管理,46,(4)应用程序开发者的安全策略 应用程序开发者及其权限 应用程序开发者的环境.应用程序开发者不应与终端用户竞争数据库资源.程序开发者不能损害数据库其他应用产品 free和controlled应用程序开发 a.free development b.controlled development 应用程序开发者的角色和权限 加强应用程序开发者的空间限制 a.开发者可以创建table或index的表空间 b.在每一个表空间中,开发者所拥有的空间份额,47,5.安全策略的实现 数据库文件反复制能力实现的基本思想如下:(1

28、)数据库管理系统在存储数据库文件时,用本地计算机的一些硬件信息及用户密码加密数据库文件的文件特征说明部分和字段说明部分(2)数据库管理系统在打开数据库文件时,自动调用本地计算机的一些硬件信息及用户密码,解密数据库文件的文件特征说明部分和字段说明部分(3)如果用户要复制数据库文件,则在关闭数据库文件时,进行相应的设置使数据库管理系统不进行上述两个过程 这一安全策略的采用,可使数据库文件具有下述安全性:(1)密码不可能被猜解(2)密码很难被破解(3)可以避免非法用户还原密码数据区或重构数据库文件头(4)数据库文件的安全与操作系统和数据库管理系统无关,48,13.2.2 数据库的安全评价(1)完整性

29、(2)可信性(3)系统灵活性(4)用户方便性(5)篡改检测(6)降低管理成本(7)便于安全管理员使用,49,13.3 数据库安全模型,数据库系统信息安全性依赖于两个层次:数据库管理系统本身提供的用户名/口令字识别、视图、使用权限控制、审计等管理措施靠应用程序设置的控制管理 作为数据库用户,最关心自身数据资料的安全,特别是用户的查询权限问题。对此,目前一些大型数据库管理系统提供了以下几种主要手段:1.用户分类 不同类型的用户授予不同的数据管理权限。一般将权限分为三类:数据库登录权限类、资源管理权限类和数据库管理员权限类。2.数据分类:建立视图。3.审计功能:监视各用户对数据库施加的动作。有两种方

30、式的审计,即用户审计和系统审计。,50,13.4 数据库安全技术,数据库的安全技术主要有五种:口令保护、数据加密、数据库加密、数据验证和访问控制。1.口令保护 口令设置是信息系统安全的第一道屏障,因此口令安全尤其重要。对数据库的不同功能块应设置不同的口令,对存取它的用户应设置不同的口令级别,各种模块等之间的口令应彼此独立,并且应将口令表进行加密,以保护数据安全。现在,有一种口令管理方式能在最大限度上确保使用者是合法用户。这种口令管理方式称为零知识证明,简称零式方式。这种方式对一个真正的被授权用户来说,其口令不可能被冒充、复制或破坏。零方式的关键是必须有一个绝对可靠的数据库系统安全管理员,当一个

31、用户将进入系统时,安全员需对其身份进行验证。其具体工作步骤如下:,51,13.4 数据库安全技术,其具体工作步骤如下:(1)用户获取一个随机数,并使其与自己所持的密钥一并处理,将结果传送给数据库安全管理员(2)数据库安全管理员获取一个随机数,并将此数字传送给用户(3)用户将此随机数同自己的密钥一并处理,并将其结果再一次传送给数据库安全管理员(4)数据库安全管理员检查这个回答是否正确。若正确,则减少对用户真实身份一半的怀疑;如果不正确,则停止用户的进一步活动,52,2.数据加密 对数据加密的体制和方法很多,主要的有DES算法和RSA算法。DES算法的主要特点是为数据发送者和数据接收者提供相同的5

32、6位加上8位奇偶校验位共64位的密钥,并进行64位数据块加密计算,得到长度为64位的密文输出,输出的每一位都必须由明文的每一位和64位密钥的每一位联合确定。RSA算法的特点是加密密钥和解密密钥是不同的,但彼此间有密切联系。,53,3.数据库加密 数据库的加密方式很多,可以是软件加密,也可以是硬件加密。软件加密可以采用库外加密,也可以采用库内加密。硬件加密是在物理存储器与数据库文件之间加以硬件装置,使之与实际的数据库脱离,加密时只对磁盘上的数据加密。4.数据验证 数据验证是指在数据处理中,对数据的正确性、完整性进行检查验证,主要方法如下:(1)检查录入数据的原始凭证(2)录入数据的安全控制(3)

33、数据的类别检查,54,检查录入数据项目的类型与规定的类型是否相符,其中包括以下几项:空白检查 数值型数据检查 正负检查 数据的合理性检查 数据的界限检查 合计检查 平衡检查 校验位检查,55,5.数据库的访问控制 数据库系统可以允许数据库管理员和有特定访问权限的用户有选择地、动态地把访问权限授予其他用户。如果需要,还可以收回这种权利。其权利存在一张访问控制表中。当一个新的用户需要访问数据库资源时,首先由数据库管理人员或数据库拥有者对该用户进行注册,给该用户分配一个口令,并授予其访问相应系统资源的权力。然后,由该用户输入注册口令。若口令正确,就可以使用该数据库资源。未经授权,任何用户都不能使用该

34、数据库资源。为了增强数据库的安全性,可以随时更改用户的口令。,56,13.5 数据库加密,13.5.1 数据库加密的必要性 对于一些重要部门或敏感领域的应用,仅靠上述这些措施难以保证数据的安全性,某些用户尤其是一些内部用户仍可能非法获取用户名、口令或其他方法越权使用数据库,甚至可以直接打开数据库文件来窃取或篡改信息。因此,有必要对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。13.5.2 基本要求 根据研究,数据库加密系统应满足以下基本要求:1.字段加密 2.密钥动态管理 3.合理处理数据 4.不影响合法用户的操作 5.不同层次实现数据库加密,57,13.5.3 数据库加密系统

35、的有关问题 1.数据库加密系统本身的安全性 数据库加密系统首先要解决系统本身的安全性问题,可以采用以下措施:(1)在用户进入系统时进行两级安全控制(2)防止非法复制(3)安全的数据抽取方式 2.数据库加密系统的功能部件 数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加密解密引擎。数据库加密系统将用户对数据库信息具体的加密要求记载在加密字典中,加密字典是数据库加密系统的基础信息。加密字典管理程序管理加密字典的程序,是数据库管理员变更加密要求的工具。,58,加密字典管理程序通过数据库加密解密引擎实现对数据库表的加密、解密及数据转换等功能,它作为一个特殊客户来使用数

36、据库加密解密引擎。数据库加密解密引擎是数据库加密系统的核心部件,负责在后台完成数据库信息的加/解密处理,对应用开发人员和操作人员透明。,59,13.5.4 加密技术 1.数据加密标准 数据加密标准(DES)主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。DES主要的应用范围如下:(1)计算机网络通信(2)电

37、子资金传送系统(3)保护用户文件(4)用户识别,60,2.国际数据加密算法 类似于DES,IDEA算法也是一种数据块加密算法,它包含了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同之处是,它采用软件实现和采用硬件实现同样快速。3.CLIPPER加密芯片 CLIPPER芯片主要用于商业活动的计算机通信网。NSA同时也在着手进行政府和军事通信网中数据加密芯片的研究,并作为CLIPPER的换代产品。它除了具有CLIPPER的全部功能外,还将实现美国数字签名标准(DSS)和保密的哈稀函数标准以及用纯噪声源产生随机数据的算法等。4.公开密钥密码体制 公开密钥密码体制下,

38、加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上不可能,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。,61,13.5.5 加密算法 应用于数据库加密的加密算法称为数据库加密。目前常见的加密算法可分为以下三类:1.序列密码体制 2.分组密码体制 3.公开密钥体制 13.5.6 密钥 1.多级密钥结构 2.密钥加密体制 3.密钥的安全保护,62,13.6 小结,本章首先介绍了

39、给数据安全带来威胁的各种因素,面对这些威胁,必须采取有效措施以满足数据库完整性、元素的完整性、可审计性、访问控制、用户认证、可获用性等方面的安全需求。还介绍了数据库的安全策略、数据库的安全评价、数据库的安全技术,由于数据库系统提供的基本安全技术对于一些重要部门或敏感领域的应用仍是难以完全保证数据的安全性,因此,本章最后对数据库加密做了简单说明。,63,数据库的备份与恢复,1数据库的备份 2数据库的恢复,64,1数据库的备份,(1)冷备份:冷备份是在没有最终用户访问它的情况下关闭数据库,并将其备份。(2)热备份:热备份是在数据库正在被写入的数据更新时进行。热备份严重依赖日志文件。(3)逻辑备份:

40、逻辑备份使用软件技术从数据库提取数据并将结果写入一个输出文件。,65,2数据库恢复,数据库的恢复 恢复也称为重载或重入,是指当磁盘损坏或数据库崩溃时,通过转储或卸载的备份重新安装数据库的过程。1恢复技术的种类 恢复技术大致可以分为如下三种:(1)单纯以备份为基础的恢复技术周期性地把磁盘上的数据库复制或转储到磁带上。(2)以备份和运行日志为基础的恢复技术 系统运行日志用于记录数据库运行的情况,一般包括三个内容:前像(Before Image,简称BI)、后像(After Image,简称AI)和事务状态。,66,数据库恢复,所谓的前像是指数据库被一个事务更新时,所涉及的物理块更新后的影像,它以物

41、理块为单位。前像在恢复中所起的作用是帮助数据库恢复更新前的状态,即撤销更新,这种操作称为撤销(undo)。后像恰好与前像相反,它是当数据库被某一事务更新时,所涉及的物理块更新前的影像,其单位和前像一样以物理块为单位。后像的作用是帮助数据库恢复到更新后的状态,相当于重做一次更新。这种操作在恢复技术中称为重做(Redo)。,67,数据库恢复,2恢复的办法数据库的恢复大致有如下的办法。(l)周期性地对整个数据库进行转储,把它复制到备份介质中(如磁带中),作为后备副本,以备恢复之用。转储通常又可分为静态转储和动态转储。静态转储是指转储期间不允许(或不存在)对数据库进行任何存取、修改活动,而动态转储是指

42、在存储期间允许对数据库进行存取或修改。(2)对数据库的每次修改,都记下修改前后的值,写入“运行日志”中。它与后备副本结合,可有效地恢复数据库。,68,数据库恢复,(3)利用日志文件恢复事务 1)登记日志文件(Logging)事务运行过程中,系统把事务开始、事务结束(包括 Commit和 Rollback)以及对数据库的插入、删除、修改等每一个操作作为一个登记记录(Log记录)存放到日志文件中。2)事务恢复3)利用转储和日志文件 当数据库本身被破坏时(如硬盘故障和病毒破坏)可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。,69,数据库恢复,4易地更新恢复技术 每个关系

43、有一个页表,页表中每一项是一个指针,指向关系中的每一页(块)。当更新时,旧页保留不变,另找一个新页写入新的内容。在提交时,把页表的指针从旧页指向新页,即更新页表的指针。旧页实际上起到了前像的作用。由于存储介质可能发生故障,后像还是需要的。旧页又称影页(Shadow)。,70,数据库恢复,5失效的类型及恢复的对策 如果备份由于不可抗拒的因素而损坏,那么,以上所述的恢复方法将无能为力。(1)事务失效(Transaction Failure)事务失效发生在事务提交之前,事务一旦提交,即使要撤销也不可能了。造成事务失效的原因有:事务无法执行而自行中止;操作失误或改变主意而要求撤销事务;由于系统调度上的

44、原因而中止某些事务的执行。,71,数据库恢复,对事务失效采取如下措施予以恢复:消息管理丢弃该事务的消息队列;如果需要可进行撤销;从活动事务表(Active Transaction List)中删除该事务的事务标识,释放该事务占用的资源。,72,数据库恢复,(2)系统失效 这里所指的系统包括操作系统和数据库管理系统。系统失效是指系统崩溃,必须重新启动系统,内存中的数据可能丢失,而数据库中的数据未遭破坏。发生系统失效的原因有:掉电;除数据库存储介质外的硬、软件故障;重新启动操作系统和数据库管理系统;恢复数据库至一致状态时,对未提交的事务进行了Undo操作,对已提交的事务进行了Redo的操作。,73,数据库恢复,(3)介质失效(Media Failure)介质失效指磁盘发生故障,数据库受损,例如划盘,磁头破损等。现代的DBMS对介质失效一般都提供恢复数据库至最近状态的措施,具体过程如下:修复系统,必要时更换磁盘;如果系统崩溃,则重新启动系统;加载最近的备份;用运行日志中的后像重做,取最近备份以后提交的所有事务。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号