ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server 2008中的TDE

SQL Server 2008中的TDE

原创 Linux操作系统 作者:drillchina 时间:2008-03-27 19:20:23 0 删除 编辑
 
在SQL Server 2005中,我们得到了一个新的功能:数据加密,在SQL Server 2008中,这一功能得到了进一步的增强。除了SQL Server 2005中支持的Cell级加密外,现在SQL Server 2008加入了整库加密,微软称其为数据库透明加密Transparent Data Encryption(我们后面简称TDE)。相比SQL Server 2005的加密,TDE工作在SQL Server的IO层,因此开销更小,同时对应用程序的影响也降低到零。

因此在Windows Server 2008平台上,我们现在对数据库的数据加密保护手段已经有了4种,分别是:

  • Windows 2000开始加入的EFS功能
  • Windows Vista和Windows Server 2008开始的BitLockers
  • SQL Server 2005开始引入的Cell级加密
  • SQL Server 2008加入的TDE

关于这4项技术的对比会在稍后的帖子中讨论.

SQL Server的数据加密框架

先看一下SQL Server 2005的加密体系:

image

然后再看一下SQL Server 2008中的数据加密体系:

image

相比之下,SQL Server 2008的加密体系多出了TDE这条路径,就是上图中虚线部分,SQL Server 2008会通过DMK(Database Master Key数据库主密钥)直接加密数据文件,也可以通过EKM(Extensible Key Management外部密钥管理)直接加密数据文件。

SQL Server 2005与SQL Server 2008相同之处在于两者都是用Windows操作系统提供的DPAPI(Data Protection API数据保护应用开发接口)来保护SMK(Service Master Key服务主密钥),每个SQL Server的实例都拥有自己的SMK

EFS对SQL Server的性能影响主要原因是SQL Server在EFS加密文件上执行IO的时候IO操作是同步操作,也就是说如果SQL Server的工作线程需要一次IO就必须等到当前的文件IO结束,因此SQL Server中的Read Ahead机制和CheckPoint机制都会受到影响。关于这个问题的具体讨论可以参考微软支持网站的KB922121

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9079672/viewspace-218054/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-01-24

  • 博文量
    35
  • 访问量
    529437