Instrucciones para usar SQL Server 2014 en el modo compatible con FIPS 140-2
En este artículo se describen las instrucciones para la publicación estándar federal de procesamiento de información 140-2 (FIPS 140-2) y cómo usar Microsoft SQL Server 2014 en el modo compatible con FIPS 140-2.
Versión original del producto: SQL Server 2014
Número de KB original: 3141890
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 con estándares como FIPS 140-2, pero no el uso de módulos criptográficos de una manera especificada o conforme. En este artículo, usamos "compatibilidad con FIPS 140-2", "cumplimiento de FIPS 140-2" y "modo compatible con FIPS 140-2" en el sentido de que SQL Server 2014 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 desde SQL Server 2014. Además, esto significa que SQL Server 2014 administra 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 la generación de claves y el almacenamiento de claves.
Usamos "certificado" aquí para indicar que la instancia del algoritmo es FIPS 140-2 validada o que el sistema operativo contiene instancias validadas fiPS 140-2 de algoritmos.
¿Qué es FIPS?
Federal Information Processing Standard (FIPS) es un estándar desarrollado por los dos organismos gubernamentales siguientes:
- El Instituto Nacional de Estándares y Tecnología (NIST) en la Estados Unidos
- Establecimiento de seguridad de comunicaciones (CSE) en Canadá
Los estándares FIPS son recomendados o obligatorios para su uso en sistemas de TI operados por el gobierno federal en los Estados Unidos y Canadá.
¿Qué es FIPS 140-2?
FIPS 140-2 es una instrucción titulada "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 que contienen los algoritmos se pueden considerar certificados FIPS 140-2. Otros procesos, software y hardware que llaman a los algoritmos correctos pueden ser compatibles con FIPS 140-2.
¿Cuál es la diferencia entre FIPS 140-2 y FIPS 140-2 certificados?
SQL Server 2014 se puede configurar y ejecutar de forma compatible con FIPS 140-2. Para configurar SQL Server 2014 de esta manera, SQL Server 2014 debe ejecutarse en un sistema operativo certificado fiPS 140-2 o en un sistema operativo que proporcione módulos criptográficos certificados.
La diferencia entre el cumplimiento y la certificación no es sutil. Los algoritmos se pueden certificar. No es suficiente usar un algoritmo solo porque aparece en las listas aprobadas en FIPS 140-2. En su lugar, debe usar una instancia de este algoritmo certificado. Esto significa que la instancia de está validada por el gobierno. La certificación requiere pruebas y verificación mediante un laboratorio de evaluación aprobado por el gobierno de Canadá o Estados Unidos. Windows Server 2012 y versiones posteriores y también Windows 8 y versiones posteriores contienen la instancia certificada de cada algoritmo permitido. Lo más importante es que una llamada a cada uno de estos algoritmos proporcione solo la instancia certificada.
¿Qué productos de aplicación pueden ser compatibles con FIPS 140-2?
Todas las aplicaciones que realizan cifrado o hash y que se ejecutan en una versión certificada de Windows pueden ser compatibles con solo las instancias certificadas de los algoritmos aprobados y cumpliendo con los requisitos de generación de claves y administración de claves. Puede hacerlo mediante uno de los métodos siguientes:
- Mediante el uso de la función de Windows para la generación de claves y la administración de claves
- Al cumplir los requisitos de generación de claves y administración de claves dentro de la aplicación
Tenga en cuenta que una aplicación compatible con FIPS puede contener áreas en las que se habilitan los algoritmos o procesos no conformes. Por ejemplo, algunos procesos internos que permanecen dentro del sistema y algunos datos externos que se van a cifrar además mediante una instancia de algoritmo certificado se permiten.
¿SQL Server 2014 siempre es compatible con FIPS 140-2?
No. SQL Server 2014 puede ser compatible con FIPS 140-2, ya que se puede configurar y ejecutar de tal forma que solo use las instancias de algoritmo certificado FIPS 140-2 a las que se llama mediante CryptoAPI para el cifrado o mediante hash en cada instancia en la que se requiere el cumplimiento de FIPS 140-2.
¿Cómo se puede configurar SQL Server 2014 para que sea compatible con FIPS 140-2?
Requisito del sistema operativo
Instale SQL Server 2014 en un servidor basado en uno de los siguientes sistemas operativos:
- Windows Server 2012
- Windows Server 2012 R2
- Windows 8
- Windows 8.1
- Windows 10
Requisito de administración del sistema de Windows
El modo FIPS debe establecerse antes de que se inicie SQL Server 2014. SQL Server lee la configuración en el inicio. Para establecer el modo FIPS, siga estos pasos:
- Inicie sesión en Windows como administrador del sistema de Windows.
- Haga clic en Iniciar.
- Haga clic en Panel de Control.
- Haga clic en Herramientas administrativas. (Es posible que tenga que cambiar a Iconos delarge para el paso siguiente).
- Haga clic en Directiva de seguridad local. Aparece la ventana Configuración de seguridad local.
- En el panel de navegación, haga clic enDirectivas locales y, a continuación, haga clic en Opciones de seguridad.
- En el panel derecho, haga doble clic en Criptografía del sistema: Use algoritmos compatibles con FIPS para cifrado, hash y firma.
- En el cuadro de diálogo que aparece, haga clic en Habilitadoy, a continuación, haga clic en Aplicar.
- Haga clic en Aceptar.
- Cierre la ventana Configuración de seguridad local.
Requisito de administrador de SQL Server
Cuando el servicio SQL Server (cuando se configura un punto de conexión para Service Broker o la creación de reflejo de la base de datos) detecta que el modo FIPS está habilitado en el inicio, SQL Server registra el siguiente mensaje en el registro de errores de SQL Server:
El transporte de Service Broker se ejecuta en modo de cumplimiento de FIPS.
Además, puede encontrar el siguiente mensaje registrado en el registro de eventos de Windows:
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 el modo FIPS, busque estos mensajes.
Para la seguridad del cuadro de diálogo (entre servicios), el cifrado usa la instancia certificada por FIPS de Advanced Encryption Standard (AES) si el modo FIPS está habilitado. Si el modo FIPS está deshabilitado, el cifrado usa RC4.
Al configurar un punto de conexión de Service Broker en el modo FIPS, el administrador debe especificar "AES" para service broker. Si el punto de conexión está configurado en RC4, SQL Server generará un error. Por lo tanto, la capa de transporte no se iniciará.
¿Cómo funciona SQL Server 2014 en modo compatible con FIPS 140-2?
Con el modo FIPS en Windows activado, en todas las áreas en las que el usuario no tiene ninguna opción sobre si cifrar o hash y sobre cómo se realizará, SQL Server 2014 se ejecutará de conformidad con FIPS 140-2. (SQL Server 2014 usará CryptoAPI en Windows y solo usará las instancias certificadas de los algoritmos).
Con el modo FIPS en Windows activado, en todas las áreas en las que el usuario tiene la opción de usar el cifrado, SQL Server 2014 habilitará solo el cifrado compatible con FIPS 140-2 o no habilitará ningún cifrado.
Información importante para los desarrolladores de software: en todas las áreas en las que el desarrollador o el usuario escribe su propio código para el cifrado o el hash, se les debe indicar que usen solo CryptoAPI (y, por tanto, solo las instancias certificadas) y especificar solo los algoritmos permitidos por FIPS 140-2. Para la lista oficial del Instituto Nacional de Estándares y Tecnología (NIST) de algoritmos criptográficos aprobados por FIPS 140-2, vaya a Anexos A, C y D en el Programa de validación de módulos criptográficos.
¿Cuál es el efecto de ejecutar SQL Server 2014 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 para 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 se permite. Es decir, no se realiza ningún cifrado del proceso de mensaje.
El uso del cifrado junto con DTS heredado no es compatible con FIPS 140-2. Para DTS, no se comprueba el modo FIPS en Windows. Por lo tanto, es responsabilidad del usuario seleccionar ningún cifrado para que siga siendo compatible.
Dado que la mayoría de los procesos de cifrado y hash de SQL Server 2014 ya son compatibles con FIPS 140-2, la ejecución con el cumplimiento total (es decir, con el modo FIPS en Windows activado) tendrá poco o ningún efecto en el uso o rendimiento del producto.
¿Dónde puedo obtener más información sobre FIPS 140-2?
Para obtener más información sobre el estándar FIPS 140-2, consulte la siguiente publicación de NIST:
Requisitos de seguridad para módulos criptográficos
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.