首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据库加密选型实战:网关联密、代理加密与透明加密三条路线对比

数据库加密选型实战:网关联密、代理加密与透明加密三条路线对比

原创
作者头像
安当加密 3
修改于 2026-10-25 12:57:12
修改于 2026-10-25 12:57:12
330
举报

数据库加密的需求通常来自两端:一端是合规——等保 2.0 三级对敏感数据存储加密提出了明确要求,《数据安全法》也要求对重要数据采取加密保护措施;另一端是内部风险——DBA 能看全部明文、离职员工拖库,权限体系防不住"看得见数据的人"。

落到技术实现上,数据库加密有三条主流路线:网关联密、代理加密、透明加密。三者在部署位置、加解密发生层、对应用的影响上差异很大,选型前需要先弄清机制。

一、三条路线的机制对比

维度

网关联密

代理加密

透明加密(TDE)

部署位置

数据库前置网关

应用与数据库之间

数据库引擎内部

加解密发生层

数据库协议层

SQL 解析层

存储引擎层

应用改造

无需改造

改连接地址/驱动

无需改造

加密粒度

表/字段级

字段级

表空间/库级

DBA 可见性

不可见明文

视策略而定

通常仍可见

数据库加密三条路线架构对比:网关联密、代理加密与透明加密
数据库加密三条路线架构对比:网关联密、代理加密与透明加密

二、网关联密:在协议层改写流量

网关联密是在应用和数据库之间部署加密网关,网关解析数据库协议,对指定字段的写入数据加密、读取数据解密,数据库里存的是密文。

它的机制特点是"应用零改造"——连接地址指向网关即可,业务代码无感知;加解密策略集中在网关侧管理,字段级粒度可以精细到"手机号加密、备注不加密"。以安当 DBG 为代表的这类产品,核心机制是在数据库协议层完成加解密代理,属于协议层中间件。

短板在于网关是新增的网络节点,需要保证高可用,否则它会成为单点;同时网关要处理全量数据库流量,性能容量需要单独评估。

三、代理加密:把策略下沉到驱动

代理加密的思路类似,但代理位置更靠近应用:或以独立代理服务形式存在,或以应用驱动/SDK 形式嵌入。加密逻辑跟随应用部署,策略按应用维度隔离,适合多租户、多业务线各自管理密钥的场景。

它与网关联密的核心差异在"控制点":网关是基础设施团队的统一管控点,代理是业务团队的自主管控点。前者便于集中治理,后者便于灵活授权,选哪种取决于企业的数据治理组织方式。

四、透明加密:引擎自带的存储层加密

透明加密(TDE)由数据库引擎自己完成:数据写入时加密落盘,读取时解密给授权会话,对应用完全透明。SQL Server、Oracle、MySQL(keyring 插件)都支持。

TDE 的吸引力是"零成本开启"——开个开关就有,合规检查时最好用。但它的保护边界要认清:防的是"文件被盗"(拖走数据文件打不开),不防"授权访问"——DBA 正常登录后查到的仍是明文。对"防内鬼"诉求强的场景,TDE 只能作为兜底,需要和网关联密或代理加密组合使用。

选型前可以用两条命令验证现状。MySQL 8.0 查看 keyring 插件与表空间加密状态:

代码语言:sql
复制
SHOW PLUGINS LIKE '%keyring%';
SELECT NAME, ENCRYPTION FROM information_schema.INNODB_TABLESPACES WHERE NAME LIKE './%';

再抽查数据文件里能否直接 grep 到明文敏感字段(测试库执行,避免影响生产):

代码语言:bash
复制
strings /var/lib/mysql/testdb/user_table.ibd | grep -c "13800138000"

结果大于 0,说明该字段还是明文落盘——这比任何架构图都直观。性能方面,公开测试中 TDE 的开销通常在个位数百分比,但对已处于高负载的库,仍建议在测试环境验证后再上生产。

数据库加密选型决策路径:三个问题定路线
数据库加密选型决策路径:三个问题定路线

五、选型决策:三个问题定路线

第一,防谁? 防文件被盗,TDE 够用;防 DBA 越权查看,必须上网关或代理。

第二,谁来管密钥? 三条路线都依赖密钥管理,密钥存在哪、谁有权限取、怎么轮换,比选哪条路线更影响最终安全水位。独立的 KMS 是共同底座。

第三,改造预算多少? 不能停机的核心库优先零改造路线;新建系统可以按字段级精细加密设计。

六、落地检查清单

  • 敏感字段清单是否明确(个人信息、鉴权信息、商业数据)?
  • 密钥是否有独立 KMS 托管,而非和密文同库存储?
  • 加密后是否验证过备份恢复链路(密文备份+密钥恢复)?
  • 性能基线测试是否覆盖了峰值时段?

你的项目目前在用哪种数据库加密方案?选型时踩过什么坑?评论区聊聊。

参考资料

  • GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(等保 2.0)
  • 《中华人民共和国数据安全法》
  • MySQL 8.0 Reference Manual: InnoDB Data-at-Rest Encryption(keyring 插件与 INNODB_TABLESPACES.ENCRYPTION)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、三条路线的机制对比
  • 二、网关联密:在协议层改写流量
  • 三、代理加密:把策略下沉到驱动
  • 四、透明加密:引擎自带的存储层加密
  • 五、选型决策:三个问题定路线
  • 六、落地检查清单
  • 参考资料
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档