数据库原理与应用笔记(四):数据库安全性

简介: 数据库安全性

4.1数据库安全性概述

4.1.1数据库不安全因素

4.1.2安全标准简介

4.2数据库安全性控制

4.2.1用户身份鉴别

4.2.2存取控制

4.2.3自主存取控制方法

4.2.4授权:授予与收回

4.2.5数据库角色

4.2.6强制存取控制方法

4.3视图机制

4.4 审计

4.5数据加密

4.6其他安全性保护


4.1数据库安全性概述

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


4.1.1数据库不安全因素

1非授权用户对收据库的恶意存取和破坏,比如黑客盗取用户密码进行修改数据等

2数据库中重要或敏感的数据被泄露,比如黑客窃取某市机密文件

3安全环境的脆弱性


4.1.2安全标准简介

计算机以及信息安全技术最有影响的两个标准是什么?

TCSEC(桔皮书)和CC


从哪几个方面来描述安全性级别划分指标?

从安全策略、责任、保证和文档4个方面


根据计算机系统对各项指标的支持情况,TCSEC/TDI(紫皮书)将系统划分为4组7个等级,如下表格所示:


安全级别 定义
A1 验证设计
B3 安全域
B2 结构化保护
B1 标记安全保护
C2 受控的存取保护
C1 自主安全保护
D 最小保护


其中,C1级能够进行自主存取控制(DAC)B1级能够实施强制存取控制(MAC)

CC评估保证级(EAL)的划分如下表格所示:

评估保证级 定义 TCSEC安全级别(近似相当)
EAL1 功能测试
EAL2 结构测试 C1
EAL3 系统地规划和检查 C2
EAL4 系统地设计、测试和复查 B1
EAL5 半形式化设计和测试 B2
EAL6 半形式化验证的设计和测试 B3
EAL7 形式化验证的设计和测试 A1


4.2数据库安全性控制

4.2.1用户身份鉴别

用户身份鉴别是数据库管理系统提供的最外层安全保护措施。每个用户在系统中都有一个用户标识。每个用户标识由用户名user name和用户标识号UID两部分组成,UID在系统的整个生命周期内是唯一的。


常用的用户鉴别方式有以下几种:

1静态口令鉴别

简单的说就是输入QQ号和QQ密码,为什么是静态?QQ号和QQ密码是不会变化的

2动态口令鉴别

就是现在你要登陆CSDN,你可以通过短信验证码来登陆,这个短信验证码是不断变化的,所以是动态的

3生物特征鉴别

参考扫脸支付

4智能卡鉴别

某集团总裁刷黑卡验证自己的身份,吓坏服务员


4.2.2存取控制

目的:确保访问数据库的用户都是有资格的

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

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

4.2.3自主存取控制方法

用户权限是由两个要素组成的:数据库对象和操作类型

在数据库系统中定义存取权限称为授权authoriaztion

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


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



4.2.4授权:授予与收回

1授权GRANT

一般语句格式为

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

带有with grant option则某获得此权限的用户可以把权限再赋予其他人,但是其他人不能赋回给授权人


2收回REVOKE

REVOKE<权限>,[<权限>]…

ON<对象类型><对象名>[,<对象类型><对象名>]…

FROM<用户>[,<用户>]…

[CASCADE|RESTRICT]


CASCADE为级联,即如果把x把权限授予给y,在收回x的权限的同时也会把y的收回


3创建数据库模式的权限

CREATE USER语句一般格式如下:

CREATE USER[WITH][DBA|RESOURCE|CONNECT]


4.2.5数据库角色

1角色的创建

CREATE ROLE<角色名>


2给角色授权

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


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

GRANT<角色1>[,<角色2>]…
TO<角色3>[,<用户1>]…
[WITH ADMIN OPTION]


4角色权限的收回

REVOKE<权限>[,<权限>]…
ON<对象类型><对象名>…
FROM<角色>[,<角色>]…

4.2.6强制存取控制方法

在强制存取控制中,数据库管理系统所管理的全部实体被分为主体客体两大类

主体是活动的实体,包括用户,用户的进程。客体是被动实体,受主体操控的,即文件,基本表等。数据库管理系统为每个实例分配了一个敏感度标记

敏感度标记分为若干级别,例如绝密TS,机密S,可信C,公开P

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

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


4.3视图机制

视图机制简单来说就是为每一个不同的用户都有不同的视图,把要保密的数据隐藏起来,比如大学计算机老师只能查看到计算机学生的视图,系主任可以查看计算机学生,软件工程学生等学生的视图


4.4 审计

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

AUDITNOAUDIT语句用来设置审计功能和取消审计功能


4.5数据加密

加密就是把明文变为密文

1存储加密
2传输加密


4.6其他安全性保护

1推理控制机制inference control是用来避免用户利用其能够访问的数据推知更高密级的数据

例如有A和B相同等级的职员,A的工资是3千块,因为A的等级比较低,不知道其他用户的工资,但通过和B接触,得知B的工资是3千块,所以A得出了同等级的职员的工资都是3千块,这就获取了更高级的机密


2隐蔽通道covert channal处理内容也是强制存取控制未解决的问题

例如A和B,A的等级较高,B的等级较低,两个人通过一条信道进行交流,当A发生信息后,信道塞满,则B发送不了信息,B发送的时候显示出错,这时候B就知道了A发送了信息(相当于逆推),这就导致了高等级的信息向低等级的信息泄露了


3数据隐私data privacy,控制不愿被他人知道或他人不便知道的个人数据的能力

一般通过数据库的安全技术实现


笔记使用教材:《数据库系统概论》 王珊 萨师煊 编著
视频课:中国大学MOOC 中国人民大学 数据库系统概论














相关文章
|
6月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
9月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
7月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
387 8
|
7月前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
9月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
8月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
2285 0
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
513 158
|
7月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1281 152