数据库加密工具/数据库透明加密概述_入门白客详细教程

数据库加密工具/数据库透明加密概述_入门白客详细教程

数据存储加密是指对数据和 Clog 等保存在磁盘中的数据进行无感知的加密,即透明加密(简称 TDE)。数据在写入存储设备前自动进行加密,读取时自动解密,该过程对用户是透明的,黑客和恶意用户无法从数据文件、数据库备份或磁盘中读取到敏感数据。

数据库的用户数据和备份最终都是以二进制的形式,存储在磁盘或其它形式的永久存储上。无数据访问权限的用户可能会接触到这些存储,再通过外部操作对数据存储进行读取和解读,从而导致数据泄露。虽然 数据库的数据以压缩形式保存,具备一定的保密性,但仍旧有被破解的风险。为了保护存储在内存和硬盘中数据的安全, 数据库现阶段支持国际上主流的加密算法 AES,与此同时,还支持国密算法 SM4。

两级密钥体系

透明数据加密使用两级密钥体系实现加解密功能。开启加密的最小粒度为数据库中的一个表,需要开启加密的表需要放到一个加密的表空间()中。 数据库数据的加密单位为表空间,表空间仅是为了兼容 数据库而设计的概念,可以简单理解为表空间是一组表的集合。每个加密的表空间设置有加密算法及对应的数据密钥,用于给表空间中的数据进行加密。每个租户有一个主密钥,用于对表空间的数据密钥进行加密,为了防止未经授权的解密操作,通常将主密钥存储于专门的 中。

为了保证数据的安全性,用户无法使用 直接查看主密钥和加密密钥信息,也无法指定主密钥和加密密钥,主密钥和加密密钥由系统生成,并且不会直接通过明文存储到磁盘上,大大提高了系统的安全性。

是主密钥的管理模块,提供密钥管理服务。 的功能包括:

开启透明加密时需要指定其主密钥存储方式,通过配置项 来控制,其取值如下:

取值含义

none

关闭存储加密

开启,主密钥存储于内部表

bkmi

开启,主密钥存储于外部 BKMI 系统

在 数据库中,当前仅 “私有云” 支持 方式的透明表空间加密。 方式的存储主密钥,其加密信息主要在内部表中进行管理。为了避免日志回放时的循环依赖,该加密方式下的 Clog 不做加密。

开启加密时,使用主密钥对数据密钥进行加密后得到加密的数据密钥密文,该密文会存储在内部表、宏块头部、Clog 头部中,数据密钥不会明文存储在任何地方。需要加解密数据时,使用主密钥解密该密文后得到数据密钥,从而对宏块或 Clog 中的用户数据进行加解密操作。

使用限制:

加密生效机制

用户存储在磁盘上的数据包括了 clog 和宏块两类,只有在将数据实际写到磁盘上时加密才会生效,内存中的数据是不加密的。若将原本不加密的表改为加密后,原先已经存储在磁盘上的未加密的 clog 和宏块数据不会变为加密,后续新写到磁盘上的数据才是加密的。由于每一条 clog 和每一个宏块都会记录加密元信息,因此加密和未加密的数据可以同时存在。

clog 是采用追加写的方式写到磁盘上的,因此旧的未加密的 clog 永远不会变为加密。等开启加密一段时间,旧的 clog 都被回收后,磁盘上的 clog 数据就会都成为加密数据了。对于宏块数据,只有在转储或合并时才会发生写入,可以手动触发全量合并将未加密的宏块数据重写为加密的。

支持的加密算法

数据库现阶段支持国际上主流的加密算法 AES,与此同时,还支持国密算法 SM4。

算法密钥长度模式

AES

128 bits 192 bits 256 bits

ecb

SM4

128 bits

cbc

~

网络安全学习,我们一起交流

~

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值