数据库安全机制

上传人:枫** 文档编号:563648286 上传时间:2023-02-04 格式:DOCX 页数:15 大小:110.95KB
返回 下载 相关 举报
数据库安全机制_第1页
第1页 / 共15页
数据库安全机制_第2页
第2页 / 共15页
数据库安全机制_第3页
第3页 / 共15页
数据库安全机制_第4页
第4页 / 共15页
数据库安全机制_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据库安全机制》由会员分享,可在线阅读,更多相关《数据库安全机制(15页珍藏版)》请在金锄头文库上搜索。

1、1.1数据库安全机制数据库安全机制是用于实现数据库的各种安全策略的功能集合,正是由这些安全机制来 实现安全模型,进而实现保护数据库系统安全的目标。数据库系统的安全机制如图所示:1.1.1 用户标识与鉴别用户标识是指用户向系统出示自己的身份证明,最简单的方法是输入用户ID和密码。 标识机制用于惟一标志进入系统的每个用户的身份,因此必须保证标识的惟一性。鉴别是指 系统检查验证用户的身份证明,用于检验用户身份的合法性。标识和鉴别功能保证了只有合 法的用户才能存取系统中的资源。由于数据库用户的安全等级是不同的,因此分配给他们的权限也是不一样的,数据库系 统必须建立严格的用户认证机制。身份的标识和鉴别是

2、DBMS对访问者授权的前提,并且 通过审计机制使 DBMS 保留追究用户行为责任的能力。功能完善的标识与鉴别机制也是访 问控制机制有效实施的基础,特别是在一个开放的多用户系统的网络环境中,识别与鉴别用 户是构筑DBMS安全防线的第1个重要环节。近年来一些实体认证的新技术在数据库系统集成中得到应用。目前,常用的方法有通行 字认证、数字证书认证、智能卡认证和个人特征识别等。通行字也称为“口令”或“密码”,它是一种根据已知事物验证身份的方法,也是一种最广 泛研究和使用的身份验证法。在数据库系统中往往对通行字采取一些控制措施,常见的有最 小长度限制、次数限定、选择字符、有效期、双通行字和封锁用户系统等

3、。一般还需考虑通 行字的分配和管理,以及在计算机中的安全存储。通行字多以加密形式存储,攻击者要得到 通行字,必须知道加密算法和密钥。算法可能是公开的,但密钥应该是秘密的。也有的系统 存储通行字的单向Hash值,攻击者即使得到密文也难以推出通行字的明文。数字证书是认证中心颁发并进行数字签名的数字凭证,它实现实体身份的鉴别与认证、信息完整性验证、机密性和不可否认性等安全服务。数字证书可用来证明实体所宣称的身份 与其持有的公钥的匹配关系,使得实体的身份与证书中的公钥相互绑定。智能卡(有源卡、IC卡或Smart卡)作为个人所有物,可以用来验证个人身份,典型 智能卡主要由微处理器、存储器、输入输出接口、

4、安全逻辑及运算处理器等组成。在智能卡 中引入了认证的概念,认证是智能卡和应用终端之间通过相应的认证过程来相互确认合法 性。在卡和接口设备之间只有相互认证之后才能进行数据的读写操作,目的在于防止伪造应 用终端及相应的智能卡。根据被授权用户的个人特征来进行确证是一种可信度更高的验证方法,目前已得到应用 的个人生理特征包括指纹、语音声纹(voice- print)、DNA、视网膜、虹膜、脸型和手型等。1.1.2 访问控制1.1.2.1 概述访问控制的目的是确保用户对数据库只能进行经过授权的有关操作。在存取控制机制 中,一般把被访问的资源称为“客体”,把以用户名义进行资源访问的进程、事务等实体称为 “

5、主体”。传统的存取控制机制有两种,即DAC(Discretionary Access Control,自主存取控制)和MAC (Mandatory Access Control,强制存取控制)。近年来,RBAC (Role-based Access Control, 基于角色的存取控制)得到了广泛的关注。1.1.2.2据访问级别和类型DBMS 中的安全系统必须具有伸缩性以便为各种数据级别授权。数据级别有以下几种: 整个数据库、单个关系表(所有行和所有列)、关系表中特定列(所有行)、关系表中的特定 行(所有列)以及关系表的特定行和特定列。数据的所有访问模式和类型如下: 插入或建立。在文件中添加数

6、据,不销毁任何数据。 读取。用户可通过应用程序或数据库查询,将数据从数据库复制到用户环境。 更新。编写更新值。 删除。删除和销毁特定数据库对象。 移动。移动数据对象,但没有读取内容的权限。 执行。使用执行需要的权限,运行程序或过程。 确认存在性。确认数据库是否存在特定数据库对象。1.1.2.3 任意控制 (DAC)采用该方法以若干种指派模式授予各个用户访问特定数据项的权限或权力。基于权限 说明,用户能以读取、更新、插入或删除模式随意访问数据项。建立数据库对象的用户自动 得到此对象的所有访问权限,包括将此对象的权限再授予他人。在授予或撤消访问权限时,有两种主要级别: 数据库对象:数据项或数据元素

7、,一般是基本表或视图用户:可以用一些授权标识符识别的单个用户或用户组 授权通常都是在这两种级别上进行。1. 授权DBMS 提供了功能强大的授权机制,它可以给用户授予各种不同对象(表、视图、存 储过程等)的不同使用权限(如 Select、update、insert、delete 等)。在用户级别,可以授予数据库模式和数据操纵方面的以下几种授权,包括:创建和删除 索引、创建新关系、添加或删除关系中的属性、删除关系、查询数据、插入新数据、修改数 据、删除数据等。在数据库对象级别,可将上述访问权限应用于数据库、基本表、视图和列等。2. 数据库角色 如果要给成千上万个雇员分配许可,将面临很大的管理难题,

8、每次有雇员到来或者离 开时,就得有人分配或去除可能与数百张表或视图有关的权限。这项任务很耗时间而且非常 容易出错。即使建立SQL过程来帮忙,也几乎需要时时去维护。一个相对特别简单有效的 解决方案就是定义数据库角色。数据库角色是被命名的一组与数据库操作相关的权限,角色 是一组相关权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来 管理数据库权限可以简化授权的过程。先创建一个角色,并且把需要的许可分配给角色,而不是分配给个人用户,然后再把 角色分配给特定用户。当有新的雇员到来时,把角色添加给用户就提供了所有必要的权限。授权管理机制如图 4-3 所示。/ DBA授权角色用户用户用

9、户用户1.1.2.4 |_一_强制控制( MAC )强制访问控制模型基于与每个数据项和每个用户关联的安全性标识(Security Label)。安 全性标识被分为若干级别:绝密(Top Secret)、机密(Secret)、秘密(Confidential)、一般 (Public)。数据的标识称为密级(Security Classification),用户的标识称为许可级别证(Security Clearance)。在计算机系统中,每个运行的程序继承用户的许可证级别,也可以说,用户的许可证 级别不仅仅应用于作为人的用户,而且应用于该用户运行的所有程序。当某一用户以某一密 级进入系统时,在确定该用

10、户能否访问系统上的数据时应遵守如下规则:当且仅当用户许可证级别大于等于数据的密级时,该用户才能对该数据进行读操作。当且仅当用户的许可证级别小于或等于数据的密级时,该用户才能对该数据进行写操作。第二条规则表明用户可以为其写入的数据对象赋予高于自己许可证级别的密级,这样 的数据被写入后用户自己就不能再读该数据对象了。这两种规则的共同点在于它们禁止了拥 有高级许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄露。1.1.2.5 基于角色的存取控制(RBAC)RBAC在主体和权限之间增加了一个中间桥梁一一角色。权限被授予角色,而管理员通 过指定用户为特定角色来为用户授权。从而大大简化了授权管

11、理,具有强大的可操作性和可 管理性。角色可以根据组织中的不同工作创建,然后根据用户的责任和资格分配角色,用户 可以轻松地进行角色转换。而随着新应用和新系统的增加,角色可以分配更多的权限,也可 以根据需要撤销相应的权限。RBAC核心模型包含了 5个基本的静态集合,即用户集(users)、角色集(roles)、特权 集 (perms)(包括对象集(objects)和操作集(operators),以及一个运行过程中动态维 护的集合,即会话集(sessions),如图1-1所示。用户集包括系统中可以执行操作的用户,是主动的实体;对象集是系统中被动的实体, 包含系统需要保护的信息;操作集是定义在对象上的

12、一组操作,对象上的一组操作构成了一 个特权;角色则是RBAC模型的核心,通过用户分配(UA)和特权分配(PA)使用户与特 权关联起来。RBAC属于策略中立型的存取控制模型,既可以实现自主存取控制策略,又可以实现强 制存取控制策略。它可以有效缓解传统安全管理处理瓶颈问题,被认为是一种普遍适用的访 问控制模型,尤其适用于大型组织的有效的访问控制机制。1.1.2.6视I图机制几乎所有的DBMS都提供视图机制。视图不同于基本表,它们不存储实际数据,数据 库表存储数据,视图好象数据库表的窗口,是虚拟表。当用户通过视图访问数据时,是从基 本表获得数据,但只是由视图中定义的列构成。视图提供了一种灵活而简单的

13、方法,以个人 化方式授予访问权限,是强大的安全工具。在授予用户对特定视图的访问权限时,该权限只 用于在该视图中定义的数据项,而未用于完整基本表本身。因此,在使用视图的时候不用担 心用户会无意地删除数据或者给真实表中添加有害的数据,并且可以限制用户只能使用指定 部分的数据,增加了数据的保密性和安全性。1.1.3 数据库加密1.1.3.1 概述由于数据库在操作系统中以文件形式管理,所以入侵者可以直接利用操作系统的漏洞窃 取数据库文件,或者篡改数据库文件内容。另一方面,数据库管理员(DBA)可以任意访 问所有数据,往往超出了其职责范围,同样造成安全隐患。因此,数据库的保密问题不仅包 括在传输过程中采

14、用加密保护和控制非法访问,还包括对存储的敏感数据进行加密保护,使 得即使数据不幸泄露或者丢失,也难以造成泄密。同时,数据库加密可以由用户用自己的密 钥加密自己的敏感信息,而不需要了解数据内容的数据库管理员无法进行正常解密,从而可 以实现个性化的用户隐私保护。对数据库加密必然会带来数据存储与索引、密钥分配和管理等一系列问题,同时加密也 会显著地降低数据库的访问与运行效率。保密性与可用性之间不可避免地存在冲突,需要妥 善解决二者之间的矛盾。 数据库中存储密文数据后,如何进行高效查询成为一个重要的问题。查询语句一般不可以直 接运用到密文数据库的查询过程中,一般的方法是首先解密加密数据,然后查询解密数

15、据 但由于要对整个数据库或数据表进行解密操作,因此开销巨大。在实际操作中需要通过有效 的查询策略来直接执行密文查询或较小粒度的快速解密。一般来说,一个好的数据库加密系统应该满足以下几个方面的要求。 足够的加密强度,保证长时间且大量数据不被破译。 加密后的数据库存储量没有明显的增加。 加解密速度足够快,影响数据操作响应时间尽量短。 加解密对数据库的合法用户操作(如数据的增、删、改等)是透明的。 灵活的密钥管理机制,加解密密钥存储安全,使用方便可靠。1.1.3.2 数据库加密的实现机制数据库加密的实现机制主要研究执行加密部件在数据库系统中所处的层次和位置,通过 对比各种体系结构的运行效率、可扩展性

16、和安全性,以求得最佳的系统结构。 按照加密部件与数据库系统的不同关系,数据库加密机制可以从大的方面分为库内加密和库 外加密。( 1)库内加密库内加密在 DBMS 内核层实现加密,加解密过程对用户与应用透明,数据在物理存 取之前完成加/解密工作。这种方式的优点是加密功能强,并且加密功能集成为DBMS的 功能,可以实现加密功能与 DBMS 之间的无缝耦合。对于数据库应用来说,库内加密方式 是完全透明的。库内加密方式的主要缺点如下。 对系统性能影响比较大, BMS 除了完成正常的功能外,还要进行加/解密运算,从而加 重了数据库服务器的负载。 密钥管理风险大,加密密钥与库数据保存在服务器中,其安全性依赖于 DBMS 的访

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号