SQL Server 2008 TDE – Transparent Data Encryption

Muitas medidas de segurança podem ser tomadas em contexto de infraestrutura dentro de uma empresa, porém, em relação aos arquivos de banco de dados, não existe realmente tantas maneiras assim de se prevenir que uma pessoa interna copie este arquivo, restaure-o em outra instancia SQL Server e comece a utilizar de forma ilegal seus dados.
Pensando nisso, um recurso interessante que o SQL Server possui é o TDE (Transparent data Encryption, Criptação transparente de dados), que é uma criptografia em tempo real de escrita em nível de pagina.

Passos para ativação da TDE em uma base de dados:

1. Criar a SMK (Server Master Key, Chave Master do Servidor), com o comando:

CREATE MASTER KEY ENCRYPTION BY PASSWORD=’SuaSenha’

2. Criar um certificado para TDE. É muito importante a realização de um backup em local seguro. Sem o backup do certificado não é possível restaurar uma base criptografado em outro servidor:

CREATE CERTIFICATE TdeCert WITH SUBJECT=’TDE CERTIFICATE’

3. Criar a DEK (Database Encryption Key, Chave de criptografia da base de dados).

CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATE TdeCert

4. Ative a criptografia em sua base de dados a partir do comando:

ALTER DATABASE SuaBase SET ENCRYPTION ON

Algumas informações:
– TDE trabalha em nível de paginas de dados.
– Apenas dados em discos são criptografados, TDE não trabalha com criptografia em memoria.
– Quando uma pagina é gravada em disco, previamente é criptografada.
– Quando uma pagina é requisitada e transportada para a memoria, previamente descriptografada.
– Os algoritmos de criptografia suportados são:

AES_128
AES_192
AES_256

– Dados em SnapShots de uma base criptografada, também são criptografados.
– Não se pode habilitar a TDE em bases de sistema.
– Se a base possuir ao menos um FileGroup read-only, não será possível a aplicação do TDE.
– TDE esta disponível apenas nas versões Enterprise e Developer do SQL Server 2008[R2].
– Backups de uma base criptografada, também estarão criptografados.
– Sem o backup do certificado, será impossível restaurar essa base em outra instancia ou servidor.
– Ao se ativar a TDE em uma base de dados, novas paginas ja serão criptografadas em serem colocas no disco, e um processo backupgroud sera executado para criptografar as outras paginas, que mesmo sem a requisição de um usuario, as mesmas serão levadas a memoria e colocas em disco criptografadas.
– Existem 2 Flags que podem ser utilizadas neste processo de backgroud: 5004 – Para temporariamente o processo, 5005 – Diminui a velocidade do processo, fazendo com que seja necessario menos CPU e um tempo maior para a finalização.

Para a monitoração do TDE, utilize a seguinte query:

SELECT db_name(database_id), encryption_state

FROM sys.dm_database_encryption_keys

Como conclusões finais é possível dizer que o recurso TDE é muito interessante em questão de criptografia, claro que a partir do momento em que o mesmo foi ativado, é necessário tomar muito cuidado, principalmente com o certificado, se não, você pode ter um problema grande em transporte de base de dados, migração de servidores, ou qualquer mudança estrutural, em compensação, oferece uma segurança muito maior a seus dados.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *