数据库系统概论(第四章数据库安全性)

4.1 数据库安全性概述

数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏

4.1.1数据库的不安全因素以及应对措施

非授权用户对数据库的恶意存储和破坏:用户身份鉴别、存取控制、视图

数据库中重要或敏感的数据被泄露:强制存取控制、数据加密存储、加密传输

安全环境的脆弱性:加强计算机系统的安全性保证

4.2 数据库安全性控制

主要包括用户身份鉴别、多层存取控制、审计、视图和数据加密等安全技术

4.2.1 用户身份鉴别

  • 静态口令鉴别
  • 动态口令鉴别
  • 生物特征鉴别
  • 智能卡鉴别

4.2.2  存取控制

存取控制机制主要包括定义用户权限合法权限检查两部分

自主存取控制:用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可以将其拥有的存取权限转授给其他用户。

强制存取控制:每一个数据库对象被表以一定的密级。每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。

4.2.3 自主存取控制方法

大型数据库管理系统都支持自主存取控制,SQL标准也对自主存取控制提供支持,主要通过SQL的GRANT,和REVOKE语句来实现。

用户权限是由两个要素促成的:数据库对象和操作类型。在数据库系统中,定义存取权限成为授权。

在关系数据库系统中,存取控制的对象不仅有数据本身(基本表中的数据、属性列上的数据),还有数据库模式(包括数据库、基本表、视图和索引的创建)

扫描二维码关注公众号,回复: 10066635 查看本文章

4.2.4授权:授予和收回

1、GRANT

如果指定with grant option,则获得某种权限的用户还可以把这种权限再授予其他用户,如果没有指定with grant option子句,则获得某种权限的用户只能使用该权限,不能传播该权限。

SQL标准规定with grant option的用户,不允许循环授权

2 REVOKE 

因为U5将对SC表的insert权限授予了U6,U6又将其授予了U7

用户可以自主的决定将数据的存取权限授予何人、决定是否也将授权的权限授予别人,因此称这样的存取控制是自主存取控制。

4.2.5 数据库角色

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合

  • 角色的创建
  • 角色授权
  • 将一个角色授予其他的角色或用户
  • 角色权限的收回

4.2.6 强制存取控制方法

强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分割整体,只有符合密级标记要求的用户才可以操纵数据,从而提高安全级别。

4.3 视图机制

还可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,也就是说,通过视图机制把要保护的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。

4.4 审计

审计功能把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计日志监控数据库中的各种行为

4.5 数据加密

加密的基本思想就是根据一定的算法将原始数据--明文变换为不可直接识别的格式--密文,从而使得不知道解密算法的人无法获知数据的内容。

数据加密主要包括存储加密和传输加密。

4.6 其他安全性保护

  • 推理控制
  • 隐蔽信道
  • 数据隐私保护

习题:

1 .什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2.试述实现数据库安全性控制的常用方法和技术。

答:实现数据库安全性控制的常用方法和技术有:

  • ( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
  • ( 2 )存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。
  • ( 3 )视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
  • ( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
  • ( 5 )数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

3.什么是数据库中的自主存取控制方法和强制存取控制方法?

自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。

强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

4. 为什么强制存取控制提供了更高级别的数据库安全性?

答:强制存取控制(MAC )是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

5.理解并解释MAC 机制中主体、客体、敏感度标记的含义。

主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和 客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。

敏感度标记被分成若干级别,例如绝密(Top Secret )、机密(Secret )· 可信( Confidential )、公开(PubliC )等。主体的敏感度标记称为许可证级别(ClearanCe 玫vel ) ,客体的敏感度标记称为密级(Classification Level )。

6.什么是数据库的审计功能,为什么要提供审计功能?

答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

发布了139 篇原创文章 · 获赞 220 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/qq_38900441/article/details/105003725
今日推荐