企业一般可以采取多种预防措施来帮助保护数据库,例如,设计安全系统、加密机密资产,以及围绕数据库服务器构建防火墙。但是,如果物理媒体(如驱动器或备份磁带)失窃,恶意方可能会还原或附加数据库并浏览数据。一种解决方案是加密数据库中的敏感数据,并通过证书保护用于加密数据的密钥。这可以防止任何没有密钥的人使用这些数据,但这种保护必须事先计划。
透明数据加密(TDE)针对数据和日志文件执行实时 I/O 加密和解密。加密使用数据库加密密钥 (DEK),它存储在数据库引导记录中,可在恢复时使用。 DEK 是使用存储在服务器的 master 数据库中的证书保护的对称密钥,或者是由 EKM 模块保护的非对称密钥。 TDE 保护“处于休眠状态”的数据,即数据和日志文件。 它提供了遵从许多法律、法规和各个行业建立的准则的能力。软件开发人员籍此可以使用 AES 和 3DES 加密算法来加密数据,且无需更改现有的应用程序。
数据库文件加密在页面级执行。已加密数据库中的页在写入磁盘之前会进行加密,在读入内存时会进行解密。TDE不会增加已加密数据库的大小。
启用 TDE 时,应该立即备份证书和与证书相关联的私钥。 如果证书变为不可用,或者如果必须在另一台服务器上还原或附加数据库,则必须同时具有证书和私钥的备份,否则将无法打开该数据库。 即使不再对数据库启用 TDE,也应该保留加密证书。 即使数据库未加密,事务日志的某些部分仍可能保持受到保护,但在执行数据库的完整备份前,对于某些操作可能需要证书。 超过过期日期的证书仍可以用于通过 TDE 加密和解密数据。
资料来源:
透明数据加密 (TDE) https://docs.microsoft.com/zh-cn/sql/relational-databases/security/encryption/transparent-data-encryption?view=sql-server-ver15
数据加密 - TDE透明数据加密原理 https://www.cnblogs.com/tdcqma/p/6307511.html