SQLServer 2014 TDE加密实战:数据库安全增强

需积分: 16 5 下载量 166 浏览量 更新于2024-09-13 收藏 728KB PDF 举报
"这篇文档详细介绍了如何在SQL Server 2012或2014中实现 Transparent Data Encryption (TDE) 的实战步骤,特别强调了只有2008以上的企业版或开发版支持该功能,并且需要安装最新的版本补丁。在实施TDE时,应使用SQL身份验证而非Windows身份验证。文档主要分为创建数据库主密钥和证书,以及启用数据库加密密钥两个部分。" 在SQL Server中,TDE是一种用于保护数据安全性的功能,它对整个数据库的数据文件进行实时加密,确保即使磁盘被物理盗取,数据也无法被未授权的用户访问。以下是对TDE实现过程的详细解释: 1. **创建数据库主密钥和证书**: - 首先,在`master`数据库中创建数据库主密钥,这是整个过程的关键,因为它将用于保护后续的证书和加密密钥。密码需要妥善保管,因为它是解密密钥的唯一凭证。 ```sql USE [master]; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'SQLserver2012+2014'; ``` - 接下来,创建一个证书来保护数据库加密密钥(DEK)。证书的名称应记住,因为后续操作会用到。 ```sql CREATE CERTIFICATE tomi_master_server_certficate WITH SUBJECT = N'TomiMasterProtectDEKCertificate'; ``` 2. **启用Test数据库加密密钥**: - 转换到要加密的数据库,如`Test`,并创建由之前创建的证书保护的DEK。 ```sql USE Test; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE tomi_master_server_certficate; ``` - 创建DEK后,系统会给出警告,提醒备份证书及其私钥,以防证书丢失或需要在其他服务器上恢复或附加数据库。 在实施TDE过程中,备份证书和私钥是非常重要的步骤,因为它们是解密数据库的必要条件。如果不备份,一旦证书丢失,将无法打开已加密的数据库。备份证书通常使用`BACKUP CERTIFICATE`语句,并保存私钥的安全副本。 此外,文档还提到应使用SQL身份验证,这是因为Windows身份验证可能无法提供足够的安全性,尤其是当数据库在不同服务器之间移动时。SQL身份验证允许更灵活的权限管理和跨域访问。 总结来说,本文档提供了在SQL Server 2012或2014中实施TDE的详细步骤,强调了安全最佳实践,包括选择正确的版本、保持更新、使用SQL身份验证以及备份关键安全组件。这是一份非常实用的DBA指南,对于需要保护敏感数据的数据库管理员来说具有很高的参考价值。