【文档说明】第4章数据库安全性_2.pptx,共(39)页,245.937 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-289120.html
以下为本文档部分文字说明:
第四章数据库安全性◼问题的提出◼数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题。◼数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、客户档案、医疗档案、银行储蓄数据◼数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权
限的用户访问允许他存取的数据。◼数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一。第四章数据库安全性4.1计算机系统安全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性4.7
小结4.1计算机系统安全性概述◼什么是数据库的安全性◼数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库的安全性与计算机系统安全性紧密相关。◼什么是计算机系统安全性◼是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因
偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。◼计算机系统有三类安全性问题:技术安全类、管理安全类、政策法律类。计算机系统的三类安全性问题1)技术安全指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统
正常运行,保证系统内的数据不增加、不丢失、不泄露。2)管理安全指管理不善导致的软硬件意外故障、场地的意外事故、计算机设备和数据介质的物理破坏、丢失等安全问题。3)政策法律类政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则
和政策法规、法令。第四章数据库安全性4.1计算机系统安全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性4.7小结4.2数据库安全性控制一、数据库安全性控制概述二、用户标识与鉴别三、存取控制一、数据库安全性控制概述应用DBMSOSDB低高安
全性控制层次用户标识和鉴定存取控制、视图、审计操作系统安全保护数据密码存储◼计算机系统中的安全模型数据库安全性控制概述(续)◼数据库安全性控制的常用方法◼用户标识和鉴定◼存取控制◼视图◼审计◼密码存储4.2数据库安全性控制一、数据库安全性控制概述二、用户
标识与鉴别三、存取控制二、用户标识与鉴别◼基本方法◼系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识;◼每次用户要求进入系统时,由系统核对用户提供的身份标识,通过鉴定后才提供系统使用权。
◼用户标识和鉴定可以重复多次◼用户名/口令简单易行,容易被人窃取◼其他方式每个用户预先约定好一个计算过程或者函数,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据用户计算结果是否正确鉴定用户身份。4.2数据库安全性控制
一、数据库安全性控制概述二、用户标识与鉴别三、存取控制三、存取控制◼存取控制机制的组成1)定义存取权限在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。2)检查存取权限对于通过鉴定
获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。若用户的操作请求超出了定义的权限,系统将拒绝执行此操作用户权限定义和合法权检查机制一起组成了DBMS的安
全子系统存取控制(续)◼常用的存取控制方法1)自主存取控制(DiscretionaryAccessControl,简称DAC)同一用户对于不同的数据对象有不同的存取权限;不同的用户对同一对象也有不同的权限;用户还可将其拥有的存取权限转授给其他用户。2)强制存取控制
(MandatoryAccessControl,简称MAC)每一个数据对象被标以一定的密级;每一个用户也被授予某一个级别的许可证;对于任意一个对象,只有具有合法许可证的用户才可以存取。DAC比较灵活,MAC比较严格。第四章数据库安全性4.1计算机系统
安全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性4.7小结一、用户权限用户权限由两个要素组成:数据对象和操作类型关系数据库中用户的权限二、建立用户建立用户分两步:1)建立服务器登录用户点击服务器
(local)-》双击“安全性”-》双击“登录”,按右键拉出菜单,选择“新建登录”-》输入新用户名称;选SQLServer身份验证,输入密码。点击“确定”退出。2)数据库用户的建立选定某数据库,点击展开-》点击“用户”,按右键拉出菜单,选“新建数据库用户”,在服务器登录用户中选择登录名,
用户名和登录名一致。点击“确定”退出。三、授权与回收1、授权◼使用GRANT语句为用户授权,其一般格式如下:GRANT<权限>[,<权限>]...[ON<对象名>]TO<用户>[,<用户>]...[WITHGRANTOPTION];◼功能:将对指定操作对象的指定操作权限授予指定的
用户。◼带WITHGRANTOPTION选项,获得某种权限的用户还可以把这种权限再授予别的用户。否则只能使用该权限,不能传播该权限。◼由DBA和表的建立者(即表的属主)发出命令◼基本表或视图的属主拥有对该表或视图的
一切操作权限例题例1把查询Student表的权限授给用户U1GRANTSELECTONStudentTOU1;例2把对Course表的全部权限授予用户U2和U3(P127)GRANTALLONCour
seTOU2,U3;例3把对表SC的查询权限授予所有用户GRANTSELECTONSCTOPUBLIC;//PUBLIC表示全体用户例4把查询Student表和修改学号的权限授给用户U4GRANTUPDATE(Sno),SELECTON
StudentTOU4;上机操作:点击某数据库如s_c数据库,进入查询分析器,输入上述命令并执行,以下各例相同。例题(续)例5把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户GRANTINSERTO
NSCTOU5WITHGRANTOPTION;执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限:GRANTINSERTONSCTOU6WITHGRANTOPTION;同样,U6还可以将此权限授予U7:GR
ANTINSERTONSCTOU7;但U7不能再传播此权限。U5-->U6-->U72、收回权限◼授予的权限可以由DBA或其他授权者使用REVOKE语句收回,其一般格式为:REVOKE<权限>[,<权限>]...[ON<对象名>]FROM<
用户>[,<用户>]...;◼功能:从指定用户那里收回对指定对象的指定权限例题例6把用户U4修改学生学号的权限收回REVOKEUPDATE(Sno)ONStudentFROMU4;例7收回所有用户对表SC的查询权限REVOKESELECTONS
CFROMPUBLIC;例题(续)例8把用户U5对SC表的INSERT权限收回REVOKEINSERTONSCFROMU5CASCADE;系统将收回直接或间接从U5处获得的对SC表的INSERT权限,若U5将I
NSERT权限传给了U6和U7,则收回U5、U6、U7获得的对SC表的INSERT权限。3、创建数据库模式的权限GRANTCREATETABLETOCAO;GRANTCREATEVIEWTOCAO;//在某一数
据库下完成,如点击student数据库,进入查询分析器,输入上述命令并执行。GRANTCREATEDATABASETOCAO;//在master数据库下完成。REVOKEcreateviewfromcao按右键拉出菜单,选
择“属性”查看用户即用户权限4.数据库角色数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。我们可以为一组具有相同权限的用户创建一个角色,以简化授权过程。◼角色创建CREATEROLE<角色名>◼给角色授权GRANT<权限>[,<权限>]ON对象名TO<角色>[,<角色>]◼将一个
角色授予其他角色或用户GRANT<角色1>[,<角色2>…]TO<角色3>[,<用户1>…]◼sqlserver不支持命令方式,但支持角色的概念和方法。◼WITHADMINOPTION角色3和用户1具有角色1和角色
2的权限和,如果带有WITHADMINOPTION选项,则角色3和用户1可以将角色1和角色2的权限授予其他角色。执行者是角色的创建者或在其上有ADMINOPTION。◼角色权限的收回REVOKE<权限>>[,<权限>…]ON<对象类型>对象名FROM<角色1>[,<角色2>…]执行
者是角色的创建者或在其上有ADMINOPTION。数据库角色例11通过角色来实现将一组权限授予一个用户CREATEROLER1;//创建角色R1GRANTSELECT,UPDATE,INSERTONStudentTOR1;//给角色R1授权GRA
NTR1TO王平,张明,赵玲;//将R1授予王平,张明,赵玲REVOKER1FROM王平;//收回王平三项权限例12角色权限的修改GRANTDELETEONStudentTOR1;//给角色R1增加DELETE权限REVOKESELECT
ONStudentFROMR1;//减少R1对Student表的SELECT权限数据库角色第四章数据库安全性4.1计算机系统安全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统
计数据库安全性4.7小结4.4视图机制◼视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。◼视图机制与授权机制配合使用:首先用视图机制屏蔽掉一部分保密数据,然后在视图上面再进一步定义存取权限。例:CREATEVIEWCS_Student//
先建立计算机系学生的视图ASSELECT*FROMStudentWHERESdept=‘CS’在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平;GRANTALLPRIVILIGESONCS_StudentTO张明;第四章数据库安全性4.1计算机系统安
全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性4.7小结4.5审计◼什么是审计◼启用一个专用的审计日志(AuditLog)将用户对数据库的所有操作记录在上面;
◼DBA可以利用审计日志中的追踪信息找出非法存取数据的人;◼安全级别较高的DBMS必须具有审计功能。◼审计功能的可选性◼审计很费时间和空间◼DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。审计(续)◼审计一般可以分为用户级审计和系统级审
计1)用户级审计是任何用户都可以设置的审计,主要是用户针对自己创建的表或视图进行审计,记录所有用户对这些表或视图进行的操作。2)系统级审计由DBA设置,监测登录操作、GRANT和REVOKE操作、数据库操作。审计(续)◼AUDIT语句用来设置审计功能,NOA
UDIT语句用来取消审计功能。例1:对修改SC表结构和修改SC表数据的操作进行审计AUDITALTER,UPDATEONSC;例2:取消对SC表的一切审计NOAUDITALLONSC;SQLSERVER通过管理功能来实现。第四章数据库安全性4.1计算机系统安全性概述
4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性4.7小结4.6统计数据库安全性❖统计数据库▪允许用户查询聚集类型的信息(如合计、平均值等)❖统计数据库中特殊的安全性问题▪隐蔽的信息通道,能从合法的查询中推导出不合法的信息(工资计算,
根据总数和固定部分,推出浮动部分)统计数据库安全性(续)规则1:任何查询至少要涉及N(N足够大)个以上的记录规则2:任意两个查询的相交数据项不能超过M个规则3:任一用户的查询次数不能超过1+(N-2)/M❖数据库安全机制的设计目标:试图破坏安全的人所花费的代价>>得到的利益第四
章数据库安全性4.1计算机系统安全性概述4.2数据库安全性控制4.3数据库存取控制方法4.4视图机制4.5审计4.6统计数据库安全性统计4.7小结4.7小结◼随着计算机网络的发展,数据的共享日益加强,数据的安全保
密越来越重要。◼DBMS是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制。◼实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术和审计技术。◼目前许多大型DBMS达到了C2级,其安全版本达到了B1◼C2级的DBMS必须具有自主存取控制功能和初步
的审计功能◼B1级的DBMS必须具有强制存取控制和增强的审计功能◼自主存取控制功能一般是通过SQL的GRANT语句和REVOKE语句来实现的