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

您所在的位置:网站首页 数据视图作用有哪些方法 数据库安全性控制及控制流程和常用方法

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

2024-07-09 22:11| 来源: 网络整理| 查看: 265

在这里插入图片描述

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表的 SELECT、UPDATE、INSERT权限 GRANT SELECT, UPDATE, INSERT ON TABLE Student TO R1;

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

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

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

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

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

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

4.角色权限的收回

REVOKE [,]… ON FROM [,]… 可以一次性通过R1来回收王平的这3个权限 REVOKE R1 FROM 王平;

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

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3