第6章数据库安全保护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章介绍 数据共享是数据库的基本性能要求,多用户共享数据库时,必然有合法用户合法使用、合法用户非法使用以及非法用户非法使用数据的问题,要保证合法用户合法使用数据库及数据共享的安全性,就需要对数据库实施保护。 数据库的保护技术主要有数据库的安全性、完整性、并发控制及恢复4方面内容。 安全性控制的一般方法 用户标识和鉴定 用户存取权限控制 定义视图 数据加密 审计(Audit) 用户标识和鉴定是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核实,通过鉴定后才提供机器的使用权。 用户标识和鉴定的方法 (1)用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。 (2)用户标识符是用户公开的标识,它不足以成为鉴别用户身份的凭证。 (3)通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法如函数和计算过程。 用户存取权限指的是不同的用户对于不同的数据对象允许执行的操作权限。 在数据库系统中,定义用户存取权限称为授权 。 这些授权定义经过编译后以一张授权表的形式存放在数据字典中。 加密的基本思想是根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使得不知道解密算法的人无法获得数据的内容。 加密方法主要有两种: 审计功能是一种监视措施,它跟踪记录有关数据的访问活动。 审计追踪把用户对数据库的所有操作自动记录下来,存放在一个特殊文件中,即审计日志中。 记录的内容一般包括:操作类型(如修改、查询等),操作终端标识与操作者标识,操作日期和时间,操作所涉及到的相关数据(如基本表、视图、记录、属性等),数据的前象和后象等。 1.TCSEC/TDI标准 数据库完整性的含义 数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 数据库的完整性是指防止合法用户使用数据库时向数据库中加入不符合语义的数据。完整性措施的防范对象是不合语义的数据。 列级约束 元组级约束 表级约束 数据库并发性的含义 为了充分利用数据库资源,很多时候数据库用户都是对数据库系统并行存取数据,这样就会发生多个用户并发存取同一数据块的情况,如果对并发操作不加控制可能会产生不正确的数据,破坏数据的完整性。 并发控制就是解决这类问题,以保持数据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式给用户提供数据。 事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列。 一个事务可以是一组SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。 定义事务的语句有三条: BEGIN TRANSACTION COMMIT ROLLBACK 例如 飞机机票订票系统 。假设机票余额R=100张,甲事务T1读出某航班目前的机票余额数100张,订出1张机票,乙事务T2读出同航班目前的机票余额数,订出1张机票 ,如果正常操作,即甲事务T1执行完毕再执行乙事务T2,机票余额更新后应该是98张。但是如果按照如下顺序操作,则会有不同的结果: (1)甲事务T1读取机票余额R=100张; (2)乙事务T2读取机票余额R=100张; (3)甲事务T1订出1张机票,修改机票余额R=R-1=99,把R=99写回到数据库; (4)乙事务T2订出1张机票,修改机票余额R=R-1=99,把R=99写回到数据库; 结果两个事务共订出机票2张,而数据库中的机票余额却只少了1张。得到这种错误的结果是由甲乙两个事务并发操作引起的。 封锁类型有两种 排他锁 排它型封锁又称写封锁,简称为X封锁,它采用的原理是禁止并发操作。 共享锁 共享封锁又称读封锁,简称为S锁,它采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。 上面讲述过的并发操作所带来的丢失修改、读“脏”数据和不可重读等数据不一致性问题,可以通过三级封锁协议在不同程度上给予解决 : 一级封锁协议 事务T在修改数据对象之前必须对其加X锁,直到事务结束。 二级封锁协议 在一级封锁协议的基础上,另外加上事务T在读取数据R之前必须先对其加S锁,读完后释放S锁。 三级封锁协议 在一级封锁协议的基础上,另外加上事务T在读取数据R之前必须先对其加S锁,读完后并不释放S锁,而直到事务T结束才释放。 封锁粒度指封锁的单位。 根据对数据的不同处理,封

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档