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 de procesamiento de información federal 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 "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 módulos criptográficos con respecto a 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 "Compatible con FIPS 140-2", "Cumplimiento con FIPS 140-2" y "Modo compatible con FIPS 140-2" en el sentido de que SQL Server 2014 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 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 significar que la instancia del algoritmo está validada por FIPS 140-2 o que el sistema operativo contiene instancias de algoritmos validadas por FIPS 140-2.
¿Qué es FIPS?
El Estándar Federal de Procesamiento de Información (FIPS) es un estándar desarrollado por los dos organismos gubernamentales siguientes:
- El Instituto Nacional de Estándares y Tecnología (NIST) en el Estados Unidos
- El Establecimiento de Seguridad de las Comunicaciones (CSE) en Canadá
Se recomiendan o exigen normas FIPS para su uso en sistemas de TI administrados por el gobierno federal en el Estados Unidos y Canadá.
¿Qué es FIPS 140-2?
FIPS 140-2 es una instrucción que se titula "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 que contienen los algoritmos se pueden considerar certificados FIPS 140-2. Otros hardware, software y procesos que llaman a los algoritmos correctos pueden ser compatibles con FIPS 140-2.
¿Cuál es la diferencia entre el certificado FIPS 140-2 y el certificado FIPS 140-2?
SQL Server 2014 se puede configurar y ejecutar de forma que sea 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, tiene que usar una instancia de dicho algoritmo que esté certificada. Esto significa que la instancia está validada por el gobierno. La certificación requiere pruebas y verificación por parte de un laboratorio de evaluación aprobado por Estados Unidos o el gobierno canadiense. 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 proporciona 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 con 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 algoritmos o procesos no conformes. Por ejemplo, se permiten algunos procesos internos que permanecen dentro del sistema y algunos datos externos que se van a cifrar adicionalmente mediante una instancia de algoritmo certificado.
¿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 forma que use solo 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 de configuración para el siguiente paso).
- Haga clic en Directiva de seguridad local. Aparece la ventana Configuración de seguridad local.
- En el panel de navegación, haga clic enDirectivas localesy, 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 el cifrado, el hash y la 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.
SQL Server requisito de administrador
Cuando el servicio de SQL Server (cuando se configura un punto de conexión para Service Broker o creación de reflejo de la base de datos) detecta que el modo FIPS está habilitado al iniciarse, 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 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 está ejecutando en el modo de cumplimiento fips.
Para comprobar que el servidor se está ejecutando en el modo FIPS, busque estos mensajes.
Para la seguridad de diálogos (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 opción sobre si cifrar o hash y cómo se realizará, SQL Server 2014 se ejecutará en cumplimiento 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 escriben su propio código para el cifrado o el hash, se le debe indicar que use solo CryptoAPI (y, por tanto, solo las instancias certificadas) y que especifique solo los algoritmos permitidos por FIPS 140-2. Para obtener 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 el 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 para 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 de FIPS y no se permiten. En otras palabras, 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, el modo FIPS en Windows no está activado. Por lo tanto, es responsabilidad del usuario seleccionar ningún cifrado para seguir 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, ejecutarse con pleno cumplimiento (es decir, con el modo FIPS en Windows activado) tendrá poco o ningún efecto en el uso o el 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.