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,或通过存量实例备份恢复到加密实例的方式,对存量数据进行加密改造;在上层业务不做任何更改的情况下,达成数据静态安全保护的目的。

附录

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

相关推荐
卷无止境8 小时前
智能体开发环境ADE浅析,编程工具的下一次范式跃迁
后端·python
码事漫谈11 小时前
DeepSeek 这波操作很凶
后端
Bs_MoneyMagnet12 小时前
基于springboot+vue的医疗健康便民服务平台的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring
troy12813 小时前
向量数据库选型指南:Milvus / Qdrant / Chroma / pgvector
数据库·milvus
彧azz13 小时前
Redis 全面指南:从核心概念到高可用架构实战
数据库·redis·架构
子兮曰14 小时前
Bun v1.4.1 深度解析:从 Zig 到 Rust,一场 11 天、64 个 AI 代理的语言迁徙
前端·后端·bun
DBA小马哥14 小时前
MongoDB 数据同步怎么做?oplog、Change Streams、同步工具 4 种方案一次讲清(附踩坑清单)
数据库·mongodb
香菜TTT15 小时前
Redis的哨兵机制
java·数据库·redis
IT_陈寒16 小时前
Vue的computed属性竟然坑了我一把
前端·人工智能·后端