Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 del Estándar federal de procesamiento de información (FIPS) 140-2 y cómo usar Microsoft SQL Server 2008 en modo compatible con FIPS 140-2.
Nota:
Los términos "compatibles con FIPS 140-2", "cumplimiento de FIPS 140-2" y "modo compatible con FIPS 140-2" se definen aquí para su uso y claridad. Estos términos no se reconocen ni definen términos gubernamentales. El Estados Unidos y los gobiernos canadienses reconocen la validación de módulos criptográficos contra 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 de FIPS 140-2" y "modo compatible con FIPS 140-2" para indicar que SQL Server 2008 solo usa instancias validadas de 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 normas desarrolladas por dos organismos gubernamentales. Uno es el Instituto Nacional de Estándares y Tecnología en la Estados Unidos. El otro es el Establecimiento de Seguridad de Comunicaciones en Canadá. FIPS son estándares recomendados o obligatorios para su uso en sistemas de TI federales (Estados Unidos o canadienses).
¿Qué es FIPS 140-2?
FIPS 140-2 es una declaración de "Requisitos de seguridad para módulos criptográficos". Especifica qué algoritmos de cifrado y qué algoritmos hash se pueden usar y cómo se generan y administran las claves de cifrado. Algunos procesos, software y hardware pueden validar 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 que es "FIPS 140-2-validated"
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 validados por FIPS 140-2. La validación requiere pruebas y comprobació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 el laboratorio y se han validado los gobiernos.
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 los requisitos de generación de claves y administración de claves mediante una función de clave de Windows o cumpliendo 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 formato 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 (encapsulados) mediante un algoritmo compatible con FIPS.
Esto significa 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 fiPS en el inicio. Para habilitar FIPS, siga estos pasos.
Para Windows Server 2008 y Windows Vista
- Use credenciales administrativas para iniciar sesión en el equipo.
- Si usa Windows Server 2008, haga clic en Inicio, haga clic en Ejecutar, escriba gpedit.msc y presione ENTRAR. Se abre el Editor de directivas de grupo local. Si usa un equipo basado en Windows Vista, haga clic en Inicio, escriba gpedit.msc en el cuadro Iniciar búsqueda y presione ENTRAR.
- En el Editor de directivas de grupo 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.
- En el nodo Configuración de seguridad, haga doble clic en Directivas locales y, a continuación, haga clic en Opciones de seguridad.
- En el panel de detalles, haga doble clic en Criptografía del sistema: use algoritmos compatibles con FIPS para cifrado, hash y firma.
- En el cuadro de diálogo Criptografía del sistema: use algoritmos compatibles con FIPS para el cifrado, el hash y la firma, haga clic en Habilitado y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.
- Cierre el Editor de directivas de grupo local.
Para Windows Server 2003 y Windows XP
- Use credenciales administrativas para iniciar sesión en el equipo.
- Haga clic en Inicio, haga clic en Ejecutar, escriba gpedit.msc y presione ENTRAR.
- 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.
- En el nodo Configuración de seguridad, haga doble clic en Directivas locales y, a continuación, haga clic en Opciones de seguridad.
- En el panel de detalles, haga doble clic en Criptografía del sistema: use algoritmos compatibles con FIPS para cifrado, hash y firma.
- En el cuadro de diálogo Criptografía del sistema: use algoritmos compatibles con FIPS para el cifrado, el hash y la firma, haga clic en Habilitado y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.
- 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 mensaje siguiente en el registro de errores de SQL Server:
El transporte de Service Broker se ejecuta en modo de cumplimiento de FIPS
Además, es posible que el mensaje siguiente se registre en el registro de aplicación:
El transporte de creación de reflejo de la base de datos se ejecuta en modo de cumplimiento de 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.
Funcionamiento de SQL Server 2008 en modo compatible con FIPS 140-2
Si el modo FIPS en Windows está activado y si el usuario no tiene ninguna opción sobre si cifrar o aplicar hash a los datos y cómo se realizará, 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. Debe especificar solo los algoritmos permitidos por FIPS 140-2. En concreto, use solo el Estándar de cifrado de datos triple (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 validados por FIPS 140-2 respectivos:
- DESX(DESX(TRIPLE DES triple de tres teclas)
- Triple-DES(TRIPLE DES de dos claves)
- TRIPLE_DES_3KEY(TRIPLE DES triple de tres teclas)
- TRIPLE_DES_2KEY(DES triple de dos claves)
Nota:
Al seleccionar DESX no se proporciona un algoritmo DESX en SQL Server 2005 ni en SQL Server 2008. En ambos casos, al seleccionar DESX se 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) de terceros independiente. Para operar en modo compatible con FIPS 140-2 y para usar EKM, una de las dos condiciones siguientes debe ser verdadera:
- El módulo criptográfico externo debe estar validado por FIPS 140-2.
- Algunos de los algoritmos que usa el módulo criptográfico deben ser validados por FIPS 140-2. Use solo esas instancias de algoritmos validados cuando se requiere cifrado o descifrado basado en FIPS 140-2 para importar o exportar datos a SQL Server o desde ellos.
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 cifrado más seguro puede tener un pequeño efecto en el rendimiento de los procesos en los que se permite un cifrado menos seguro cuando el proceso no funciona como compatible con FIPS 140-2.
La selección de cifrado para SSIS (UseEncryption=True) generará un mensaje de error que indica que el cifrado disponible no es compatible con el cumplimiento de FIPS y no está permitido. Es decir, no se realiza ningún cifrado del proceso de mensaje.
El uso del cifrado junto con los servicios de transformación de datos heredados (DTS) no es compatible con FIPS 140-2. Para DTS, no se comprueba el modo FIPS en Windows. Para seguir siendo compatible, no debe seleccionar el cifrado.
La mayoría de los procesos de cifrado y hash de SQL Server 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 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.