GBase 8s是如何实现库中数据安全保障的

news/2024/5/21 7:33:06/文章来源:https://blog.csdn.net/qq_39280087/article/details/126968130

随着计算机网络的广泛应用,网上信息的开放性与共享性日益增强,但随之而来的是信息安全问
题愈发严重。数据库是这些数据信息存储的主要场所,因此确保数据库中存储以及存取信息的安
全是确保网络安全的首要问题。为此,需要在通用的数据库管理系统基础上,围绕安全性功能进
行体系化设计,从而增强数据库系统的安全性。
一、数据安全
数据保密性保护
存储数据的保密性是安全数据库的最重要的功能之一,GBase 安全数据库的数据加密采用库内加
密的方式,在数据库管理系统的内核存储引擎级进行数据加解密处理,即数据在进行物理I/O时完
成加/解密工作。
由于数据页只有在真正进行I/O时才进行加解密操作,从而对于合法用户来讲是完全透明的,因此
也可以称为透明存储加密。
GBase 8s存储数据按页进行加密,页数据的完整性通过page trailer的校验码来保证。数据解密
后,使用Page header的校验码对解密后的数据进行校验,防止数据在加解密过程中被篡改。当用
户查询数据时,系统将符合要求的数据解密后返回给用户。
数据完整性保护
一个GBase 8s实例可以创建多个dbspace,一个dbspace可以包含多个物理chunk,一个chunk分
成多个连续扩展区extent,一个表或者索引占用的空间被称为一个tablespace,一个extent包含多
个物理页page。如下图所示:
在这里插入图片描述

GBase8s存储结构示意图
其中,dbspace、tablespace和extent属于逻辑存储单元;chunk和page属于物理存储单元。
数据页page是最基本的存储单元,是最小的I/O单元,如下图所示。GBase 8s进行一次I/O的最小
单元是一个page,即使我们只对一个page里的某一行记录进行了修改,GBase 8s也需要对整个数
据页进行读取到内存和写入磁盘的操作。磁盘的一个数据页读取到内存会分配一个同样大小的内存
page来存储。GBase8s支持不同大小的数据页:2KB、4KB、8KB、16KB。
一个数据页的内部存储结构如下图所示,一个数据页总体上分成三部分:页头、页尾和数据部分。
在这里插入图片描述

页头中的chksum用于校验该页所存储的数据,用于校验数据的完整性。当write page时写page 的校验
码信息到chksum中,当read page时,首先重新计算该page的校验码信息,然后和chksum的校验码信
息进行对比。如果不相等,说明此page的完整性信息被破坏了;如果相等,说明该页的数据完整性得到
了保证,可正常访问。GBase 8s通过page 中保存校验码信息的方式来检查以页结构形式存储在数据库
中的用户数据是否出现完整性错误。
在数据库服务的内部,用户数据存在如下三种形态:密文磁盘、密文缓存、明文结果。当数据库服务从
磁盘文件中加载为缓存时,数据库服务通过该数据页chksum内存储的校验信息对该数据页进行完整性
校验,当需要返回用户明文结果集时,通过chksum内存储的校验信息对密文数据解密后的明文数据进
行完整性校验。防止用户数据在加解密过程中遭到篡改。当数据库服务收到用户写请求时,以上步骤反
向执行。
GBase 8s安全数据库在事务处理上通过采用成熟的主流技术来实现高效的事务处理,这些技术主要包
括:锁技术、多版本并行控制技术(multiversioning)。这些技术在保证事务ACID特征的前提下大大
提高了事务的并发处理能力。
锁是一种软件机制,用于控制对数据库中数据的访问。在出现同时读取和更新数据的多用户环境中,锁
能够确保每个事务的原子性、隔离性、一致性和持续性(ACID)不受到威胁,并且维护数据的完整性。
锁的粒度越粗,它就能锁住越多的数据库对象。例如,对于能够在一个磁盘页上包含4 行的表,在该页
放置一个锁,将锁住其中包含的所有 4 个行;相反,如果使用行锁,那么将仅锁住一个行。因此,锁的
粒度越粗,并发性就越低,从而影响到性能,尤其在应用程序试图访问相同的行集时,不过,粗粒度也
意味着在某些情况下锁住相同数量的行需要的锁数量更少。例如,锁住整个表仅需要一个表锁。
1、 锁粒度
GBase 8s提供6种粒度的锁:
在这里插入图片描述

2、 隔离级别
GBase 8s提供以下五个级别的并发性:
在这里插入图片描述

GBase 8s安全数据库通过对死锁监测,会自动检测一个事务的死锁并回滚一个或多个事务来防止死锁,
并设法提取小的事务来进行回滚,从而降低由于回滚造成的大量磁盘刷新以提高性能。
二、安全功能组成
用户认证
DBMS的用户认证分为用户标识与身份鉴别。每个进入DBMS的用户首先需要有一个用户标识,并在
DBMS的整个生命周期实现用户标识的唯一性。用户身份鉴别采用了用户密码及数据证书双重认证的鉴
别机制。
用户授权
每个授权用户有一组数据库安全域特性,可决定用户下列安全域特性内容:可用特权和授权角色、可用
存储空间(如表空间)限额、可用系统资源限制等安全属性。
访问控制
1、 自主访问控制
当一个主体访问某个客体时,自主访问控制根据访问控制表检查,以确认主体对客体的访问操作是否合
法。
2、 标记与强制访问控制
DBMS中的主体与客体均需标以敏感标记(简称标记),标记分为安全等级标记与范畴标记,等级标记
是用正整数表示,而范畴标记则用集合表示,由负责MAC管理的安全管理员设定主体和客体的密级和范
畴。
安全审计
GBase 8s提供了审计工具,它能定义有关的审计事件,记录用户的有关操作,并能记录身份鉴别、自主
访问控制、标记、强制访问控制中的有关审计数据,能进行相关的审计分析并自动报警,并能对审计数
据进行查阅。
数据安全
1、 数据加密
GBase 8s安全数据库采用国家密码管理局审批的密码卡加密,密码支持包括密钥生成、密钥销毁、密钥
运算。
2、 数据完整性
GBase 8s使用密码卡硬件的杂凑算法实现数据库用户数据完整性保护功能。数据库的数据是以数据页的
形式存储在磁盘文件之中,每个数据页都有chksum字段用来保护该数据页的完整性,chksum校验码是
通过密码卡杂凑算法生成,数据库在访问数据页时对每个数据页的chksum校验码进行校验,以保护该
数据页的完整性。
备份恢复
在发生故障后,GBase 8s可快速实现数据的备份。根据不同级别,GBase 8s可实现一下三个级别的备
份:
1、 零级备份:全量备份
2、 一级备份:最近一次零级备份后的增量部分备份
3、 二级备份:最近一次一级备份后的增量部分备份
角色管理
GBase 8s安全数据管理系统分权的基本安全思想是最小特权的授权原则,对一个主体(用户)仅赋予完
成预定任务所必需的最小权限。基于该安全策略,把数据库管理系统的用户由原来单一的超级数据库管
理员变成现在的三类角色:安全管理员、审计管理员、数据管理员。它们分别承担着不同的职责,并且
期望它们三者之一应不能涉及其他两者的权力范围,从而实现整个数据库系统的分权管理,即所谓的三
权分立原则。
在这里插入图片描述

资源限制
资源管理主要包括对用户连接数量控制、服务器存储空间监控预警、数据空间占用监控等功能。
通讯安全
用户端与数据库服务端的信息访问,使用以SSL为基础的安全协议来建立安全保密数据传输路径。使用
加密算法保护链路层安全,使用证书对服务端和客户端进行双向验证,保证客户端和服务端之间通讯的
保密性和完整性。
可信路径
GBase 8s的可信路径由两部分组成:系统管理用户的安全态下的初始化过程和数据库正常服务时管理员
同服务端的安全通道。
通过“数据安全、安全功能组成”两个方面的加强,GBase 8s构建了强大的安全机制,有效地保障了库中
的数据信息安全,为我国金融、电信等行业的数据信息安全提供中国力量!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11657.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx在Linux下的安装

✨ Nginx在Linux下的安装安装pcre安装其他的依赖安装Nginx(把压缩包放到opt目录)📃个人主页:不断前进的皮卡丘🌞博客描述:梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记…

软件测试 git和gitee集成Pycharm 基于Flask的Mock Server服务器

文章目录1 Git1.1 作用1.2 工具1.3 名称解释2 安装git和注册Gitee3 使用Git(1)clone克隆命令(2)初始化(3)查看文件状态(4)文件提交暂存区(5)提交到本地版本库(6)修改文件(7)查看日志(8)跳转到提交的时间截点4 git和gitee集成Pycharm4.1 在Pycharm安装git和连接gitee(1)新建项目…

交互与前端3 前端需求简单梳理

说明 技术的终点是前端 我是从模型/算法作为起点的,顺着工作的需要和自己的兴趣,慢慢的逐步走到了前端。我想现在也是时候把前端搞好了,前端有几个作用: 1 对外可以作为广告。技术最终还是要考虑变现的。2 与外部协同。有很多工作是需要外部…

关于穿越机FPV视频果冻效应的讨论

关于穿越机FPV视频果冻效应的讨论1. 名词定义2. 摄像原理2.1 快门分类2.2 卷帘拍摄3. 产生原因4. 解决方法4.1 振动出处4.2 软件方法(辅助作用)4.3 硬件方法(直接办法)5. F450试验机遇到的问题5.1 现象5.2 测试5.3 减震改善5.4 其他改善5.5 初步结论5.6 改进方向6. 总结7. 参考…

基于ssm的远程家庭健康监测管理系统设计与实现-计算机毕业设计源码+LW文档

开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:…

常用的荧光染料示踪剂 Me-tetrazine-ICG,甲基-四嗪-吲哚菁绿 有哪些特点?

甲基-四嗪-吲哚菁绿是一种荧光染料化合物,四嗪可通过TCO点击化学标记到其它大分子上。吲哚菁绿是生物学中常用的荧光染料示踪剂,波长更长。 西安凯新生物科技有限公司常规修饰性聚乙二醇常备现 货,非常规基团修饰性聚乙二醇(PEG&a…

h5(1)

H5 一、canvas标签 canvas是绘图标签&#xff0c;可以使用该标签在网页上生成一块画布&#xff0c;然后就可以在这块画布中随意的绘图。 canvas标签基本使用&#xff1a; <canvas width"500" height"500" id"cvs"></canvas> //w…

AWS聚焦数字经济与可持续发展

2022年中国国际服务贸易交易会于9月5日圆满闭幕&#xff0c;AWS在此间展示了多项领先的云计算技术和行业解决方案。围绕着本届服贸会“服务合作促发展绿色创新迎未来”的主题&#xff0c;AWS也在此次论坛中诠释和传递着其在助力数字经济及企业可持续发展的价值愿景。 9月3日与…

springboot 上传文件/图片到本地文件夹,利用nginx可以采用地址打开该文件

springboot 上传文件/图片到本地文件夹&#xff0c;利用nginx可以采用地址打开该文件 步骤&#xff1a; 一、下载nginx 打开nginx.conf 文件&#xff0c;配置nginx 启动nginx在nginx.exe文件所在的文件夹路径上直接cmd&#xff0c;输入nginx.exe即可启动nginx 注意&#xff…

企业运营管理 | 如何用「内容」取胜营销战?

全媒体时代&#xff0c;舆论生态、媒体格局、传播方式日新月异&#xff0c;但「内容为王」始终是品牌营销增长的公认规则。 除了投放渠道多、内容更新频次快、跨地域运营等挑战&#xff0c;如何规模化地输出统一的、优质的内容&#xff0c;以此驱动品牌增长&#xff0c;成为品牌…

u盘部分文件无故消失该怎么办?

u盘属于移动存储设备&#xff0c;用于备份数据&#xff0c;方便携带。可以存放各种格式的数据、文档、音频、视频、图片&#xff0c;即插即用&#xff0c;随时拔下。这给了我们极大地便利。但是我们在使用u盘的时候偶尔会出现一些意外&#xff0c;比如u盘文件没删除却消失了&am…

数据分析案例-基于sklearn随机森林算法探究影响预期寿命的因素

目录 项目目标 导入数据 查看数据基本信息 数据预处理 数据可视化 特征工程 建模 项目目标 **探索影响预期寿命的因素** 世卫组织建立了一段时间内所有国家健康状况的数据集&#xff0c;其中包括预期寿命&#xff0c;成人死亡率等方面的统计数据。使用此数据集&#xff…

Panama-FFI实现原理与移植

移植FFI 在说明如何对FFI进行移植之前需要先说明FFI的实现原理。JEP424是外部函数访问+本地内存,但是实际上需要移植的内容只有外部函数访问,对于本地内存的操作并不需要修改。 从java中调用native方法叫做downcall,而从native方法中调用java方法叫做upcall,下面通过downca…

泰克示波器知识分享-波的类型

提到泰克示波器&#xff0c;相信大多数人都知道&#xff0c;那大家对示波器基础知识了解多少呢?今天安泰测试就给大家分享一波干活——波的类型介绍&#xff1a; 您可以把大多数波分成下面几类&#xff1a; 周期信号和非周期信号 重复的信号称为周期信号,一直变化的信号则称为…

基于Android studio有声听书系统 java音乐播放器系统

1&#xff1a;注册登录&#xff1a;未注册用户首先进行账号注册&#xff0c;注册成功后进行登录&#xff0c;已注册用户直接输入账号密码进行登录&#xff0c;登录成功后进入主页面。 2&#xff1a;主页面&#xff1a;通过左右滑动可以实现对推荐界面、订阅界面、历史界面的切换…

第三章流程控制语句

一、判断输入的是不是黄蓉所说的数 二、验证瑛姑给出的答案是否正确 三、输出玫瑰花语 四、判断是否为酒后驾车 五、助力瑛姑(1):while循环版解题法 六、助力瑛姑(2):for循环版解题法七、打印九九乘法表 八、助力瑛姑(3):for循环改进版解题法 九、逢七拍腿游戏 十…

基于ssm的网上招投标系统设计与实现-计算机毕业设计源码+LW文档

开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;…

bean的作用域、bean的生命周期、bean的后置处理器

bean的作用域 概念&#xff1a;在Spring中可以通过配置bean标签的scope属性来指定bean的作用域范围&#xff0c;取值含义如下所示&#xff1a; 如果是在WebApplicationContext环境下还会有另外两个作用域(不常用) 在resources目录下创建spring-scope.xml文件 在test的java下创…

【区块链 | IPFS】如何将域链接到 IPFS 上托管的 dApp?

这是一篇关于如何将域链接到托管在IPFS上的dApp的快速分步指南 这是一篇关于如何将域链接到托管在IPFS上的dApp的快速分步指南 步骤1: 在本教程中,我们将把一个传统的域名连接到一个托管在IPFS上的dApp。 将在这个CID下使用IPFS托管的dApp: https://ipfs.io/ipfs/QmYupN…

红红火火过大年

3. axios特点 axios七大特点 1、在浏览器中发送 XMLHttpRequests 请求&#xff1b; 2、在 node.js 中发送 http请求&#xff1b; 3、基于 promise 的 HTTP 库&#xff0c;支持promise所有的API 4、拦截请求和响应&#xff1b;&#xff08;修改请求数据&#xff0c;只能用’PUT…