没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
数据库的安全机制研究
一 数据库安全概述
数据库系统的安全是计算机安全中非常重要的一部分,主要包括以下几个层次的安全
措施:
1. 数据库系统层次
数据库管理系统的安全保护主要表现在对数据库的存取控制上。同时,数据库本身的
完整性问题也直接关系到数据库数据的安全可靠。一般情况下,数据库的安全性是指保护
数据库以防止不合法的使用者所造成的数据泄露、更改或破坏。
数据库管理系统安全机制的核心目的是:作为保存数据的数据库系统的管理系统,应
当提供对数据的安全存取的服务器,即在向授权用户提供可靠的数据服务的同时,又要拒
绝非授权的对数据的存取访问请求,保证数据库管理下的数据的可用性、完整性和一致性,
进而保护数据库所有者和使用者的合法权益。
关系数据库中的特权授予和回收等措施构成数据库管理系统提供的基本安全保证,这
些对于数据共享和数据操作管理可能是很方便的,但对于严格的数据安全要求来讲,还是
不够的,严格的数据安全要求更为精细的措施。
2. 操作系统层次
(1) 标识、鉴别、审核用户,包括从应用系统的各个层次的用户到涉及系统管理的用户,
特别是数据库管理员(DBA),系统管理员类的重要用户。
(2) 隔离用户进程,使之不致互相干扰。
(3) 为数据库管理系统提供第一道防线,使其它用户不得绕过数据库管理系统直接存取
库中的数据,例如进程级的监控和管理。
3. 网络层次
网络层次的安全性包括保密性、安全协议设计、接入控制等。
4. 物理层次
物理层次的安全性主要指物理结点保护、硬件保护等方面所采取的相应措施。
5. 人员层次
在人员层次上,主要采取用户分类、角色设定、授权等措施来防止操作人员对系统的
非法访问。
对数据库安全存在的威胁
原则上,凡是造成对数据库内存储数据的非授权的访问—读取,或非授权的写入—增
加、删除、修改等,都属于对数据库的数据安全造成了威胁或破坏。另一方面,凡是正常
业务需要访问数据库时,令授权用户不能正常得到数据库的数据服务时,也称之为对数据
库的安全形成了威胁或破坏。因为很显然,这两种情况都会对数据库的合法用户的权益造
成侵犯,或者是信息的被窃取,或者是由于信息的破坏而形成提供错误信息的服务,或者
是干脆拒绝提供服务。
对数据库安全的威胁或侵犯大致可以分为以下几类:
自然灾害:自然的或意外的事故、灾难,例如地震、水灾、火灾等导致的硬件损坏,
进而导致数据的损坏和丢失。
人为疏忽:由授权用户造成的无意损害,特别在批处理作业的情况下。
恶意破坏:存心不良的编程人员、技术支持人员和执行数据库管理功能的人员的破坏、
毁损及其他行为。
犯罪行为:盗窃行为、监守自盗、工业间谍,出卖公司秘密和邮件列表数据的雇
员。
隐私侵害:不负责任的猎奇,竞争者查看数据,为政治和法律目的获取数据。
下图列出了数据库安全威胁及其来源
。
基于计算机技术的防卫措施主要有:
用户授权:包括授权用户的身份验证以及为他们授予访问权限。
通过视图调整授权:定义可向用户授权数据库特定部分的用户视图。
备份和恢复:定期建立数据库备份副本,并测试和实现恢复过程。
保护机密数据:使用加密技术保护机密数据。
二 访问控制
数据库系统的安全机制如下图所示。
2.1 数据访问级别和类型
DBMS 中的安全系统必须具有伸缩性以便为各种数据级别授权。数据级别有以下几种 :
整个数据库、单个关系表(所有行和所有列)、关系表中特定列(所有行)、关系表中的
特定行(所有列)以及关系表的特定行和特定列。
数据的所有访问模式和类型如下:
触发器
数据库服务器
(RDBMS)
授权机制 约束机制
审计
视图
操作系统
用户
身份验证
存储过程
图4-2 数据库系统的安全机制
插入或建立。在文件中添加数据,不销毁任何数据。
读取。用户可通过应用程序或数据库查询,将数据从数据库复制到用户环境。
更新。编写更新值。
删除。删除和销毁特定数据库对象。
移动。移动数据对象,但没有读取内容的权限。
执行。使用执行需要的权限,运行程序或过程。
确认存在性。确认数据库是否存在特定数据库对象。
2.2 任意控制(DAC)
采用该方法以若干种指派模式授予各个用户访问特定数据项的权限或权力。基于权限
说明,用户能以读取、更新、插入或删除模式随意访问数据项。建立数据库对象的用户自
动得到此对象的所有访问权限,包括将此对象的权限再授予他人。
在授予或撤消访问权限时,有两种主要级别:
数据库对象:数据项或数据元素,一般是基本表或视图
用户:可以用一些授权标识符识别的单个用户或用户组
授权通常都是在这两种级别上进行。
1. 授权
DBMS 提供了功能强大的授权机制,它可以给用户授予各种不同对象(表、视图、存
储过程等)的不同使用权限(如 Select、update、insert、delete 等)。
在用户级别,可以授予数据库模式和数据操纵方面的以下几种授权,包括:创建和删
除索引、创建新关系、添加或删除关系中的属性、删除关系、查询数据、插入新数据、修
改数据、删除数据等。
在数据库对象级别,可将上述访问权限应用于数据库、基本表、视图和列等。
2. 数据库角色
如果要给成千上万个雇员分配许可,将面临很大的管理难题,每次有雇员到来或者离
开时,就得有人分配或去除可能与数百张表或视图有关的权限。这项任务很耗时间而且非
常容易出错。即使建立 SQL 过程来帮忙,也几乎需要时时去维护。一个相对特别简单有效
的解决方案就是定义数据库角色。数据库角色是被命名的一组与数据库操作相关的权限,
角色是一组相关权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用
角色来管理数据库权限可以简化授权的过程。
先创建一个角色,并且把需要的许可分配给角色,而不是分配给个人用户,然后再把
角色分配给特定用户。当有新的雇员到来时,把角色添加给用户就提供了所有必要的权限。
授权管理机制如图 4-3 所示。
2.3 强制控制(MAC)
DBA
角色
用户
用户
用户
用户
授权
授权
图 4-3 授权管理示意图
剩余11页未读,继续阅读
资源评论
krizalid27
- 粉丝: 4
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功