制造信息技术DB数据库安全性.ppt_第1页
制造信息技术DB数据库安全性.ppt_第2页
制造信息技术DB数据库安全性.ppt_第3页
制造信息技术DB数据库安全性.ppt_第4页
制造信息技术DB数据库安全性.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

现代制造信息技术基础第一部分数据库系统概论数据库安全性,徐世新北京航空航天大学机械学院7202002年7月,主要内容,计算机安全性概论计算机系统的三类安全性问题可信计算机系统评测标准,数据库安全性控制用户标识与鉴别存取控制自主存取控制方法强制存取控制方法审计,计算机系统的三类安全性问题,计算机系统安全性是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改和泄漏等。,计算机系统的安全性问题可分为三类:技术安全类管理安全类政策法律类,技术安全类是指计算机系统中采用具有一定安全性的硬件、软件、来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄漏。,可信计算机系统评估标准(TrustedComputerSystemEvaluationCriteria,abbr.TCSEC)1985年美国国防部(DoD)颁布可信计算机系统评估标准关于可信数据库系统的解释(TrustedDatabaseInterpretation,abbr.TDI)1991年美国国家计算机安全中心(NCSC)颁布,可信计算机系统评测标准,TCSEC/TDI是目前各国所引用或制定的一系列安全标准中最重要的一个TCSEC/TDI从安全策略、责任、保证和文档四个方面描述了安全性级别的指标TCSEC/TDI将系统划分为四组七个等级,依次是:D;C(C1,C2);B(B1,B2,B3);A(A1),按系统可靠或可信程度逐渐增高按照这些指标,目前许多大型DBMS达到了C2级,支持自主存取控制;而其安全版本达到了B1,支持强制存取控制,数据库安全性控制,在一般计算机系统中,安全措施是一级一级层层设置的:用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准许进入计算机系统对已进入系统的用户,DBMS还要进行存取控制,只允许用户执行合法操作操作系统一级也会有自己的保护措施数据最后还可以以密码形式存储到数据库中,用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权,用户标识与鉴别,对于获得上机权的用户若要使用数据库管理系统还要进行用户标识和鉴定。用户标识和鉴别常用的方法有:用户名(或用户标识)及口令,定义用户权限,并将用户权限登记到数据字典中。用户权限是指不同的用户对于不同的数据对象允许执行的操作权限合法权限检查,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,存取控制,数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括两部分:,在自主存取控制方法中,用户对不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活在强制存取控制方法中,每个数据对象被标以一定的密级,每个用户也被授予某一个级别的许可证。对于任意一个对象,只有合法许可证的用户才可以存取。强制存取控制因此相对比较严格,自主存取控制方法,SQL标准通过GRANT、REVOKE语句对自主存取控制提供支持用户权限是由数据对象和操作类型两个要素组成的。定义一个用户的存取权限就是定义这个用户可以在哪些数据对象上进行哪些类型的操作,回顾GRANT、REVOKE语句数据对象的创建者自动获得对于该数据对象的所有操作权限。例如,表Student的创建者自动获得对该表的SELECT、INSERT、UPDATE、DELETE等权限。GRANTSELECT,INSERTONStudentTO张三WITHGRANTOPTION;REVOKEINSERTONStudentFROM张三CASCADE;,用户权限定义中数据对象范围越小授权子系统就越灵活衡量授权子系统精巧程度的另一个尺度是能否提供与数据值有关的授权(如系统是否支持存取谓词),自主存取控制方法,视图机制可以间接地实现支持存取谓词的用户权限定义。例如:CREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept=CS;GRANTSELECTONCS_StudentTO张三,在MAC中,DBMS所管理的实体被分为主体和客体两大类:主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等,对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干等级,例如绝密(Topsecret)、机密(Secret)、可信(Confidential)、公开(Public)等主体、客体的敏感度标记分别称为许可证级别、密级MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体,强制存取控制方法,当某一用户(或某一主体)以标记Label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体,在某些系统中规定:仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体,即用户可以为写入的数据对象赋予高于自己的许可证级别的密级。这样一旦数据被写入,该用户自己也不能再读该数据对象了,强制存取控制方法,强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记是一个不可分的整体,只有符合密级标记的用户才可以操纵数据,从而提供了更高级别的安全性较高安全性级别提供的安全保护要包含较低级别的所有保护,因此,在实现MAC时要首先实现DAC,即DAC与MAC共同构成DBMS的安全机制,审计,按照TCSEC/TDI标准中安全责任的要求,“审计”功能是DBMS达到C2以上安全级别必不可少的一项功能因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。DBA可以利用跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等,数据加密对于高度敏感的数据(例如财务数据、军事数据、国家机密),除以上安全措施外,还可以采用数据加密技术数据加密技术是防止数据库中数据在存储和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据变换为不可直接识别的格式,从而使得不知道解密算法的人无法获知数据的内容,现代制造信息技术基础第一部分数据库系统概论数据库完整性,徐世新北京航空航天大学机械学院7202002年7月,主要内容,完整性约束条件完整性控制,数据库完整性是指数据的正确性和相容性。数据库完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出所造成的无效操作和错误结果。完整性措施的防范对象是不符合语义的数据数据库安全性是保护数据库防止恶意的破坏和非法的存取。安全性措施的防范对象是非法用户和非法操作,为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据,看其是否满足于一规定的条件。这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。而DBMS中检查数据是否满足完整性条件的机制称为完整性检查,完整性约束条件,完整性约束条件作用的对象可以是关系、元组、列三种。列约束主要是列的类型、取值范围、精度、排序等约束条件元组的约束是元组中各字段间的联系的约束关系的约束是若干元组间、关系集合上以及关系间的联系的约束,完整性约束涉及的关系、元组、列这三类对象的状态可以是静态的,也可以是动态的。静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束动态约束是指数据库从一种状态转换为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束,静态列级约束它是对一个列的取值域的说明。包括以下几方面:对数据类型的约束;对数据格式的约束;对取值范围或取值集合的约束;对空值的约束静态元组约束规定元组的各个列之间的约束关系静态关系约束在一个关系的各个元组之间或若干关系之间常常存在各种联系或约束。常见的静态约束有:实体完整性约束;参照完整性约束;函数依赖约束;统计约束,完整性约束条件,完整性约束条件,动态列级约束修改列定义或列值时应满足的约束条件。包括以下两方面:修改列定义时的约束;修改列值时的约束;对取值范围或取值集合的约束;对空值的约束动态元组约束修改元组的值时元组中各个字段间需要满足某种约束关系动态关系约束它是加在关系变化前后状态上的限制条件。例如事务一致性、原子性等约束条件,检查是否违背完整性约束的时机立即执行约束:在一条语句执行完后立即检查延迟执行约束:完整性检查需要延迟到整个事务执行结束后再进行,检查结束后方提交,DBMS的完整性控制机制应具有三个方面的功能:定义功能检查功能若发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性,完整性控制,一条完整性规则可以用一个五元组(D,O,A,C,P)来表示,其中:D(Data)约束作用的数据对象O(Operation)触发完整性检查的数据库操作A(Assertion)数据对象必须满足的断言或语义约束,这是规则的主体C(Condition)选择A作用的数据对象值的谓词P(Procedure)违反完整性规则时触发的过程,例如,在“学生姓名不能为空”的约束中,D约束作用的对象为Sname属性O插入或修改Student元组时ASname不能为空C无(A可作用于所有记录的Sname)P拒绝执行该操作,实现参照完整性要考虑的几个问题:外码能否接受空值问题在被参照关系中删除元组的问题级联删除受限删除置空值删除在参照关系中插入元组时的问题受限插入递归插入修改关系中主码的问题不允许修改主码允许修改主码,完整性控制,SQLServer中的实体完整性SQLServer在CREATETABLE语句中提供了PRIMARYKEY关键字,供用户在建表时指定关系的主码列。例如,在EAS数据库中,要定义departments表的Dno为主码,可使用如下语句:CREATETABLEdepartments(DnoVARCHAR(4)PRIMARYKEY,DnameVARCHAR(16)UNIQUE,DphoneCHAR(8)UNIQUE);这里,SQLServer提供约束名。若要在studCourse表中定义组合列(Sno,Cno)为主码,用下面语句:CREATETABLEstudCourse(SnoVARCHAR(8)REFERENCESstudents(Sno),CnoVARCHAR(8)REFERENCEScourses(Cno),GradeTINYINT,CONSTRAINTSC_PKPRIMARYKEY(Sno,Cno);,MicrosoftSQLServer的完整性,MicrosoftSQLServer的完整性,SQLServer中的参照完整性SQLServer在CREATETABLE语句中提供了FOREIGNKEYREFERENCES关键字,供用户在建表时定义哪些列为外码列。用ONDELETECASCADE|NOACTION指明在删除被参照关系的元组时,同时级联删除或受限删除参照关系中的相应元组。例如,在EAS数据库中,建立表students表使用如下语句:CREATETABLEstudents(SnoVARCHAR(8)PRIMARYKEY,SnameVARCHAR(16),SsexBIT,SbirthSMALLDATETIME,SDnoVARCHAR(4)REFERENCESdepartments(Dno)NODELETECASCADE);这里,SQLServer提供参照完整性的约束名。下面的语句格式适合定义组合外键的情况:CREATETABLEstudents(SnoVARCHAR(8)PRIMARYKEY,SnameVARCHAR(16),SsexBIT,SbirthSMALLDATETIME,SDnoVARCHAR(4),CONSTRAINTFK_Dept_StudFOREIGNKEY(SDno)REFERENCESdepartments(Dno);,MicrosoftSQLServer的完整性,SQLServer中用户定义的完整性SQLServer允许用户在建表时定义下列完整性约束:列值非空(NOTNULL);列值唯一(UNIQUE);检查列值是否满足一个布尔表达式(CHECK);使用INSERT和UPDATE语句时,提供默认值(DEFAULT)。CREATETABLEstudCourse(SnoVARCHAR(8)REFERENCESstudents(Sno),CnoVARCHAR(8)REFERENCEScourses(Cno),GradeTINYINTCHECK(Grade=0ANDGrade=100),CONSTRAINTSC_PKPRIMARYKEY(Sno,Cno);上面语句建立一个列级CHECK约束,下面语句建立一个表级CHECK约束:CREATETABLEcourses(CnoVARCHAR(8)PRIMARYKEY,CnameVARCHAR(16)UNIQUE,CreditDECIMAL(3,1),CtimeTINYINT,QuotaSMALLINTDEFAULT100,CONSTRAINTCK_CtimeCHECK(STR(Ctime,2,0)LIKE1-71-7);在SQLServer中还可以使用触发器来实现完整性规则。定义触发器的语句是CREATETRIGGER。例如若要定义表间的约束,则应当使用触发器。,复习提纲,第一章绪论1.1数据库系统概述1.2数据模型(其中1.2.4层次模型、1.2.5网状模型不要求)1.3数据库系统结构1.4数据库系统的组成第二章关系数据库2.1关系模型概述2.2关系数据结构及形式化定义2.3关系的完整性2.4关系代数第三章关系数据库标准语言

温馨提示

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

评论

0/150

提交评论