ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:30.72KB ,
资源ID:9222998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9222998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章数据库的安全性.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第四章数据库的安全性.docx

1、第四章数据库的安全性第四章 数据库的安全性数据库的特点之一:数据是由DBMS统一进行管理。如何来保证数据的安全可靠、正确有效,DBMS提供四个方面控制功能:数据的安全性;数据的完整性;并发控制;数据库恢复。本章主要讨论数据的安全性、在DBMS中采用什么样的安全技术措施来保证数据库的数据安全。下一章讨论数据的完整性。41计算机安全性概述数据库的安全性:是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。数据库的安全性和计算机系统的安全性(计算机硬件、操作系统、网络系统等的安全性)是紧密联系、相互支持的,因此在讨论数据库的安全性之前首先讨论计算机系统安全性的一般问题。411计算机系统的三

2、类安全性问题计算机系统安全性:为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统的安全问题可分为三大类,技术安全类、管理安全和政策法律类。技术安全:是指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存储数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。管理安全:是指由于管理不善导致计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。政策法律:指政府部门建立的有关计算机犯罪、数据安全保

3、密的法律道德准则和政策法规、法令。本书只讨论技术安全。42数据库安全性控制在一般计算机系统中,安全措施是一级一级层层设置的。例如,可以有如下的模型:用户识别和鉴别 数据库安全保护 操作系统安全保护 数据密码存储 图4.2 计算机系统的安全模型这里只讨论与数据库有关的用户标识和鉴定、存储控制、图和密码存储等安全技术。421用户标识与鉴别(Identification&Authentication)用户标识和鉴别使系统提供的最外层安全保护措施。数据库是数据库管理系统进行用户标识和鉴定。用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,已获得更强和安全性。常用的方法有:用户标识:(U

4、sr Identification)用一个用户名(User Name)或者时标识号(UID)来表明用户身份.系统内部记录着所有合法用户的标识,系统鉴别用户是否是合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。口令(Password)为了进一步核实用户,系统常常鉴别用户输入口令。用户标识和鉴定可以重复多次。422存取控制数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括两部分:1 定义用户权限,并将用户权限登记到数据字典中权限:用户对某一数据对象的操作权力。DBMS

5、系统必须提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称作安全规则或授权规则 。2.合法权限检查用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。大型的DBMS一般都支持C2级中的自主存取控制(Discretionary Access Control ,简记为DAC),有些DBMS同时还支持B1级中的强制存取控制(Mandatory Access Control,简记为MAC)。(1) 在自主存取控制方法中,用户不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转售给其他用户。因此自主存取控制非常灵活。(2) 在

6、强制存取控制方法中,每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。下面介绍这两种存取控制方法。423自主存取控制(DAC)方法大型数据库管理系统几乎都支持自主存取控制,这主要通过SQL的GRANT语句和REVOKE语句来实现。用户权限是由两个要素组成的:数据库对象和操作类型。表4.3列出了主要的存取权限。表4.3 关系数据库系统中的存取权限对象类型 对象 操作类型数据库 模式 CREATE SCHEMA 基本表 CREATE TABLE,ALTER TABLE模式 视图 CREATE

7、VIEW 索引 CREATE INDES 数据 基本表和视图 SELECT,INSERT,UPDATE,DELETE, REFERENCES,ALL PRIVILEGES数据 属性列 SELECT,INSERT,UPDATE,REFERENCES ALL PRIVILEGES4.2.4授权(Authorization)与回收SQL中的GRANT语句和REVOKE语句。GRANT语句向用户授予权限,REVOKE语句收回授予的权限。一、 GRANT GRANT语句的一般格式为 GRANT, ON TO , WITH GRANT OPTION; 1.把查询Student表的权限授给用户U1GRANT

8、 SELECTON TABLE StudentTO U1 2.把对表Student和表Course的全部操作权限授予用户u2和u3GRANT ALL PRIVILEGESON TABLE Studeng,CourseTO U2,U3; 3.把对表SC的查询权限授予所有用户GRANT SELECT ON TABLE SCTO PUBLIC 4.把查询Student表和修改学生学号的权限授给用户U4GRANT UPDATE(Sno),SELECTON TABLE StudentTO U4 5.GRANT INSERTON TABLE SCTO U5WITH GRANT OPTION6.GRANT

9、INSERT ON TABLE SCTO U6WITH GRANT OPTION; 7.GRANT INSERTON TABLE SCTO U7;二 REVOKEREVOKE语句的一般格式为REVOKE,ON,FROM, CASCADERESTRICE; 1把用户U4修改学生学号的权限收回。REVOKE UPDATE(Sno)ON TABLE StudentFROM U4 2把用户U5对SC表的SC权限收回REVOKE SELECTON TABLE SCFROM PUBLIC; 3把用户U5对SC表的INSERT权限收回REVOKE INSERTON TABLE SC FROM U5 CASC

10、ADE 将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回,不然系统将拒绝(RESTRICT)执行该命令。SQL提供了非常灵活的授权机制。DBA拥有对数据库中所有的所有权限,并可以根据实际情况将不同的权限授予不能的用户。用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。被授予的用户如果有“继续授权”的许可,好可以把获得的权限再授予其他用户。所有授予出去的权力在必要时又都可以用REVOKE语句收回。三创建数据库模式的权限数据库模式的授权则由DBA在创建用户时实现。CREATE USER语句一般格式如下:CREATE USERWI

11、THDBARESOURCECONNECT;对CREATE USER语句说明如下:只有系统的超级用户才有权创建一个新的数据库用户。新创建的数据库用户有三种权限:CONNECT RESOURCE和DBA.。REATE USER命令中如果没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。CONNECT权限:用户不能创建新用户,不能创建模式,也不能创建基本表;只能登陆数据库。然后由DBA或其他用户授予他应有的权限,根据获得的授权情况他可以对数据库对象进行权限范围内的操作拥有RESOURCE权限:用户能创建基本表和视图,成为所创建对象的属主。但是不能创建模式,不能创建新的用户。数据库对象的属

12、主可以使用GRANT 语句把该对象上的存取权限授予其他用户。拥有DBA权限的用户使系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户。以上说明可以用表4.6来总结。 表4.6 全线与可执行的操作对照表拥有的权限 可否执行的操作CREATE USERCREATE SCHEMACREATE TABLE登陆数据库执行数据查询和操纵DBA可以可以可以可以RESOURCE不可以不可以可以可以CONNECT不可以不可以不可以可以425数据库角色数据库角色是权限的集合(被命名的一组与数据库操作相关的权限),为一组具有相同权限的

13、用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。一、 角色的创建语句格式是CREATE ROLE 二、 给角色授权GRANT,ON 对象名TO ,三、 将一个角色授予其他的角色或用户GRANT,TO,WITH ADMIN POTION如果指定了WITH ADMIN OPTION子句,则获得某种权限的角色或用户还可以把这种权限再授予其他的角色。四、角色权限的收回REVOKE ,ONFROM, 用户可以收回角色的权限,从而修改角色拥有的权限。 REVOKE动作的执行者或者是角色的创建者,或者拥有在这个(些)角色上的ADMIN OPTION.通过角色来实现将一组权限授予一个用户。1 首

14、先创建一个角色R1CREATE ROLE R1;2.然后使用GRANT 语句,使角色R1拥有Student表的SELECT UPDATE、INSERT权限 GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;3.将这个角色授予王平、张明、赵玲。使他们具有角色R1所包含的全部权限。 GRANT R1 TO 王平,张明,赵玲;4当然,也可以一次性的通过R1来回收王平的这3个权限REVOKE R1FROM王平;5角色的权限修改GRANT DELETEON TABLE StudentTO R1使角色R1在原来的基础上增加了Student表的DELETE权

15、限。6REVOKE SELECTON TABLE StudentTO R1426强制存取控制(MAC)方法由于用户对数据的存取权限是“自主”的,用户可以自由地决定将数据的存取权限授予任何人、决定是否也将“授权”的权限授予别人。这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。要解决这一问题,就需要对系统控制下的所有客户主体实施强制存取控制策略。在MAC中,DBMS所管理的全部实体被分为主体和客体两大类。主体:是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。客体:使系统中的被动实体,是受主体操纵的,包括文件、基本表、索引、视图等。对于主体和客体

16、,DBMS为它们每过实例(值)指派一个敏感度标记(Label)。敏感度标记被分为若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Label)、客体的敏感度标记称为密级(Classification Level)。MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。43视图机制不同的用户定义不同的视图,把数据对象限制在一定的范围内,也就是说,通过时突击只要把保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。建

17、立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作权限授予张明CREATE VIEW CS_StudentASSELECT *FROM StudentWHERE Sdept=CSGRANT SELECTON CS_StudentTO王平;GRANT ALL PRIVILIGESON CS_StudentTO张明;4.4审计(Audit)审计功能;把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)中。DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。审计通常是很费时间和空间的,所以,审计功能一般

18、主要用于安全性要求较高的部门。审计一般可以分为用户审计和系统审计。用户审计:是任何用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,即;所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。系统审计:只能由DBA设置,用以监测成功或失败的登陆要求、监测GRANT和REVOKE操作以及其他数据库权限下的操作。AUDIT语句用来设置审计功能,NOAUDIT语句取消审计功能.1对修改SC表结构或修改SC表数据的操作进行审计。 AUDIT ALTER ,UPDATE ON SC;2取消对SC标的一切审计。 NO AUDIT ALTER ,UPDATE ON

19、SC;审计设置以及审计内容一般都存放在数据字典中。必须把审计开关打开(即把系统参数audit_trail设为true),才可以在系统表(SYS_AUDITTRAIL)中察看审计信息。45数据加密对于高度敏感性数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。加密方法只要有两种:一种是替换方法,该方法使用密钥(Encryption key)将明文中的每一个字符转换为密文中的字符。另一种是置换方法,该方法将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的。但是讲两种方法结合起来就能够提供相当的安全程度。46统计数据库安全性一般地,统计数据

20、库允许用户查询聚集类型的信息(例如合计、平均值),但是不允许查询单个数据单个纪录。例如,查询“程序员的平均工资是多少?”是合法的,但是查询“程序员张勇的工资是多少?”就不允许。在统计数据库中存在着特殊的安全性问题,极可能存在着隐藏的信息通道,使得可以从合法的查询中推导出不合法的信息。例如下面两个查询都合法的;本公司共有多少女高级程序员?本公司女高级程序员的工资总和是多少?如果第1个查询的结果是“1”,那么第2个查询的结果显然就是这个程序员的工资.这样统计数据库的安全机制就失效了,为了解决这个问题,可以规定任何查询至少要设计N个以上的记录(N足够大)。但是即使这样,还是存在另外的泄密途径, 另外还有其他一些方法用于解决统计数据库的安全问题,例如数据污染。但是无论采用什么安全性机制,都仍然会存在绕过这些机制的途径。好的安全性措施应该使得那些试图破坏安全的人所花费的代价远远超过他们所得到的利益,这也是整个数据库安全机制设计目标。47小结随着计算机特别是计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要。DBMS是管理数据的核心,因而其自身必须具有一整套完整而有效的安全机制。计算机以及信息安全技术方面有一系列的安全标准,最有影响的当推TCSEC和CC。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2