Para habilitar o TDE em uma base de dados, é necessário:
- Criar uma chave mestre
- Criar um certificado
- Criptografar a base de dados
Importante
Você precisará criar uma senha mestra para sua instância. Esta senha precisa atender às políticas de senha do Windows do computador; por questões de segurança, recomendamos que a senha seja longa e com números, símbolos e letras maiúsculas e minúsculas alternadas. Você pode utilizar um gerenciador de senhas para criar uma senha e armazená-la (de preferência, em local separado da instância de base de dados), ou criar sua própria senha.
Criação da chave mestre e do certificado
Para criar a chave mestre, você precisará estar conectado ao banco de dados mestre. Esta chave é utilizada para proteger as chaves privadas dos certificados e as chaves assimétricas do banco de dados; no momento de criação, esta é criptografada pelo algoritmo AES_256 e por uma senha definida pelo usuário do banco de dados. Consulte a documentação para mais informações.
O certificado, por sua vez, é um objeto que pode ser gerado pelo SQL Server, e é necessário que o banco de dados principal possua uma chave mestre habilitada.
USE master; GO -- Cria a chave-mestre de acordo com a senha CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Criptografia_1@2#3$'; go -- Cria o certificado CREATE CERTIFICATE CERTIPROD WITH SUBJECT = 'Certificado da chave de criptografia'; go
Criptografando a base de dados
Para habilitar a TDE (criptografia transparente), você precisará conectar-se à database, criar a encriptação para esta, e ativar a criptografia. Em caso de dúvidas, consulte a documentação da Microsoft para mais informações.
-- Altere para a database que será criptografada USE PROTHEUS12133; GO -- Cria a encriptação para a database CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE CERTIPROD; GO -- Ativa a criptografia para o banco de dados determinado ALTER DATABASE PROTHEUS12133 SET ENCRYPTION ON;