数据安全性控制_第1页
数据安全性控制_第2页
数据安全性控制_第3页
数据安全性控制_第4页
数据安全性控制_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第四章数据库安全性AnIntroductiontoDatabaseSystem数据库安全性安全性指什么?数据库安全性是指保护数据以防止不合法的使用所造成的数据泄密、更改或破坏。安全性问题的提出计算机系统的数据共享机制必然带来安全性问题;数据库的一大特点是数据共享,但是不能无条件共享,例如:军事机密、商业机密(市场营销策略、新产品实验数据等)AnIntroductiontoDatabaseSystem第四章数据库安全性4.1计算机安全性概述4.2数据库安全性控制4.3视图机制4.4审计(Audit)4.5数据加密4.6统计数据库安全性4.7小结AnIntroductiontoDatabaseSystem4.1计算机安全性概述4.1.1计算机系统的三类安全性问题4.1.2安全标准简介技术安全类问题管理安全类问题政策法律类问题教材P130页美国国防部:1985年,TCSEC标准CC项目组织:CCV2.1版,1999年被ISO采用为国际标准AnIntroductiontoDatabaseSystem4.1计算机安全性概述----信息安全标准的发展历史AnIntroductiontoDatabaseSystem4.1计算机安全性概述

1991年4月,美国NCSC(NationalComputerSecurityCenter)颁布了(TrustedDatabaseInterpretation),简称TDI,将TCSEC扩展到数据库管理系统。

TDI定义了数据库管理系统设计与实现中需要满足和用以进行安全性级别评估的标准。

TDI主要从以下四个方面来描述安全性级别划分的指标:安全策略、责任、保证和文档。AnIntroductiontoDatabaseSystem4.1计算机安全性概述安全级别定义A1验证设计(VerifiedDesign)

B3安全域(SecurityDomains)

B2结构化保护(StructuralProtection)

B1标记安全保护(LabeledSecurityProtection)

C2受控的存取保护(ControlledAccessProtection)

C1自主安全保护(DiscretionarySecurityProtection)D最小保护(MinimalProtection)根据计算机系统对TDI各项指标的支持情况,将系统划分为四组七个等级,它们按照系统的可靠和可信程度递增。AnIntroductiontoDatabaseSystem4.1计算机安全性概述针对B2以上的系统还处于理论研究阶段应用多限于一些特殊的部门,如军队等美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放到商业应用中来,并逐步成为新的商业标准AnIntroductiontoDatabaseSystem

4.1计算机安全性概述CC标准简介

在上述各评估准则和具体实践的基础上,通过相互总结和互补发展而来

结构开放、表达方式通用、国际公认产品的安全要求: 安全功能要求和安全保证要求

CC文本的构成:简介和一般模型、安全功能要求、安全保证要求。AnIntroductiontoDatabaseSystem4.1计算机安全性概述评估保证级定义TCSEC安全级别(近似相当)EAL1功能测试(functionallytested)EAL2结构测试(structurallytested)C1EAL3系统地测试和检查(methodicallytestedandchecked)C2EAL4系统地设计、测试和复查(methodicallydesigned,

tested,

andreviewed)B1EAL5半形式化设计和测试(semiformallydesignedandtested)B2EAL6半形式化验证的设计和测试(semiformallyverifieddesignandB3tested)EAL7形式化验证的设计和测试(formallyverifieddesignandtested)A1AnIntroductiontoDatabaseSystem第四章数据库安全性4.1计算机安全性概述4.2数据库安全性控制4.3视图机制4.4审计(Audit)4.5数据加密4.6统计数据库安全性4.7小结AnIntroductiontoDatabaseSystem非法使用数据库的情况用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;直接或编写应用程序执行非授权操作;通过多次合法查询数据库从中推导出一些保密数据例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他?

破坏安全性的行为可能是无意的,故意的,恶意的AnIntroductiontoDatabaseSystem4.2数据库安全性控制

应用DBMSOS

DB低高安全性控制层次实现方法用户标识和鉴定

存取控制审计视图操作系统安全保护密码存储AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识和识别它是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户进入系统时,要求由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。

方法:用户名+口令(容易泄漏)、密码算法等。P135AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.2存取控制数据库安全性所关心的主要是:DBMS的存取控制机制。即:确保只授权给有资格的用户访问数据库的权限,同时令所有未授权的人员无法接近数据。存取控制机制用户权限定义用户合法权限检查安全子系统AnIntroductiontoDatabaseSystem4.2数据库安全性控制常用的存取控制方法(1)自主存取控制(DAC)(2)强制存取控制(MAC)用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同权限,用户还可将其拥有的存取权限转授给其他用户,因此比较灵活方便:C2每一个数据库对象被标注为一定的密级,每一个用户也被授予某一个级别的许可证。对于任一个对象,只有具有合法许可证的用户才可以存取。因此相对比较严格:B1AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.3自主存取控制(DiscretionaryAccessControl)SQL标准提供对自主存取控制的支持:Grant和Revoke。定义存取权限用户权限二要素:数据库对象和操作类型。定义用户的权限:就是定义这个用户可以在哪些数据库对象上进行哪些类型的操作。在DBMS中,定义存取权限称为授权。AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.3自主存取控制数据对象操作类型模式模式基本表视图索引CreateSchemaCreate/AlterTableCreateViewCreateIndex数据表和视图属性列查找、插入、修改、删除、引用查找、插入、修改、引用AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.3自主存取控制_授权粒度授权粒度:指可以定义的数据对象的范围,它是衡量授权机制是否灵活的一个重要指标。授权定义中数据对象的粒度越细,即可以定义的数据对象范围越小,授权子系统就越灵活,但系统定义与检查权限的开销会相应增大。在数据库系统中,授权粒度主要有:数据库、模式、表和视图、数据、属性列、数据值等。AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.3自主存取控制_实现与数据值有关的授权方法:利用存取谓词说明:存取谓词可以很复杂,例如它可以引用系统变量(终端设备号、系统时钟等),实现与时间、地点等有关的存取权限控制,这样用户只能在某段时间内、某台终端上存取有关数据。例如:学校规定:教室只能在每年的1月份和7月份星期一至星期五的上午8点至下午17点之间登陆学生成绩管理系统处理学生的成绩数据。AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.3自主存取控制_小结机制:用户定义数据存取权限,DBMS检查存取权限优点:能够通过授权机制有效地控制其他用户对敏感数据的存取缺点:可能存在数据的“无意泄露”:P143页原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。解决:对系统控制下的所有主客体实施强制存取控制策略AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.4授权与回收某个用户对某类数据库对象具有何种操作权力是个政策问题,而不是技术问题。数据库管理系统的任务:保证权限控制体系正确执行。转入:SQL2005数据安全性控制之权限管理AnIntroductiontoDatabaseSystem4.2数据库安全性控制DBA:拥有所有对象的所有权限不同的权限授予不同的用户用户:拥有自己建立的对象的全部的操作权限GRANT:授予其他用户被授权的用户“继续授权”许可:再授予所有授予出去的权力在必要时又都可用REVOKE语句收回

SQL灵活的授权机制AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.5数据库角色管理数据库角色是被命名的一组与数据库操作相关的权限,即角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。转入:SQL2005数据安全性控制之角色管理AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.6强制存取控制自主存取控制的缺陷:P143页。解决方案:对系统控制下的所有主客体实施MAC。

MAC的特点它是为了保证系统更高程度的安全性;在应用过程中不是用户能够直接感知或进行控制的;一般适用于哪些对数据有严格而固定密级分类的部门,例如:军事部门、政府机要部门等。AnIntroductiontoDatabaseSystem4.2数据库安全性控制强制存取控制中的实体分类(1)主体(2)客体系统中的活动实体,即包括DBMS所管理的实际用户,也包括代表用户的各种进程。受主体操纵的被动实体,包括:数据库、模式、基本表、视图、索引、数据列、表中数据等。对于主体和客体:DBMS为他们每个实例指派一个敏感度标记。AnIntroductiontoDatabaseSystem4.2数据库安全性控制敏感度标记(Label)绝密(TopSecret)机密(Secret)可信(Confidential)公开(Public)主体的敏感度标记称为许可证级别(ClearanceLevel)客体的敏感度标记称为密级(ClassificationLevel)MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。AnIntroductiontoDatabaseSystem4.2数据库安全性控制强制存取控制规则(原理)

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体

(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体修正规则(实际应用)

(1)主体的许可证级别<=客体的密级主体能写客体规则的共同点:禁止了拥有高许可证级别的主体更新低密级的数据对象AnIntroductiontoDatabaseSystem4.2数据库安全性控制

MAC和DAC的关系(1)DAC与MAC共同构成DBMS的安全机制(2)实现MAC时要首先实现DAC原因:较高安全性级别提供的安全保护要包含较低级别的所有保护。AnIntroductiontoDatabaseSystem4.2数据库安全性控制DAC+MAC安全检查示意图

SQL语法分析&语义检查

DAC检查安全检查

MAC检查

继续先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。AnIntroductiontoDatabaseSystem4.3视图机制通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图的主要功能是提供数据逻辑独立性,无法完全满足安全性控制要求,但它可以间接的实现支持“存取谓词”的用户权限定义。关系级的安全性和视图级的安全性可以结合起来,用于限制用户只能访问所需要的数据。AnIntroductiontoDatabaseSystem4.3视图机制例题:(1)建立计算机系学生的选修课程的成绩记录。列出学生的学号、姓名、课程号、课程名称、学分、成绩等信息。(2)将该视图的查询权限授予Smith。操作:(1)企业管理器中创建该视图。(2)将该视图的查询权限授予Smith。注意:用户仅拥有视图的操作权限,不一定就能正常使用该视图;除非该用户拥有该视图涉及所有数据来源基本表的相应权限才可以正常操作。AnIntroductiontoDatabaseSystem4.4审计什么是审计?它是DBMS系统C2以上安全级别必不可少的指标。审计功能就是将用户对数据库的所有操作自动记录下来放入审计日志(AuditLog)。

DBA可以利用审计跟踪的信息,找出非法存取数据的人、时间和内容等。审计通常很费时间和空间,故DBMS一般将其作为可选特征,允许DBA根据应用对安全性的要求,灵活的打开或关闭审计功能。AnIntroductiontoDatabaseSystem4.4审计审计类型用户级审计系统级审计只能由DBA设置用于监测成功或失败的登录要求监测Grant和Revoke操作以及其他数据库级权限的操作任何用户可设置的审计针对自己创建的数据库表或视图进行审计记录所有用户对这些表或视图的所有访问要求以及各种类型的SQL操作AnIntroductiontoDatabaseSystem4.4审计审计功能的设置与取消Audit语句和NoAudit语句:参照教材P146页SQL2005的系统级审计只需设置服务器的安全性属性即可SQLServer中的审计功能(1)SQL2005只有系统级审计,用户级审计需要借助第三方软件来实现。(2)SQL2008则完善了审计功能,允许监控数据的更改或访问,并且提供了完善的数据加密功能。AnIntroductiontoDatabaseSystem4.5数据加密防止数据库中数据在存储和传输中失密的有效手段数据加密的基本思想根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使不知道解密算法的人无法获知数据的内容。数据加密的方法替换算法、置换算法、混合使用(DES算法)、非对称加密算法(数字证书应用)AnIntroductiontoDatabaseSystem4.5数据加密下图就是一个很典型的加密码过程图:AnIntroductiontoDatabaseSystem4.5数据加密有关数据加密问题的处理:有关DES密钥加密技术以及密钥管理问题请阅读数据加密的有关文献。目前SQL2008和Oracle中提供了数据加密例行程序,可根据用户的要求自动对存储和传输的数据进行加密处理。

SQL2000和2005以及其他一些

温馨提示

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

评论

0/150

提交评论