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.
Os algoritmos de criptografia definem as transformações de dados que não podem ser facilmente revertidas por usuários não autorizados. 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.
Importante
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 e em materiais mais altos criptografados usando RC4 ou RC4_128 podem ser descriptografados 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.
Related Tasks
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. | TDE (Transparent Data Encryption) |
Como criptografar uma coluna de uma tabela. | Criptografar uma coluna de dados |