文档介绍:第十八讲: 数据库安全与保密技术简介
数据库是存储在计算机内的有结构的数据集合。数据库可分为:关系式数据库、网状数据库和层次数据库。数据库在社会各个领域的应用范围日益广泛,数据库中存放的信息价值往往远远超过系统本身的价值,因此,数据库系统的安全与保密是绝对应该重视的事情。
A: 数据库系统基本知识
一般地讲,数据库系统由三部分组成:数据库、数据库管理系统和用户。数据库采取集中存储,集中维护的方法存放数据,为多个用户提供数据共享服务。数据库管理系统是一个数据库管理软件,其职能是维护数据库,接受和完成用户程序,命令提出的数据访问的各种请求。数据库管理系统应当为用户及应用程序提供一种访问数据的方法,并且应具有对数据库进行组织、管理、维护和恢复的能力。
形象地说:数据库相当于图书馆中的书库,数据库管理系统相当于图书的书卡,用户相当于读者。
数据库系统的优点主要有:
共享访问:多个用户可以共享公用的集中数据集;
最小冗余:单个用户不必组织并维护自己的数据集,从而避免了公用数据重复所产生的冗余;
数据一致性:集中管理和维护数据,易于达到数据的一致性。
从操作系统的角度看,数据库管理系统只是一个大型的应用程序。数据库系统的安全策略,部分由操作系统来完成,部分由强化数据库管理系统的自身安全措施完成。数据库管理系统自身的安全措施在许多方面类似于操作系统的安全措施。数据库系统作为一种重要的信息系统,它当然要以保证信息的完整性,保密性、真实性、可用性、可靠性等为目标。但是,由于数据库系统本身的特点,其中,信息的完整性和保密性的实现方法有所不同,其安全措施与操作系统的安全措施也有本质区别。
B: 数据库系统安全与保密的特点
从安全与保密角度看,数据库系统的基本特点可以概括为:
在数据库中要保护的客体比较多;
数据库中数据的生存期限较长,对保护的精度要求更高;
数据库的安全涉及到信息在不同程度上的安全;
数据库系统中受保护的客体可能是复杂的逻辑结构。若干复杂的逻辑结构可能映射到同一物理数据客体上;
数据库的安全与数据的语法有关;
数据库的安全与保密还应当考虑到对推理攻击的防范。推理攻击是指从非敏感的数据推理得出敏感数据的攻击方式。
从所面临的安全与保密威胁方面来看,数据库系统应该重点对付以下威胁:
篡改(伪造)。篡改就是修改数据,使其不真实。例如,删除定单、发货单、或收据等。这是一种潜在的威胁,因为在其造成影响之前,很难发现数据已被篡改。对付篡改的一种实用措施是限制对特定数据的访问。例如,若数据库表存放在一个Microsoft SQL服务器上,则必须限制ISQL/w程序的访问权,因为此程序能绕过限制直接接触数据。
损坏。数据的真正丢失是一个严重威胁。表格和整个数据库都可能被删除、移走或破坏,这样它们的内容就不可用了。数据被损坏的原因可能是恶意破坏、恶作剧或病毒等。
窃取。窃取数据的隐蔽性很强。甚至当数据丢失已经造成损害时,仍未被发现。通过对敏感数据的非法访问,可以将敏感数据拷贝到诸如软盘一样的可移动的介质上,或以打印报告的形式取走。
C: 数据库系统的基本安全措施
数据库作为一种特殊的信息系统,它的安全保密措施与普通的网络信息系统的安全措施有许多共同之处,当然也有自身的一些特点。数据库的安全与保密措施的主要目的在于:
保证数据库的完整性。包括物理上的完整性(数据不受物理故障(如掉电)的影响,并有可能在灾难性毁坏后重组数据库)、逻辑上的完整性(保护数据库的逻辑结构)、数据库中元素的完整性(保证每个元素所含的数据准确无误);
保证数据库的保密性。包括用户身份鉴别(保证每个用户是绝对可识别的,从而可对它进行审计跟踪,并可以保证对特定数据的访问保护)、访问控制(保证用户仅能访问授权数据,并保证同一组数据的不同用户可以被赋予不同的访问权限)、可审计性(有能力跟踪谁访问了数据库中的哪些元素);
保证数据库的可用性。数据库系统对用户应该有友好的界面,可用简单方法访问数据库中所有授权访问数据。
为达到上述安全目的,数据库系统需要采取一系列的安全措施:
措施之一:为了防止数据库中的数据受到物理破坏,应当对数据库系统采取定期备份系统中所有文件的方法来保护系统的完整性;
措施之二:为了在系统出错时可以重组数据库,数据库管理系统应当维护数据库系统的事务日志,以便用这种日志恢复系统故障时丢失的数据;
措施之三:如果在数据修改期间系统发生故障,数据库管理系统将会面临严重的问题。此时,一个记录甚至一个字段中,有的部分得到修改而其余部分维持原样。为了避免这种错误,大多数数据库管理系统都采用两阶段修改技术来保护数据的完整性。两阶段修改技术的第一阶段叫做准备阶段。这时,数据库管理系统完成修改所需的信