写点什么

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

  • 2024-01-08
    广东
  • 本文字数:1164 字

    阅读完需:约 4 分钟

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


附录



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

发布于: 刚刚阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
GaussDB(for MySQL)新特性TDE发布:支持透明数据加密_数据库_华为云开发者联盟_InfoQ写作社区