保障与安全数据库安全.ppt_第1页
保障与安全数据库安全.ppt_第2页
保障与安全数据库安全.ppt_第3页
保障与安全数据库安全.ppt_第4页
保障与安全数据库安全.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

13 数据库安全 13.1 数据库安全概述 13.2 数据库安全策略与安全评价 13.3 数据库安全模型 13.4 数据库安全技术 13.5 数据库加密 13.6 小结 1 13.1 数据库安全概述 数据库系统担负着存储和管理数据信息的任务。计 算机系统的数据组织形式有两种,一种是文件形式,一 种是数据库形式。文件组织形式的数据缺乏数据共享性 ,而数据库组织形式的数据具有共享性、独立性、一致 性、完整性和可访问控制,现已成为计算机系统存储数 据的主要形式。因为操作系统对数据库文件没有特殊的 安全保护措施,数据库的安全必须通过数据库管理系统 来实现。数据库的安全性是指保护数据库以防止不合法 的使用所造成的数据泄漏、更改或破坏。 2 数据库系统的组成 数据库系统,分成两部分:一部分是数据库,按 一定的方式存取数据;另一部分是数据库管理系统,为 用户及应用程序提供数据访问,并具有对数据库进行管 理、维护等多种功能。 数据库 数据库,就是若干数据的集合体。因此数据库要 由数据库管理系统进行科学地组织和管理,以确保数据 库的安全性和完整性。 13.1 数据库安全概述 3 关系、层次和网状型数据库模型关系、层次和网状型数据库模型 (1 1)关系结构模型:把一些复杂的数据结构归结)关系结构模型:把一些复杂的数据结构归结 为简单的二元关系为简单的二元关系( (即二维表格形式即二维表格形式) ),按照关系运,按照关系运 算理论算理论( (主要是三范式原则主要是三范式原则) )组织与管理数据。组织与管理数据。 (2 2)层次结构模型:实质上是一种有根节点的定)层次结构模型:实质上是一种有根节点的定 向有序树向有序树( (在离散数学中在离散数学中“ “树树” ”被定义为一个无回路被定义为一个无回路 的连通图的连通图) )。 (3 3)网状结构模型:)网状结构模型:按照网状数据结构建立的数按照网状数据结构建立的数 据库系统称为网状数据库系统。据库系统称为网状数据库系统。 13.1 数据库安全概述 4 数据库管理系统DBMS的主要职能 1) 有正确的编译功能,能正确执行规定的操作 。 2)能正确执行数据库命令。 3)能保证数据的安全性、完整性,能抵御一定程 度的物理破坏,能维护和提交数据库内容。 4) 能识别用户、分配授权和进行访问控制。 5)顺利执行数据库访问,保证网络通信功能。 13.1 数据库安全概述 5 数据库的特性 (1)多用户 (2)高可用性 (3)频繁的更新 (4)大文件 (5)安全性与可靠性问题复杂 13.1 数据库安全概述 6 问题的提出 数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共 享 例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据 13.1 数据库安全概述 7 13.1 数据库安全概述 数据库中数据的共享是在DBMS统一的严格的 控制之下的共享,即只允许有合法使用权限的用户 访问允许他存取的数据 数据库系统的安全保护措施是否有效是数据库 系统主要的性能指标之一 数据库是网络系统的核心部分,有价值的数据资源都存 放在其中,这些共享的数据资源既要面对必需的可用性需 求,又要面对被篡改、损坏和被窃取的威胁。 8 13.1 数据库安全概述 13.1.1 数据库面临的安全威胁 (1)数据输入或处理中的错误 (2)硬件故障引起的信息破坏或丢失 (3)软件保护功能失效造成信息泄漏 (4)非授权用户的非法存取或篡改数据 (5)授权者制定不正确、不安全的防护策略 (6)操作者复制和泄漏机密、敏感的数据资料 (7)系统设计者回避安全功能,安装不安全的资料 (8)应用程序员设计、安装了特洛伊木马软件 (9)终端放置在不安全的环境中而被窃听 (10)终端使用者隐瞒自己身份,进行不正确的输入 (11)病毒侵入系统,破坏或修改了数据库软件 9 13.1.2 数据库安全的重要性(主要原因) (1)在数据库中,由于数据的冗余度小,数据库一旦 被修改,原来存储的数据就被破坏,而且这些数据无法 恢复。因此,必须加强数据库恢复技术,当系统或程序 出现故障后,能恢复数据库。 (2)由于大部分数据库是联机工作的,可以支持多个 用户同时存取,因此必须采取措施防止由此引起的破坏 数据完整性的问题。 (3)数据库中保存着大量的数据,这些数据有多个用 户共享,而他们的职责和权力又有所不同,因此必须限 制数据库用户,不允许他们访问非授权数据,并严格控 制用户修改数据,以免造成其他用户对数据访问的正确 性。 (4)数据库还涉及其他应用软件,因而数据库的安全 还涉及应用软件的安全与系统的安全。 10 13.1.3 数据库的保密性 数据库管理系统DBMS要求严格的用户身份鉴别。 为了进一步加强数据库系统的安全性,必须对使用数据 库的时间和地点加以限制。在指定时间、指定终端上登 录上机的用户进行身份标识(ID)和口令的鉴别是对操 作系统身份鉴别的一种补充。数据库管理系统的访问控 制分为两类:任意访问控制和强制访问控制。 (1)任意访问控制可以通过控制矩阵进行。 (2)在数据库管理系统中,强制访问控制也是通过 与军事安全类似的方法来实现。 11 13.1.4 数据库系统的安全需求 1.数据库安全需求 数据库的安全性是指保护数据库以防止不合法的使 用所造成的数据泄漏、更改或破坏。对于数据库的安全 威胁,必须采取有效措施,以满足其安全需求。 (1)数据库完整性 (2)元素的完整性 (3)可审计性 (4)访问控制 (5)用户认证 (6)可获用性 12 表 .1 数据库系统安全需求 13 (1)数据库的完整性 在物理完整性方面,要求从硬件或环境方面 保护数据库的安全,防止数据被破坏或不可读。例 如,应该有措施解决掉电时数据不丢失不破坏的问 题,存储介质损坏时数据的可利用性问题,还应该 有防止各种灾害(如火灾、地震等)对数据库造成 不可弥补的损失,应该有灾后数据库快速恢复能力 。数据库的物理完整性和数据库留驻的计算机系统 硬件可靠性与安全性有关,也与环境的安全保障措 施有关。 14 在逻辑完整性方面,要求保持数据库逻辑结构的 完整性,需要严格控制数据库的创立与删除、库表 的建立、删除和更改的操作,这些操作只能允许具 有数据库拥有者或系统管理员权限的人才能够进行 。逻辑完整性还包括数据库结构和库表结构设计的 合理性,尽量减少字段与字段之间、库表与库表之 间不必要的关联,减少不必要的冗余字段,防止发 生修改一个字段的值影响其他字段的情况。 (1)数据库的完整性 15 元素完整性主要是指保持数据字段内容的正确性与准 确性。元素完整性需要由DBMS、应用软件的开发者和 用户共同完成。 软件开发者应该在应用程序中增加对字段值的录入或 更新的检查验证,例如应该检查输入数据是否与字段类 型、取值要求一致,例如性别的取值不应该是“男”、 “女”或其它代表男、女的特征值以外的结果,年龄字 段的值不超过150、不低于0等;还需要检查输入值是否 满足字段之间的约束条件。 (2)元素的完整性 16 数据库管理系统DBMS对保证元素完整性方面起着重要作 用,它用三种方式维护数据库中数据元素的完整性。 字段检查:可防止输入数据时可能出现的错误。 访问控制:提供访问控制机制最大限度地减少未授权用 户对数据库的修改,保护数据库的完整性、真实性和一致性 。 17 更改日志 DBMS维护数据完整性的另一个有力措施是数据库日 志功能,该日志能够记录用户每次登录和访问数据库的 情况以及数据库记录每次发生的改变,记录内容包括访 问用户ID、修改日期、数据项修改前的值和修改后的值 。利用该日志系统管理员可以撤消对数据库的错误修改 ,可以把数据库恢复到指定日期以前的状态。 18 (3)可审计性 为了能够跟踪对数据库的访问,及时发现对数据库的非 法访问和修改,需要对访问数据库的一些重要事件进行记 录,利用这些记录可以协助维护数据库的完整性,还可以 帮助事后发现是哪一个用户在什么时间影响过哪些值。如 果这个用户是一个黑客,审计日志可以记录黑客访问数据 库敏感数据的踪迹和攻击敏感数据的步骤。 19 对于审计粒度与审计对象的选择,需要考虑存储空间的 消耗问题。审计粒度是指在审计日志中将记录到哪一个层 次上的操作(事件),例如用户登录失败与成功、通行字 正确与错误、对数据库、库表、记录、字段等的访问成功 与错误。 但小粒度的审计又需要大量的存储空间,这又是一般数 据库系统很难做到的。对于那些要求高度安全的系统来说 ,这种开销是需要的。 但审计日志也不见得完全反映用户已经从数据库到底获 得了什么值,例如完成选取操作时,可以访问一个记录而 并不把结果传递给用户,但在另外的情况下,用户可以通 过间接访问方式获得敏感记录的数据,用户可能已经得到 了某些敏感数据,而在审计日志中却很难反映出来。 20 (4)访问控制与用户认证 和操作系统相比,数据库的访问控制的难度要大得多。 在操作系统中,文件之间没有关联关系,但在数据库中, 不仅库表文件之间有关联,在库表内部记录、字段都是相 互关联的。 操作系统中控制的粒度是文件,数据库中则需要控制到 记录和字段一级。操作系统中几百个文件的访问控制表的 复杂性远比同样具有几百个库表文件,而每个库表文件又 有几十个字段和数十万条记录的数据库的访问控制表的复 杂性要小得多。 21 由于访问数据库的用户的安全等级是不同的,分配给他 们的权限是不一样的,为了保护数据的安全,数据库被逻 辑地划分为不同安全级别数据的集合。有的数据允许所有 用户访问,有的则要求用户具备一定的权限。在DBMS中 ,用户有数据库的创建、删除,库表结构的创建、删除与 修改,对记录的查询、增加、修改、删除,对字段的值的 录入、修改、删除等权限,DBMS必须提供安全策略管理 用户这些权限。 22 由于数据库中的访问目标数据库、库表、记录与 字段是相互关联的,字段与字段的值之间、记录与 记录之间也是具有某种逻辑关系的,存在通过推理 从已知的记录或字段的值间接获取其他记录或字段 值的可能。而在操作系统中一般不存在这种推理泄 漏问题,它所管理的目标(文件)之间并没有逻辑 关系。 23 这就使数据库的访问控制机制不仅要防止直接的泄漏 ,而且还要防止推理泄漏的问题,因而使数据库访问控 制机制要比操作系统的复杂得多。限制推理访问需要为 防止推理而限制一些可能的推理路径。通过这种方法限 制可能的推理,也可能限制了合法用户的正常查询访问 ,会使他们感到系统访问效率不高甚至一些正常访问被 拒绝。 24 DBMS是作为操作系统的一个应用程序运行的,数据 库中的数据不受操作系统的用户认证机制的保护,也没 有通往操作系统的可信路径。DBMS必须建立自己的用 户认证机制。DBMS要求很严格的用户认证功能,例如 DBMS可能要求用户传递指定的通行字和时间-日期检查 。DBMS的认证是在操作系统认证之后进行的,这就是 说,用户进入数据库,一个用户需要进行操作系统和 DBMS两次认证,增加了数据库的安全性。 25 (5)保密性与可用性 DBMS除了通过访问控制机制对数据库中的敏感数据 加强防护外,还可以通过加密技术对库中的敏感数据加 密。但加密虽然可以防止对数据的恶意访问,也显著地 降低了数据库访问效率。 数据库中数据并不是任何时候都可以访问。例如,一 个用户在更新几个字段时,其他的用户对这几个字段的 访问请求便被禁止。当更新完毕时,其他用户对这些字 段的访问即可获得。 26 2.操作系统的安全需求 (1)操作系统应能防止对数据库管理系统和用户程序的非法 修改 (2)操作系统应能保护存储器中的数据不被非法修改 (3)操作系统应能保护数据库,使其中的数据安全、完整 (4)操作系统应能认证数据库的合法用户,当非法用户进入 时能及时报警 (5)操作系统应能正确地进行物理I/O操作 3.数据库管理系统的需求 (1)有正确的编译功能,能正确地进行规定的操作 (2)能提供正确的系统变量值,能正确地执行命令文件 (3)能保证数据的安全性和完整性,能抵御物理破坏,能维 护数据库逻辑的完整性,能恢复数据库中的内容 (4)能进行用户识别和访问控制 (5)可用性 27 13.1.5 数据库的完整性技术 前面已经介绍了数据库的安全需求问题,下面研究 数据库管理系统DBMS防止数据丢失或被破坏的办法,保 证数据库完整性、元素完整性和元素准确性(元素值是正 确的)的技术。但所有的解决办法都不是绝对的,因为任 何控制都不能阻止一个有权用户有意、无意对数据库中数 据的破坏。 28 (1)两阶段提交 为了保证数据更新结果的正确性,必须防止在数据 更新过程中发生处理程序中断或出现错误。假定需要修改 的数据是一个长字段,里面存放着几十个字节的字符串。 如果当仅更新了其中部分字节时,更新程序或硬件发生了 中断,结果该字段的内容只被修改了一部分,另一部分仍 然为旧值,这种错误不容易被发现。对于同时更新多个字 段的情况发生的问题更加微妙,可能看不出一个字段有明 显错误。解决这个问题的办法是在DBMS中采用两阶段提 交(更新)技术。 29 第一阶段称为准备阶段。 在这一阶段中,DBMS收集为完成更新所需要的 信息和其他资源,其中可能包括收集数据、打开文件、 封锁其他用户、计算最终的结果等处理,总之为最后的 更新作好准备,但不对数据库作实际的改变。这个阶段 即使发生问题,也不影响数据库的正确性。 30 第二阶段的工作 是对需要更新的字段进行真正的修改,这种修改是 永久性的。在第二阶段中,在真正进行提交之前不对数据 库采取任何行动。由于如果第二阶段出问题,数据库中可 能是不完整的数据。因此一旦第二阶段的更新活动出现任 何问题,该阶段的活动也需要重复, DBMS会自动将本次 提交对数据库执行的所有操作都撤消,并恢复到本次修改 之前的状态,这样数据库又是完整的了。 31 上述第一阶段和第二阶段在数据库管理中合称为 一个“事务” (Transaction),所谓事务是指一组逻 辑操作单元,使数据从一种状态变换到另一种状态。为确 保数据库中数据的一致性,数据的操纵应当是离散的成组 的逻辑单元:当它全部完成时,数据的一致性可以保持,而 当这个单元中的一部分操作失败,整个事务应全部视为错 误,所有从起始点以后的操作应全部回退到开始状态。 32 (2)并发访问控制 数据库系统通常支持多用户同时访问数据库, DBMS需要提供一种因共享数据产生冲突的解决的办法 。如果这些用户不同时访问同一条记录,则用户之间不 存在任何问题。当他们同时从一个数据项读数据的时候 ,也不存在相互影响,各自都可以获取正确的数据;但 当多个用户同时读写同一个字段的时候,将有可能发生 冲突。DBMS提供解决冲突的机制,例如加锁/解锁就是 一种解决冲突的办法。 33 解决这个问题办法是DBMS要把整个查询与更新 两个阶段作为一个不可分割的基本操作,把这种可以保 持数据库完整性的基本操作定义为一个“事务”。根据 一个事务处理的原则,在老李的取款操作没有完成之前 ,不考虑接受第二个人的取款请求 34 并发访问的另一个问题是读与写之间的冲突,当一 个用户正在更新一个字段的值的时候,另一个用户恰好进 来读该字段的值,则第二个用户完全有可能获取一个仅部 分被更新的数据。防止这种问题发生,DBMS为读、写用 户分别定义了“读锁”和“写锁”,当某一记录或数据元 素被加了“读锁”,其他用户只能对目标进行读操作,同 时也分别给目标加上各自的“读锁”,而目标一旦被加了 “读锁”,要对其进行写操作的用户只能等待,若目标即 没有“写锁”,也没有“读锁”,写操作用户在进行写操 作之前,首先对目标加“写锁”,有了“写锁”的目标, 任何用户不得进行读、写操作。这样在第一个用户开始更 新时将该字段(或一条记录)加写锁,在更新操作结束之 后再解锁。在封锁期间,另一个用户禁止一切读、写操作 35 (3)触发器 DBMS提供触发器(triger)功能,用于监视 正在输入或修改的值是否破坏数据库的完整性。触 发器可以检查正在输入的数据是否与数据库其他部 分保持一致,或者与特定字段的属性是否一致。触 发器可以完成以下功能: 36 1)检查取值类型与范围 触发器检查每个字段的输入数据的类型与该 字段的类型是否一致,例如,是否向字符类型的字 段输入数值型的值,若不一致则拒绝写入;范围比 较则是检查输入数据是在该字段允许的范围内,例 如,成绩的分类是“优秀”、“良好”、“及格” 、“不及格”,如果当前输入的是“中等”,则拒 绝写入。 37 2)依据状态限制 状态限制是指为保证整个数据库的完整性而 设置的一些限制,数据库的值在任何时候都不应该 违反这些限制。如果某时刻数据库的状态不满足限 制条件,就意味着数据库的某些值存在错误。 在前面谈到的两阶段更新过程中的提交标志,该 标志在提交阶段一开始就被设置,在提交阶段结束 时被清除。DBMS可以利用提交标志作为一种限制, 它的置位表示数据库处于不完整状态,此时应拒绝 用户访问。 38 3)依据业务限制 业务限制是指对数据库进行修改必须满足数据库 存储内容的业务要求,作出相应的限制。例如对于有名 额限制的录取数据库,当向数据库增加新的录取人员时 ,必须满足名额还有空缺这一限制条件。 39 业务限制和字段之间取值关联的问题与具体 业务内容情况相关,其中包括许多常识性知识,彻 底检查这一类的不一致性,需要在程序中增加一些 常识性推理功能,既检查程序需要有一些“智能” 处理能力。 简单的范围检查可以在多数DBMS中实现,而 更为复杂的状态和业务限制则需要有用户编写专门 的检测程序,供DBMS在每次检查活动中调用。 40 13.1.6 数据库系统安全的含义 (1)系统运行安全 系统运行安全包括:法律、政策的保护,如用户是否 有合法权利,政策是否允许等;物理控制安全,如机房 加锁等;硬件运行安全;操作系统安全,如数据文件是 否保护等;灾害、故障恢复;死锁的避免和解除;电磁 信息泄漏防止。 (2)系统信息安全 系统信息安全包括:用户口令字鉴别;用户存取权限 控制;数据存取权限、方式控制;审计跟踪;数据加密 。 41 13.2 数据库安全策略与安全评 价 13.2.1 数据库的安全策略 1.传统的数据库文件安全策略 传统的数据库文件安全主要通过以下三个途径来实现: (1)依靠操作系统的访问控制功能实现 (2)采用用户身份认证实现 (3)通过对数据库加密来实现 2.数据库文件安全技术的局限性 (1)安全技术的主要不足 首先,数据库文件的安全性完全依赖于操作系统, 当系统配置不当时,安全根本得不到保证;其次,当数据库 文件在目录或计算机间移动时,这种保护不复存在 数据库文件的安全完全依赖于基于密码校验的身份 认证 数据库文件一般都很大,因此,采用这种技术进行 加密和解密的时间代价很大 42 (2)实例-Access 97/2000数据库的安全问题 Access 97/2000提供了用户身份认证和数据库文件 加密等技术。在实际应用中,用户一般采用给数据库添 加密码(用户身份认证)来限制非法用户的访问。 Access 97/2000身份认证技术所存在的安全隐患在 如下几个方面: 密码数据区可以被还原 密码可以被破解 密码容易被猜测 数据库文件头可以重新构造 43 3.数据库安全新策略 新的数据库文件安全技术应具有以下的特点: (1)安全性不受操作系统平台影响 (2)加密内容的适量 (3)采用先进的加密技术 (4)加密和数据压缩结合 (5)身份认证陷阱 (6)数据库文件反复制的能力 4.建立数据库安全性策略 (1)系统安全性策略 管理数据库用户 用户身份确认 操作系统安全性 44 (2)数据的安全性策略 一般用户的安全性 a.密码的安全性 b.权限管理 终端用户的安全性 (3)数据库管理者安全性策略 保护sys和system用户的连接 保护管理者与数据库的连接 使用角色对管理者权限进行管理 45 (4)应用程序开发者的安全策略 应用程序开发者及其权限 应用程序开发者的环境 .应用程序开发者不应与终端用户竞争数据库资源 .程序开发者不能损害数据库其他应用产品 free和controlled应用程序开发 a. free development b. controlled development 应用程序开发者的角色和权限 加强应用程序开发者的空间限制 a.开发者可以创建table或index的表空间 b.在每一个表空间中,开发者所拥有的空间份额 46 5.安全策略的实现 数据库文件反复制能力实现的基本思想如下: (1)数据库管理系统在存储数据库文件时,用本地计算机的 一些硬件信息及用户密码加密数据库文件的文件特征说明部分和 字段说明部分 (2)数据库管理系统在打开数据库文件时,自动调用本地计 算机的一些硬件信息及用户密码,解密数据库文件的文件特征说 明部分和字段说明部分 (3)如果用户要复制数据库文件,则在关闭数据库文件时, 进行相应的设置使数据库管理系统不进行上述两个过程 这一安全策略的采用,可使数据库文件具有下述安全性: (1)密码不可能被猜解 (2)密码很难被破解 (3)可以避免非法用户还原密码数据区或重构数据库文件头 (4)数据库文件的安全与操作系统和数据库管理系统无关 47 13.2.2 数据库的安全评价 (1)完整性 (2)可信性 (3)系统灵活性 (4)用户方便性 (5)篡改检测 (6)降低管理成本 (7)便于安全管理员使用 48 13.3 数据库安全模型 数据库系统信息安全性依赖于两个层次:数据库管理系统本 身提供的用户名/口令字识别、视图、使用权限控制、审计等管理 措施靠应用程序设置的控制管理 作为数据库用户,最关心自身数据资料的安全,特别是用 户的查询权限问题。对此,目前一些大型数据库管理系统提供了 以下几种主要手段: 1.用户分类 不同类型的用户授予不同的数据管理权限。一般将权限分 为三类:数据库登录权限类、资源管理权限类和数据库管理员权 限类。 2.数据分类:建立视图。 3.审计功能:监视各用户对数据库施加的动作。有两种方 式的审计,即用户审计和系统审计。 49 13.4 数据库安全技术 数据库的安全技术主要有五种:口令保护、数据加密、数据 库加密、数据验证和访问控制。 1.口令保护 口令设置是信息系统安全的第一道屏障,因此口令安全尤其 重要。对数据库的不同功能块应设置不同的口令,对存取它的用 户应设置不同的口令级别,各种模块等之间的口令应彼此独立, 并且应将口令表进行加密,以保护数据安全。 现在,有一种口令管理方式能在最大限度上确保使用者是合 法用户。这种口令管理方式称为零知识证明,简称零式方式。这 种方式对一个真正的被授权用户来说,其口令不可能被冒充、复 制或破坏。零方式的关键是必须有一个绝对可靠的数据库系统安 全管理员,当一个用户将进入系统时,安全员需对其身份进行验 证。其具体工作步骤如下: 50 13.4 数据库安全技术 其具体工作步骤如下: (1)用户获取一个随机数,并使其与自己所持的密 钥一并处理,将结果传送给数据库安全管理员 (2)数据库安全管理员获取一个随机数,并将此数 字传送给用户 (3)用户将此随机数同自己的密钥一并处理,并将 其结果再一次传送给数据库安全管理员 (4)数据库安全管理员检查这个回答是否正确。若 正确,则减少对用户真实身份一半的怀疑;如果不正确, 则停止用户的进一步活动 51 2.数据加密 对数据加密的体制和方法很多,主要的有DES算法和 RSA算法。 DES算法的主要特点是为数据发送者和数据接 收者提供相同的56位加上8位奇偶校验位共64位的密钥, 并进行64位数据块加密计算,得到长度为64位的密文输 出,输出的每一位都必须由明文的每一位和64位密钥的 每一位联合确定。RSA算法的特点是加密密钥和解密密钥 是不同的,但彼此间有密切联系。 52 3.数据库加密 数据库的加密方式很多,可以是软件加密,也可以是硬件 加密。软件加密可以采用库外加密,也可以采用库内加密。硬件 加密是在物理存储器与数据库文件之间加以硬件装置,使之与实 际的数据库脱离,加密时只对磁盘上的数据加密。 4.数据验证 数据验证是指在数据处理中,对数据的正确性、完整性进行 检查验证,主要方法如下: (1)检查录入数据的原始凭证 (2)录入数据的安全控制 (3)数据的类别检查 53 检查录入数据项目的类型与规定的类型是否相符,其 中包括以下几项: 空白检查 数值型数据检查 正负检查 数据的合理性检查 数据的界限检查 合计检查 平衡检查 校验位检查 54 5.数据库的访问控制 数据库系统可以允许数据库管理员和有特定访问权 限的用户有选择地、动态地把访问权限授予其他用户。如 果需要,还可以收回这种权利。其权利存在一张访问控制 表中。 当一个新的用户需要访问数据库资源时,首先由数 据库管理人员或数据库拥有者对该用户进行注册,给该用 户分配一个口令,并授予其访问相应系统资源的权力。然 后,由该用户输入注册口令。若口令正确,就可以使用该 数据库资源。未经授权,任何用户都不能使用该数据库资 源。为了增强数据库的安全性,可以随时更改用户的口令 。 55 13.5 数据库加密 13.5.1 数据库加密的必要性 对于一些重要部门或敏感领域的应用,仅靠上述这些措 施难以保证数据的安全性,某些用户尤其是一些内部用户仍可 能非法获取用户名、口令或其他方法越权使用数据库,甚至 可以直接打开数据库文件来窃取或篡改信息。因此,有必要 对数据库中存储的重要数据进行加密处理,以实现数据存储 的安全保护。 13.5.2 基本要求 根据研究,数据库加密系统应满足以下基本要求: 1.字段加密 2.密钥动态管理 3.合理处理数据 4.不影响合法用户的操作 5.不同层次实现数据库加密 56 13.5.3 数据库加密系统的有关问题 1.数据库加密系统本身的安全性 数据库加密系统首先要解决系统本身的安全性问题,可 以采用以下措施: (1)在用户进入系统时进行两级安全控制 (2)防止非法复制 (3)安全的数据抽取方式 2.数据库加密系统的功能部件 数据库加密系统分成两个功能独立的主要部件:一个 是加密字典管理程序,另一个是数据库加密解密引擎。数据 库加密系统将用户对数据库信息具体的加密要求记载在加 密字典中,加密字典是数据库加密系统的基础信息。加密 字典管理程序管理加密字典的程序,是数据库管理员变更 加密要求的工具。 57 加密字典管理程序通过数据库加密解密引擎实现对 数据库表的加密、解密及数据转换等功能,它作为一个 特殊客户来使用数据库加密解密引擎。数据库加密解密 引擎是数据库加密系统的核心部件,负责在后台完成数 据库信息的加/解密处理,对应用开发人员和操作人员透 明。 58 13.5.4 加密技术 1.数据加密标准 数据加密标准(DES)主要采用替换和移位的方法加密。 它用56位密钥对64位二进制数据块进行加密,每次加密可对 64位的输入数据进行16轮编码,经一系列替换和移位后,输 入的64位原始数据转换成完全不同的64位输出数据。 DES算 法仅使用最大为64位的标准算术和逻辑运算,运算速度快, 密钥生产容易,适合于在当前大多数计算机上用软件方法实 现,同时也适合于在专用芯片上实现。 DES主要的应用范围如下: (1)计算机网络通信 (2)电子资金传送系统 (3)保护用户文件 (4)用户识别 59 2.国际数据加密算法 类似于DES,IDEA算法也是一种数据块加密算法,它包含 了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成 的一个子密钥。与DES的不同之处是,它采用软件实现和采用 硬件实现同样快速。 3.CLIPPER加密芯片 CLIPPER芯片主要用于商业活动的计算机通信网。NSA同 时也在着手进行政府和军事通信网中数据加密芯片的研究, 并作为CLIPPER的换代产品。它除了具有CLIPPER的全部功能 外,还将实现美国数字签名标准(DSS)和保密的哈稀函数标 准以及用纯噪声源产生随机数据的算法等。 4.公开密钥密码体制 公开密钥密码体制下,加密密钥不等于解密密钥。加密 密钥可对外公开,使任何用户都可将传送给此用户的信息用 公开密钥加密发送,而该用户唯一保存的私人密钥是保密的 ,也只有它能将密文复原、解密。虽然解密密钥理论上可由 加密密钥推算出来,但这种算法设计在实际上不可能,或者 虽然能够推算出,但要花费很长的时间而成为不可行的。所 以将加密密钥公开也不会危害密钥的安全。 60 13.5.5 加密算法 应用于数据库加密的加密算法称为数据库加密。 目前常见的加密算法可分为以下三类: 1.序列密码体制 2.分组密码体制 3.公开密钥体制 13.5.6 密钥 1.多级密钥结构 2.密钥加密体制 3.密钥的安全保护 61 13.6 小结 本章首先介绍了给数据安全带来威胁的各种因素, 面对这些威胁,必须采取有效措施以满足数据库完整性 、元素的完整性、可审计性、访问控制、用户认证、可 获用性等方面的安全需求。还介绍了数据库的安全策略 、数据库的安全评价、数据库的安全技术,由于数据库 系统提供的基本安全技术对于一些重要部门或敏感领域 的应用仍是难以完全保证数据的安全性,因此,本章最 后对数据库加密做了简单说明。 62 数据库的备份与恢复 1 数据库的备份 2 数据库的恢复 63 1 数据库的备份 (1)冷备份:冷备份是在没有最终用户访问它的 情况下关闭数据库,并将其备份。 (2)热备份:热备份是在数据库正在被写入的数 据更新时进行。热备份严重依赖日志文件。 (3)逻辑备份:逻辑备份使用软件技术从数据库 提取数据并将结果写入一个输出文件。 64 2数据库恢复 数据库的恢复 恢复也称为重载或重入,是指当磁盘损坏或数 据库崩溃时,通过转储或卸载的备份重新安装数据库的过程 。 1恢复技术的种类 恢复技术大致可以分为如下三种: (1)单纯以备份为基础的恢复技术 周期性地把磁盘上的数据库复制或转储到磁带 上。 (2)以备份和运行日志为基础的恢复技术 系统运行日志用于记录数据库运行的情况,一 般包括三个内容:前像(Before Image,简称BI)、后像( After Image,简称AI)和事务状态。 65 数据库恢复 所谓的前像是指数据库被一个事务更新时,所 涉及的物理块更新后的影像,它以物理块为单位。前像在恢 复中所起的作用是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论