




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AnIntroductiontoDatabaseSystem第四章数据库安全性主讲教师:姜季春主要内容本章重点讲解数据库安全性问题和实现技术存取控制技术、视图技术、审计技术存取控制中用户权限的授权与回收、合法权限检查——使用SQL语句中的GRANT语句和REVOKE语句实现数据库的自主存取控制数据库角色的概念和定义——使用SQL语句中的CREATEROLE语句创建角色,用GRANT语句给角色授权AnIntroductiontoDatabaseSystemAnIntroductiontoDatabaseSystem
数据库安全性
问题的提出数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性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安全标准简介AnIntroductiontoDatabaseSystem4.1.1数据库的不安全因素1.非授权用户对数据库的恶意存取和破坏一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术AnIntroductiontoDatabaseSystem数据库的不安全因素(续)2.数据库中重要或敏感的数据被泄露黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等审计日志分析AnIntroductiontoDatabaseSystem数据库的不安全因素(续)3.安全环境的脆弱性数据库的安全性与计算机系统的安全性紧密联系计算机硬件、操作系统、网络系统等的安全性建立一套可信(Trusted)计算机系统的概念和标准AnIntroductiontoDatabaseSystem4.1计算机安全性概述4.1.1数据库的不安全因素4.1.2安全标准简介AnIntroductiontoDatabaseSystem4.1.2安全标准简介为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准TCSEC标准CC标准AnIntroductiontoDatabaseSystem安全标准简介(续)1985年美国国防部(DoD)正式颁布《DoD可信计算机系统评估标准》(简称TCSEC或DoD85)TCSEC又称桔皮书TCSEC标准的目的提供一种标准,使用户可以对其计算机系统内敏感信息安全操作的可信程度做评估给计算机行业的制造商提供一种可循的指导规则,使其产品能够更好地满足敏感应用的安全需求AnIntroductiontoDatabaseSystem安全标准简介(续)不同国家建立在TCSEC概念上的评估准则欧洲的信息技术安全评估准则(ITSEC)加拿大的可信计算机产品评估准则(CTCPEC)美国的信息技术安全联邦标准(FC)AnIntroductiontoDatabaseSystem安全标准简介(续)1991年4月美国NCSC(国家计算机安全中心)颁布了《可信计算机系统评估标准关于可信数据库系统的解释》(TrustedDatabaseInterpretation简称TDI)TDI又称紫皮书。它将TCSEC扩展到数据库管理系统TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准AnIntroductiontoDatabaseSystem安全标准简介(续)为满足全球IT市场交易评估规范化的需求,于1993年采取联合行动,将各自独立的准则集合成一组单一的、能被广泛使用的IT准则,这一行动被称为CC项目1999年CCV2.1版被ISO采用为国际标准
2001年CCV2.1版被我国采用为国家标准目前CC已基本取代了TCSEC,成为评估信息产品安全性的主要标准AnIntroductiontoDatabaseSystem安全标准简介(续)信息安全标准的发展历史AnIntroductiontoDatabaseSystem安全标准简介(续)TCSEC/TDI标准的基本内容TDI与TCSEC一样,从四个方面来描述安全性级别划分的指标安全策略责任保证文档AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)TCSEC/TDI将系统划分为四组七个等级,依次是:D、C(C1,C2)、B(B1,B2,B3)、A(A1)按系统可靠或可信程度逐渐增高AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分TCSEC/TDI安全级别划分安全级别
定义A1验证设计(VerifiedDesign)B3安全域(SecurityDomains)
B2结构化保护(StructuralProtection)
B1标记安全保护(LabeledSecurityProtection)
C2受控的存取保护(ControlledAccessProtection)
C1自主安全保护(DiscretionarySecurityProtection)D最小保护(MinimalProtection)AnIntroductiontoDatabaseSystemTCSEC/TDI安全级别划分(续)B2以上的系统还处于理论研究阶段应用多限于一些特殊的部门,如军队等美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放到商业应用中来,并逐步成为新的商业标准AnIntroductiontoDatabaseSystemCCCC提出国际公认的表述信息技术安全性的结构把信息产品的安全要求分为安全功能要求安全保证要求AnIntroductiontoDatabaseSystemCC(续)CC文本组成简介和一般模型有关术语、基本概念和一般模型以及与评估有关的一些框架安全功能要求列出了一系列类、子类和组件安全保证要求列出了一系列保证类、子类和组件提出了评估保证级(EvaluationAssuranceLevel,EAL),从EAL1至EAL7共分为七级AnIntroductiontoDatabaseSystemCC(续)CC评估保证级划分评估保证级定义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小结AnIntroductiontoDatabaseSystem4.2数据库安全性控制非法使用数据库的情况编写合法程序绕过DBMS及其授权机制,通过OS直接存取、修改或备份数据库中的数据直接或编写应用程序执行非授权操作通过多次合法查询数据库从中推导出一些保密数据AnIntroductiontoDatabaseSystem4.2数据库安全性控制通过多次合法查询数据库从中推导出一些保密数据例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他: 首先查询包括张三在内的一组人的平均工资 然后查询用自己替换张三后这组人的平均工资从而推导出张三的工资破坏安全性的行为可能是无意的,故意的,恶意的包含张三在内的n个人的平均工资A,用用户甲的工资k替换张三后的n个人的平均工资为B,则可推到出张三的工资为:n(A-B)+kAnIntroductiontoDatabaseSystem数据库安全性控制(续)计算机系统中,安全措施是一级一级层层设置
计算机系统的安全模型根据输入的用户标识进行用户身份鉴定,只有合法用户才能进入计算机系统对进入系统的用户,DBMS进行存取控制,只允许用户执行合法操作OS也有自己的保护在数据库中,数据最终还可以以密码形式存储到数据库数据库安全性控制(续)存取控制流程首先,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统然后,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测AnIntroductiontoDatabaseSystemAnIntroductiontoDatabaseSystem数据库安全性控制概述(续)数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem4.2.1用户标识与鉴别用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施用户标识:由用户名和用户标识号组成(用户标识号在系统整个生命周期内唯一)AnIntroductiontoDatabaseSystem4.2.1用户标识与鉴别用户身份鉴别的方法1.静态口令鉴别静态口令一般由用户自己设定,这些口令是静态不变的2.动态口令鉴别口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法3.生物特征鉴别通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等4.智能卡鉴别智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem4.2.2存取控制定义用户权限在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限合法权限检查对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作AnIntroductiontoDatabaseSystem存取控制(续)存取控制机制组成定义用户权限,并将用户权限登记到数据字典中用户对某一数据对象的操作权力称为权限
DBMS提供适当的语言来定义用户权限,存放在数据字典中,称做安全规则或授权规则合法权限检查
用户发出存取数据库操作请求DBMS查找数据字典,进行合法权限检查用户权限定义和合法权检查机制一起组成了DBMS的安全子系统AnIntroductiontoDatabaseSystem存取控制(续)常用存取控制方法自主存取控制(DiscretionaryAccessControl,简称DAC)
C2级灵活强制存取控制(MandatoryAccessControl,简称MAC)B1级严格AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem4.2.3自主存取控制方法通过SQL的GRANT
语句和REVOKE
语句实现用户权限组成数据对象操作类型定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作定义存取权限称为授权
AnIntroductiontoDatabaseSystem自主存取控制方法(续)关系数据库系统中存取控制对象对象类型对象操作类型数据库模式CREATESCHEMA基本表CREATETABLE,ALTERTABLE模式视图CREATEVIEW索引CREATEINDEX数据基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALLPRIVILEGES数据属性列SELECT,INSERT,UPDATE,REFERENCESALLPRIVILEGES关系数据库系统中的存取权限
AnIntroductiontoDatabaseSystem自主存取控制方法(续)检查存取权限对于获得上机权后又进一步发出存取数据库操作的用户DBMS查找数据字典,根据其存取权限对操作的合法性进行检查若用户的操作请求超出了定义的权限,系统将拒绝执行此操作AnIntroductiontoDatabaseSystem自主存取控制方法(续)自主存取控制优缺点优点——能够通过授权机制有效地控制其他用户对敏感数据的存取缺点——可能存在数据的“无意泄露”原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem4.2.4授权与回收一、GRANTGRANT语句的一般格式:
GRANT<权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户>[,<用户>]...
[WITHGRANTOPTION];语义:将对指定操作对象的指定操作权限授予指定的用户
AnIntroductiontoDatabaseSystemGRANT(续)发出GRANTDBA数据库对象创建者(即属主Owner)拥有该权限的用户按受权限的用户
一个或多个具体用户PUBLIC(全体用户)
AnIntroductiontoDatabaseSystemWITHGRANTOPTION子句WITHGRANTOPTION子句:指定:可以再授予没有指定:不能传播不允许循环授权AnIntroductiontoDatabaseSystemGRANT(续)[例]一张授权表用户名数据对象名允许的操作类型王平关系StudentSELECT
张明霞关系StudentUPDATE
张明霞关系CourseALL
张明霞SC.GradeUPDATE
张明霞SC.SnoSELECT
张明霞SC.CnoSELECTAnIntroductiontoDatabaseSystem例题[例1]把查询Student表权限授给用户U1GRANTSELECT
ONTABLE
Student
TOU1;指定操作权限指定操作对象指定用户AnIntroductiontoDatabaseSystem例题(续)[例2]把对Student表和Course表的全部权限授予用户U2和U3GRANTALLPRIVILIGESONTABLE
Student,Course
TOU2,U3;指定操作权限指定操作对象指定用户注意:权限相同的用户可以用同一个GRANT语句进行授权AnIntroductiontoDatabaseSystem例题(续)[例3]把对表SC的查询权限授予所有用户
GRANTSELECT
ONTABLE
SC TOPUBLIC;AnIntroductiontoDatabaseSystem例题(续)[例4]把查询Student表和修改学生学号的权限授给用户U4
GRANTUPDATE(Sno),SELECT ONTABLEStudent TOU4;对属性列的授权时必须明确指出相应属性列名
对属性列授权AnIntroductiontoDatabaseSystem例题(续)
[例5]把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
GRANTINSERTONTABLESCTOU5
WITHGRANTOPTION;AnIntroductiontoDatabaseSystem传播权限执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限:
[例6]
GRANTINSERTONTABLESCTOU6
WITHGRANTOPTION;
同样,U6还可以将此权限授予U7:
[例7]GRANTINSERTONTABLESCTOU7;
但U7不能再传播此权限
AnIntroductiontoDatabaseSystem传播权限(续)
下表是执行了[例1]到[例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授权与回收(续)二、REVOKE授予的权限可以由DBA或其他授权者用REVOKE语句收回REVOKE语句的一般格式为:
REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>]
FROM<用户>[,<用户>]...;AnIntroductiontoDatabaseSystemREVOKE(续)[例8]把用户U4修改学生学号的权限收回
REVOKEUPDATE(Sno) ONTABLE
Student FROMU4;指定操作权限指定操作对象指定用户AnIntroductiontoDatabaseSystemREVOKE(续)[例9]收回所有用户对表SC的查询权限
REVOKESELECT ONTABLE
SC FROMPUBLIC;
AnIntroductiontoDatabaseSystemREVOKE(续)[例10]把用户U5对SC表的INSERT权限收回
REVOKEINSERT ONTABLE
SC FROMU5
CASCADE;将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回系统只收回直接或间接从U5处获得的权限AnIntroductiontoDatabaseSystemREVOKE(续)
执行[例8]到[例10]的语句后,学生-课程数据库中的用户权限定义表授权用户名被授权用户名数据库对象名允许的操作类型能否转授权DBAU1关系StudentSELECT不能DBAU2关系StudentALL不能DBAU2关系CourseALL不能DBAU3关系StudentALL不能DBAU3关系CourseALL不能DBAU4关系StudentSELECT不能AnIntroductiontoDatabaseSystem小结:SQL灵活的授权机制DBA:拥有所有对象的所有权限不同的权限授予不同的用户用户:拥有自己建立的对象的全部的操作权限GRANT:授予其他用户被授权的用户“继续授权”许可:再授予所有授予出去的权力在必要时又都可用REVOKE语句收回AnIntroductiontoDatabaseSystem授权与回收(续)三、创建数据库模式的权限DBA在创建用户时实现CREATEUSER语句格式
CREATEUSER<username>
[WITH][DBA|RESOURCE|CONNECT]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数据库角色数据库角色:被命名的一组与数据库操作相关的权限角色是权限的集合可以为一组具有相同权限的用户创建一个角色简化授权的过程AnIntroductiontoDatabaseSystem数据库角色一、角色的创建CREATEROLE<角色名>二、给角色授权
GRANT<权限>[,<权限>]…ON<对象类型>对象名
TO<角色>[,<角色>]…AnIntroductiontoDatabaseSystem数据库角色三、将一个角色授予其他的角色或用户GRANT<角色1>[,<角色2>]…TO<角色3>[,<用户1>]…[WITHADMINOPTION]四、角色权限的收回REVOKE<权限>[,<权限>]…ON<对象类型><对象名>FROM<角色>[,<角色>]…AnIntroductiontoDatabaseSystem数据库角色(续)[例11]通过角色来实现将一组权限授予一个用户。步骤如下:1.首先创建一个角色R1CREATEROLE
R1;2.然后使用GRANT语句,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限
GRANT
SELECT,UPDATE,INSERTONTABLE
StudentTO
R1;AnIntroductiontoDatabaseSystem数据库角色(续)3.将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限
GRANTR1TO王平,张明,赵玲;4.可以一次性通过R1来回收王平的这3个权限
REVOKER1
FROM王平;AnIntroductiontoDatabaseSystem数据库角色(续)[例12]角色的权限修改
GRANTDELETEONTABLE
StudentTOR1在角色R1中增加对基本表Student的DELETE权限AnIntroductiontoDatabaseSystem数据库角色(续)[例13]
REVOKESELECT
ONTABLEStudentFROMR1;
AnIntroductiontoDatabaseSystem4.2数据库安全性控制4.2.1用户标识与鉴别4.2.2存取控制4.2.3自主存取控制方法4.2.4授权与回收4.2.5数据库角色4.2.6强制存取控制方法AnIntroductiontoDatabaseSystem自主存取控制缺点可能存在数据的“无意泄露”原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记解决:对系统控制下的所有主客体实施强制存取控制策略
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储设备智能运维行业深度调研及发展战略咨询报告
- 生物质热能集中供暖行业深度调研及发展战略咨询报告
- 生态酒店运营行业深度调研及发展战略咨询报告
- 民族歌唱表演在线平台行业跨境出海战略研究报告
- 群众文艺交流在线平台企业制定与实施新质生产力战略研究报告
- 直播电商供应链管理咨询行业深度调研及发展战略咨询报告
- 煤炭脱硫脱硝技术行业跨境出海战略研究报告
- First-Time Parenting Journeys-Expectations and Realities(Chapters 6-7)英汉翻译实践报告
- 硬笔书法训练行业深度调研及发展战略咨询报告
- 一年级语文上学期特色教学计划
- 合作单位综合评价表(综合服务类)
- 高速项目路基压实度检测培训
- 现代住宅小区10KV04KV供配电系统设计(论文)
- 远络治疗-柯尚志-治疗点图及文字说明-读书笔记20151218-锚爪分享
- 25Hz轨道电路ppt课件
- GB∕T 801-2021 小半圆头低方颈螺栓 B级
- 通风机的结构和原理(课堂PPT)
- 地基处理施工与检测监测方案
- 双柱基础暗梁的计算书
- 注塑件外观检验质量标准及规范
- 客户信用等级评定表(超实用)
评论
0/150
提交评论