资源预览内容
第1页 / 共106页
第2页 / 共106页
第3页 / 共106页
第4页 / 共106页
第5页 / 共106页
第6页 / 共106页
第7页 / 共106页
第8页 / 共106页
第9页 / 共106页
第10页 / 共106页
亲,该文档总共106页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
AnIntroductiontoDatabaseSystem数据库系统概论An Introduction to Database System第四章第四章 数据库安全性数据库安全性AnIntroductiontoDatabaseSystem 数据库安全性数据库安全性v问题的提出问题的提出n数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享n数据共享必然带来数据库的安全性问题数据共享必然带来数据库的安全性问题n数据库系统中的数据共享不能是无条件的共享数据库系统中的数据共享不能是无条件的共享例:例:军事秘密、国家机密、新产品实验数据、军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据客户档案、医疗档案、银行储蓄数据数据库安全性数据库安全性AnIntroductiontoDatabaseSystem数据库安全性(续)数据库安全性(续)n数数据据库库的的安安全全性性是是指指保保护护数数据据库库以以防防止止不不合合法法使使用用所所造成的数据泄露、更改或破坏造成的数据泄露、更改或破坏。n系系统统安安全全保保护护措措施施是是否否有有效效是是数数据据库库系系统统主主要要的的性性能能指标之一。指标之一。AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性保护其他安全性保护4.7小结小结AnIntroductiontoDatabaseSystem4.1数据库安全性概述数据库安全性概述4.1.1数据库的不安全因素数据库的不安全因素4.1.2安全标准简介安全标准简介AnIntroductiontoDatabaseSystem1.非授权用户对数据库的恶意存取和破坏非授权用户对数据库的恶意存取和破坏n一些黑客(一些黑客(Hacker)和犯罪分子在用户存取数据库时)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。改甚至破坏用户数据。n数据库管理系统提供的安全措施主要包括用户身份鉴数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。别、存取控制和视图等技术。4.1.1数据库的不安全因素数据库的不安全因素AnIntroductiontoDatabaseSystem2.数据库中重要或敏感的数据被泄露数据库中重要或敏感的数据被泄露n黑客和敌对分子千方百计盗窃数据库中的重要数据,黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。一些机密信息被暴露。n数据库管理系统提供的主要技术有强制存取控制、数数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。据加密存储和加密传输等。n审计日志分析审计日志分析数据库的不安全因素(续)数据库的不安全因素(续)AnIntroductiontoDatabaseSystem数据库的不安全因素(续)数据库的不安全因素(续)3.安全环境的脆弱性安全环境的脆弱性n数据库的安全性与计算机系统的安全性紧密联系数据库的安全性与计算机系统的安全性紧密联系l计算机硬件、操作系统、网络系统等的安全性计算机硬件、操作系统、网络系统等的安全性n建立一套可信(建立一套可信(Trusted)计算机系统的概念和标准)计算机系统的概念和标准AnIntroductiontoDatabaseSystem4.1数据库安全性概述数据库安全性概述4.1.1数据库的不安全因素数据库的不安全因素4.1.2安全标准简介安全标准简介AnIntroductiontoDatabaseSystem4.1.2安全标准简介安全标准简介v1985年美国国防部(年美国国防部(DoD)正式颁布)正式颁布DoD可信可信计算机系统评估准则计算机系统评估准则(简称(简称TCSEC或或DoD85)v不同国家建立在不同国家建立在TCSEC概念上的评估准则概念上的评估准则n欧洲的信息技术安全评估准则(欧洲的信息技术安全评估准则(ITSEC)n加拿大的可信计算机产品评估准则(加拿大的可信计算机产品评估准则(CTCPEC)n美国的信息技术安全联邦标准(美国的信息技术安全联邦标准(FC)AnIntroductiontoDatabaseSystem安全标准简介(续)安全标准简介(续)v1993年,年,CTCPEC、FC、TCSEC和和ITSEC联合联合行动,解决原标准中概念和技术上的差异,称为行动,解决原标准中概念和技术上的差异,称为CC(CommonCriteria)项目)项目v1999年年CCV2.1版被版被ISO采用为国际标准采用为国际标准2001年年CCV2.1版被我国采用为国家标准版被我国采用为国家标准v目前目前CC已基本取代了已基本取代了TCSEC,成为评估信息产,成为评估信息产品安全性的主要标准。品安全性的主要标准。AnIntroductiontoDatabaseSystem安全标准简介(续)安全标准简介(续)信息安全标准的发展历史信息安全标准的发展历史 AnIntroductiontoDatabaseSystem安全标准简介(续)安全标准简介(续)vTCSEC标准标准vCC标准标准AnIntroductiontoDatabaseSystemTCSEC标准标准v1991年年4月美国月美国NCSC(国家计算机安全中心)颁(国家计算机安全中心)颁布了布了可信计算机系统评估标准关于可信数据库可信计算机系统评估标准关于可信数据库系统的解释系统的解释(TrustedDatabaseInterpretation简称简称TDI)nTDI又称紫皮书。它将又称紫皮书。它将TCSEC扩展到数据库管理系统扩展到数据库管理系统nTDI中定义了数据库管理系统的设计与实现中需满足和中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准用以进行安全性级别评估的标准AnIntroductiontoDatabaseSystemTCSEC标准(续)标准(续)vTCSEC/TDI标准的基本内容标准的基本内容nTCSEC/TDI,从,从四个方面四个方面来描述安全性级别划分的指来描述安全性级别划分的指标标l安全策略安全策略l责任责任l保证保证l文档文档AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分安全级别划分vTCSEC/TDI安全级别划分安全级别划分安安 全全 级级 别别 定定 义义 A1验证设计(验证设计(Verified Design) B3安全域(安全域(Security Domains) B2结构化保护(结构化保护(Structural Protection) B1标记安全保护(标记安全保护(Labeled Security Protection) C2受控的存取保护(受控的存取保护(Controlled Access Protection) C1自自 主主 安安 全全 保保 护护 ( Discretionary Security Protection) D最小保护(最小保护(Minimal Protection)AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)安全级别划分(续)n四组(四组(division)七个等级)七个等级lDlC(C1,C2)lB(B1,B2,B3)lA(A1)n按系统可靠或可信程度逐渐增高按系统可靠或可信程度逐渐增高n各安全级别之间具有一种偏序向下兼容的关系,即较各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力保护要求,同时提供更多或更完善的保护能力AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vD级级n将一切不符合更高标准的系统均归于将一切不符合更高标准的系统均归于D组组n典型例子:典型例子:DOS是安全标准为是安全标准为D的操作系统的操作系统lDOS在安全性方面几乎没有什么专门的机制来保障在安全性方面几乎没有什么专门的机制来保障AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vC1级级n非常初级的自主安全保护非常初级的自主安全保护n能够实现对用户和数据的分离,进行自主存取控制能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。),保护或限制用户权限的传播。n现有的商业系统稍作改进即可满足现有的商业系统稍作改进即可满足AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vC2级级n安全产品的最低档次安全产品的最低档次n提供受控的存取保护,将提供受控的存取保护,将C1级的级的DAC进一步细化,以个人进一步细化,以个人身份注册负责,并实施审计和资源隔离身份注册负责,并实施审计和资源隔离n达到达到C2级的产品在其名称中往往不突出级的产品在其名称中往往不突出“安全安全”(Security)这一特色)这一特色n典型例子典型例子lWindows2000lOracle7AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vB1级级n标记安全保护。标记安全保护。“安全安全”(Security)或)或“可信的可信的”(Trusted)产品。)产品。n对系统的数据加以标记,对标记的主体和客体实施强对系统的数据加以标记,对标记的主体和客体实施强制存取控制(制存取控制(MAC)、审计等安全机制)、审计等安全机制nB1级典型例子级典型例子l操作系统操作系统惠普公司的惠普公司的HPUXBLSrelease9.09+l数据库数据库Oracle公司的公司的TrustedOracle7Sybase公司的公司的SecureSQLServerversion11.0.6AnIntroductiontoDatabaseSystemAn Introduction to Database SystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vB2级级n结构化保护结构化保护n建立形式化的安全策略模型并对系统内的所有主体和建立形式化的安全策略模型并对系统内的所有主体和客体实施客体实施DAC和和MACAnIntroductiontoDatabaseSystemAn Introduction to Database SystemTCSEC/TDI安全级别划分(续)安全级别划分(续)vB3级级n安全域安全域n该级的该级的TCB必须满足访问监控器的要求,审计跟踪能必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程力更强,并提供系统恢复过程vA1级级n验证设计,即提供验证设计,即提供B3级保护的同时给出系统的形式化级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。设计说明和验证以确信各安全保护真正实现。AnIntroductiontoDatabaseSystemCCvCCn提出国际公认的表述信息技术安全性的结构提出国际公认的表述信息技术安全性的结构n把信息产品的安全要求分为把信息产品的安全要求分为l安全功能要求安全功能要求l安全保证要求安全保证要求AnIntroductiontoDatabaseSystemCC(续)(续)vCC文本组成文本组成n简介和一般模型简介和一般模型l有关术语、基本概念和一般模型以及与评估有关的一些有关术语、基本概念和一般模型以及与评估有关的一些框架框架n安全功能要求安全功能要求l列出了一系列类、子类和组件列出了一系列类、子类和组件n安全保证要求安全保证要求l列出了一系列保证类、子类和组件列出了一系列保证类、子类和组件l提出了评估保证级(提出了评估保证级(EvaluationAssuranceLevel,EAL),从),从EAL1至至EAL7共分为七级共分为七级AnIntroductiontoDatabaseSystemCC(续)(续)vCC评估保证级(评估保证级(EAL)划分)划分评估保证级评估保证级定义定义TCSEC安全级别安全级别(近似相当)(近似相当)EAL1功能测试(功能测试(functionallytested)EAL2结构测试(结构测试(structurallytested)C1EAL3系统地测试和检查(系统地测试和检查(methodicallytestedandchecked)C2EAL4系统地设计、测试和复查(系统地设计、测试和复查(methodicallydesigned,tested,andreviewed)B1EAL5半形式化设计和测试(半形式化设计和测试(semiformallydesignedandtested)B2EAL6半形式化验证的设计和测试(半形式化验证的设计和测试(semiformallyverifieddesignandtested)B3EAL7形式化验证的设计和测试(形式化验证的设计和测试(formallyverifieddesignandtested)A1AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性其他安全性4.7小结小结AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制v非法使用数据库的情况非法使用数据库的情况n编写合法程序绕过数据库管理系统及其授权机制编写合法程序绕过数据库管理系统及其授权机制n直接或编写应用程序执行非授权操作直接或编写应用程序执行非授权操作n通过多次合法查询数据库从中推导出一些保密数据通过多次合法查询数据库从中推导出一些保密数据AnIntroductiontoDatabaseSystem数据库安全性控制(续)数据库安全性控制(续)n计算机系统中,安全措施是一级一级层层设置计算机系统中,安全措施是一级一级层层设置计算机系统的安全模型计算机系统的安全模型 AnIntroductiontoDatabaseSystem数据库安全性控制(续)数据库安全性控制(续)n系统根据用户标识鉴定用户身份,合法用户才准许进系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统入计算机系统n数据库管理系统还要进行存取控制,只允许用户执行数据库管理系统还要进行存取控制,只允许用户执行合法操作合法操作n操作系统有自己的保护措施操作系统有自己的保护措施n数据以密码形式存储到数据库中数据以密码形式存储到数据库中AnIntroductiontoDatabaseSystem数据库安全性控制(续)数据库安全性控制(续)数据库管理系统安全性控制模型数据库管理系统安全性控制模型AnIntroductiontoDatabaseSystemv存取控制流程存取控制流程n首先,数据库管理系统对提出首先,数据库管理系统对提出SQL访问请求的数据库访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。用户进行身份鉴别,防止不可信用户使用系统。n然后,在然后,在SQL处理层进行自主存取控制和强制存取控处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。制,进一步可以进行推理控制。n还可以对用户访问行为和系统关键操作进行审计,对还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。异常用户行为进行简单入侵检测。数据库安全性控制(续)数据库安全性控制(续)AnIntroductiontoDatabaseSystem数据库安全性控制(续)数据库安全性控制(续)v数据库安全性控制的常用方法数据库安全性控制的常用方法n用户标识和鉴定用户标识和鉴定n存取控制存取控制n视图视图n审计审计n数据加密数据加密AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户身份鉴别用户身份鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权:授予与回收授权:授予与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem4.2.1用户身份鉴别用户身份鉴别v用户身份鉴别用户身份鉴别(Identification&Authentication)n系统提供的最外层安全保护措施系统提供的最外层安全保护措施n用户标识:由用户名和用户标识号组成用户标识:由用户名和用户标识号组成(用户标识号在系统整个生命周期内唯一)(用户标识号在系统整个生命周期内唯一)AnIntroductiontoDatabaseSystem用户身份鉴别(续)用户身份鉴别(续)v用户身份鉴别的方法用户身份鉴别的方法1.静态口令鉴别静态口令鉴别l静态口令一般由用户自己设定,这些口令是静态不变的静态口令一般由用户自己设定,这些口令是静态不变的2.动态口令鉴别动态口令鉴别l口令是动态变化的,每次鉴别时均需使用动态产生的新口口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法令登录数据库管理系统,即采用一次一密的方法3.生物特征鉴别生物特征鉴别l通过生物特征进行认证的技术,生物特征如指纹、虹膜和通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等掌纹等4.智能卡鉴别智能卡鉴别l智能卡是一种不可复制的硬件,内置集成电路的芯片,具智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能有硬件加密功能AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户标识与鉴别用户标识与鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权:授予与回收授权:授予与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem4.2.2存取控制存取控制v存取控制机制组成存取控制机制组成n定义用户权限,并将用户权限登记到数据字典中定义用户权限,并将用户权限登记到数据字典中l用户对某一数据对象的操作权力称为用户对某一数据对象的操作权力称为权限权限lDBMS提供适当的语言来定义用户权限,存放在数据字提供适当的语言来定义用户权限,存放在数据字典中,称做安全规则或授权规则典中,称做安全规则或授权规则n合法权限检查合法权限检查l用户发出存取数据库操作请求用户发出存取数据库操作请求lDBMS查找数据字典,进行合法权限检查查找数据字典,进行合法权限检查v用户权限定义和合法权检查机制一起组成了数据库管理系用户权限定义和合法权检查机制一起组成了数据库管理系统的存取控制子系统统的存取控制子系统AnIntroductiontoDatabaseSystem存取控制(续)存取控制(续)v常用存取控制方法常用存取控制方法n自主存取控制自主存取控制(DiscretionaryAccessControl,简称,简称DAC)lC2级级l用户对不同的数据对象有不同的存取权限用户对不同的数据对象有不同的存取权限l不同的用户对同一对象也有不同的权限不同的用户对同一对象也有不同的权限l用户还可将其拥有的存取权限转授给其他用户用户还可将其拥有的存取权限转授给其他用户AnIntroductiontoDatabaseSystem存取控制(续)存取控制(续)v常用存取控制方法(续)常用存取控制方法(续)n强制存取控制强制存取控制(MandatoryAccessControl,简称,简称MAC)lB1级级l每一个数据对象被标以一定的密级每一个数据对象被标以一定的密级l每一个用户也被授予某一个级别的许可证每一个用户也被授予某一个级别的许可证l对于任意一个对象,只有具有合法许可证的用户才可以存取对于任意一个对象,只有具有合法许可证的用户才可以存取AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户标识与鉴别用户标识与鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权:授予与回收授权:授予与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem4.2.3自主存取控制方法自主存取控制方法v通过通过SQL的的GRANT语句和语句和REVOKE语句实现语句实现v用户权限组成用户权限组成n数据对象数据对象n操作类型操作类型v定义用户存取权限:定义用户可以在哪些数据库定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作对象上进行哪些类型的操作v定义存取权限称为定义存取权限称为授权授权AnIntroductiontoDatabaseSystem自主存取控制方法(续)自主存取控制方法(续)v关系数据库系统中存取控制对象关系数据库系统中存取控制对象对象类型对象类型对象对象操操作作类类型型数据库数据库模式模式模式模式CREATESCHEMA基本表基本表CREATETABLE,ALTERTABLE视图视图CREATEVIEW索引索引CREATEINDEX数据数据基本表基本表和视图和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALLPRIVILEGES属性列属性列SELECT,INSERT,UPDATE,REFERENCES,ALLPRIVILEGES关系数据库系统中的存取权限关系数据库系统中的存取权限 AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户标识与鉴别用户标识与鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权:授予与回收授权:授予与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem4.2.4授权:授予与回收授权:授予与回收1.GRANTvGRANT语句的一般格式:语句的一般格式:GRANT,.ON,TO,.WITHGRANTOPTION;v语义:将对指定操作对象的指定操作权限授予指定的用户语义:将对指定操作对象的指定操作权限授予指定的用户AnIntroductiontoDatabaseSystemGRANT(续)(续)n发出发出GRANT:l数据库管理员数据库管理员l数据库对象创建者(即属主数据库对象创建者(即属主Owner)l拥有该权限的用户拥有该权限的用户n按受权限的用户按受权限的用户l一个或多个具体用户一个或多个具体用户lPUBLIC(即全体用户)(即全体用户)AnIntroductiontoDatabaseSystemWITHGRANTOPTION子句子句vWITHGRANTOPTION子句子句:n指定:可以指定:可以再授予再授予n没有指定:没有指定:不能传播不能传播v不允许循环授权不允许循环授权AnIntroductiontoDatabaseSystem例题例题 例例4.1 把查询把查询Student表权限授给用户表权限授给用户U1GRANTSELECTONTABLEStudentTOU1;AnIntroductiontoDatabaseSystem例题(续)例题(续)例例4.2把把对对Student表表和和Course表表的的全全部部权权限限授授予予用户用户U2和和U3GRANTALLPRIVILIGESONTABLEStudent,CourseTOU2,U3;AnIntroductiontoDatabaseSystem例题(续)例题(续)例例4.3把对表把对表SC的查询权限授予所有用户的查询权限授予所有用户GRANTSELECTONTABLESCTOPUBLIC;AnIntroductiontoDatabaseSystem例题(续)例题(续)例例4.4把把查查询询Student表表和和修修改改学学生生学学号号的的权权限限授授给用户给用户U4GRANTUPDATE(Sno),SELECTONTABLEStudentTOU4;v对属性列的授权时必须明确指出相应属性列名对属性列的授权时必须明确指出相应属性列名AnIntroductiontoDatabaseSystem例题(续)例题(续) 例例4.5把把对对表表SC的的INSERT权权限限授授予予U5用用户户,并允许他再将此权限授予其他用户并允许他再将此权限授予其他用户GRANTINSERTONTABLESCTOU5WITHGRANTOPTION;AnIntroductiontoDatabaseSystem传播权限传播权限执行例执行例4.5后,后,U5不仅拥有了对表不仅拥有了对表SC的的INSERT权限,权限,还可以传播此权限:还可以传播此权限:例例4.6GRANTINSERTONTABLESCTOU6WITHGRANTOPTION;同样,同样,U6还可以将此权限授予还可以将此权限授予U7:例例4.7GRANTINSERTONTABLESCTOU7;但但U7不能再传播此权限。不能再传播此权限。AnIntroductiontoDatabaseSystem传播权限(续)传播权限(续)执行了例执行了例4.1例例4.7语句后学生语句后学生课程数据库中的用户权限定义表课程数据库中的用户权限定义表授权用户名授权用户名被授权用户名被授权用户名数据库对象名数据库对象名允许的操作类型允许的操作类型能否转授权能否转授权DBAU1关系关系StudentSELECT不能不能DBAU2关系关系StudentALL不能不能DBAU2关系关系CourseALL不能不能DBAU3关系关系StudentALL不能不能DBAU3关系关系CourseALL不能不能DBAPUBLIC关系关系SCSELECT不能不能DBAU4关系关系StudentSELECT不能不能DBAU4属性列属性列Student.SnoUPDATE不能不能DBAU5关系关系SCINSERT能能U5U6关系关系SCINSERT能能U6U7关系关系SCINSERT不能不能AnIntroductiontoDatabaseSystem授权:授予与回收(续)授权:授予与回收(续)2.REVOKEv授授予予的的权权限限可可以以由由数数据据库库管管理理员员或或其其他他授授权权者者用用REVOKE语句收回语句收回vREVOKE语句的一般格式为:语句的一般格式为:REVOKE,.ON,FROM,.CASCADE|RESTRICT;AnIntroductiontoDatabaseSystemREVOKE(续)(续)例例4.8把用户把用户U4修改学生学号的权限收回修改学生学号的权限收回REVOKEUPDATE(Sno)ONTABLEStudentFROMU4;AnIntroductiontoDatabaseSystemREVOKE(续)(续)例例4.9收回所有用户对表收回所有用户对表SC的查询权限的查询权限REVOKESELECTONTABLESCFROMPUBLIC;AnIntroductiontoDatabaseSystemREVOKE(续)(续)例例4.10把用户把用户U5对对SC表的表的INSERT权限收回权限收回REVOKEINSERTONTABLESCFROMU5CASCADE;n将用户将用户U5的的INSERT权限收回的时候应该使用权限收回的时候应该使用CASCADE,否则拒绝执行该语句,否则拒绝执行该语句n如果如果U6或或U7还从其他用户处获得对还从其他用户处获得对SC表的表的INSERT权限,权限,则他们仍具有此权限,系统只收回直接或间接从则他们仍具有此权限,系统只收回直接或间接从U5处获处获得的权限得的权限AnIntroductiontoDatabaseSystemREVOKE(续)(续)执行例执行例4.84.10语句后学生语句后学生课程数据库中的用户权限定义表课程数据库中的用户权限定义表授权用户名授权用户名被授权用户名被授权用户名数据库对象名数据库对象名允许的操作类型允许的操作类型能否转授权能否转授权DBAU1关系关系StudentSELECT不能不能DBAU2关系关系StudentALL不能不能DBAU2关系关系CourseALL不能不能DBAU3关系关系StudentALL不能不能DBAU3关系关系CourseALL不能不能DBAU4关系关系StudentSELECT不能不能AnIntroductiontoDatabaseSystem小结小结:SQL灵活的授权机制灵活的授权机制v数据库管理员:数据库管理员:n拥有所有对象的所有权限拥有所有对象的所有权限n根据实际情况不同的权限授予不同的用户根据实际情况不同的权限授予不同的用户v用户:用户:n拥有自己建立的对象的全部的操作权限拥有自己建立的对象的全部的操作权限n可以使用可以使用GRANT,把权限授予其他用户,把权限授予其他用户v被授权的用户被授权的用户n如果具有如果具有“继续授权继续授权”的许可,可以把获得的权限再授的许可,可以把获得的权限再授予其他用户予其他用户v所有授予出去的权力在必要时又都可用所有授予出去的权力在必要时又都可用REVOKE语句语句收回收回AnIntroductiontoDatabaseSystem授权:授予与回收(续)授权:授予与回收(续)3.创建数据库模式的权限创建数据库模式的权限v数据库管理员在创建用户时实现数据库管理员在创建用户时实现vCREATEUSER语句格式语句格式CREATEUSERWITHDBA|RESOURCE|CONNECT;注:注:CREATEUSER不是不是SQL标准,各个系统的实现相差甚远标准,各个系统的实现相差甚远AnIntroductiontoDatabaseSystem授权:授予与回收(续)授权:授予与回收(续)vCREATEUSER语句格式说明语句格式说明n只有系统的超级用户才有权创建一个新的数据库用户只有系统的超级用户才有权创建一个新的数据库用户n新创建的数据库用户有三种权限:新创建的数据库用户有三种权限:CONNECT、RESOURCE和和DBAn如没有指定创建的新用户的权限,默认该用户拥有如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有权限。拥有CONNECT权限的用户不能创建权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录新用户,不能创建模式,也不能创建基本表,只能登录数据库数据库AnIntroductiontoDatabaseSystemAn Introduction to Database System授权:授予与回收(续)授权:授予与回收(续)vCREATEUSER语句格式说明(续)语句格式说明(续)n拥有拥有RESOURCE权限的用户能创建基本表和视图,成权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新为所创建对象的属主。但不能创建模式,不能创建新的用户的用户n拥有拥有DBA权限的用户是系统中的超级用户,可以创建权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;新的用户、创建模式、创建基本表和视图等;DBA拥拥有对所有数据库对象的存取权限,还可以把这些权限有对所有数据库对象的存取权限,还可以把这些权限授予一般用户授予一般用户AnIntroductiontoDatabaseSystem授权:授予与回收(续)授权:授予与回收(续)拥有的权限拥有的权限可否执行的操作可否执行的操作CREATEUSERCREATESCHEMACREATETABLE登录数据库登录数据库,执行数据查询和执行数据查询和操纵操纵DBA可以可以可以可以可以可以可以可以RESOURCE 不可以不可以不可以不可以不可以不可以不可以不可以CONNECT不可以不可以不可以不可以不可以不可以可以,但必须拥可以,但必须拥有相应权限有相应权限权限与可执行的操作对照表权限与可执行的操作对照表 AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户标识与鉴别用户标识与鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权:授予与回收授权:授予与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem4.2.5数据库角色数据库角色v数据库角色:被命名的一组与数据库操作相关的数据库角色:被命名的一组与数据库操作相关的权限权限n角色是权限的集合角色是权限的集合n可以为一组具有相同权限的用户创建一个角色可以为一组具有相同权限的用户创建一个角色n简化授权的过程简化授权的过程AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)1.角色的创建角色的创建CREATEROLE2.给角色授权给角色授权GRANT,ON对象名对象名TO,AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)3.将一个角色授予其他的角色或用户将一个角色授予其他的角色或用户GRANT,TO,WITHADMINOPTIONn该语句把角色授予某用户,或授予另一个角色该语句把角色授予某用户,或授予另一个角色n授予者是角色的创建者或拥有在这个角色上的授予者是角色的创建者或拥有在这个角色上的ADMINOPTIONn指定了指定了WITHADMINOPTION则获得某种权限的角色或用则获得某种权限的角色或用户还可以把这种权限授予其他角色户还可以把这种权限授予其他角色一个角色的权限:直接授予这个角色的全部权限加上其他角色一个角色的权限:直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限授予这个角色的全部权限AnIntroductiontoDatabaseSystem4.角色权限的收回角色权限的收回REVOKE,ONFROM,n用户可以回收角色的权限,从而修改角色拥有的权限用户可以回收角色的权限,从而修改角色拥有的权限nREVOKE执行者是执行者是l角色的创建者角色的创建者l拥有在这个(些)角色上的拥有在这个(些)角色上的ADMINOPTION数据库角色(续)数据库角色(续)AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)例例4.11通过角色来实现将一组权限授予一个用户。通过角色来实现将一组权限授予一个用户。步骤如下:步骤如下:(1)首先创建一个角色)首先创建一个角色R1 CREATEROLER1;(2)然后使用)然后使用GRANT语句,使角色语句,使角色R1拥有拥有Student表的表的SELECT、UPDATE、INSERT权限权限GRANTSELECT,UPDATE,INSERT ONTABLEStudent TOR1;AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)(3)将这个角色授予王平,张明,赵玲。使他们具有角)将这个角色授予王平,张明,赵玲。使他们具有角色色R1所包含的全部权限所包含的全部权限 GRANTR1 TO王平王平,张明张明,赵玲赵玲;(4)可以一次性通过可以一次性通过R1来回收王平的这来回收王平的这3个权限个权限REVOKER1FROM王平王平;AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)例例4.12角色的权限修改角色的权限修改GRANTDELETEONTABLEStudentTOR1;使角色使角色R1在原来的基础上增加了在原来的基础上增加了Student表的表的DELETE权限权限AnIntroductiontoDatabaseSystem数据库角色(续)数据库角色(续)例例4.13 REVOKESELECTONTABLEStudentFROMR1;使使R1减少了减少了SELECT权限权限AnIntroductiontoDatabaseSystem4.2数据库安全性控制数据库安全性控制4.2.1用户标识与鉴别用户标识与鉴别4.2.2存取控制存取控制4.2.3自主存取控制方法自主存取控制方法4.2.4授权与回收授权与回收4.2.5数据库角色数据库角色4.2.6强制存取控制方法强制存取控制方法AnIntroductiontoDatabaseSystem自主存取控制缺点自主存取控制缺点v可能存在数据的可能存在数据的“无意泄露无意泄露”v原因:这种机制仅仅通过对数据的存取权限来原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记进行安全控制,而数据本身并无安全性标记v解决:对系统控制下的所有主客体实施强制存解决:对系统控制下的所有主客体实施强制存取控制策略取控制策略AnIntroductiontoDatabaseSystem4.2.6强制存取控制方法强制存取控制方法v强制存取控制(强制存取控制(MAC)n保证更高程度的安全性保证更高程度的安全性n用户不能直接感知或进行控制用户不能直接感知或进行控制n适用于对数据有严格而固定密级分类的部门适用于对数据有严格而固定密级分类的部门l军事部门军事部门l政府部门政府部门AnIntroductiontoDatabaseSystem强制存取控制方法(续)强制存取控制方法(续)v在强制存取控制中,数据库管理系统所管理的全在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类部实体被分为主体和客体两大类v主体主体是系统中的活动实体是系统中的活动实体n数据库管理系统所管理的实际用户数据库管理系统所管理的实际用户n代表用户的各进程代表用户的各进程v客体客体是系统中的被动实体,受主体操纵是系统中的被动实体,受主体操纵n文件、基本表、索引、视图文件、基本表、索引、视图AnIntroductiontoDatabaseSystem强制存取控制方法(续)强制存取控制方法(续)v敏感度标记(敏感度标记(Label)n对于主体和客体,对于主体和客体,DBMS为它们每个实例(值)指派一个为它们每个实例(值)指派一个敏感度标记(敏感度标记(Label)n敏感度标记分成若干级别敏感度标记分成若干级别l绝密(绝密(TopSecret,TS)l机密(机密(Secret,S)l可信(可信(Confidential,C)l公开(公开(Public,P)lTS=S=C=Pv主体的敏感度标记称为许可证级别(主体的敏感度标记称为许可证级别(ClearanceLevel)v客体的敏感度标记称为密级(客体的敏感度标记称为密级(ClassificationLevel)AnIntroductiontoDatabaseSystem强制存取控制方法(续)强制存取控制方法(续)v强制存取控制规则强制存取控制规则(1)仅当主体的许可证级别)仅当主体的许可证级别大于或等于大于或等于客体的密级时,客体的密级时,该主体才能该主体才能读读取相应的客体取相应的客体(2)仅当主体的许可证级别)仅当主体的许可证级别小于或等于小于或等于客体的密级时,客体的密级时,该主体才能该主体才能写写相应的客体相应的客体AnIntroductiontoDatabaseSystem强制存取控制方法(续)强制存取控制方法(续)v强制存取控制(强制存取控制(MAC)是对数据本身进行密级标记,无论)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据。合密级标记要求的用户才可以操纵数据。v实现强制存取控制时要首先实现自主存取控制实现强制存取控制时要首先实现自主存取控制n原因:较高安全性级别提供的安全保护要包含较低级别的所原因:较高安全性级别提供的安全保护要包含较低级别的所有保护有保护v自主存取控制与强制存取控制共同构成数据库管理系统的自主存取控制与强制存取控制共同构成数据库管理系统的安全机制安全机制AnIntroductiontoDatabaseSystemDAC+MAC安全检查安全检查SQL语法分析语法分析&语义检查语义检查DAC检检查查安全检查安全检查MAC检检查查继续语义检查继续语义检查v先进行先进行自主存取控制自主存取控制检查,通过检查,通过自主存取控制自主存取控制检查的数据对象检查的数据对象再由系统进行再由系统进行强制存取控制强制存取控制检查,只有通过检查,只有通过强制存取控制强制存取控制检查检查的数据对象方可存取的数据对象方可存取。AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性保护其他安全性保护4.7小结小结AnIntroductiontoDatabaseSystem4.3视图机制视图机制v把要保密的数据对无权存取这些数据的用户隐藏把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护起来,对数据提供一定程度的安全保护v间接地实现支持存取谓词的用户权限定义间接地实现支持存取谓词的用户权限定义AnIntroductiontoDatabaseSystem视图机制(续)视图机制(续)例例4.14建立计算机系学生的视图,把对该视图的建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明权限授于王平,把该视图上的所有操作权限授于张明先建立计算机系学生的视图先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept=CS;AnIntroductiontoDatabaseSystem视图机制(续)视图机制(续)在视图上进一步定义存取权限在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平王平;GRANTALLPRIVILIGESONCS_StudentTO张明张明;AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性保护其他安全性保护4.7小结小结AnIntroductiontoDatabaseSystem4.4审计审计v什么是审计什么是审计n启用一个专用的审计日志(启用一个专用的审计日志(AuditLog)将用户对数据库的所有操作记录在上面将用户对数据库的所有操作记录在上面n审计员利用审计日志审计员利用审计日志监控数据库中的各种行为,找出非法存取数据的人、时监控数据库中的各种行为,找出非法存取数据的人、时间和内容间和内容nC2以上安全级别的以上安全级别的DBMS必须具有审计功能必须具有审计功能AnIntroductiontoDatabaseSystemAn Introduction to Database System审计(续)审计(续)v审计功能的可选性审计功能的可选性n审计很费时间和空间审计很费时间和空间nDBA可以根据应用对安全性的要求,灵活地打开或关可以根据应用对安全性的要求,灵活地打开或关闭审计功能闭审计功能n审计功能主要用于安全性要求较高的部门审计功能主要用于安全性要求较高的部门AnIntroductiontoDatabaseSystem审计(续)审计(续)1.审计事件审计事件n服务器事件服务器事件l审计数据库服务器发生的事件审计数据库服务器发生的事件n系统权限系统权限l对系统拥有的结构或模式对象进行操作的审计对系统拥有的结构或模式对象进行操作的审计l要求该操作的权限是通过系统权限获得的要求该操作的权限是通过系统权限获得的n语句事件语句事件l对对SQL语句,如语句,如DDL、DML、DQL及及DCL语句的审计语句的审计n模式对象事件模式对象事件l对特定模式对象上进行的对特定模式对象上进行的SELECT或或DML操作的审计操作的审计AnIntroductiontoDatabaseSystem审计(续)审计(续)2.审计功能审计功能n基本功能基本功能l提供多种审计查阅方式提供多种审计查阅方式提供多种审计查阅方式提供多种审计查阅方式n多套审计规则:一般在初始化设定多套审计规则:一般在初始化设定n提供审计分析和报表功能提供审计分析和报表功能n审计日志管理功能审计日志管理功能l防止审计员误删审计记录,审计日志必须先转储后删除防止审计员误删审计记录,审计日志必须先转储后删除l对转储的审计记录文件提供完整性和保密性保护对转储的审计记录文件提供完整性和保密性保护l只允许审计员查阅和转储审计记录,不允许任何用户新只允许审计员查阅和转储审计记录,不允许任何用户新增和修改审计记录等增和修改审计记录等n提供查询审计设置及审计记录信息的专门视图提供查询审计设置及审计记录信息的专门视图AnIntroductiontoDatabaseSystem审计(续)审计(续)3.AUDIT语句和语句和NOAUDIT语句语句nAUDIT语句:设置审计功能语句:设置审计功能nNOAUDIT语句:取消审计功能语句:取消审计功能AnIntroductiontoDatabaseSystemv用户级审计用户级审计n任何用户可设置的审计任何用户可设置的审计n主要是用户针对自己创建的数据库表和视图进行审计主要是用户针对自己创建的数据库表和视图进行审计v系统级审计系统级审计n只能由数据库管理员设置只能由数据库管理员设置n监测成功或失败的登录要求、监测授权和收回操作以监测成功或失败的登录要求、监测授权和收回操作以及其他数据库级权限下的操作及其他数据库级权限下的操作审计(续)审计(续)AnIntroductiontoDatabaseSystem审计(续)审计(续)例例4.15对修改对修改SC表结构或修改表结构或修改SC表数据的操作进行审计表数据的操作进行审计AUDITALTER,UPDATEONSC;例例4.16取消对取消对SC表的一切审计表的一切审计NOAUDITALTER,UPDATEONSC;AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性保护其他安全性保护4.7小结小结AnIntroductiontoDatabaseSystem4.5数据加密数据加密v数据加密数据加密n防止数据库中数据在存储和传输中失密的有效手段防止数据库中数据在存储和传输中失密的有效手段v加密的基本思想加密的基本思想n根据一定的算法将原始数据根据一定的算法将原始数据明文(明文(Plaintext)变换)变换为不可直接识别的格式为不可直接识别的格式密文(密文(Ciphertext)v加密方法加密方法n存储加密存储加密n传输加密传输加密AnIntroductiontoDatabaseSystem数据加密(续)数据加密(续)v存储加密存储加密n透明存储加密透明存储加密l内核级加密保护方式,对用户完全透明内核级加密保护方式,对用户完全透明l将数据在写到磁盘时对数据进行加密,授权用户读取数将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密据时再对其进行解密l数据库的应用程序不需要做任何修改,只需在创建表语数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可句中说明需加密的字段即可内核级加密方法内核级加密方法:性能较好,安全完备性较高性能较好,安全完备性较高n非透明存储加密非透明存储加密l通过多个加密函数实现通过多个加密函数实现AnIntroductiontoDatabaseSystem数据加密(续)数据加密(续)v传输加密传输加密n链路加密链路加密l在链路层进行加密在链路层进行加密l传输信息由报头和报文两部分组成传输信息由报头和报文两部分组成l报文和报头均加密报文和报头均加密n端到端加密端到端加密l在发送端加密,接收端解密在发送端加密,接收端解密l只加密报文不加密报头只加密报文不加密报头l所需密码设备数量相对较少,容易被非法监听者发现并所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息从中获取敏感信息AnIntroductiontoDatabaseSystem数据加密(续)数据加密(续)数据库管理系统可信传输示意图数据库管理系统可信传输示意图第一步:创建可信连接第一步:创建可信连接第二步:确认通信双方端点的可靠性第二步:确认通信双方端点的可靠性第三步:协商加密算法和密钥第三步:协商加密算法和密钥第四步:可信传输数据第四步:可信传输数据第五步:关闭可信连接第五步:关闭可信连接可可信信通通讯讯模模块块可可信信通通讯讯模模块块用户用户数据库服务器数据库服务器AnIntroductiontoDatabaseSystem数据加密(续)数据加密(续)基于安全套接层协议基于安全套接层协议SSL传输方案的实现思路:传输方案的实现思路:(1)确认通信双方端点的可靠性)确认通信双方端点的可靠性l采用基于采用基于数字证书数字证书的服务器和客户端认证方式的服务器和客户端认证方式l通信时均首先向对方提供己方证书,然后使用本地的通信时均首先向对方提供己方证书,然后使用本地的CA信任列表和证书撤销列表对接收到的对方证书进行信任列表和证书撤销列表对接收到的对方证书进行验证验证(2)协商加密算法和密钥)协商加密算法和密钥l确认双方端点的可靠性后,通信双方协商本次会话的加确认双方端点的可靠性后,通信双方协商本次会话的加密算法与密钥密算法与密钥AnIntroductiontoDatabaseSystem数据加密(续)数据加密(续)(3)可信数据传输)可信数据传输l业务数据在被发送之前将被用某一组特定的密钥进行加业务数据在被发送之前将被用某一组特定的密钥进行加密和消息摘要计算,以密和消息摘要计算,以密文密文形式在网络上传输形式在网络上传输l当业务数据被接收的时候,需用相同一组特定的密钥进当业务数据被接收的时候,需用相同一组特定的密钥进行解密和摘要计算行解密和摘要计算AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1计算机安全性概述计算机安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全性保护其他安全性保护4.7小结小结AnIntroductiontoDatabaseSystem4.6其他安全性保护其他安全性保护v推理控制推理控制n处理强制存取控制未解决的问题处理强制存取控制未解决的问题n避免用户利用能够访问的数据推知更高密级的数据避免用户利用能够访问的数据推知更高密级的数据n常用方法常用方法l基于函数依赖的推理控制基于函数依赖的推理控制l基于敏感关联的推理控制基于敏感关联的推理控制v隐蔽信道隐蔽信道n处理强制存取控制未解决的问题处理强制存取控制未解决的问题AnIntroductiontoDatabaseSystem其他安全性保护(续)其他安全性保护(续)v数据隐私保护数据隐私保护n描述个人控制其不愿他人知道或他人不便知道的个人描述个人控制其不愿他人知道或他人不便知道的个人数据的能力数据的能力n范围很广:数据收集、数据存储、数据处理和数据发范围很广:数据收集、数据存储、数据处理和数据发布等各个阶段布等各个阶段AnIntroductiontoDatabaseSystem第四章第四章数据库安全性数据库安全性4.1数据库安全性概述数据库安全性概述4.2数据库安全性控制数据库安全性控制4.3视图机制视图机制4.4审计(审计(Audit)4.5数据加密数据加密4.6其他安全其他安全性保护性保护4.7小结小结AnIntroductiontoDatabaseSystem4.7小结小结v数据的共享日益加强,数据的安全保密越来越数据的共享日益加强,数据的安全保密越来越重要。重要。v数据库管理系统是管理数据的核心,因而其自数据库管理系统是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制。身必须具有一整套完整而有效的安全性机制。AnIntroductiontoDatabaseSystem小结(续)小结(续)v实现数据库系统安全性的技术和方法实现数据库系统安全性的技术和方法n用户身份鉴别用户身份鉴别n存取控制技术:自主存取控制和强制存取控制存取控制技术:自主存取控制和强制存取控制n视图技术视图技术n审计技术审计技术n数据加密存储和加密传输数据加密存储和加密传输
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号