Escolher um algoritmo de criptografia

A criptografia é um dos muitos recursos de proteção que estão disponíveis para o administrador que deseja oferecer segurança a uma instância do SQL Server.

Algoritmos de criptografia definem transformações de dados que não podem ser invertidas facilmente por usuários não autorizados. O SQL Server permite que administradores e desenvolvedores escolham entre diversos algoritmos, incluindo DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 de 128 bits, DESX, AES de 128 bits, AES de 192 bits e AES de 256 bits.

Nenhum algoritmo é ideal para todas as situações e informações sobre o benefício de cada um está além do escopo dos Manuais Online do SQL Server. Porém, os seguintes princípios gerais se aplicam:

  • A criptografia segura geralmente consome mais recursos da CPU que criptografia menos segura.

  • As chaves extensas geralmente produzem uma criptografia mais segura que as chaves mais curtas.

  • A criptografia assimétrica é mais fraca que a criptografia simétrica, que usa o mesmo comprimento de chave mas é relativamente lenta.

  • Codificações em bloco com chaves extensas são mais seguras que codificações em fluxo.

  • Senhas longas e complexas são mais seguras que senhas curtas.

  • Se você estiver criptografando muitos dados, deve criptografá-los usando uma chave simétrica e criptografar a chave simétrica com uma chave assimétrica.

  • Dados criptografados não podem ser compactados, mas dados compactados podem ser criptografados. Se você usar compactação, deverá compactar os dados antes de criptografá-los.

Observação importanteImportante

O algoritmo RC4 tem suporte somente para compatibilidade com versões anteriores. O novo material só pode ser criptografado por meio do algoritmo RC4 ou RC4_128 quando o banco de dados está no nível de compatibilidade 90 ou 100. (Não recomendável.) Use um algoritmo mais recente; por exemplo, um dos algoritmos AES. No SQL Server 2012, o material criptografado por meio do algoritmo RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade.

O uso repetido do mesmo RC4 ou RC4_128 KEY_GUID em blocos de dados diferentes resulta na mesma chave RC4 porque o SQL Server não fornece um salt automaticamente. O uso da mesma chave RC4 repetidamente é um erro bem conhecido que resulta em criptografia muito fraca. Portanto, preterimos as palavras-chave RC4 e RC4_128. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam.

Para obter mais informações sobre os algoritmos de criptografia e sobre a tecnologia de criptografia, consulte Conceitos de segurança de chave no Guia do desenvolvedor do .NET Framework do MSDN.

Esclarecimento em relação aos algoritmos DES:

  • O DESX foi nomeado incorretamente. As chaves simétricas criadas com ALGORITHM = DESX na verdade usam a cifra TRIPLE DES com uma chave de 192 bits. O algoritmo DESX não é fornecido. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

  • As chaves simétricas criadas com ALGORITHM = TRIPLE_DES_3KEY usam TRIPLE DES com uma chave de 192 bits.

  • As chaves simétricas criadas com ALGORITHM = TRIPLE_DES usam TRIPLE DES com uma chave de 128 bits.

Tarefas relacionadas

Criptografando com o uso de uma chave simétrica.

CREATE SYMMETRIC KEY (Transact-SQL)

Criptografando com o uso de uma chave assimétrica.

CREATE ASYMMETRIC KEY (Transact-SQL)

Criptografando com o uso de um certificado.

CREATE CERTIFICATE (Transact-SQL)

Criptografando arquivos de banco de dados com o uso de criptografia transparente de dados.

Criptografia de Dados Transparente (TDE)

Como criptografar uma coluna de uma tabela.

Criptografar uma coluna de dados

Consulte também

Conceitos

Criptografia do SQL Server

Hierarquia de criptografia