第九章数据库安全与完整性.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库系统原理授课教师:吴岩2第九章数据库安全性与完整性9.1计算机安全性概述9.2数据库的安全性9.3统计数据库安全9.4数据库的完整性数据库系统原理3•学习目标了解数据库的安全性理论包含的内容,理解安全数据库的存取控制机制,掌握完整性约束的定义、检查及违约处理的方法。•学习重点–自主存取控制方法–强制存取控制方法–完整性检查和违约处理第九章数据库的安全性与完整性4第九章数据库安全性与完整性9.1计算机安全性概述9.2数据库的安全性9.3统计数据库安全性9.4数据库的完整性数据库系统原理5数据库的安全性与完整性第一节计算机安全性概述一、计算机系统的安全性问题计算机系统安全性是指为计算机系统建立和采取各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露。技术安全类管理安全类政策法律类6数据库的安全性与完整性计算机系统的安全性问题(续)1、技术安全类计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全性保护,当计算机系统受到无意或恶意的攻击时仍能保证系统的正常运行,保证系统内的数据不增加、不丢失、不泄露。72、管理安全类指由于软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题。3、政策法律类指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令等。计算机系统的安全性问题(续)数据库的安全性与完整性81、可信计算机系统评估准则(TCSEC)•TCSEC:1985年美国国防部(DoD)正式颁布的《DoD可信计算机系统评估准则》(TrustedComputerSystemEvaluationCriteria)•TDI:1991年4月美国国家计算机安全中心颁布了《可信计算机系统评估准则关于可信数据库系统的解释》(TrustedDatabaseInterpretation),将TCSEC扩展到数据库管理系统。二、信息安全标准数据库的安全性与完整性9•TCSEC/TDI从四个方面来描述安全性级别划分的指标:–策略–责任–保证–文档•根据计算机系统对标准中各项指标的支持情况,TCSEC(TDI)将系统划分为四组七个等级。数据库的安全性与完整性可信计算机系统评估准则(续)10安全级别定义A1验证设计(VerifiedDesign)B3安全域(SecurityDomains)B2结构化保护(StructuralProtection)B1标记安全保护(LabeledSecurityProtection)C2受控的存取保护(ControlledAccessProtection)C1自主安全保护(DiscretionarySecurityProtection)D最小保护(MinimalProtection)可信计算机系统评估准则(续)数据库的安全性与完整性TCSEC/TDI安全级别划分11•D级:最低级、无安全保护的系统,如DOS。•C1级:提供初级的自主安全保护–主体、客体分离–自主访问控制–身份标识与鉴别–数据完整性•C2级:提供受控的存取保护–满足C1级标准全部功能–审计–如Windows2000,Oracle7数据库的安全性与完整性可信计算机系统评估准则(续)12•B1级:标记安全保护–满足C2级标准全部功能–强制访问控制–如HP-UXBLSrelease9.0.9+,TrustedOracle7等•B2级:结构化保护–满足B1级标准全部功能–隐蔽通道–数据库安全的形式化数据库的安全性与完整性可信计算机系统评估准则(续)13•B3级:安全域–满足B2级标准的全部功能–访问监视器–提供系统恢复过程•A1级:验证设计–满足B3级标准的全部功能–较高的形式化要求和验证数据库的安全性与完整性可信计算机系统评估准则(续)14信息安全标准(续)1985年美国国防部可信计算机系统评估准则(TCSEC)1993年加拿大可信计算机系统评估准则(CTCPEC)1991年欧洲信息技术安全评估准则(ITSEC)1993年美国信息技术安全联邦标准(FC)草案通用准则(CC)V1.01996年V2.01998年V2.11999年1999年CCV2.1成为国际标准(ISO15408)2、信息安全标准的发展15第九章数据库安全性与完整性9.1计算机安全性概述9.2数据库的安全性9.3统计数据库安全性9.4数据库的完整性数据库系统原理16第二节数据库安全性数据库安全性概述用户标识与鉴别存取控制视图审计数据加密数据库的安全性与完整性17一、数据库安全性概述1、非法使用数据库的情况–用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;–多次合法查询数据库从中推导出一些保密数据。数据库的安全性与完整性18数据库安全性概述(续)例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:–首先查询包括张三在内的一组人的平均工资–然后查用自己替换张三后这组人的平均工资–从而推导出张三的工资数据库的安全性与完整性19数据库安全性概述(续)应用DBMSOSDB方法:用户标识和鉴定存取控制审计视图操作系统安全保护密码存储2、计算机系统中的安全模型安全控制层次高低数据库的安全性与完整性应用DBMSOSDB用户标识和鉴定存取控制审计视图操作系统安全保护密码存储安全控制层次高低203、数据库安全数据库安全性指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。•基本概念:主体、客体与主客体分离–数据库中的实体:数据表、视图、快照、存储过程、数据文件、数据库访问者等。–主体:数据库中的数据访问者–客体:数据库中的数据及其载体数据库安全性概述(续)主体子集客体子集访问21数据库安全性概述(续)4、数据库安全性控制的常用方法–用户标识和鉴别–存取控制–视图–审计–数据加密数据库的安全性与完整性22二、用户标识与鉴别1、用户身份标识与鉴别的基本过程–系统提供一定的方式让用户标识自己的名字或身份;–系统内部记录着所有合法用户的标识;–每次用户要求进入系统时,由系统核对用户提供的身份标识;–通过鉴定后才提供系统使用权。数据库的安全性与完整性23用户标识与鉴别(续)•用户标识自己的名字或身份的方法–用户名/口令•简单易行,容易被人窃取–每个用户预先约定好一个计算过程或者函数•系统提供一个随机数•用户根据自己预先约定的计算过程或者函数进行计算。•系统根据用户计算结果是否正确鉴定用户身份。数据库的安全性与完整性242、SQLServer2005数据库的用户身份鉴别(1)身份验证模式①Windows身份验证模式用户通过Windows用户账户连接到SQLServer,即用户身份由Windows系统来验证。SQLServer使用Windows操作系统中的信息验证账户名和密码。Windows身份验证使用Kerberos安全协议,提供账户锁定支持,并支持密码过期。用户标识与鉴别(续)数据库的安全性与完整性25SQLServer数据库身份鉴别模式(续)②混合身份验证模式SQLServer身份验证模式允许用户使用Windows身份和SQLServer身份进行连接。通过Windows登录账户连接的用户可以使用Windows验证的受信任连接。当用户指定的登录名称和密码进行非信任连接时,SQLServer检测输入的登录名和密码是否与数据库syslogins表中记录的情况相同,据此进行身份验证。数据库的安全性与完整性26(2)设置身份验证模式使用ManagementStudio工具来设置验证模式。•方法一:–打开ManagementStudio;–在“已注册的服务器”子窗口中要设置验证模式的服务器上单击鼠标右键,然后在弹出的快捷菜单上选择“属性”,系统弹出“编辑服务器注册属性”窗口;–在“常规”选项卡中,“服务器名称”栏按服务器名[\实例名]格式选择要注册的服务器实例;–在“身份验证”栏选择身份验证模式;–设置完成后单击“测试”按钮以确定设置是否正确;–单击“保存”按钮完成设置。SQLServer数据库身份鉴别模式(续)数据库的安全性与完整性27设置身份验证模式数据库的安全性与完整性28•方法二:–在ManagementStudio对象资源管理器中,右键单击服务器,再单击“属性”。–在“安全性”页上的“服务器身份验证”下选择新的服务器身份验证模式,单击“确定”。设置身份验证模式(续)数据库的安全性与完整性29数据库的安全性与完整性30(3)SQLServer系统登录验证过程SQLServer数据库身份鉴别模式(续)使用客户应用程序连接到SQLServerWindows身份验证模式混合身份验证模式SQLServer接受连接SQLServer拒绝连接身份验证模式?使用Windows账户连接吗?使用SQLServer账户连接吗?连接许可?是有效登录吗?密码正确吗?NOYESNONOYESYESYESYESNONO数据库的安全性与完整性31(4)登录管理①系统管理员登录账户•默认的系统管理员登录账户–sa:SQLServer身份验证机制下的系统管理员–BUILTIN\Administrators:Windows系统的系统管理员组•为SQLServer系统管理员指定口令“对象资源管理器”→“安全性”→“登录名”→“sa”→“属性”→“登录属性窗口”→“密码”SQLServer数据库身份鉴别模式(续)数据库的安全性与完整性32登录管理(续)数据库的安全性与完整性33登录管理(续)②使用ManagementStudio创建登录账户右键单击“新建登录名”34三、存取控制1、存取控制机制的功能–确保仅授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据。–是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。数据库的安全性与完整性352、存取控制机制的组成(1)定义存取权限–定义不同用户(主体)对于不同数据对象(客体)允许执行的操作权限。(2)检查存取权限–当用户发出存取操作请求后,DBMS查找数据字典中存储的权限定义,检查用户操作的合法性。用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。存取控制(续)数据库的安全性与完整性36存取控制(续)3、常用存取控制方法–自主存取控制(DiscreationaryAccessControl,DAC)–强制存取控制(MandatoryAccessControl,MAC)–基于角色的存取控制(RoleBasedAccessControl,RBAC)数据库的安全性与完整性37存取控制的方法(续)4、自主存取控制(DAC)–拥有资源的用户自己决定其他一个或一些主体可以在什么程度上访问哪些资源。–同一用户对于不同的数据对象有不同的存取权限。–不同的用户对同一对象也有不同的权限。–用户还可将其拥有的存取权限转授给其他用户。数据库的安全性与完整性38自主存取控制方法(续)(1)存取权限的组成要素–数据对象–操作类型(2)定义存取权限–定义一个用户可以在哪些数据对象上进行哪些类型的操作。–在数据库系统中,定义存取权限称为授权(Authorization)。–授权定义经过编译后存放在数据字典中。数据库的安全性与完整性39自主存取控制方法(续)(3)关系系统中的存取权限•类型数据对象操作类型模式模式外模式內模式建立、修改、检索、删除建立、修改、检索、删除建立、修改、检索数据表属性列查找、插入、修改、删除查找、插入、修改、删除数据库的安全性与完整性40自主存取控制方法(续)(4)关系系统中的授权与回收•SQL定义方法:使用GRANT/REVOKE语句授权:GRANT权限[,权限]…ON对象类型对象名…TO用户[,用户]…[WITHGRANTOPTION]回收:REVOKE权限[,权限]…ON对象类型

1 / 118
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功