Instrucciones para usar SQL Server 2008 en modo compatible con FIPS 140-2

En este artículo se describe FIPS 140-2 y cómo usar SQL Server 2008 en el modo compatible con FIPS 140-2.

Versión del producto original: SQL Server
Número de KB original: 955720

Introducción

En este artículo se describen las instrucciones 140-2 del Estándar federal de procesamiento de información (FIPS) y cómo usar Microsoft SQL Server 2008 en modo compatible con FIPS 140-2.

Nota:

Los términos "compatible con FIPS 140-2", "Cumplimiento con FIPS 140-2" y "Modo compatible con FIPS 140-2" se definen aquí para su uso y claridad. Estos términos no son términos gubernamentales reconocidos o definidos. Los Estados Unidos y los gobiernos canadienses reconocen la validación de los módulos criptográficos con respecto a estándares como FIPS 140-2 y no el uso de ellos de una manera especificada o conforme. En este artículo, definimos "Compatible con FIPS 140-2", "Cumplimiento con FIPS 140-2" y "Modo compatible con FIPS 140-2" para significar que SQL Server 2008 solo usa instancias validadas por FIPS 140-2 de algoritmos y funciones hash en todas las instancias en las que los datos cifrados o hash se importan o exportan a SQL Server 2008. Además, estos términos significan que SQL Server 2008 administrará las claves de forma segura según sea necesario para los módulos criptográficos validados por FIPS 140-2. El proceso de administración de claves también incluye las funcionalidades de generación de claves y almacenamiento de claves.

¿Qué es FIPS?

FIPS significa estándares federales de procesamiento de información. FIPS son estándares desarrollados por dos organismos gubernamentales. Uno es el Instituto Nacional de Estándares y Tecnología en el Estados Unidos. El otro es el Establecimiento de Seguridad de las Comunicaciones en Canadá. FIPS son estándares recomendados o obligatorios para su uso en sistemas de TI administrados por el gobierno federal (Estados Unidos o canadiense).

¿Qué es FIPS 140-2?

FIPS 140-2 es una declaración de los "Requisitos de seguridad para módulos criptográficos". Especifica qué algoritmos de cifrado y qué algoritmos hash se pueden usar y cómo se van a generar y administrar las claves de cifrado. Algunos hardware, software y procesos pueden validarse mediante FIPS 140-2 mediante un laboratorio de validación aprobado. Algunos de ellos también se pueden describir como compatibles con FIPS 140-2, ya que el término se define en este artículo.

¿Cuál es la diferencia entre una aplicación que es "compatible con FIPS 140-2" y una aplicación "validada por FIPS 140-2"

Puede configurar SQL Server 2008 para que se ejecute como una aplicación compatible con FIPS 140-2. Para ello, debe ejecutar SQL Server 2008 en un sistema operativo que use un proveedor de servicios criptográficos validado por FIPS 140-2 o que proporcione un módulo criptográfico que se haya validado. La diferencia entre el cumplimiento y la validación no es sutil. Los algoritmos se pueden validar. Tenga en cuenta que no es suficiente usar algoritmos de las listas aprobadas en FIPS 140-2. Debe usar instancias de algoritmos que se hayan validado con FIPS 140-2. La validación requiere pruebas y verificación por parte de un laboratorio de evaluación aprobado por el gobierno. Windows Server 2008, Windows Server 2003 y Windows XP contienen los módulos criptográficos aprobados, y los módulos, incluidas las instancias específicas de los algoritmos, se han probado en laboratorio y se han validado las administraciones públicas.

Qué aplicaciones pueden ser compatibles con FIPS 140-2

Todas las aplicaciones que realizan cifrado o hash y que se ejecutan en una versión validada de un proveedor de servicios criptográficos de Windows pueden ser compatibles si usan solo las instancias validadas de los algoritmos aprobados. Estas aplicaciones también deben cumplir con los requisitos de generación de claves y administración de claves mediante una función de clave de Windows o mediante el cumplimiento de los requisitos de generación de claves y administración de claves en la aplicación. Además, en algunos casos, se permiten algoritmos o procesos no conformes en una aplicación compatible con FIPS 140-2. Por ejemplo, los datos se pueden cifrar mediante un algoritmo no conforme si, en este formulario cifrado, los datos permanecen dentro de la aplicación, es decir, los datos no se exportan en este formulario o si los datos se cifran (encapsulan) mediante un algoritmo compatible con FIPS.

¿Significa esto que SQL Server 2008 siempre es compatible con FIPS 140-2?

No. Significa que SQL Server 2008 se puede configurar para ejecutarse en modo compatible con FIPS 140-2.

Cómo se puede configurar SQL Server 2008 para usar un módulo criptográfico validado por FIPS 140-2

  • Requisitos del sistema operativo

    Debe instalar SQL Server 2008 en un equipo basado en Windows Server 2008, un equipo basado en Windows Vista, un equipo basado en Windows Server 2003 o un equipo basado en Windows XP.

  • Requisitos de administración del sistema de Windows

    Debe habilitar el modo FIPS antes de iniciar SQL Server 2008. Esto se debe a que SQL Server 2008 lee la configuración de FIPS en el inicio. Para habilitar FIPS, siga estos pasos.

    • Para Windows Server 2008 y Windows Vista

      1. Use credenciales administrativas para iniciar sesión en el equipo.
      2. Si usa Windows Server 2008, haga clic en Inicio, en Ejecutar, escriba gpedit.msc y, a continuación, presione ENTRAR. Se abre el directiva de grupo Editor Local. Si usa un equipo basado en Windows Vista, haga clic en Inicio, escriba gpedit.msc en el cuadro Iniciar búsqueda y, a continuación, presione ENTRAR.
      3. En el directiva de grupo Editor Local, haga doble clic en Configuración de Windows en el nodo Configuración del equipo y, a continuación, haga doble clic en Configuración de seguridad.
      4. En el nodo Configuración de seguridad , haga doble clic en Directivas localesy, a continuación, haga clic en Opciones de seguridad.
      5. En el panel de detalles, haga doble clic en Criptografía del sistema: use algoritmos compatibles con FIPS para el cifrado, el hash y la firma.
      6. En el cuadro de diálogo Criptografía del sistema: usar algoritmos compatibles con FIPS para cifrado, hash y firma , haga clic en Habilitadoy, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.
      7. Cierre el directiva de grupo Editor Local.
    • Para Windows Server 2003 y Windows XP

      1. Use credenciales administrativas para iniciar sesión en el equipo.
      2. Haga clic en Inicio, en Ejecutar, escriba gpedit.msc y, a continuación, presione ENTRAR.
      3. En la ventana directiva de grupo, haga doble clic en Configuración de Windows en el nodo Configuración del equipo y, a continuación, haga doble clic en Configuración de seguridad.
      4. En el nodo Configuración de seguridad , haga doble clic en Directivas localesy, a continuación, haga clic en Opciones de seguridad.
      5. En el panel de detalles, haga doble clic en Criptografía del sistema: use algoritmos compatibles con FIPS para el cifrado, el hash y la firma.
      6. En el cuadro de diálogo Criptografía del sistema: usar algoritmos compatibles con FIPS para cifrado, hash y firma , haga clic en Habilitadoy, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.
      7. Cierre la ventana directiva de grupo.

notas del administrador de SQL Server 2008

  • Cuando el servicio SQL Server 2008 detecta que el modo FIPS está habilitado al iniciarse, SQL Server 2008 registra el siguiente mensaje en el registro de errores de SQL Server:

    El transporte de Service Broker se está ejecutando en modo de cumplimiento fips

    Además, el siguiente mensaje puede registrarse en el registro de aplicaciones:

    El transporte de creación de reflejo de la base de datos se ejecuta en modo de cumplimiento fips

    Para comprobar que el servidor se ejecuta en modo FIPS, busque estos mensajes.

  • Para obtener la seguridad del cuadro de diálogo entre servicios, el proceso de cifrado usará la instancia certificada por FIPS del estándar de cifrado avanzado (AES) si el modo FIPS está habilitado. Si el modo FIPS está deshabilitado, el proceso de cifrado usa RC4.

  • Al configurar un punto de conexión de Service Broker en modo FIPS, debe especificar AES para Service Broker. Si el punto de conexión está configurado en RC4, SQL Server genera un error. Por lo tanto, la capa de transporte no se inicia.

¿Cómo funciona SQL Server 2008 en modo compatible con FIPS 140-2?

  • Si el modo FIPS en Windows está activado y si el usuario no tiene opción sobre si cifrar o hash datos y cómo se realizarán, SQL Server 2008 funciona en modo compatible con FIPS 140-2. SQL Server 2008 usará CryptoAPI y solo usará las instancias validadas de los algoritmos.

  • Si el modo FIPS está activado y si el usuario tiene la opción de usar el cifrado, SQL Server 2008 solo permitirá el cifrado compatible con FIPS 140-2 o no permitirá ningún cifrado.

  • Información importante para desarrolladores

    Si escribe su propio código para el cifrado o el hash, solo debe usar CryptoAPI. Solo debe especificar los algoritmos permitidos por FIPS 140-2. En concreto, use solo triple estándar de cifrado de datos (3DES) o AES para el cifrado y solo SHA-1 para el hash. Puede usar las siguientes palabras clave en SQL Server 2008 para los algoritmos respectivos validados por FIPS 140-2:

    • DESX(Triple DES de tres claves)
    • Triple-DES(DES triple de dos claves)
    • TRIPLE_DES_3KEY(TRIPLE DES de tres claves)
    • TRIPLE_DES_2KEY(DES triple de dos claves)

    Nota:

    La selección de DESX no proporciona un algoritmo DESX en SQL Server 2005 o en SQL Server 2008. En ambos casos, la selección de DESX proporciona una instancia validada de TRIPLE DES de tres claves.

  • Información importante para desarrolladores

    SQL Server 2008 admite una característica de administración de claves empresariales (EKM) que permite la administración de claves criptográficas en un módulo de almacenamiento de hardware (HSM) independiente de terceros. Para funcionar en modo compatible con FIPS 140-2 y usar EKM, debe cumplirse una de las dos condiciones siguientes:

    • El módulo criptográfico externo debe validarse con FIPS 140-2.
    • Algunos de los algoritmos que usa el módulo criptográfico deben validarse con FIPS 140-2. Use solo aquellas instancias de algoritmos validados cuando se requiera cifrado o descifrado basado en FIPS 140-2 para importar o exportar datos hacia o desde SQL Server.

    Además, los datos cifrados o descifrados por el módulo criptográfico externo deben pasarse de forma cifrada mediante una instancia validada de FIPS 140-2.

¿Cuál es el efecto de ejecutar SQL Server 2008 en modo compatible con FIPS 140-2?

  • El uso de un cifrado más seguro puede tener un pequeño efecto en el rendimiento de aquellos procesos en los que se permite un cifrado menos seguro cuando el proceso no funciona como compatible con FIPS 140-2.

  • La selección del cifrado para SSIS (UseEncryption=True) generará un mensaje de error que indica que el cifrado disponible no es compatible con el cumplimiento fips y no se permite. En otras palabras, no se realiza ningún cifrado del proceso de mensaje.

  • El uso del cifrado junto con servicios de transformación de datos (DTS) heredados no es compatible con FIPS 140-2. Para DTS, el modo FIPS en Windows no está activado. Para seguir siendo compatible, no debe seleccionar el cifrado.

  • La mayoría SQL Server procesos de cifrado y hash de 2008 ya usan un módulo criptográfico validado por FIPS 140-2. Por lo tanto, si ejecuta una aplicación en modo compatible con FIPS 140-2 cuando el modo FIPS está activado en Windows, hay poco o ningún efecto en el uso o el rendimiento de la aplicación.

Declinación de responsabilidades de terceros

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.