欢迎来到天天文库
浏览记录
ID:26594882
大小:123.50 KB
页数:10页
时间:2018-11-27
《sql server 2008企业版中数据库加密》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、透明数据加密(TDE)是在MicrosoftSQLServer2008中推出的一个新的加密功能。它旨在为整个数据库提供静态保护而不影响现有的应用程序。对数据库进行加密,传统上都会涉及复杂的应用程序改动,例如修改表schemas、删除函数和明显的性能下降。举例来说,要在MicrosoftSQLServer2005中使用加密,字段数据类型必须改为varbinary;不允许进行范围和相等搜索;并且应用程序必须调用内置函数(或自动使用这些内置函数的存储过程或视图)来处理加密和解密,这些都会降低查询性能。这些问题不是只存在于SQLSer
2、ver的;其它数据库管理系统也受到相似的限制。定制schemes经常用来解决根本不能使用的相等搜索和范围搜索。即使是像创建一个索引或使用外键等的基本数据库元素也通常不能与单元级或字段级加密schemes一起使用,因为这些特性的使用会泄漏信息。TDE简单地加密了所有东西,从而解决了这些问题。因此,所有的数据类型、键、索引,等等这些可以完全使用而不必牺牲安全或泄漏磁盘上的信息。而单元级加密不能提供这些功能、两个Windows特性:文件加密系统(EFS)和BitLocker™DriveEncryption,它通常用于和TDE同样的原
3、因——它们提供相同范围的保护并对于用户来说是透明的。2、MicrosoftSQLServer加密MicrosoftSQLServer提供两个级别的加密:数据库级别和单元级别。两个都使用密钥管理层次结构。2.1、密码密钥层次结构在加密树的根部是WindowsDataProtectionAPI(DPAPI),它在机器级别保护密钥层次,并用来保护数据库服务器实例的服务主键(SMK)。SMK保护数据库主键(DMK),它存储在用户数据库级别并反过来保护证书和非对称密钥。这些反过来保护对称密钥,对称密钥保护数据。TDE使用相似的层级到证书
4、。注意区别是当你使用TDE时,DMK和证书必须存储在主数据库上而不是用户数据库中。一个只用于TDE并作为数据库加密密钥(DEK)的新密钥,被创建和存储在用户数据库中。这个层次结构使得服务器可以自动地打开单元级和数据库级加密的密钥和解译数据。主要区别在于当使用单元级加密时,所有从DMK来的密钥都可以用一个密码来保护,而不是另一个密钥。这破坏了解密链并强迫用户输入一个密码来访问数据。在TDE中,必须维护从DPAPI到DEK的整个链以便服务器可以自动地提供对TDE所保护的文件访问。在单元级加密和TDE中,通过这些密钥的加密和解密是由
5、WindowsCryptographicAPI(CAPI)提供的。下面的图片显示了完整的加密层次结构。虚线显示了TDE所使用的加密层次结构。图1:使用TDE和EKM的SQLServer加密密钥层级2.2、TDE透明数据加密是SQLServer2008推出的新的数据库级加密特性。2.3、怎么使TDE可用为了使TDE可用,你必须具有和在主数据库中创建数据库主键和证书相关的一般权限。你还必须具有对用户数据库的CONTROL权限。使TDE可用在主数据库中执行下面的步骤:1、为主数据库创建一个数据库主键(DMK),如果它还不存在的话。确
6、保数据库主键是用服务主键(SMK)加密的。CREATEMASTERKEYENCRYPTIONBYPASSWORD=‘somepassword’;2、创建或指派一个现有的证书作为数据库加密密钥(DEK)保护者来使用。为了获得最好的安全保护,推荐你创建一个新的证书,它的唯一作用就是保护DEK。确保这个证书是由DMK保护。CREATECERTIFICATEtdeCertWITHSUBJECT=‘TDECertificate’;3、用私钥创建一个证书备份并将它存储在一个安全的地方。(注意私钥存储在一个单独的文件中——确保保存好这两个文
7、件)。确保维护证书的备份,因为有可能发生数据丢失。BACKUPCERTIFICATEtdeCertTOFILE=‘path_to_file’WITHPRIVATEKEY(FILE=‘path_to_private_key_file’,ENCRYPTIONBYPASSWORD=‘certpassword’);4、可选的,使服务器上SSL可用,以在传输过程中保护数据。在用户数据库中执行下面的步骤。这些要求在数据库上具有CONTROL权限。5、创建由上面第二步所指派的证书加密的数据库加密密钥(DEK)。这个证书作为服务器证书以和其它
8、可能存储在用户数据库中的证书相区别。CREATEDATABASEENCRYPTIONKEYWITHALGORITHM=AES_256ENCRYPTIONBYSERVERCERTIFICATEtdeCert6、使TDE可用。这个命令开启了一个后台进程(加密扫描),它以异步方式运
此文档下载收益归作者所有