精华内容
下载资源
问答
  • 数据库安全性控制

    千次阅读 2021-03-29 16:37:18
    C2级的数据库管理系统支持自主存取控制,B1级的数据库管理系统支持强制存取控制 自主存取控制方法 这里主要通过SQl的GRANT语句和REVOKE语句来实现,在数据库系统中,定义存取权限称为授权 用户权限 数据库对象 ...

    自主存取控制方法

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

    • 定义用户权限并将用户权限登记到数据字典中

    • 合法权限检查

    定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取控制子系统

    C2级的数据库管理系统支持自主存取控制,B1级的数据库管理系统支持强制存取控制

    自主存取控制方法

    这里主要通过SQl的GRANT语句和REVOKE语句来实现,在数据库系统中,定义存取权限称为授权

    用户权限

    • 数据库对象

    • 操作类型

    自主存取控制的对象

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

    对象类型对象操作类型
    数据库模式模式CREATE SCHEMA
    基本表CREATE TABLE,ALTER TABLE
    视图CREATE VIEW
    索引CREATE INDEX
    数据基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCE,ALL PRIVILEGES
    属性列SELECT,INSERT,UPDATE,REFERENCE,ALL PRIVILEGES

    授权:授予与收回

    GRANT:

    GRANT <权限> [,<权限>]...
    ON<对象类型><对象名>[,<对象类型><对象名>]...
    TO <用户>[,<用户>]...
    [WITH GRANT OPTION];
    
    

    如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限在授予给其他的用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,而不能传播该权限。

    SQl标准允许具有[WITH GRANT OPTION]的用户把相应权限或其子集传递授予其他的用户但不允许循环授权,其被授予者不能把权限在授予回给授权者或其祖先。

    -- 把对表SC的查询权限授予给所有用户
    GRANT SELECT 
    ON TABLE SC 
    TO PUBLIC;
    
    

    REVOKE:

    授予用户的权限可以有数据库管理员或其他授权者用REVOKE语句收回,REVOKE语句的一般格式为:

    REVOKE<权限>[,<权限>]...
    ON <对象类型><对象名>[,<对象类型><对象名>]...
    FROM <用户>[,<用户>]...[CASCADE|RESTRICT];
    
    
    -- 把用户U5对SC表的INSERT权限收回
    REVOKE INSERT
    ON TABLE SC
    FROM U5 CASCADE;
    
    

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

    创建数据库模式的权限

    -- 默认用户拥有CONNECT权限
    CREATE USER <USERNAME>[WITH][DBA|RESOURCE|CONNECT];
    

    CREATE USER语句说明如下:

    • 只有系统的超级用户才有权创建一个新的数据库用户。

    • 新创建的数据库用户只有三种权限:CONNECTRESOURCEDBA

    拥有的权限是否可执行的操作
    CREATE USERCREATE SCHEMACREATE TABLE登录数据库,执行数据查询和操纵
    DBA可以可以可以可以
    RESOURCE不可以不可以可以可以
    CONNECT不可以不可以不可以可以,但必须拥有相应的权限

    注意:CREATE USER语句不是SQl标准,因此不同的关系数据库管理系统的语法和内容相差甚远。

    数据库角色

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

    角色的创建

    CREATE ROLE <角色名>
    

    给角色授权

    GRANT <权限>[,<权限>]...
    ON<对象类型>对象名
    TO<角色>[,<角色>]...
    
    

    将角色授予给其他的角色和用户

    GRANT <角色1>[,<角色2>]...
    TO <角色3>[,<角色4>]...
    [WITH ADMIN OPTION]
    
    

    角色权限的收回

    -- REVOKE动作的执行者或者是角色的创建者或者是拥有这个(些)角色的ADMIN OPTION
    REVOKE <权限>[,<权限>]...
    ON <对象类型><对象名>
    FROM <角色>[,<角色>]...
    
    

    强制存取控制方法

    自主存取控制(MAC)能够通过授权机制有效的控制对敏感数据的存取。在这种授权机制下,仍可能存在数据的“无意泄露”。这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。要解决这个问题,就需要对系统控制下的所有主客体实施强制存取控制策略。

    实体分类

    主体

    系统中的活动实体,既包括数据库管理系统管理的实际用户,也包括代表用户的进程

    客体

    系统中的被动实体,实收主体操纵的,包括文件、基本表、索引、视图等

    敏感性标记

    对于实体(主体和客体),数据库管理系统会为他们每个实例都排一个敏感性标记

    敏感性标记级别

    • 绝密(TS)

    • 机密(S)

    • 可信©

    • 公开§

    密级的次序是TS>=S>=C>=P。

    主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。强制存取控制机制就是通过对比主体的敏感度标记和客体的敏感度标记,最终确定是否能够存取客体。

    读写规则

    • 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体

    • 仅当主体的许可证级别小于或等于客体的密级时,该主体才可以写相应的客体(写了就读不了)

    如果违反了规则2,就有可能把数据的密级由高流向低,造成数据的泄露

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

    审计

    审计功能把用户对数据库的所有操作自动记录下来放在审计日志中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

    AUDIT语句和NOAUDIT语句

    -- 对修改SC表结构或修改SC表数据的操作进行审计
    AUDIT ALTER,UPDATE
    ON SC;
    -- 取消对SC表的一切审计
    NOAUDIT ALTER,UPDATE
    ON SC;
    
    

    审计设置以及审计日志一般都储存在数据字典中。必须把审计开关打开(即把系统参数audit_trail设为true),才可以在系统表SYS——AUDITTRAIL中查看到审计信息。

    数据库安全审计系统提供了一种是事后检查的安全机制。

    数据加密

    加密的思想

    根据一定的算法将原始数据——明文变换成不可直接识别的格式——密文,从而使得不知道解密算法的人无法获知数据的内容。

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

    存储加密

    一般提供透明和非透明两种存储加密方式

    传输加密

    类似于TCP的三次招手,四次握手

    其他安全性保护

    推理控制以及数据库应用中隐蔽信道和数据隐私保护等技术

    推理控制

    处理的是强制存取控制未解决的问题,避免用户利用能够访问的数据推知更高密集的数据

    隐蔽信道

    处理内容也是强制存取控制未解决的问题

    数据隐私

    控制不愿被人知道或他人不便知道的个人数据的能力

    展开全文
  • 数据库安全性控制及控制流程和常用方法

    千次阅读 多人点赞 2020-04-25 14:34:09
    数据库的安全在当今社会是非常重要的,数据库存储了很多数据,一旦数据库安全性发生了差错,就会导致数据的丢失,或是被不法分子盗取数据

    在这里插入图片描述

    Hi,我是无丶味,这篇博客是我对数据库安全性的一些总结以及记录一下我的学习。
    记得养好好习惯:先赞后看

    数据库安全性控制

    非法使用数据库的情况

    ①编写合法程序绕过数据库管理系统及其授权机制
    ②直接或编写应用程序执行非授权操作
    ③通过多次合法查询数据库从中推导出一些保密数据

    计算机系统的安全模型

    在这里插入图片描述
    系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统
    数据库管理系统还要进行存取控制,只允许用户执行合法操作
    操作系统有自己的保护措施
    数据以密码形式存储到数据库中

    数据库管理系统安全性控制模型

    在这里插入图片描述

    数据库安全性控制流程及常用方法:

    ①用户标识和鉴定

    用户身份鉴别方法:
    1.静态口令鉴别
    2.动态口令鉴别
    3.生物特征鉴别
    4.智能卡鉴别

    ②存取控制

    常用存取控制方法:

    自主存取控制

    通过 SQL 的GRANT 语句和REVOKE 语句实现
    用户权限组成:数据对象、操作类型
    定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作
    定义存取权限称为授权

    关系数据库系统中的存取权限
    在这里插入图片描述

    强制存取控制

    强制存取控制规则
    (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
    例如银行的高管可以看到别人的帐户余额,而不能修改余额
    (2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
    例如银行的员工可以修改余额,但不能看到余额

    强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据。
    实现强制存取控制时要首先实现自主存取控制
    原因:较高安全性级别提供的安全保护要包含较低级别的所有保护
    自主存取控制与强制存取控制共同构成数据库管理系统的安全机制
    在这里插入图片描述
    先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。

    ③视图

    ④审计

    ⑤数据加密

    防止数据库中数据在存储和传输中失密的有效手段

    加密的基本思想
    根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式­—密文(Cipher text)

    加密方法:
    1.存储加密
    2.传输加密

    存储加密:
    ①透明存储加密
    内核级加密保护方式,对用户完全透明
    将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密
    数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可
    内核级加密方法: 性能较好,安全完备性较高
    ②非透明存储加密
    通过多个加密函数实现

    传输加密

    链路加密:
    在链路层进行加密
    传输信息由报头和报文两部分组成
    报文和报头均加密

    端到端加密:
    在发送端加密,接收端解密
    只加密报文不加密报头
    所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息

    其他安全性保护
    推理控制:
    处理强制存取控制未解决的问题
    避免用户利用能够访问的数据推知更高密级的数据

    常用方法:
    基于函数依赖的推理控制
    基于敏感关联的推理控制

    隐蔽信道:
    处理强制存取控制未解决的问题

    数据隐私保护:
    描述个人控制其不愿他人知道或他人不便知道的个人数据的能力
    范围很广:数据收集、数据存储、数据处理和数据发布等各个阶段

    授权:授予与回收

    1.GRANT
    GRANT语句的一般格式:

     GRANT <权限>[,<权限>]... 
           ON <对象类型> <对象名>[,<对象类型> <对象名>]TO <用户>[,<用户>]...
           [WITH GRANT OPTION];
    

    语义:将对指定操作对象的指定操作权限授予指定的用户

    谁可以发出GRANT
    1.数据库管理员
    2.数据库对象创建者(即属主Owner)
    3.拥有该权限的用户

    接受权限的用户 :
    1.一个或多个具体用户
    2.PUBLIC(即全体用户)

    WITH GRANT OPTION子句:
    指定:可以再授予
    没有指定:不能传播

    不允许循环授权
    在这里插入图片描述

    把查询Student表权限授给用户U1
    
          GRANT   SELECT 
          ON   TABLE   Student 
          TO   U1;
    
    把对Student表和Course表的全部权限授予用户U2和U3
    
          GRANT ALL PRIVILIGES 
          ON TABLE Student,Course 
          TO U2,U3;
    
    把查询Student表和修改学生学号的权限授给用户U4
      
    	  	GRANT UPDATE(Sno), SELECT 
    		ON TABLE Student 
    		TO U4;
    

    2.REVOKE
    授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回
    REVOKE语句的一般格式为:

        REVOKE <权限>[,<权限>]... 
        ON <对象类型> <对象名>[,<对象类型><对象名>]FROM <用户>[,<用户>]...[CASCADE | RESTRICT];
    

    把用户U4修改学生学号的权限收回
    
    		REVOKE UPDATE(Sno)
    		ON TABLE Student 
    		FROM U4;
    

    数据库管理员:
    拥有所有对象的所有权限
    根据实际情况不同的权限授予不同的用户

    用户:
    拥有自己建立的对象的全部的操作权限
    可以使用GRANT,把权限授予其他用户

    被授权的用户:
    如果具有“继续授权”的许可,可以把获得的权限再授予其他用户
    所有授予出去的权力在必要时又都可用REVOKE语句收回

    数据库角色

    数据库角色:被命名的一组与数据库操作相关的权限
    角色是权限的集合
    可以为一组具有相同权限的用户创建一个角色
    简化授权的过程
    1.角色的创建

    CREATE  ROLE  <角色名> 
    

    例:

    创建一个角色 R1:
     CREATE  ROLE  R1;
    

    2.给角色授权

     GRANT  <权限>[,<权限>]ON <对象类型>对象名  
     TO <角色>[,<角色>]
    使用GRANT语句,使角色R1拥有Student表的	SELECTUPDATEINSERT权限
           GRANT SELECT, UPDATE, INSERT 
        	 ON TABLE Student 
        	 TO R1;
    

    3.将一个角色授予其他的角色或用户

    GRANT  <角色1>[,<角色2>]TO  <角色3>[,<用户1>][WITH ADMIN OPTION]
    
    
    将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限
        	 GRANT  R1 
        	 TO 王平,张明,赵玲;
    

    该语句把角色授予某用户,或授予另一个角色

    授予者是角色的创建者或拥有在这个角色上的ADMIN OPTION

    指定了WITH ADMIN OPTION则获得某种权限的角色或用户还可以把这种权限授予其他角色

    一个角色的权限:直接授予这个角色的全部权限加上其他角色
    授予这个角色的全部权限

    4.角色权限的收回

    REVOKE <权限>[,<权限>]ON <对象类型> <对象名>
    FROM <角色>[,<角色>]
    可以一次性通过R1来回收王平的这3个权限
         	  REVOKE  R1 
         	  FROM 王平;
    

    用户可以回收角色的权限,从而修改角色拥有的权限
    REVOKE执行者是
    角色的创建者
    拥有在这个(些)角色上的ADMIN OPTION

    在这里插入图片描述

    展开全文
  • 实现数据库安全性控制的常用方法和技术。

    万次阅读 多人点赞 2018-05-14 15:49:11
    (1)用户标识和鉴别: 该方法由系统提供一定的方式让... 通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未授权的人员无法存取数据 (3)视图机制 为不同的用户定义视图,通过视...

    (1)用户标识和鉴别:

    该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才能提供系统的使用权

    (2)存取控制

    通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未授权的人员无法存取数据

    (3)视图机制

    为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

    (4)审计

    建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人,时间和内容等。

    (5)数据加密

    对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

    展开全文
  • 实验三 数据库安全性和完整性控制 (1)通过本实验能够熟练应用sql语言进行用户权限的授予和回收。 (2) 熟练掌握实体完整性,参照完整性及用户定义的完整性的定义。 (3)体会oracle数据库系统在安全性和完整性...
  • 国家开放大学的课程:数据运维。在形考中的内容。实验部分 实验3 数据库安全性与完整性控制实验。包括所有的相关操作。有屏幕截图,很清楚 。
  • 数据库安全性

    万次阅读 多人点赞 2018-05-19 19:24:10
    数据库的数据保护主要包括数据的安全性和完整性。 一、安全性概述 数据库安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或损坏。系统安全保护措施是否有效是数据库系统的主要技术指标之一。 ...

    数据库管理系统提供统一的数据保护功能来保证数据的安全可靠和正确有效。数据库的数据保护主要包括数据的安全性和完整性。

    一、安全性概述

    数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或损坏。系统安全保护措施是否有效是数据库系统的主要技术指标之一。

    1、数据库的不安全因素

    1)非授权用户对数据库的恶意存取和破坏
    措施:包括用户身份鉴别、存取控制和视图等技术。
    2)数据库中重要或敏感的数据被泄露
    措施:强制存取控制、数据加密存储和加密传输等。
    3)安全环境的脆弱性
    措施:加强计算机系统的安全性保证,建立完善的可信标准(安全标准)。

    2、安全标准简介

    安全标准比较有影响力的有:
    1)TCSEC(桔皮书):1985年美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》。
    2)CC:1993年联合行动,解决原标准中概念和技术上的差异,将各自独立的准则合成一组单一的、能被广泛使用的IT暗转准则,这一行动被称为通用准则(CC)项目。CC v2.1版于1999年被ISO采用为国际标准,2001年我国采用为国家标准。
    目前,CC已经取代TCSEC称为评估信息产品安全性的主要标准。
    安全级别可分为: D < C2 < C1 < B3 < B2 < B1 < A1
    其中C2级的数据库管理系统支持自主存取控制(DAC),B1级的数据库管理系统支持强制存取控制(MAC)。

    二、安全控制

    计算机系统的安全模型:
    计算机系统的安全模型
    数据库管理系统安全性控制模型:
    安全性控制模型

    1、用户身份鉴别

    用户身份鉴别是数据库管理系统提供的最外层安全保护措施,每个用户在系统中都有一个用户标识(由用户名和用户标识号组成),用户标识号(UID)在系统的生命周期内是唯一的,并且系统内部记录这所有合法用户的标识,系统鉴别是指由系统提供一定的方式让用户标识自己的身份或名字。用户进入系统时由系统进行核对,通过鉴定后才提供使用数据库管理系统的权限。
    用户身份鉴别的方法:

    1. 静态口令鉴别
      目前常用的鉴别方法,相当于设置用户的密码。
      优缺点:简单,容易被攻击,安全性较低。
    2. 动态口令鉴别
      口令是动态变化的,登陆系统前就会获取新口令,相当于短信验证码或者动态令牌。
      优缺点:增加口令被窃取或破解的难度,安全性相对高一些。
    3. 生物特征鉴别
      采用图像处理和模式识别等技术,相当于指纹识别或者脸部识别。
      优缺点:产生质的飞跃,安全性较高。
    4. 智能卡识别
      智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。实际应用中一般采用个人身份识别码(PIN)和智能卡相结合的方式。
    2、存取控制

    数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未授权的人员无法接近数据,这主要通过数据库系统存取控制机制实现。

    存取控制机制主要包括定义用户权限,并将用户权限登记到数据字典中和合法权限检查。两者机制一起组成数据库管理系统的存取控制子系统。

    3、自主存取控制方法

    自主存取控制方法主要通过SQL的GRANT语句和REVOKE语句来实现。
    用户权限是由数据库对象和操作类型组成的。定义一个用户的存取权限就是要定义这个用户在那些数据库对象上可以进行那些类型的操作,即定义存取权限(授权)。
    在非关系系统中,用户只能对数据进行操作,存取控制的数据库对象也仅限于数据本身;在关系数据库系统中,存取控制的对象不仅有数据本身(基本表中的数据、属性列上的数据),还有数据库模式(数据库、基本表、视图和索引的创建等)。
    关系数据库存取权限表
    关系数据库存取权限
    备注:在授予用户列INSERT权限时,一定要包含主码的INSERT权限,否则用户的插入动作会因为主码为空而被拒绝。

    4、授权:授予与收回

    SQL中使用GRANT(授予权限)和REVOKE(收回已授予的权限)语句向用户授予或收回对数据的操作权限。

    1. GRANT
      语句:GTANT <权限>[,<权限>]… ON<对象类型><对象名>[,<对象类型><对象名>]…TO<用户>[,<用户>]…[WITH GRANT OPTION];
      例句:GRANT SELECT(权限) ON TABLE SC(表名) TO USER(用户名);
      语义:将对指定操作对象的指定操作权限授予指定的用户。可以由数据库管理员、数据库对象创建者(属主owner),也可以是已经用于该权限的用户。接受权限的用户可以是一个或多个具体用户,也可以是全体用户(PUBLIC)。WITN GTANT OPTION就是获得某种权限的用户还可以将权限授予其他用户,如果没有就代表只能使用该权限,不能传播。

      SQL标准允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先。

    2. REVOKE
      语句:REVOKE <权限>[,<权限>]…ON<对象类型><对象名>[,<对象类型><对象名>]…FROM<用户>[,<用户>…[CASCADE|RESTRICT];
      例句:REVOKE SELECT(权限) ON TABLE SC(表名) FROM USER(用户名);
      备注:使用该语句的为数据库管理员或其他授权者
      这里默认为CASCADE,就是没有自动执行级联操作,只是收回了该用户的权限,该用户授予的其他用户的权限保留,如果使用RESTRICT就是收回该用户以及该用户授予权限的用户的权限。
      总结: 用户可以“自主”地决定将数据的存取权限授予何人,决定是否也将“授权”的权限授予别人,这样的存取控制就是自主存取控制。

    3. 创建数据库模式的权限
      对创建数据库模式一类的数据库对象的授权由数据库管理员在创建用户时实现。
      语句:CREATE USER [WITH][DBA|RESOURCE|CONNECT];
      说明:权限与可执行的操作对照表
      权限对照表
      **备注:**CREATE USER语句不是SQL标准,不同的关系数据库管理系统的语法和内容是有差别的。
    5、数据库角色

    数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

    1. 角色的创建
      CREATE ROLE <角色名>;
    2. 给角色授权
      GRANT <权限>[,<权限>]… ON <对象类型>对象名 TO<角色>[,<角色>]…
    3. 将一个角色授予其他的角色或用户
    4. GRANT <角色1>[,<角色2>]…TO <角色3>[,<用户1>]…[WITH ADMIN OPRION];
      指定了WITN ADMIN OPTION子句,则获得某种权限的角色或用户还可以把这种权限再授予其他的角色,角色3拥有角色1和角色2的所有权限。一个角色包含的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限。
    5. 角色权限的收回
      REVOKE <权限>[,<权限>]… ON<对象类型><对象名>FROM <角色>[,<角色>]…
      用户可以回收角色的权限,从而修改角色拥有的权限。
      示例:
      CREATE ROLE R1; 创建角色
      GRANT SELECT ON TABLE SC; 授权
      GTANT T1 TO USER; 授权用户
      REVOKE R1 FROM USER; 回收权限
    6、强制存取控制方法

    自主存取控制(MAC)能够通过授权机制有效地控制对敏感数据的存取,但是由于用户对数据的存取权限是自主的,可以自由授权,这样会导致安全性降低,因此需要对系统控制下的所有主客体实施强制存取控制策略。
    定义:系统为保护更高程度的安全性,按照TDI/TCSEC标准中的安全策略的要求所采取的强制存取检查手段。它不是用户能直接感知或进行控制的。强制存取控制适用于那些数据有严格而固定密级分类的部门(军事或政府等)。
    在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类。
    1. 主体是系统中的活动实体,既包含数据库管理系统所管理的实际用户,也包含代表用户的各进程。
    2. 客体是系统中的被动实体,是受主体操纵的,包括文件、基本表、索引、视图等。
    数据库管理系统为主体和客体每个实例(值)指派一个敏感标记(label)。label分为绝密(TS)>=机密(S)>=可信(C)>=公开(P)。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。强制存取控制机制就是通过对比主体的敏感度标记和客体的敏感度标记,最终确定主体是否能够存取客体。
    当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取要遵循:
    1)仅当主体的许可证级别大于或等于客体的密级时,该主才能读取相应的客体。
    2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。
    强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。较高安全性级别提供的安全保护要包含较低级别的所有保护,因此在实现强制存取控制时要首先实现自主存取控制(DAC),即自主存取控制与强制存取控制共同构成数据库管理系统的安全机制。

    系统首先进行自主存取控制检查,对通过自主存取控制检查的允许存取的数据库对象再由系统自动进行强制存取控制检查,只有通过强制存取控制检查的数据库对象方可存取。

    展开全文
  • 含有报告和代码 一、实验目的 熟悉通过SQL对数据进行安全性控制。 二、实验内容和要求 1、熟练grant,revoke语句进行DAC控制 2、通过创建角色以及授权实验,了解并掌握SQL Server权限控制过程。
  • 数据库-数据库安全性

    千次阅读 多人点赞 2019-09-02 23:46:10
    这篇博客内容有些琐碎繁杂,我整理的时候有很多上课时老师没有讲的,但我自己在看的时候看了看,感觉有必要再整理一下,跟考试等无关,就是多了解下关于数据库的,所以后面的理论...2、数据库安全性控制 1)、用户...
  • 实验三 数据库安全性和完整性控制 实验教室 913 实验日期 2018年10月22日 学 号 2016214220 姓 名 ** 专.....
  • 【吐血整理】数据库安全性

    千次阅读 多人点赞 2020-04-05 12:10:02
    目录一、数据库安全性概述二、数据库安全性控制1. 用户标识与鉴别2. 存取控制3. 自主存取控制方法4. 授权与回收5. 数据库角色6. 强制存取控制方法三、视图机制四、审计(Audit)五、数据加密六、其他安全性保护 ...
  • --一、创建新的数据库,并且没有任何的约束 --创建三个表 没有任何的约束 create table Student(Sno varchar(20) , Sname varchar(10), Ssex varchar(2), Sage int, Sdept varchar(5) ) --设置Sno为主键 create ...
  • 1.数据库安全性概述 (1)为什么要研究数据库的安全性? 问题的提出: 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例: 军事秘密、国家机密、...
  • 数据库SQL的安全性控制

    千次阅读 2017-11-09 20:17:27
    1. 创建登录名并配置角色及...(2)创建数据库sa_test,其中创建数据表dbo.saTable; CREATE DATABASE sa_test USE sa_test CREATE TABLE saTable ( SNO INT PRIMARY KEY, SNAME CHAR(10), SSEX CHAR(4), SAG
  • 数据库系统概论——第四章 数据库安全性 数据库安全性:保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 系统安全保护措施是否有效是数据库系统主要的性能指标之一。 一、数据库安全安全性概论 1. 数据库...
  • 数据库安全性相关习题。

    千次阅读 2020-04-19 20:59:27
    2.举例说明对数据库安全性产生威胁的因素。 1)非授权用户恶意存储和破坏。 2)数据库中敏感或者重要的数据泄露。 3)安全环境的脆弱性。(数据库的安全性与计算机系统的安全性,包括计算机的硬件、操作系统、网络...
  • 熟悉通过sql对数据库进行操作,数据查询(Select)更新(update)及数据库安全性控制]
  • 【数据库系统设计】数据库安全性

    千次阅读 2020-04-04 22:46:24
    数据库安全性4.1 数据库安全性概述4.1.1 数据库的不安全因素4.2 数据库安全性控制4.2.1 用户身份鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权:授予与回收4.2.5 数据库角色4.2.6 强制存取控制方法4.3 视图...
  • 4.1 数据库安全性概述 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 4.1.1数据库的不安全因素以及应对措施 ...4.2 数据库安全性控制 主要包括用户身份鉴别、多层存取控制、...
  • 【浅析数据库的不安全因素】分析一下数据库都有哪些不安全因素,给出实例。 (1)非授权用户对数据库的恶意存取和破坏。 一些黑客和犯罪分子在用户存取数据库时...数据库安全性与计算机系统的安全性,包括计算机硬...
  • 数据库安全性控制 存取控制 1.自主存取控制 同一用户对不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户 可能存在数据的“无意泄露” 原因:...
  • 第四章 数据库安全性总结

    千次阅读 2018-11-20 21:52:58
    一:数据库安全性 1:问题的提出 1:数据库的一大特点是数据可以共享 2:数据共享必然带来数据库的安全性问题 3:数据库系统中的数据共享不能是无条件的共享 例: 军事秘密、国家机密、新产品实验数据、市场...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 424,541
精华内容 169,816
关键字:

数据库安全性控制