GaussDB(for MySQL)新特性TDE发布:支持透明数据加密

本文分享自华为云社区《GaussDB(for MySQL)新特性TDE发布:支持透明数据加密》,作者: GaussDB 数据库。

技术背景

为了保护数据的安全,我们可能通过防火墙、身份认证、安全权限控制、网络及端口访问控制、传输加密等多种方式对程序运行过程中的各个环节进行安全防控,但这些并不能保证数据静态存储在物理介质中的安全;恶意方如果窃取了硬盘等物理介质,就可能还原并获取其中存储的数据。

透明数据加密(Transparent Data Encryption,简称TDE),作为一种在数据"静止"时保护数据的机制,对数据文件执行实时I/O加密和解密;数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密,这样数据在数据库共享内存中以明文形态存在,而在数据存储介质中则以密文形态存在,能有效保护数据静态存储的安全。

特性价值

GaussDB(for MySQL)新特性TDE核心价值在于数据的静态安全保护,同时有助于解决用户安全相关的法规遵从性挑战:

(1)**数据保护:**支持AES256、SM4两种加密算法,对数据进行加密,保护数据安全,有助于解决用户满足法规遵从性的需求。

(2)**透明访问:**数据库的用户不感知它们正在访问的信息是在底层存储时加密的,经过数据库身份验证的用户可以透明地访问数据,上层应用无需做任何更改。

实现原理

  1. 用户在创建或备份恢复数据库新实例时,如果打开了TDE开关,数据库服务会向KMS(密钥管理服务)申请生成数据密钥DEK(Data Encryption Key)。
  2. GaussDB(for MySQL)使用DEK在数据在写入存储单元前进行加密,从存储单元读入内存时进行解密,加密算法支持AES256和SM4。
  3. DEK在GaussDB(for MySQL)的内存中存储,重启场景下重新向KMS进行DEK解密后,再缓存到内存中,继续用于加解密读写工作。
  4. 对于业务应用,其访问数据库,不感知底层加解密动作;上层业务无需做任何适配动作即可对接TDE加密实例。

业务场景/流程

新实例开启TDE加密

购买GaussDB(for MySQL)数据库时,选择加密算法并打开TDE开关,可以创建支持TDE的GaussDB(for MySQL)实例;数据库实例一旦开启TDE后,不支持关闭开关。

存量数据备份恢复到新加密实例

TDE开关只能在新创建数据库实例时打开,对于存量数据,如果也想加密数据,可以通过备份恢复为新加密实例的方式来支持;备份恢复功能支持的场景,如下图所示:支持从未加密到加密、加密到加密路径,将备份数据恢复到新的TDE加密实例。

总结

GaussDB(for MySQL)实现了透明数据加密(Transparent Data Encryption,简称TDE)特性,支持AES256和SM4两种加密算法;客户可在新建实例时开启TDE,或通过存量实例备份恢复到加密实例的方式,对存量数据进行加密改造;在上层业务不做任何更改的情况下,达成数据静态安全保护的目的。

附录

点击关注,第一时间了解华为云新鲜技术~

相关推荐
豌豆花下猫31 分钟前
Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!(摘要)
后端·python·ai
@听风吟36 分钟前
力扣之182.查找重复的电子邮箱
大数据·javascript·数据库·sql·leetcode
芯冰乐2 小时前
综合时如何计算net delay?
后端·fpga开发
小纯洁w2 小时前
MySQL 中优化 SQL 语句以提高查询性能
数据库·sql·mysql
xiaomiphone92 小时前
【PostgreSQL教程】PostgreSQL详细介绍
数据库·sql·mysql·postgresql·oracle
Iam傅红雪2 小时前
mysql表逆向实体类
数据库·mysql·adb
凯哥Java2 小时前
优化批处理流程:自定义BatchProcessorUtils的设计与应用
java·数据库·mysql
拉玛干2 小时前
社团周报系统可行性研究-web后端框架对比-springboot,django,gin
数据库·python·spring·golang
编织幻境的妖3 小时前
MySQL/Redis集群等数据库的管理、配置、优化、备份恢复、异地同步、数据迁移、安全防护的50道运维面试题
数据库·redis·mysql
不是仙人的闲人3 小时前
Qt日志输出及QsLog日志库
开发语言·数据库·qt