什么是透明数据加密(TDE)?

时间:2022-07-21 20:50:45

TDE是SQL Server 2008推出的一个新特性

透明数据加密(Transparent Data Encryption),简称TDE,是SQL Server 2008推出的一个新特性,用来对整个数据库提供保护。数据库开启TDE加密后,对于连接到所选数据库的应用程序来说是完全透明的,它不需要对现有应用程序做任何改变。因为TDE的加密特性是应用于页面级别的,一旦开启,页面就会在它们写到磁盘之前加密,在读取到内存之前解密,所以,SQL Server和客户端应用程序之间的通信渠道是不受IDE加密影响的,当然也不受TDE加密的保护。


TDE针对整个数据库进行加密和保护

TDE不是针对字段和记录进行加密,而是针对整个数据库进行加密,保护数据文件和日志文件。在数据库开启IDE加密情况下,即便有人窃取了数据库的数据文件和日志文件或备份文件,也无法在其他实例上附加数据文件和日志文件或恢复备份,除非这个实例上也有用来保护对应数据库加密密钥的证书。


TDE使用数据加密密钥(DEK)加密数据库

TDE使用数据加密密钥(DEK)加密数据库,它存储在数据库启动记录中以供恢复时使用。DEK可以是对称密钥,由存储在主数据库master中的证书来保护,也可以是非对称密钥,由外部密钥管理(EKM)模块保护。但是TDE要求的是对称密钥,由存储在主数据库中的证书来保护,证书的私钥由对称密钥的数据库主密钥来加密。数据库主密钥由服务主密钥来保护,而服务主密钥由数据保护API来保护。