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

附录

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

相关推荐
桀桀桀桀桀桀9 分钟前
数据库中的用户管理和权限管理
数据库·mysql
代码之光_198017 分钟前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
ajsbxi23 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
superman超哥1 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452001 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver