更新时间:2026-08-06 GMT+08:00
分享

应用场景

场景描述

透明加密,是指数据库对将要落盘的数据自动进行加密,读取磁盘数据的时候自动进行解密,同时外部用户或应用程序对数据使用过程中整个加解密过程无感知。通过存储层的静态数据加密,即使磁盘文件被窃取,但磁盘中敏感信息已经加密,窃取者无法解密而得不到真实的用户数据,从而保证了数据库的安全。

GaussDB透明加密技术提供了精细的表级加密粒度,在创建表时指定是否需要被加密,后续数据库可自动对表中数据在落盘时进行加密存储。

GaussDB透明加密技术提供了安全的密钥存储方案,密钥通过外部第三方密钥管理服务进行托管,数据库通过RESTful等方式调用外部的密钥创建或解密功能。数据密钥明文存储在内存中,使用哈希表缓存,保证密钥的查询效率,并且提供密钥明文定时清除机制保证密钥明文的安全性。数据密钥密文会跟随数据页面一起落盘存储,从而保证了数据解密过程中的准确性和高效性。

GaussDB透明加密技术提供了灵活的密钥轮转方案,一个加密表对应一个数据密钥,当用户认为当前的加密表的密钥时间过长或者不再安全以后,可以使用密钥在线轮转功能,将当前加密表的数据密钥轮转为新的数据密钥。

触发条件

配置GUC参数enable_tde为on,并基于选用的密钥管理服务信息正确配置GUC参数tde_key_info,重启数据库集群后生效。

业务影响

  • 轻量的DDL业务语句改造

    对于新建表或历史表,通过参数enable_tde配置表选项即可完成加密表转换;避免传统加密方案(如应用加密)带来的开发、测试和维护成本。

  • 存在一定程度的性能劣化

    由于加解密算法需执行复杂数学运算与数据处理逻辑,会额外占用硬件资源并增加数据传输延迟,消耗系统算力与时间资源,因此透明加密功能将造成一定程度的性能劣化,建议仅对存储有敏感数据的表进行加密改造。加密表配置为AES_128_CTR国际算法性能与明文表性能基本持平,但配置为SM4_CTR国密算法则存在明显性能劣化。

  • 依赖外部密钥管理服务可用性

    新建加密表或数据库节点启动后针对加密表的第一次数据处理,均会触发对外部密钥管理服务的网络请求或动态库接口调用;因此启用透明加密功能需保证外部密钥管理服务的高可用能力完备。

相关文档