Compartir a través de


Elegir un algoritmo de cifrado

El cifrado es una de varias defensas en profundidad que están disponibles para el administrador que quiere proteger una instancia de SQL Server.

Los algoritmos de cifrado definen transformaciones de datos que los usuarios no autorizados no pueden invertir fácilmente. SQL Server permite a los administradores y desarrolladores elegir entre varios algoritmos, como DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4, RC4, DESX, AES de 128 bits, AES de 192 bits y AES de 256 bits.

Ningún algoritmo único es ideal para todas las situaciones, y la guía sobre los méritos de cada uno está fuera del ámbito de la Documentación en línea de SQL Server. Sin embargo, se aplican los siguientes principios generales:

  • El cifrado seguro suele consumir más recursos de CPU que el cifrado débil.

  • Por lo general, las claves largas producen un cifrado más seguro que las claves cortas.

  • El cifrado asimétrico es más débil que el cifrado simétrico con la misma longitud de clave, pero es relativamente lento.

  • Los cifrados de bloques con claves largas son más fuertes que los cifrados de flujo.

  • Las contraseñas largas y complejas son más seguras que las contraseñas cortas.

  • Si va a cifrar muchos datos, debe cifrar los datos mediante una clave simétrica y cifrar la clave simétrica con una clave asimétrica.

  • Los datos cifrados no se pueden comprimir, pero los datos comprimidos se pueden cifrar. Si usa compresión, debe comprimir los datos antes de cifrarlos.

Importante

El algoritmo RC4 se admite únicamente por razones de compatibilidad con versiones anteriores. El material nuevo solo se puede cifrar con RC4 o RC4_128 cuando la base de datos tenga el nivel de compatibilidad 90 o 100. (No se recomienda). Use un algoritmo más reciente como uno de los algoritmos AES en su lugar. En SQL Server 2012 y versiones posteriores, el material cifrado utilizando RC4 o RC4_128 se puede descifrar en cualquier nivel de compatibilidad.

El uso repetido de la misma RC4 o RC4_128 KEY_GUID en bloques de datos diferentes dará como resultado la misma clave RC4 porque SQL Server no proporciona una sal automáticamente. El uso de la misma clave RC4 repetidamente es un error conocido que dará lugar a un cifrado muy débil. Por lo tanto, hemos dejado de usar las palabras clave RC4 y RC4_128. Esta característica se quitará en una versión futura de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan.

Para obtener más información sobre los algoritmos de cifrado y la tecnología de cifrado, consulte Conceptos de seguridad clave en la Guía del desarrollador de .NET Framework en MSDN.

Aclaración sobre los algoritmos DES:

  • DESX se denominaba incorrectamente. Las claves simétricas creadas con ALGORITHM = DESX usan realmente el cifrado TRIPLE DES con una clave de 192 bits. No se proporciona el algoritmo DESX. Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

  • Claves simétricas creadas con ALGORITHM = TRIPLE_DES_3KEY usar TRIPLE DES con una clave de 192 bits.

  • Claves simétricas creadas con ALGORITHM = TRIPLE_DES usar TRIPLE DES con una clave de 128 bits.

Cifrado mediante una clave simétrica. CREATE SYMMETRIC KEY (Transact-SQL)
Cifrado mediante una clave asimétrica. CREATE ASYMMETRIC KEY (Transact-SQL)
Cifrado mediante un certificado. CREAR CERTIFICADO (Transact-SQL)
Cifrado de archivos de base de datos mediante cifrado de datos transparente. Cifrado de datos transparente (TDE)
Cómo cifrar una columna de una tabla. Cifrar una columna de datos

Véase también

Cifrado de SQL Server
Jerarquía de cifrado