数据库安全性讲义

PPT
  • 阅读 36 次
  • 下载 0 次
  • 页数 63 页
  • 大小 187.549 KB
  • 2023-07-23 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档22.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库安全性讲义
可在后台配置第一页与第二页中间广告代码
数据库安全性讲义
可在后台配置第二页与第三页中间广告代码
数据库安全性讲义
可在后台配置第三页与第四页中间广告代码
数据库安全性讲义
数据库安全性讲义
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 63
  • 收藏
  • 违规举报
  • © 版权认领
下载文档22.00 元 加入VIP免费下载
文本内容

【文档说明】数据库安全性讲义.pptx,共(63)页,187.549 KB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-287655.html

以下为本文档部分文字说明:

回顾基础篇⚫第一章:绪论⚫第二章:数据模型⚫第三章:关系数据库⚫第四章:关系数据库标准语言SQL系统篇⚫数据库系统中的数据是由DBMS统一管理和控制的,为了适应数据共享的环境,DBMS必须提供数据保护能

力,以保证数据库中数据的安全可靠和正确有效。⚫数据保护⚫安全性⚫完整性⚫数据库恢复⚫并发控制系统篇第5章数据库安全性第6章数据库完整性第7章数据库恢复技术第8章并发控制第五章数据库安全性⚫问题的提出⚫数据库的一大特点是数据可以共享⚫但数据共享必然带来数据库的安全性问题⚫数据库

系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性(续)⚫数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有

合法使用权限的用户访问允许他存取的数据⚫数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一第五章数据库安全性5.1计算机安全性概论5.2数据库安全性控制5.3数据库存取控制方法5.4数据库角色5

.5视图机制5.6审计5.7数据加密5.8统计数据库安全性5.1计算机系统的安全性概论⚫什么是数据库的安全性⚫数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。⚫数据库系统的安全性和计算机系统的安

全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。⚫什么是计算机系统安全性⚫为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数

据遭到更改或泄露等。计算机系统的3类安全性问题(续)⚫三类计算机系统安全性问题⚫技术安全类⚫管理安全类⚫政策法律类计算机系统的三类安全性问题(续)⚫技术安全⚫指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意

或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。计算机系统的三类安全性问题(续)⚫管理安全⚫软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题。计算机系统的三类安全性问题(续)⚫政策法律类⚫政

府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。⚫实际上,安全性问题并不是数据库系统所独有的,所有计算机系统中都存在这个问题。⚫在计算机系统中,安全措施是一级一级层层设置的,安全控制模型如图

5.1所示。⚫⚫图5.1安全控制模型用户标识和鉴定用户用户存取权限控制DBMS操作系统安全保护OS数据密码存储DB5.2数据库安全性控制⚫根据图5.1的安全模型,当用户进入计算机系统时,系统首先根据输入的用户标识进行身份的鉴定,只

有合法的用户才准许进入系统。⚫对已进入系统的用户,DBMS还要进行存取控制,只允许用户进行合法的操作。⚫DBMS是建立在操作系统之上的,安全的操作系统是数据库安全的前提。操作系统应能保证数据库中的数据必

须由DBMS访问,而不允许用户越过DBMS,直接通过操作系统访问。⚫数据最后可以通过密码的形式存储到数据库中。5.2.1用户标识和鉴定(IdentificationandAuthentication)⚫数据库系统是不允许一个未经授权的用户对数据库进行操作的。⚫用户标

识和鉴定是系统提供的最外层的安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器的使用权。用户标识和鉴定的方法有多种,为了获得

更强的安全性,往往是多种方法并举,常用的方法有以下几种:1.用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。2.为了进一步核实用户身份,常采用用户名与口令(Password)相结合的方法,系统通过核对

口令判别用户身份的真伪。3.通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。⚫例如,每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个

随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果辨别用户身份的合法性。⚫例如,让用户记住一个表达式,如T=X+2Y,系统告诉用户X=1,Y=2,如果用户回答T=5,则证实了该用户的身份。⚫还可设计复杂的表达式,以使安全性更好。⚫系统每次提供不同的

X,Y值,其他人可能看到的是X、Y的值,但不能推算出确切的变换公式T。5.2.2存取控制⚫存取控制机制的功能⚫存取控制机制的组成⚫定义存取权限⚫检查存取权限用户权限定义和合法权检查机制一起组成了DBMS的安全子系统存取控制

(续)⚫定义存取权限⚫在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。⚫检查存取权限⚫对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保

他只执行合法操作。存取控制(续)⚫常用存取控制方法⚫自主存取控制(DiscretionaryAccessControl,简称DAC)⚫灵活⚫强制存取控制(MandatoryAccessControl,简称MAC)⚫严格自主存取控制方法⚫同一用户

对于不同的数据对象有不同的存取权限⚫不同的用户对同一对象也有不同的权限⚫用户还可将其拥有的存取权限转授给其他用户强制存取控制方法⚫每一个数据对象被标以一定的密级⚫每一个用户也被授予某一个级别的许可证⚫对于任意一个对象,只有具有合法许可证的用户才可以

存取5.3数据库存取控制方法5.3.1用户权限⚫用户权限由两个要素组成⚫数据对象⚫操作类型⚫关系数据库系统中存取控制的对象不仅有数据本身,还有数据库模式。如表5.1所示:⚫表5.1类型数据对象操作类型模式模式建立、修改、删除、检索外模式建立、修改、删除、检索内模式建立、删除、检索数据表查找、插入

、修改、删除属性列查找、插入、修改、删除⚫用户或DBA把授权决定告知系统⚫SQL的GRANT和REVOKE⚫DBMS把授权的结果存入数据字典⚫当用户提出操作请求时,DBMS根据授权定义进行检查,以决定是否执行操作请求5.3.2授权及收权⚫GRAN

T语句的一般格式:GRANT<权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户>[,<用户>]...[WITHGRANTOPTION];⚫谁定义?DBA和表的建立者(即表的属主)⚫GRANT功能:将对指定操作对象的指定操作权限授予指定的用户。(1)操作权限对象对象类型

操作权限属性列TABLESELECT,INSERT,UPDATE,DELETE,ALLPRIVILEGES视图TABLESELECT,INSERT,UPDATE,DELETE,ALLPRIVILEGES基本表TABLESE

LECT,INSERT,UPDATE,DELETE,ALLPRIVILEGES数据库DATABASECREATETABLE(2)用户的权限⚫建表(CREATETABLE)的权限:属于DBA⚫DBA授予-->普通用户⚫

基本表或视图的属主拥有对该表或视图的一切操作权限⚫接受权限的用户:一个或多个具体用户PUBLIC(全体用户)(3)WITHGRANTOPTION子句⚫指定了WITHGRANTOPTION子句:获得某种权限的用户还可以把这种权限再授予别的用户。⚫没有指定WITHGRANTOPTION

子句:获得某种权限的用户只能使用该权限,不能传播该权限例题例1把查询Student表权限授给用户U1GRANTSELECTON[TABLE]StudentTOU1;⚫11-934班⚫execsp_addrole‘r_test’//添加角色r_test⚫grantallonstudent

tor_test//为角色r_test授权⚫execsp_addlogin‘l_test','123','学生_教学','Simplifiedchinese‘//添加登陆用户名l_test⚫execsp_grantdbacc

ess‘l_test','U1‘⚫//为登录l_test在数据库”学生_教学”中添加安全账户U1⚫execsp_addrolemember'r_test','U1‘⚫//添加U1为角色r_test的成员⚫grantselect,updateoncourseto

u1withgrantoption⚫EXECsp_revokedbaccess'u_test'--从数据库pubs中删除安全账户⚫EXECsp_droplogin'l_test'--删除登录l_test⚫EXECsp_droprole'r_test'--删除角色r_test例题(

续)例2把对Student表的全部权限授予用户U2和U3GRANTALLPRIVILEGESON[TABLE]StudentTOU2,U3;例4例题(续)例3把对表SC的查询权限授予所有用户GRANTSELECTON[TABLE]SCTOPUBLIC;例题(续)例4

把查询Student表和修改学生学号的权限授给用户U4GRANTUPDATE(Sno),SELECTON[TABLE]StudentTOU4;例题(续)例5把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户GRANTINSERTON[TABLE]SCTOU5W

ITHGRANTOPTION;传播权限执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限:GRANTINSERTON[TABLE]SCTOU6WITHGRANTOPTION;同样,U6还可以将此权限授予U7:GRANTINSERTON[TA

BLE]SCTOU7;但U7不能再传播此权限。U5-->U6-->U7SQL收回权限的功能⚫REVOKE语句的一般格式为:REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>]FROM<用户>[,<用户>]...;⚫功能:从指定用户那里收回

对指定对象的指定权限例题例7把用户U4修改学生学号的权限收回REVOKEUPDATE(Sno)ON[TABLE]StudentFROMU4;例题(续)例8收回所有用户对表SC的查询权限REVOKESELECTON

[TABLE]SCFROMPUBLIC;例题(续)例9把用户U5对SC表的INSERT权限收回REVOKEINSERTON[TABLE]SCFROMU5;5.4数据库角色⚫数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。⚫使用角色来

管理数据库权限可以简化授权的过程。⚫在SQL语言中首先用CREATEROLE语句创建角色,然后用GRANT语句给角色授权。1.角色的创建创建角色的SQL语句格式是:⚫execsp_addrole'r_test'2.给角色授权GRANT<权限>[,<权限>]…ON<对象类型>对象名TO

<角色>[,<角色>]…3.将一个角色授予其他角色或用户execsp_addrolemember<角色1>,<角色>或<用户>例11.通过角色来实现将一组权限授予一个用户。步骤:l、首先创建一个角色Rlexecsp_addrole'R1';2、然后使用GRANT语句给角色R1授权:G

RANTSELECT,UPDATE,INSERTON[TABLE]StudentTOR1;3、将这个角色授予U1。使他们具有角色R1所包含的全部权限。execsp_addrolemember‘R1','U1'5.5视图机

制⚫视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,⚫视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。视图机制(续)⚫视图机制与授权机制配合使用:⚫首先用视图机制屏蔽掉一部分保密数据⚫视图上面再进一步定义存取权限视图机制(续)例:王平只能

检索计算机系学生的信息先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept='CS';视图机制(续)在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平;5.6审

计⚫什么是审计⚫启用一个专用的审计日志(AuditLog)将用户对数据库的所有操作记录在上面⚫DBA可以利用审计日志中的追踪信息找出非法存取数据的人审计(续)⚫审计功能的可选性⚫审计很费时间和空间⚫D

BA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。5.7数据加密⚫数据加密⚫防止数据库中数据在存储和传输中失密的有效手段⚫加密的基本思想⚫根据一定的算法将原始数据(术语为明文,Plaintext)变换为

不可直接识别的格式(术语为密文,Ciphertext)⚫不知道解密算法的人无法获知数据的内容数据加密(续)⚫加密方法⚫替换方法⚫使用密钥(EncryptionKey)将明文中的每一个字符转换为密文中的一个字符

⚫置换方法⚫将明文的字符按不同的顺序重新排列⚫混合方法美国1977年制定的官方加密标准:数据加密标准(DataEncryptionStandard,简称DES)数据加密(续)⚫DBMS中的数据加密⚫有些数据库产品提供了数据加密

例行程序⚫有些数据库产品本身未提供加密程序,但提供了接口数据加密(续)⚫数据加密功能通常也作为可选特征,允许用户自由选择⚫数据加密与解密是比较费时的操作⚫数据加密与解密程序会占用大量系统资源⚫应该只对高度机密的数据加密5.8统计数据库安全性⚫统计数据库的特点⚫允许用户查询

聚集类型的信息(例如合计、平均值等)⚫不允许查询单个记录信息例:允许查询“程序员的平均工资是多少?”不允许查询“程序员张勇的工资?”⚫应该避免用户从合法的查询中推导出不合法的信息统计数据库安全性(续)例1:下面两个查

询都是合法的:1.本公司共有多少女高级程序员?2.本公司女高级程序员的工资总额是多少?如果第一个查询的结果是“1”,那么第二个查询的结果显然就是这个程序员的工资数。规则1:任何查询至少要涉及N(N足够大)个以上的记录⚫11-712班统计数据库安全性(续)例2

:用户A发出下面两个合法查询:1.用户A和其他N个程序员的工资总额是多少?2.用户B和其他N个程序员的工资总额是多少?若第一个查询的结果是X,第二个查询的结果是Y,由于用户A知道自己的工资是Z,那么他可以计算出用户

B的工资=Y-(X-Z)。原因:两个查询之间有很多重复的数据项规则2:任意两个查询的相交数据项不能超过M个统计数据库安全性(续)可以证明,在上述两条规定下,如果想获知用户B的工资额A至少需要进行1+(N-2)/M次查询规则3:任一用户的查询

次数不能超过1+(N-2)/M缺点:如果两个用户合作查询就可以使这一规定失效统计数据库安全性(续)数据库安全机制的设计目标:试图破坏安全的人所花费的代价>>得到的利益9.5小结⚫随着计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要⚫DBMS

是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制。⚫实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术和审计技术。⚫自主存取控制功能一般是通过SQL的GRANT语句和REVOKE语句来实现的。下课了。。。休息一会儿。。。

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?