用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

SQL Server 2008企业版中的数据库加密

时间:2014-11-30  来源:互联网  作者:佚名

通过对SQL(SQL Server培训 mySQL培训 ) Server 2008中的透明数据加密(TDE)的介绍,现在用户可以选择如同在SQL Server 2005中一样使用单元级的加密,或者是使用TDE进行完全数据库(数据库培训 数据库认证 )级加密或者是由Windows提供的文件级加密。TDE对于大量加密是最佳的选择,它可以满足调整遵从性或公共数据安全标准。TDE是文件级的,它和两个Windows特性类似:文件加密系统(EFS)和BitLocker Drive Encryption(驱动盘加密),在Windows Vista中新推出的空间级加密,也都是在硬盘上加密数据。TDE没有替代单元级加密、EFS或BitLocker。这篇文章比较了TDE和其它供应用程序开发人员和数据库管理员使用的加密方法。这不是一篇描述TDE技术、深入概述的文章,它是一篇假设你熟悉像虚拟日志文件和缓冲池之类的概念,探究技术执行的文章。它假设用户熟悉一般的单元级加密和密码术。它描述进行数据库加密所做的工作,而不是加密数据库的基本原理。

1、导言:进行数据库级别的加密

透明数据加密(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提供两个级别的加密:数据库级别和单元级别。两个都使用密钥管理层次结构。

2.1、密码密钥层次结构

在加密树的根部是Windows Data Protection API(DPAPI ),它在机器级别保护密钥层次,并用来保护数据库服务器实例的服务主键(SMK)。SMK保护数据库主键(DMK),它存储在用户数据库级别并反过来保护证书和非对称密钥。这些反过来保护对称密钥,对称密钥保护数据。TDE使用相似的层级到证书。注意区别是当你使用TDE时,DMK和证书必须存储在主数据库上而不是用户数据库中。一个只用于TDE并作为数据库加密密钥(DEK)的新密钥,被创建和存储在用户数据库中。

这个层次结构使得服务器可以自动地打开单元级和数据库级加密的密钥和解译数据。主要区别在于当使用单元级加密时,所有从DMK来的密钥都可以用一个密码来保护,而不是另一个密钥。这破坏了解密链并强迫用户输入一个密码来访问数据。在TDE中,必须维护从DPAPI到DEK的整个链以便服务器可以自动地提供对TDE所保护的文件访问。在单元级加密和TDE中,通过这些密钥的加密和解密是由Windows Cryptographic API(CAPI)提供的。

下面的图片显示了完整的加密层次结构。虚线显示了TDE所使用的加密层次结构。

图1:使用TDE和EKM的SQL Server加密密钥层级

共5页: 1 下一页

【内容导航】

第 1 页:1、导言:进行数据库级别的加密 第 2 页:2.2、TDE 第 3 页:2.5、什么是已加密 第 4 页:2.10、与TDE相比较 第 5 页:3、Windows文件加密

原文:SQL Server 2008企业版中的数据库加密(1)

12345下一页

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门