《数据库原理与应用》_第1页
《数据库原理与应用》_第2页
《数据库原理与应用》_第3页
《数据库原理与应用》_第4页
《数据库原理与应用》_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理与应用第九章数据库安全性《数据库系统概论》整理课件内容、提纲DBMS的数据保护功能包括:安全性保护和完整性保护本章介绍数据库安全性,下一章介绍数据库的完整性。本章内容9.1计算机安全性概论9.2数据库安全性控制---主要介绍9.3统计数据库安全性9.4Oracle数据库的安全性整理课件教学要求掌握安全性的定义、安全性的级别、安全性措施用户对数据库的数据访问权限SQL中的两种安全性机制授权、权限转授与回收的概念了解理解利用视图和权限操作达到安全性的基本方法Oracle数据库的安全性措施整理课件9.1计算机安全性概论问题的提出数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题,数据库中的数据共享不能是无条件的共享。例如:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据等。数据库系统中,数据的共享是指在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据。整理课件数据库安全性定义数据库的安全性定义参见P283.保护数据库以防止不合法的使用所造成的数据泄露、非法更改和破坏。即保证是合法用户对数据库的合法访问。数据库安全性的基本措施是存取控制。数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一。整理课件计算机安全性安全性问题不是DBS所独有的,所有计算机系统都有安全性问题。只是在DBS中,大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系并且相互支持的。安全性级别为了保护数据库,防止被故意破坏,可以由低到高在5个级别上设置各种安全措施。整理课件计算机安全性级别①物理级(环境级):机房和设备,防止物理破坏。②人际级(职员级):工作人员应清正廉洁,正确授予用户访问DB的权限。③OS级:防止未经授权的用户从OS处着手访问DB,包括口令、并发控制、文件系统的安全等。④网络级:用户通过网络远程进行访问,网络软件内部的安全性很重要。⑤DBS级:检查用户的身份是否合法以及使用数据库的权限是否正确---本章介绍。整理课件9.1.1计算机系统的三类安全性问题计算机系统安全性

参见P283.是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改、泄露和破坏。计算机系统三类安全性问题技术安全类、管理安全类、政策法律类参见P283.~284.整理课件9.1.2可信计算机系统评测标准随着计算机资源共享和网络技术的应用日益广泛和深入,特别是Internet技术的发展,计算机安全性问题越来越得到人们的重视。对各种计算机及其相关产品、信息系统的安全性的要求越来越高。参见P284.为此,在计算机安全技术方面逐步发展了一套可信(Trusted)计算机系统的概念和标准。下面了解可信计算机系统的这些评测标准:TCSEC(桔皮书)、TDI(紫皮书)整理课件可信计算机系统评测标准TCSEC参见P284.~285.1985年美国国防部(DoD)正式颁布《DoD可信计算机系统评估标准》(简称TCSEC或DoD85),TCSEC又称桔皮书。TCSEC标准的目的1.提供一种标准,使用户可以对其计算机系统内敏感信息安全操作的可信程度做评估。2.给计算机行业的制造商提供一种可循的指导规则,使其产品能够更好地满足敏感应用的安全需求。

整理课件可信计算机系统评测标准TDI参见P284.~285.1991年4月美国NCSC(国家计算机安全中心)颁布了《可信计算机系统评估标准关于可信数据库系统的解释》(TrustedDatabaseInterpretation简称TDI)。TDI又称紫皮书。TDI将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。整理课件TCSEC/TDI安全指标23项

参见P284.~285.TDI/TCSEC标准的基本内容:定义了DBMS的设计与实现中需满足和用以进行安全性级别评估的标准。从4个方面描述安全性级别划分的指标:R1安全策略R2责任R3保证R4文档划分23项具体的安全性指标整理课件TCSEC/TDI安全级别划分根据计算机系统对23项指标的支持程度,将系统划分为4组7个等级。参见P286.表9.1不同安全级别对23项安全指标的支持情况。参见P287.表9.2整理课件TCSEC/TDI安全级别

参见P285.~287.表9.1A1级:验证设计参见P287.B3级:安全域参见P287.B2级:结构化保护参见P286.B1级:标记安全保护,对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计安全机制

参见P286.C2级:提供受控的存取保护,安全产品的最低档次参见P286.整理课件TCSEC/TDI安全级别(续)C1级:只提供非常初级的自主安全保护,能够实现用户和数据的分离,进行自主存取控制(DAC)

参见P286.D级:最小保护参见P285.后面将主要介绍:自主存取控制(DAC)强制存取控制(MAC)审计安全机制整理课件9.2数据库安全性控制计算机系统的安全模型参见P288.图9.1四个层次提供安全保护:

应用DBMSOS

DB低高安全性控制层次方法:

用户标识和鉴定

存取控制审计视图

操作系统安全保护

密码存储整理课件计算机系统安全控制层次计算机系统安全控制是一级一级层层设置的1.用户要求进入计算机系统和数据库系统进行用户标识,身份鉴别,合法允进保证是合法用户2.DBMS:进行存取控制保证进入系统的合法用户执行合法操作3.操作系统:有自己的保护措施4.数据库:数据可以以密码形式存储到数据库中数据库安全性控制的常用方法:用户标识和鉴定,存取控制,视图,审计,密码存储整理课件9.2.1用户标识与鉴别1.用户标识与鉴别:是DBS提供的最外层安全保护措施,保证进入系统的是DBS的合法用户。控制方法是:参见P288.①系统提供一定的方式,让用户标识自己的名字或身份。系统内部记录着所有合法用户的标识。每次用户要求进入系统时,由系统核对用户提供的身份标识,通过鉴定才提供机器使用权。②对于获得上机权的用户,若要使用DB时,DBMS还要进行用户标识和鉴别。整理课件用户标识与鉴别的方法2.用户标识自己的名字或身份的方法,很多种,多种方法可以并举,常用的方法:①用一个用户名或者用户标识号来表明用户身份。系统内部记录有所有合法用户的标识,系统鉴别此用户是否合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。②口令,为了进一步核实用户,系统常常要求用户输入口令。终端上输入的口令不显示,系统核对口令以鉴别用户身份。口令简单易行,容易被人窃取。整理课件用户标识与鉴别的方法(续)

参见P289.③复杂口令。用户和系统预先约定好一个计算过程或函数,鉴别用户身份时,系统提供一个随机数,用户计算输入,系统进行核对,进一步鉴定。④指纹、声音、图像等。用户标识和鉴定可以重复多次。整理课件9.2.2存取控制参见P289.数据库安全性最重要的一点就是:确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,即要保证对数据库是合法操作。---这主要通过DBMS的存取控制机制实现的。存取控制机制的组成,主要包括两部分:1.定义用户(存取)权限2.检查用户(存取)权限用户权限定义和合法权检查机制一起组成了DBMS的安全控制子系统的功能。整理课件定义用户权限1.定义用户权限,并将用户权限登记到数据字典中。在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。用户权限:不同的用户对于不同的数据对象允许执行的操作权限。系统必须提供适当的语言,由DBA定义用户权限(即授权);这些定义经过编译后,存放在数据字典中,被称作安全规则或授权规则。整理课件检查用户权限2.合法权限检查:每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限的检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。参见P289.对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。用户操作请求一般包括:操作类型、操作对象和操作用户等信息。整理课件常用存取控制方法9.2.3自主存取控制,简称DAC

(DiscretionaryAccessControl)C2级提供,控制很灵活9.2.4强制存取控制,简称MAC

(MandatoryAccessControl)B1级提供,控制比较严格当前,大型的RDBMS一般都支持自主存取控制DAC,有些RDBMS同时还支持强制存取控制MAC。整理课件9.2.3自主存取控制(DAC)方法参见P289.~290.在自主存取控制方法中:①用户对于不同的数据对象有不同的存取权限。②不同的用户对同一对象也有不同的权限。③用户还可以将其拥有的存取权限转授给其他用户。DAC方法:控制非常灵活,自主的,自由的。整理课件SQL支持DACSQL标准也支持DAC---CH3.中介绍过SQL中有两个机制提供了安全性授权子系统:允许有特定存取权的用户有选择地、动态地把这些权限授予其他用户,用GRANT和REVOKE。视图机制:可以用来对无权用户屏蔽数据。参见P290.权限:指对数据库中数据对象的操作权。授权:定义存取权限。整理课件存取权限的要素权限有两个要素:(1)数据对象模式级(有模式、外模式、内模式)数据级(有表、属性列)(2)操作类型模式级(有建立、修改、索引、撤消)数据级(有查找、插入、删除、修改)参见P290.表9.3,关系系统中的存取权限权限定义方法:GRANT/REVOKE语句整理课件与数据名有关的授权数据名:数据库名、表名、字段名例:CH3.的3.6节SQL语言的安全性控制功能例:参见P290.例:P291.表9.4学生课程数据库中的用户权限定义表用户名数据对象名允许的操作类型王平关系StudentSELECT张明霞关系StudentUPDATE张明霞关系CourseALL张明霞SC.GradeUPDATE张明霞SC.SnoSELECT张明霞SC.CnoSELECT整理课件与数据值有关的授权涉及存取谓词,要求系统提供支持,授权语句中可以使用存取条件(即谓词,与数据值有关);存取谓词可以很复杂,可以使用系统变量,可以授权与时间地点有关的存取。能否提供与数据值有关的授权反映了授权子系统的精巧程度。例:参见P291.~292.例:P291.表9.5支持存取谓词的用户权限定义用户名数据对象名允许的操作类型存取谓词(数据值)王平关系StudentSELECTSdep=‘CS’张明霞关系StudentUPDATESname=‘张明霞’张明霞关系CourseALL无整理课件授权粒度授权粒度:指用户权限定义中,数据对象的范围,有:数据库级、(关系)表级、(元组,记录)行级、(属性,字段)列级参见P291.其中记录级数据要用存取谓词获得授权粒度是衡量授权机制是否灵活的一个重要指标授权粒度越细,授权子系统越灵活,系统定义与检查权限的开销也会相应增大整理课件DAC方法的优缺点优点:能够通过授权机制有效地控制其他用户对敏感数据的存取灵活、自主、自由缺点:太灵活、太自主、太自由可能存在数据的无意泄露。例:参见P292.这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。解决:需要对系统控制下的所有主客体实施强制存取控制策略。整理课件9.2.4强制存取控制(MAC)方法有些DBS的数据具有很高的保密性,通常具有静态的分层结构,强制存取控制对于存放这样数据的数据库非常适用。参见P292.MAC是指:系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。MAC不是用户能直接感知或进行控制的。MAC适用于那些对数据有严格而固定密级分类的部门,例如军事部门或政府部门。整理课件主体、客体、敏感度标记在MAC中,DBMS所管理的全部实体被分为主体和客体两大类。参见P292.主体:系统中的活动实体,包括DBMS所管理的实际用户或代表用户的各进程。客体:系统中的被动实体,是受主体控制的,包括文件、基本表、索引、视图等。对于主体和客体,DBMS为它们的每个实例(值)指派一个敏感度标记(label)。整理课件密级、许可证级别敏感度标记被分为若干级别参见P292.例如,敏感度标记级别由高到低有:绝密(TopSecret)机密(Secret)可信(Confidential)公开(Public)主体的敏感度标记称为许可证级别(ClearanceLevel)。客体的敏感度标记称为密级(ClassificationLevel)。整理课件MAC存取规则(参见P293.)MAC通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。当某一用户(或某一主体)以标记Label注册进入系统时,系统要求它对任何客体的存取必须遵循如下规则:(1)仅当主体的许可证级别≥客体的密级时,该主体才能读取相应的客体。(2)仅当主体的许可证级别=客体的密级时,该主体才能写相应的客体。整理课件MAC存取规则(参见P293.)注:对第(2)条规则,有些系统规定为:仅当主体的许可证级别≤客体的密级时,该主体才能写相应的客体;即用户可以为写入的数据对象赋予高于自己的许可证级别的密级。这样,一旦数据被写入,该用户自己也不能再读取该数据对象了。规则(2)的两种情况的共同点在于,它们均禁止了拥有高许可证级别的主体更新低密级的数据对象,从而防止敏感数据的泄露。整理课件MAC方法的特点(参见P293.)MAC是对数据本身进行密级标记。无论数据如何复制,标记与数据是一个不可分的整体。只有符合密级标记要求的用户才可以操纵数据。从而提供了更高级别的安全性。强制存取控制是一种独立于值的简单控制方法。它的优点是系统能执行“信息流控制”。在前面介绍的授权方法中,允许凡有权查看保密数据的用户就可以把这种数据拷贝到非保密的文件中,造成无权用户也可以接触保密数据。而MAC方法可以避免这种非法的信息流动。整理课件MAC与DACDAC与MAC共同构成DBMS的安全机制。原因:较高安全性级别提供的安全保护要包含较低级别的所有保护。参见P293.图9.2

DAC+MAC安全检查示意图。系统先进行DAC检查,通过DAC检查的允许存取的数据对象再由系统自动进行MAC检查,只有通过MAC检查的数据对象方可存取。整理课件9.2.5视图机制存取权限中的数据对象用视图进行限制。进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。即,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。整理课件用视图进行安全控制视图机制与授权机制配合使用:首先用视图机制屏蔽掉一部分保密数据然后在视图上面再进一步定义存取权限视图机制可以间接实现支持存取谓词的用户权限定义。例:王平只能检索计算机系学生的信息视图的定义及授权语句参见P293.~294.整理课件用视图进行安全控制:例例,P293.~294.视图的定义及授权语句视图定义中的SELECT语句,其WHERE子句中的条件就是一个存取谓词。先建立计算机系学生的视图:CREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept=‘CS’;在视图上进一步定义存取权限:GRANTSELECTONCS_StudentTO王平;整理课件9.2.6审计前面介绍的用户标识和鉴别、存取控制仅是安全性标准的一个重要方面(安全策略方面),不是全部(四个方面,参见P284.~285.)。为了使DBMS达到一定的安全级别,还需要在其他方面提供相应的支持。如“审计”功能就是DBMS达到C2级以上安全级别必不可少的一项指标。审计是一种预防监测手段。整理课件审计功能审计功能:参见P294.能把用户对DB的所有操作自动记录下来放入审计日志(AuditLog)中。DBA可以利用审计跟踪的信息,重现导致DB现有状况的一系列事件,找出非法存取数据的人、时间和内容等。审计通常是很费时间和空间的,往往作为可选特征。DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能主要用于安全性要求较高的部门。整理课件9.2.7数据加密对于高敏感性数据,如口令、财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。参见P294.数据加密是防止DB中数据存储和传输中失密的有效手段。加密的基本思想:根据一定的算法将原始数据(称明文)变换为不可直接识别的格式(称密文),从而使不知道解密算法的人无法获知数据的内容。整理课件数据加密算法(参见P294.)加密算法主要有两种:替换法、置换法替换法:使用密钥(EncryptionKey)将明文中的每一个字符转换为密文中的一个字符。置换法:将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。采用这种结合算法的例子是美国1977年制定的官方加密标准:数据加密标准(DES)。整理课件数据加密目前,有些DB产品提供了数据加密例行程序,有些数据库产品本身未提供加密程序,但提供了接口,可根据用户要求自动对存储和传输的数据进行加密处理。数据加密解密比较费时,会占大量系统资源。数据加密功能通常作为可选特征供用户选择。一般只对高机密度的数据加密。整理课件9.3统计数据库的安全性统计数据库的特点参见P295.允许用户查询聚集类型的信息(例如合计、平均值等)不允许查询单个记录信息例:允许查询“程序员的平均工资是多少?”不允许查询“程序员张勇的工资?”整理课件统计数据库特殊的安全问题统计数据库特殊的安全性问题:参见P295.即可能存在着隐蔽的信息通道,使可以从合法的查询中推导出不合法的信息。

例1,下面两个查询都是合法的:

1.本公司共有多少女高级程序员?2.本公司女高级程序员的工资总额是多少?如果第一个查询的结果是“1”,那么第二个查询的结果显然就是这个程序员的工资数。规则1:任何查询至少要涉及N(N足够大)个以上的记录。整理课件统计数据库特殊的安全问题(续1)例2:P295.用户A发出下面两个合法查询:1.用户A和其他N个程序员的工资总额是多少?2.用户B和其他N个程序员的工资总额是多少?若第一个查询的结果是X,第二个查询的结果是Y,由于用户A知道自己的工资是Z,那么他可以计算出用户B的工资=Y-(X-Z)。原因:两个查询之间有很多重复的数据项。规则2:任意两个查询的相交数据项不能超过M个。整理课件统计数据库特殊的安全问题(续2)参见P295.可以证明:在上述两条规定下,如果想获知用户B的工资额,A至少需要进行1+(N-2)/M次查询。规则3:任一用户的查询次数不能超过1+(N-2)/M。但,如果两个用户合作查询就可以使这一规定失效。整理课件数据库系统安全性目标安全保护策略很多,任何安全保护措施都是相对的,要付出一定代价的。参见P296.安全保护的原则:根据具体的应用要求权衡安全要求和成本代价后再选择合适的安全策略。数据库系统安全保护的目标:使得那些试图破坏系统安全的人所花费的代价>>他所能得到的利益。这也是整个数据库系统安全机制设计的目标。整理课件SQLServer的安全性控制参见实验教材综合实验1“数据库的安全性控制”

P90.~106.SQLServer安全模式3种安全管理模式:标准、集成、混合管理数据库用户管理数据库角色固定角色、自定义角色权限管理语句权限管理、对象权限管理整理课件SQLServer的安全性SQLServer的安全性机制可以划分为4个等级:(1)客户机操作系统的安全性(2)SQLServer的登录安全性(3)SQLServer数据库的使用安全性(4)SQLServer数据库对象的使用安全性用户客户机OS安全性SQLServer服务器SQLServerlogin数据库DB访问权限数据库对象访问DB许可权整理课件SQLServer的安全体系结构SQL服务器级,DB级,DB对象级安全性示意图:DB(房间)用户名权限访问资料服务器(楼)SQLServer登录帐户:口令(钥匙)NT登录;SQL标准登录(特殊帐户sa)资料,DB对象资料,DB对象资料,DB对象资料,DB对象登录帐户映射为用户名sa---dbo用户名-钥匙映射-换钥匙dbo用户名整理课件SQLServer的安全认证模式(登录方式)(1)集成WindowsNT登录方式P90.~91.NT的用户和工作组映射为SQLServer的登录帐户;只要在NT上登录成功就承认其为SQLServer的合法用户,允许连接上SQLServer服务器。(2)标准的SQLServer登录方式用户需要用合法的帐户和正确的密码登录;先创建用户的登录帐户和设置密码,确定连接到哪个数据库;安装SQLServer时可创建管理员帐户sa,连接到master数据库(3)混合登录方式整理课件SQLServer标准登录模式1.创建登录帐户P91.~94.使用企业管理器\安全性\登录\新建登录\用户名、密码、数据库使用存储过程Sp_addlogin2.修改登录帐户的属性P94.~95.使用企业管理器、使用存储过程3.删除登录帐户P95.~96.使用企业管理器、使用存储过程Sp_revokelogin4.特殊帐户sa管理员帐户整理课件SQLServer用户管理1.添加数据库用户P96.~98.企业管理器\服务器\数据库\用户\新建数据库用户\登录名、数据库角色使用存储过程Sp_adduser2.删除数据库用户P98.使用企业管理器、使用存储过程Sp_dropuser3.特殊数据库用户dbo

即数据库拥有者或数据库属主,sa可以作为他所管理系统的任何数据库的dbo用户guest代表对样板数据库拥有最基本查询的用户整理课件SQLServer服务器角色1.角色:集中一组权限的管理单元(官位)。2.SQLServer的固定服务器角色查看固定服务器角色Sp_helpsrvrole添加服务器角色成员Sp_addsrvrolemember删除服务器角色成员Sp_dropsrvrolemember3.了解几个固定服务器角色Sysadmin系统管理员Serveradmin服务器管理员Securityadmin安全管理员dbcreate数据库创建者整理课件SQLServer数据库角色1.SQLServer的固定数据库角色(9种)查看固定数据库角色:Sp_helpdbfixedrole特殊的数据库固定角色Public,所有数据库用户都属于public角色2.了解几个固定数据库角色Db_ower数据库属主,可进行所有DB角色的活动Db_datawrite可更新数据库用户表中的数据Db_Securityadmin数据库安全管理员Db_backupoperater数据库备份员整理课件SQLServer数据库角色管理1.创建数据库角色及成员参见P98.~100.企业管理器\服务器\数据库\角色\新建数据库角色\名称、标准角色、添加添加数据库角色:Sp_addrole添加数据库角色成员:Sp_addr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论