
第九章数据库及应用系统安全 在新的网络环境中,数据库系统需要面对更多的安全威胁, 针对数据库系统的攻击方式也层出不穷。因此,如何有效地保证 数据库系统的安全,实现数据的保密性、完整性和有效性,是至 关重要的。本章主要介绍数据库系统安全概述、数据库系统安全 保护机制、SQL数据库的安全管理等
第九章 数据库及应用系统安全 在新的网络环境中,数据库系统需要面对更多的安全威胁, 针对数据库系统的攻击方式也层出不穷。因此,如何有效地保证 数据库系统的安全,实现数据的保密性、完整性和有效性,是至 关重要的。本章主要介绍数据库系统安全概述、数据库系统安全 保护机制、SQL数据库的安全管理等

9.1数据库系统安全概述 9.1.1数据库系统的组成 数据库系统一般由4个部分组成: (1)数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结 构组织在一起的相关数据的集合。 (2)数据库管理系统(DBMS)。它是一组能完成描述、管理、维护数 据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和 检索原有数据的操作。 (3)数据库管理员(DBA)。 (4)用户和应用程序
9.1 数据库系统安全概述 9.1.1数据库系统的组成 数据库系统一般由4个部分组成: (1)数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结 构组织在一起的相关数据的集合。 (2)数据库管理系统(DBMS)。它是一组能完成描述、管理、维护数 据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和 检索原有数据的操作。 (3)数据库管理员(DBA)。 (4)用户和应用程序

9.1数据库系统安全概述 9.1.2数据库系统安全评估标准 随着人们对安全问题认识和对安全产品的要求不断提高,在计算机安全技 术方面逐步建立一套安全评估标准,以规范和指导安全信息的建立、安全产品 的生产,并能较准确地评测产品的安全性能指标。在当前各国制定和采用的标 准中,最重要的是1985年美国国防部颁布的“可信计算机系统评估标准 (TCSEC)”桔皮书(又简称为DoD85)。1991年,美国国家计算机安全中 心(NCSC)又颁布了“可信计算机评估标准关于可信数据库管理系统的解释 (TD)”。我国也于1994年2月发布了“中华人民共和国计算机信息系统安全 保护条例
9.1 数据库系统安全概述 9.1.2数据库系统安全评估标准 随着人们对安全问题认识和对安全产品的要求不断提高,在计算机安全技 术方面逐步建立一套安全评估标准,以规范和指导安全信息的建立、安全产品 的生产,并能较准确地评测产品的安全性能指标。在当前各国制定和采用的标 准中,最重要的是1985年美国国防部颁布的“可信计算机系统评估标准 (TCSEC)”桔皮书(又简称为DoD85)。1991年,美国国家计算机安全中 心(NCSC)又颁布了“可信计算机评估标准关于可信数据库管理系统的解释 (TDI)”。我国也于1994年2月发布了“中华人民共和国计算机信息系统安全 保护条例

9.1数据库系统安全概述 9.1.3数据库系统安全性要求 与其它计算机系统(如操作系统)的安全需求类似,数据库系统的安全需 求可以归纳为完整性、保密性和可用性三个方面。 (1)数据库的完整性 数据库系统的完整性主要包括物理完整性和逻辑完整性。物理完整性是指 保证数据库的数据不受物理故障(如硬件故障、掉电等)的影响,并有可能在 灾难性毁坏时重建和恢复数据库。逻辑完整性是指对数据库逻辑结构的保护, 包括数据的语义完整性与操作完整性。前者主要指数据存取在逻辑上满足完整 性约束,后者主要指在并发事务中保证数据的逻辑一致性。 (2)数据库的保密性 数据库的保密性是指不允许未经授权的用户存取数据。 (3)数据库的可用性 数据库的可用性是指不应拒绝授权用户对数据库的正常操作,同时保证系 统的运行效率并提供用户友好的人机交互
9.1 数据库系统安全概述 9.1.3数据库系统安全性要求 与其它计算机系统(如操作系统)的安全需求类似,数据库系统的安全需 求可以归纳为完整性、保密性和可用性三个方面。 (1)数据库的完整性 数据库系统的完整性主要包括物理完整性和逻辑完整性。物理完整性是指 保证数据库的数据不受物理故障(如硬件故障、掉电等)的影响,并有可能在 灾难性毁坏时重建和恢复数据库。逻辑完整性是指对数据库逻辑结构的保护, 包括数据的语义完整性与操作完整性。前者主要指数据存取在逻辑上满足完整 性约束,后者主要指在并发事务中保证数据的逻辑一致性。 (2)数据库的保密性 数据库的保密性是指不允许未经授权的用户存取数据。 (3)数据库的可用性 数据库的可用性是指不应拒绝授权用户对数据库的正常操作,同时保证系 统的运行效率并提供用户友好的人机交互

9.1数据库系统安全概述 9.1.4数据库系统安全框架 数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应 用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安 全框架可以划分为三个层次: ()网络系统层次:网络系统层次的安全防范技术有很多种,大致可以分为 防火墙、入侵检测、协作式入侵检测技术等。 (2)宿主操作系统层次;操作系统安全策略用于配置本地计算机的安全设置 包括密码策略、账户锁定策略、审核策略、P安全策略、用户权利指派、加密 数据的恢复代理以及其它安全选项。具体可以体现在用户账户、口令、访问权 限、审计等方面。 (3)数据库管理系统层次。数据库管理系统对数据库文件进行加密处理,使 得即使数据不幸泄露或者丢失,也难以被人破译和阅读。 这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密 的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全
9.1 数据库系统安全概述 9.1.4 数据库系统安全框架 数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应 用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安 全框架可以划分为三个层次: ⑴ 网络系统层次;网络系统层次的安全防范技术有很多种,大致可以分为 防火墙、入侵检测、协作式入侵检测技术等。 ⑵ 宿主操作系统层次;操作系统安全策略用于配置本地计算机的安全设置, 包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密 数据的恢复代理以及其它安全选项。具体可以体现在用户账户、口令、访问权 限、审计等方面。 ⑶ 数据库管理系统层次。数据库管理系统对数据库文件进行加密处理,使 得即使数据不幸泄露或者丢失,也难以被人破译和阅读。 这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密 的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全

9.2数据库系统安全保护机制 9.2.1用户标识与鉴别 用户标识是指用户向系统出示自己的身份证明,最简单的方法是输入用户 D和密码。标识机制用于惟一标志进入系统的每个用户的身份,因此必须保证 标识的惟一性。鉴别是指系统检查验证用户的身份证明,用于检验用户身份的 合法性。标识和鉴别功能保证了只有合法的用户才能存取系统中的资源。近年 来标识与鉴别技术发展迅速,一些实体认证的新技术在数据库系统集成中得到 应用。目前,常用的方法有通行字认证、数字证书认证、智能卡认证和个人特 征识别等
9.2 数据库系统安全保护机制 9.2.1 用户标识与鉴别 用户标识是指用户向系统出示自己的身份证明,最简单的方法是输入用户 ID和密码。标识机制用于惟一标志进入系统的每个用户的身份,因此必须保证 标识的惟一性。鉴别是指系统检查验证用户的身份证明,用于检验用户身份的 合法性。标识和鉴别功能保证了只有合法的用户才能存取系统中的资源。近年 来标识与鉴别技术发展迅速,一些实体认证的新技术在数据库系统集成中得到 应用。目前,常用的方法有通行字认证、数字证书认证、智能卡认证和个人特 征识别等

9.2数据库系统安全保护机制 9.2.2存取控制 传统的存取控制机制有两种,即DAC(Discretionary Access Control,自 主存取控制)和MAC(Mandatory Access Control,,强制存取控制)。在DAC 机制中,用户对不同的数据对象有不同的存取权限,而且还可以将其拥有的存 取权限转授给其他用户。MAC机制对于不同类型的信息采取不同层次的安全 策略,对不同类型的数据来进行访问授权。 近年来,RBAC(Role-based Access Control,基于角色的存取控制)得 到了广泛的关注。RBAC在主体和权限之间增加了一个中间桥梁一角色。角 色可以根据组织中的不同工作创建,然后根据用户的责任和资格分配角色,用 户可以轻松地进行角色转换。2002年,Park.J和Sundhu.R首次提出了UCON (Usage Control,使用控制)的概念。UCON对传统的存取控制进行了扩展, 定义了授权(Authorization)、职责(Obligation)和条件(Condition)3个决 定性因素,同时提出了存取控制的连续性(Continuity)和易变性(Mutability) 两个重要属性
9.2 数据库系统安全保护机制 9.2.2 存取控制 传统的存取控制机制有两种,即DAC(Discretionary Access Control,自 主存取控制)和MAC(Mandatory Access Control,强制存取控制)。在DAC 机制中,用户对不同的数据对象有不同的存取权限,而且还可以将其拥有的存 取权限转授给其他用户。 MAC机制对于不同类型的信息采取不同层次的安全 策略,对不同类型的数据来进行访问授权。 近年来,RBAC(Role-based Access Control,基于角色的存取控制)得 到了广泛的关注。RBAC在主体和权限之间增加了一个中间桥梁——角色。角 色可以根据组织中的不同工作创建,然后根据用户的责任和资格分配角色,用 户可以轻松地进行角色转换。 2002年,Park. J和Sundhu. R首次提出了UCON (Usage Control,使用控制)的概念。UCON对传统的存取控制进行了扩展, 定义了授权(Authorization)、职责(Obligation)和条件(Condition)3个决 定性因素,同时提出了存取控制的连续性(Continuity)和易变性(Mutability) 两个重要属性

9.2数据库系统安全保护机制 9.2.3数据库加密 一般来说,数据库加密的粒度可以有4种,即表、属性、记录和数据元素 不同加密粒度的特点不同,总的来说,加密粒度越小,则灵活性越好且安全性 越高,但实现技术也更为复杂,对系统的运行效率影响也越大。 (1)表加密 表级加密的对象是整个表,这种加密方法类似于操作系统中文件加密的方 法。 (2)属性加密 属性加密又称为“域加密”或“字段加密”,即以表中的列为单位进行加 密。 (3)记录加密 记录加密是把表中的一条记录作为加密的单位,当数据库中需要加密的记 录数比较少时,采用这种方法是比较好的。 (4)数据元素加密 数据元素加密是以记录中每个字段的值为单位进行加密,数据元素是数据 库中最小的加密粒度
9.2 数据库系统安全保护机制 9.2.3 数据库加密 一般来说,数据库加密的粒度可以有4种,即表、属性、记录和数据元素。 不同加密粒度的特点不同,总的来说,加密粒度越小,则灵活性越好且安全性 越高,但实现技术也更为复杂,对系统的运行效率影响也越大。 (1)表加密 表级加密的对象是整个表,这种加密方法类似于操作系统中文件加密的方 法。 (2)属性加密 属性加密又称为“域加密”或“字段加密”,即以表中的列为单位进行加 密。 (3)记录加密 记录加密是把表中的一条记录作为加密的单位,当数据库中需要加密的记 录数比较少时,采用这种方法是比较好的。 (4)数据元素加密 数据元素加密是以记录中每个字段的值为单位进行加密,数据元素是数据 库中最小的加密粒度

9.2数据库系统安全保护机制 9.2.3数据库加密 加密算法 加密算法是数据加密的核心,一个好的加密算法产生的密文应该频率平衡 随机无重码,周期很长而又不可能产生重复现象。常用的加密算法包括对称密 钥算法和非对称密钥算法。 密钥管理 对数据库进行加密,一般对不同的加密单元采用不同的密钥。对数据库密 钥的管理一般有集中密钥管理和多级密钥管理两种体制,集中密钥管理方法是 设立密钥管理中心。在多级密钥体制中,主密钥是加密子系统的关键,系统的 安全性在很大程度上依赖于主密钥的安全性
9.2 数据库系统安全保护机制 9.2.3 数据库加密 加密算法 加密算法是数据加密的核心,一个好的加密算法产生的密文应该频率平衡, 随机无重码,周期很长而又不可能产生重复现象。常用的加密算法包括对称密 钥算法和非对称密钥算法。 密钥管理 对数据库进行加密,一般对不同的加密单元采用不同的密钥。对数据库密 钥的管理一般有集中密钥管理和多级密钥管理两种体制,集中密钥管理方法是 设立密钥管理中心。在多级密钥体制中,主密钥是加密子系统的关键,系统的 安全性在很大程度上依赖于主密钥的安全性

9.2数据库系统安全保护机制 9.2.4数据库审计 数据库审计是指监视和记录用户对数据库所施加的各种操作的机制。数据 库管理系统的审计主要分为语句审计、特权审计、模式对象审计和资源审计, 语句审计是指监视一个或者多个特定用户或者所有用户提交的SQL语句;特权 审计是指监视一个或者多个特定用户或者所有用户使用的系统特权;模式对象 审计是指监视一个模式中在一个或者多个对象上发生的行为:资源审计是指监 视分配给每个用户的系统资源。审计机制应该至少记录用户标识和认证、客体 访问、授权用户进行并会影响系统安全的操作,以及其他安全相关事件。审计 的策略库一般由两个方面因素构成,即数据库本身可选的审计规则和管理员设 计的触发策略机制
9.2 数据库系统安全保护机制 9.2.4 数据库审计 数据库审计是指监视和记录用户对数据库所施加的各种操作的机制。数据 库管理系统的审计主要分为语句审计、特权审计、模式对象审计和资源审计, 语句审计是指监视一个或者多个特定用户或者所有用户提交的SQL语句;特权 审计是指监视一个或者多个特定用户或者所有用户使用的系统特权;模式对象 审计是指监视一个模式中在一个或者多个对象上发生的行为;资源审计是指监 视分配给每个用户的系统资源。审计机制应该至少记录用户标识和认证、客体 访问、授权用户进行并会影响系统安全的操作,以及其他安全相关事件。审计 的策略库一般由两个方面因素构成,即数据库本身可选的审计规则和管理员设 计的触发策略机制