日志

数据库概论 (三)安全性

 来源    2021-01-14    1  

偏序

非严格偏序,自反偏序

给定集合S,“≤”是S上的二元关系,若“≤”满足:

  1. 自反性:$∀a∈S,有a≤a$;
  2. 反对称性:$∀a,b∈S,a≤b且b≤a,则a=b$;
  3. 传递性:$∀a,b,c∈S,a≤b且b≤c,则a≤c$;

则称“≤”是S上的非严格偏序自反偏序

严格偏序,反自反偏序

给定集合S,“$<$”是S上的二元关系,若“<”满足:

  1. 反自反性:$∀a∈S,有a≮a$;
  2. 非对称性:$∀a,b∈S,a<b ⇒ b≮a$;
  3. 传递性:$∀a,b,c∈S,a<b且b<c,则a<c$;

则称“<”是S上的严格偏序反自反偏序

严格偏序与有向无环图(dag)有直接的对应关系。一个集合上的严格偏序的关系图就是一个有向无环图。其传递闭包是它自己。

安全性

概述

  • D:没有任何安全保护措施
  • C1:非常初级的自主安全保护,能够实现对用户和数据 的分离,进行自主存取控制( DAC:Discretionary Access Control),保护或限制 用户权限的传播
  • C2 级
    • 安全产品的最低档次;
    • 提供受控的存取保护,将 C1 级的 DAC进一步细化,以 个人身份注册负责,并实施审计和资源隔离;
    • 达到 C2 级的产品在其名称中往往不突出“安全”这一 特色

安全性措施

用户在登录到数据库系统之前要先通过数据库的用户校验、身份鉴别。这是数据库系统提供的最外层的安全保护措施,用户提供自己的用户名或者身份,通过系统校验之后才会给予系统的使用权。

一般来说通过用户名加口令的方式来校验用户

  • 静态口令,方便用户记忆,但也容易被窃取,导致数据库变得不安全。
  • 动态口令,一般采用动态校验的方法获取动态口令,例如短信验证码,提高了破解的难度。
  • 生物信息识别,使用指纹识别,面容识别,虹膜识别等生物科技手段来判断当前来使用的用户是否是合法用户,安全级别较高。

数据库系统的安全性最重要的一点就是只把数据库的使用权限授予给有资格的用户。

存取控制机制组成

定义用户权限

用户对某一数据对象的操作权力称为权限, DBMS提供适当的语言来 定义用户权限,这些定义经过编译后存放在数据字典中,称为安全 规则或授权规则。

合法权限检查

用户发出操作数据请求后, DBMS会先查找数据字典,根据安全规 则进 行合法权限检查,若操作超过了用户权限,则拒绝执行该操作
用户权限定义和合法权检查机制一起组成了DBMS 的安全子系统

DAC (Discretionary Access Control)

自主存取控制

用户对于不同的数据库对象有不同的存取权 限,不同的用户对同一对象也有不同的权限, 用户还可以将其拥有的存取权限转授给其它用户。

达到了上述安全等级中的C2级。

MAC (Mandatory Access Control)

强制存取控制

每一个数据对象被标以一定的密级,每一个用 户也被授予某一个级别的权限,对于任意一个数 据对象,只有具有合法许可证的用户才可以存取。

达到了上述安全级别中的B1级。

主体,即操纵数据的用户,拥有许可证等级 clearance level,数据有保密登记 classification level,主体以某一label标记进入到系统时,其对客体的操作必须遵循两个规则:

  1. 主体只能读取保密等级低于自己的许可证等级的数据客体
  2. 只有当主体的许可证等级低于客体的保密等级,主体才能将数据写入到客体。

对于第二点,是为了防止数据的保密等级从高级流入低级,因为主体是可以更改保密等级的。

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

数据库中可存取的对象

数据库授权

授予指定的权限

grant select on table t1 to u1

将查询t1表的权限授予给用户u1。

收回权限

revoke select on table t1 from u1

将查询t1表的权限从u1手中收回。

相关文章
使用mysql数据库对Spring安全性中的用户进行身份验证?
问答我想使用Spring安全性来验证我的Web应用程序中的用户. 由于我不是Spring框架的成熟用户,我无法清楚地了解如何使用jdbc-user-service进行配置设置. 我做了以下配置.但它不起作 ...
1
如何加强Mysql数据库服务器的安全性?
问答>如果我们将server1用于所有文件(文件服务器),则将server2用于mysql数据库(数据库服务器). 为了让server1中的网站访问server2中的数据库,是不是需要连接到第二个( ...
3
数据库---实验三 嵌套查询和视图操作
日志(一) 嵌套查询 1. 求选修了’MA’的学号和姓名. SQL> select sno,sname from student where sno in(select sno from sc wh ...
1
jdbc链接数据库的三种方式
日志/** * jdbc连接数据库 * @author APPle * */ public class Demo1 { //连接数据库的URL private String url = "jdb ...
2
PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
日志原文:PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo) PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象( ...
1
MySQL数据库笔记三:数据查询语言(DQL)与事务控制语言(TCL)
日志五.数据查询语言(DQL) (重中之重) 完整语法格式: select 表达式1|字段,.... [from 表名 where 条件] [group by 列名] [having 条件] [order ...
2
详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式(ubuntu 16.04)
日志启动mysql: 方式一:sudo /etc/init.d/mysql start 方式二:sudo service mysql start 停止mysql: 方式一:sudo /etc/init.d ...
2
[数据库]关于三个比较典型的数据库试题(1.找到员工表中工资最高的前三名;2.找到员工表中薪水大于本部门平均薪水的员工;3.统计每年入职的员工个数)
日志最近学习Oracle,老师讲了三个比较典型的问题,做一下总结,也便于以后复习. 下图显示的是三个题的题干和要查询的结果: ======================================= ...
1
laravel记录笔记Laravel 连接数据库、操作数据库的三种方式
日志laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...
1
laravel数据库迁移(三)
日志laravel号称世界上最好的框架,数据库迁移算上一个,在这里先简单入个门: laravel很强大,它把表中的操作写成了migrations迁移文件,然后可以直接通过迁移文件来操作表.所以 , 数据迁 ...
1
Java Web----Java Web的数据库操作(三)
日志Java Web的数据库操作        前面介绍了JDBC技术和JDBC API及API的使用示例,下面详细介绍JDBC在Web中的应用.       Java Web----Java Web的数 ...
1
关系型数据库的三范式
日志第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名.编号.地址.……)其中"地址"列还可 ...
1
log4net保存到数据库系列三、代码中xml配置log4net
日志园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一.WebConfig中配置log4net 一.WebConfig中配置log4ne ...
1
SQL Server中用户账号在数据库中的安全性,可以控制用户的权限
日志今天在公司SQL Server数据库中,查到一个SQL Server用户账号"DemoUser": "DemoUser"不在数据库服务器的sysadmin角色中 ...
1
学生成绩数据库设计 三 模拟数据
日志1 基础数据 /*一 模拟数据说明:从2000年到当年,每年添加100个学生*/ Declare @StuCount int, /*每年添加的数量*/ @StartYear int,/*初始年份*/ ...
2
DB 数据库概论
日志数据库概论 数据库一直是我的一个痛..因为不是科班出生,很多知识都有待补充.而数据库这一块,一方面没做过什么必须要用到数据库的大项目,另一方面身边很多同事都和我说数据库这东西很好学(毕竟我们不是专业做 ...
1
Redis实现之数据库(三)
日志过期键删除策略 在Redis实现之数据库(二)一小节中,我们知道了数据库键的过期时间都保存在过期字典中,又知道了如果根据过期时间去判断一个键是否过期,现在剩下的问题是:如果一个键过期了,那么它什么时候 ...
1
MySQL数据库(三)—— 表相关操作(二)之约束条件、关联关系、复制表
日志表相关操作(二)之约束条件.关联关系.复制表 一.约束条件  1.何为约束 除了数据类型以外额外添加的约束 2.约束条件的作用 为了保证数据的合法性,完整性 3.主要的约束条件 NOT NULL # ...
2
数据库(三)—— 数据库存储引擎、日志、备份、主从复制、高可用架构
日志数据库存储引擎.日志.备份.主从复制.高可用架构 一.存储引擎 1.存储引擎作用 存储引擎和磁盘上的数据交互 2.mysql存储引擎类型 Innodb存储引擎 ibd:存储表的数据行和索引 frm:表 ...
1
数据库设计三范式
日志1.范式说明 1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能同时有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性.如 ...
1