【数据库原理 • 五】数据库安全性与完整性

简介: 数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、分析数据和管理数据,数据库技术已成为各种计算机系统的核心技术。数据库相关知识也已成为每个人必须掌握的知识。

一、数据库安全性概述

数据库的一大特点是数据可以共享。数据共享必然带来数据库的安全性问题,数据库系统中的数据共享不能是无条件的共享。


数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。


1.1 安全模型

在一般计算机系统中,安全措施往往是一级一级层层设置的


微信图片_20230527151021.png

在这个安全模型中,用户要求进入计算机时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法用户才准许进入计算机系统。对已进入系统的用户,DBMS还要设置很多访问限制,例如DBMS级访问控制主要有自由存取控制(Discretionary Access Control,简称DAC)和强制存取控制方法(Mandatory Access Control,简称MAC),并只允许用户进行合法操作。操作系统一级也有自己的保护措施,它主要是基于用户访问权限的访问控制。数据最后还可以以密码形式存储到数据库中。


1.2 安全层次简介

在安全问题上,DBMS应与操作系统达到某种意向,理清关系,分工协作,以加强DBMS的安全性。数据库系统安全保护措施是否有效是数据库系统的主要指标之一。主要包括以下几个层次的安全措施:


数据库系统层次

操作系统层次

网络层次

物理层次

人员层次

1.3 安全标准简介

1.3.1 TCSEC标准

TCSEC是指1985年美国国防部正式颁布的《DoD可信计算机系统评估准则》。在TCSEC中,美国国防部按处理信息的等级和应采用的响应措施,将计算机安全从高到低分为:A、B、C、D 四类八个级别,共27条评估准则。随着安全等级的提高,系统的可信度随之增加,风险逐渐减少。

微信图片_20230527151028.png

1.3.2 CC(Common Criteria, CC)标准

国际《信息技术安全性评估通用准则》(简称为《通用准则》,CC)是北美和欧盟联合以开发一个统一的国际互认的安全标准的结果,是在美国、加拿大、欧洲等国家和地区分别自行推出的评估标准及具体实践的基础上,通过相互间的总结和互补发展起来的。


1.3.3 我国的信息安全评估标准

我国在信息系统安全的研究与应用方面与其他先进国家相比有一定的差距,但近年来,国内的研究人员已经在安全操作系统、安全数据库、安全网关、防火墙、入侵检测系统等方面做了许多工作,1999年发布的国家强制性标准《计算机信息系统安全保护等级划分准则》(GB17859-1999)为安全产品的研制提供了技术支持,也为安全系统的建设和管理提供了技术指导。该标准是我国计算机信息系统安全保护等级系列标准的第一部分,其他相关应用指南、评估准则等正在建设之中,该标准的制定参照了美国的TCSEC。


二、数据库完整性

2.1 什么是数据库完整性?

数据库的安全性和完整性是数据库安全保护的两个不同的方面。数据库的安全性保护数据库以防止不合法用户故意造成的破坏,数据库的完整性保护数据库以防止合法用户无意中造成的破坏。从数据库的安全保护角度来讲,完整性和安全性是密切相关的。

数据库的完整性的基本含义是指数据库中数据的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。正确性是指数据的合法性,例如数值型数据只能含有数字而不能含有字母。有效性是指数据是否属于所定义域的有效范围。相容性是指表示同一事实的两个数据应当一致,不一致即是不相容。


2.2 完整性约束条件

SQL中使用了一系列的概念来描述完整性,包括实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL的DDL语句来实现,它们作为模式的一部分存入数据字典中。


一般一条完整性规则可以用一个五元组(D,O,A,C,P)来表示。其中:


D(Data)表示约束作用的对象。

O(Operation)触发完整性检查的数据库操作,即当用户发出什么操作请求时需要检查该完整性规则,是立即检查还是延迟检查。

A(Assertion)表示数据对象必须满足的断言或语义约束,这是规则的主体。

C(Condition)选择A作用的数据对象值的谓词。

P(Procedure)违反完整性规则时触发的过程。

2.3 完整性控制机制

DBMS必须提供一种机制来检查数据库中数据的完整性,看其是否满足语义规定的条件,这种机制称为“完整性检查”。为此,数据库管理系统的完整性控制机制应具有三个方面的功能,来防止合法用户在使用数据库时,向数据库注入不合法或不合语义的数据:


定义功能,提供定义完整性约束条件的机制。

验证功能,检查用户发出的操作请求是否违背了完整性约束条件。

处理功能,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。


目录
相关文章
|
1月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
46 5
Mysql(3)—数据库相关概念及工作原理
|
8天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
22 2
|
19天前
|
存储 数据库 数据库管理
数据库事务安全性控制如何实现呢
【10月更文挑战第15天】数据库事务安全性控制如何实现呢
|
19天前
|
存储 数据库 数据库管理
什么是数据库事务安全性控制
【10月更文挑战第15天】什么是数据库事务安全性控制
|
19天前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
ly~
|
28天前
|
存储 监控 安全
如何评估云数据库的安全性?
评估云数据库安全性需关注基础架构与物理安全、网络基础设施、电力与冷却系统;访问控制与身份验证,包括多因素身份验证、基于角色的访问控制、身份验证强度;数据加密,涉及传输加密、存储加密、密钥管理;备份与恢复,涵盖备份策略、恢复测试、异地备份;安全审计与监控,如审计日志、实时监控、漏洞扫描与渗透测试;合规性,包括法规遵循、认证与合规证明;以及云服务提供商的信誉与技术支持。
ly~
49 4
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
36 5
ly~
|
1月前
|
存储 安全 网络安全
云数据库的安全性如何保障?
云数据库的安全性可通过多种方式保障,包括多因素身份验证、基于角色的访问控制及最小权限原则,确保仅有授权用户能访问所需数据;采用SSL/TLS加密传输和存储数据,加强密钥管理,防止数据泄露;定期备份数据并进行异地存储与恢复演练,确保数据完整性;通过审计日志、实时监控及安全分析,及时发现并应对潜在威胁;利用防火墙、入侵检测系统和VPN保护网络安全;选择信誉良好的云服务提供商,确保数据隔离及定期安全更新。
ly~
93 1
|
1月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
1月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理