透明数据加密(TDE)是在Microsoft SQL Server 2008中推出的一个新的加密功能
它旨在为整个数据库提供静态保护而不影响现有的应用程序
对数据库进行加密,传统上都会涉及复杂的应用程序改动,例如修改表schemas、删除函数和明显的性能下降
举例来说,要在Microsoft SQL Server 2005中使用加密,字段数据类型必须改为varbinary;不允许进行范围和相等搜索;并且应用程序必须调用内置函数(或自动使用这些内置函数的存储过程或视图)来处理加密和解密,这些都会降低查询性能
这些问题不是只存在于 SQL Server的;其它数据库管理系统也受到相似的限制
定制 schemes经常用来解决根本不能使用的相等搜索和范围搜索
即使是像创建一个索引或使用外键等的基本数据库元素也通常不能与单元级或字段级加密schemes一起使用,因为这些特性的使用会泄漏信息
TDE简单地加密了所有东西,从而解决了这些问题
因此,所有的数据类型、键、索引,等等这些可以完全使用而不必牺牲安全或泄漏磁盘上的信息
而单元级加密不能提供这些功能、两个Windows特性:文件加密系统(EFS)和 BitLocker™ Drive Encryption,它通常用于和 TDE同样的原因——它们提供相同范围的保护并对于用户来说是透明的
2、Microsoft SQL Server加密 Microsoft SQL Server提供两个级别的加密:数据库级别和单元级别
两个都使用密钥管理层次结构
1、密码密钥层次结构 在加密树的根部是Windows Data Protection API(DPAPI ),它在机器级别保护密钥层次,并用来保护数据库服务器实例的服务主键(SMK)
SMK保护数据库主键(DMK),它存储在用户数据库级别并反过来保护证书和非对称密钥
这些反过来保护对称密钥