数据库概论 (三)安全性

偏序

非严格偏序,自反偏序

给定集合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)有直接的对应关系。一个集合上的严格偏序的关系图就是一个有向无环图。其传递闭包是它自己。

img

安全性

概述

image-20210102152115728

  • 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. 只有当主体的许可证等级低于客体的保密等级,主体才能将数据写入到客体。

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

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

数据库中可存取的对象

image-20210102152814988

数据库授权

授予指定的权限

grant select on table t1 to u1

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

收回权限

revoke select on table t1 from u1

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

posted @ 2021-01-14 17:13  tanknee  阅读(266)  评论(0编辑  收藏  举报