1. 透明数据加密(TDE)的实现原理,在存储层加密数据页,对应用透明?
请说明透明数据加密(TDE)的实现原理,以及如何在存储层加密数据页而对应用透明?
- TDE 的加密数据页与密钥层级
- 对应用透明性的实现
- 性能影响与密钥管理
透明数据加密(TDE)在存储层加密数据文件(数据页/数据文件),在数据写入磁盘时加密、读入内存时解密,应用与 SQL 无需任何改动即可工作,因此"透明"。其密钥管理采用多层密钥体系:数据加密密钥(DEK)用于实际加密数据页;DEK 再由主密钥(Master Key,通常由 KMS 或外部密钥管理系统托管)加密保护。查询时数据库先解密 DEK 再解密数据页,整个过程在数据库引擎内部完成。TDE 能防止物理窃取磁盘、备份文件被盗后明文泄露,但只保护"静止数据"(at rest),不保护内存中的明文与传输中的数据。TDE 会带来一定的 CPU 加密开销,可通过硬件加速(AES-NI)缓解。
TDE 的核心价值是"透明"与"平台加密"——不侵入应用层,加密范围覆盖整个数据文件,包括备份。其安全性依赖密钥管理:主密钥丢失则数据无法恢复,因此必须做密钥托管与备份。TDE 不解决 SQL 注入、越权访问等逻辑漏洞,需与其他安全手段配合。