Elegir un algoritmo de cifrado

El cifrado es una de las medidas defensivas con que cuenta cualquier administrador que desee proteger una instancia de SQL Server.

Los algoritmos de cifrado definen transformaciones de datos que los usuarios no autorizados no pueden revertir con facilidad. SQL Server permite a los administradores y los programadores elegir entre varios algoritmos, incluidos DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 de 128 bits, DESX, AES de 128 bits, AES de 192 bits y AES de 256 bits.

Ningún algoritmo único resulta idóneo para todas las situaciones. Además, ofrecer información detallada sobre las ventajas de cada uno queda fuera del ámbito de los Libros en pantalla de SQL Server. No obstante, se aplican los siguientes principios generales:

  • El cifrado seguro suele consumir más recursos de la CPU que un cifrado menos seguro.

  • Las claves largas suelen producir un cifrado más seguro que las claves cortas.

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

  • Los cifrados en bloque con claves largas son más seguros que los cifrados en secuencia.

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

  • Si cifra una gran cantidad de datos, debe cifrar los datos con 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 utiliza compresión, debe comprimir los datos antes de cifrarlos.

Nota importanteImportante

El uso repetido de la misma RC4 o RC4_128 KEY_GUID en bloques diferentes de datos producirá la misma clave RC4 porque SQL Server no proporciona un valor de salt automáticamente. El uso repetido de la misma clave RC4 es un error conocido que producirá un cifrado muy poco seguro. Por consiguiente, hemos dejado de utilizar las palabras clave RC4_128 y RC4. 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 acerca de los algoritmos y la tecnología de cifrado, vea la sección referente a conceptos claves de seguridad de la publicación .NET Framework Developer's Guide en MSDN.

Clarificación con respecto a los algoritmos DES:

  • DESX se denominó incorrectamente. Las claves simétricas creadas con ALGORITHM = DESX realmente utilizan 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.

  • Las claves simétricas creadas con ALGORITHM = TRIPLE_DES_3KEY utilizan TRIPLE DES con una clave de 192 bits.

  • Las claves simétricas creadas con ALGORITHM = TRIPLE_DES utilizan TRIPLE DES con una clave de 128 bits.