FIPS 140 («Estándar Federal de Procesamiento de la Información») es una serie de estándares de seguridad publicados por el gobierno estadounidense que especifican los requisitos de seguridad para la evaluación de módulos criptográficos. FIPS 140-3 es la versión más reciente; esta iteración de FIPS incluye cambios necesarios relacionados con el diseño, la implementación y el funcionamiento de un módulo criptográfico.
¿Qué es FIPS 140-3?
FIPS 140-3 es un estándar desarrollado por el Instituto Nacional de Estándares y Tecnología (NIST) y el Communications Security Establishment Canada (CSEC) para definir los requisitos que debe cumplir un módulo criptográfico para proteger información confidencial.
FIPS 140-3 sustituye a FIPS 140-2 y describe los requisitos federales de seguridad actualizados para los módulos criptográficos. Las nuevas normas se ajustan a la norma ISO/IEC 19790:2012(E) e incluyen modificaciones de los Anexos permitidas por la Programa de validación de módulos criptográficos (CMVP), como autoridad de validación.
La norma FIPS 140-3 entró en vigor el 22 de septiembre de 2019, lo que permitió al CMVP comenzar a aceptar solicitudes de validación bajo el nuevo esquema a partir de septiembre de 2020. El CMVP continúa validando módulos criptográficos según los requisitos de seguridad para módulos criptográficos de la Norma Federal de Procesamiento de Información (FIPS) 140-2 hasta el 22 de septiembre de 2021.
Estado de FIPS 140-2
Los módulos FIPS 140-2 pueden permanecer activos durante 5 años tras su validación o hasta el 21 de septiembre de 2026, fecha en la que las validaciones FIPS 140-2 se trasladarán a la lista histórica. Incluso en la lista histórica, CMVP admite la compra y el uso de estos módulos en sistemas existentes. CMVP recomienda a los compradores que consideren todos los módulos que aparecen en la página de búsqueda de módulos validados y que cumplan con sus requisitos para obtener la mejor selección de módulos criptográficos, independientemente de si están validados según FIPS 140-2 o FIPS 140-3.
Cronograma de transición de FIPS 140-2 a FIPS 140-3
El tiempo de la transición se muestra a continuación:
| Fecha | Actividad |
|---|---|
| Marzo 22, 2019 | Aprobado según FIPS 140-3 |
| 22 de septiembre de 2019 | Fecha de entrada en vigor de la FIPS 140-3 Borradores de SP 800-140x (Comentario público cerrado el 12-9-2019) |
| Marzo 20, 2020 | Publicación de documentos SP 800-140x |
| 20 de mayo de 2020 | Manual de gestión del programa CMVP actualizado para FIPS 140-2 |
| 1 de julio de 2020 | Examen de competencia de probador actualizado para incluir FIPS 140-3 |
| 21 de septiembre de 2020 | Guía de implementación de FIPS 140-3 Manual de gestión CMVP para FIPS 140-3 |
| 22 de septiembre de 2020 | CMVP acepta presentaciones FIPS 140-3 |
| 21 de septiembre de 2021 | CMVP deja de aceptar presentaciones FIPS 140-2 para nuevos certificados de validación |
| 21 de septiembre de 2026 | Los certificados FIPS 140-2 restantes se trasladan a la Lista histórica |
Mesa: Calendario de transición
Algoritmos criptográficos aprobados por FIPS 140-3:
Cuando decimos algoritmo aprobado por FIPS, generalmente nos referimos a un algoritmo o técnica que se especifica en un FIP or NIST recomendación o adoptada en una recomendación FIPS o NIST (especificada en un apéndice o en un documento referenciado por la recomendación FIPS o NIST).
Algoritmos de cifrado por bloques:
Se han especificado varios algoritmos de cifrado por bloques para su uso por parte del Gobierno Federal. El estado de aprobación de los modos de operación de cifrado/descifrado por bloques se detalla en la siguiente tabla:
| Algoritmo | Estado |
|---|---|
| Cifrado TDEA de dos claves | No permitido |
| Descifrado TDEA de dos claves | Uso heredado |
| Cifrado TDEA de tres claves | Obsoleto hasta 2023 No permitido después de 2023 |
| Descifrado TDEA de tres claves | Uso heredado |
| Cifrado SKIPJACK | No permitido |
| Descifrado de SKIPJACK | Uso heredado |
| Cifrado y descifrado AES-128 | Aceptable |
| Cifrado y descifrado AES-192 | Aceptable |
| Cifrado y descifrado AES-256 | Aceptable |
Mesa: Estado de aprobación de los algoritmos simétricos utilizados para el cifrado y descifrado
Firmas digitales:
Las firmas digitales se utilizan para garantizar la autenticación del origen y la integridad de los datos. Se permiten DSA, ECDSA y RSA, pero solo con ciertos parámetros. orientación de transición ofrece un resumen útil, que se muestra a continuación:
| Proceso de Firma Digital | Estado |
|---|---|
| Generación de firma digital | |
| <112 bits de seguridad: DSA: (L, N) ≠ (2048, 224), (2048, 256) o (3072, 256) ECDSA: longitud (n) < 224 RSA: longitud(n) < 2048 | No permitido |
| ≥ 112 bits de seguridad: DSA: (L, N) = (2048, 224), (2048, 256) o (3072, 256) ECDSA o EdDSA: len(n) ≥ 224 RSA: len(n) ≥ 2048 | Aceptable |
| Verificación de firma digital | |
| < 112 bits de seguridad: DSA32: ((512 ≤ L < 2048) o (160 ≤ N < 224)) ECDSA: 160 ≤ len(n) < 224 RSA: 1024 ≤ len(n) < 2048 | Uso heredado |
| ≥ 112 bits de seguridad: DSA: (L, N) = (2048, 224), (2048, 256) o (3072, 256) ECDSA y EdDSA: len(n) ≥ 224 RSA: len(n) ≥ 2048 | Aceptable |
Funciones hash:
Una función hash toma un grupo de caracteres (llamado clave) y lo asigna a un valor de cierta longitud (llamado valor hash o hash). El valor hash es representativo de la cadena original de caracteres, pero normalmente es más pequeño que este.
Una función hash se utiliza para generar una representación condensada de su entrada, tomando una entrada de longitud arbitraria y generando un valor con una longitud predeterminada. Las funciones hash se utilizan en la generación y verificación de firmas digitales, la derivación de claves, la generación de números aleatorios, el cálculo de códigos de autenticación de mensajes y en aplicaciones basadas únicamente en hash.
El Pautas de transición El documento resume cuándo se pueden utilizar SHA-1, SHA-2, etc.
| Función hash | Estado |
|---|---|
| SHA-1 | |
| Generación de firma digital | No permitido, excepto cuando lo permita específicamente la guía específica del protocolo del NIST |
| Verificación de firma digital | Uso heredado |
| Aplicaciones de firma no digital | Aceptable |
| Familia SHA-2 (SHA224, SHA-256, SHA-384, SHA-512, SHA-512/224 y SHA-512/256) | Aceptable para todas las aplicaciones de funciones hash |
| Familia SHA-3 (SHA3-224, SHA3-256, SHA3-384 y SHA3-512) | Aceptable para todas las aplicaciones de funciones hash |
| TupleHash y ParallelHash | Aceptable para los fines especificados en ESP 800-185 |
Mesa: Estado de aprobación de las funciones hash
FIPS 140-2 frente a FIPS 140-3
| Especificaciones | FIPS 140-2 | FIPS 140-3 |
|---|---|---|
| Módulo criptográfico | El estándar FIPS 140-2 (publicado en 2001) se redactó con la idea de que todos los módulos eran módulos de hardware. Posteriormente, se añadieron y definieron diferentes tipos de módulos (híbridos, software y firmware) en la IG (IG 1.9, 1.16 y 1.17). | FIPS 140-3 incluirá el módulo de hardware, el módulo de firmware, el módulo de software, el módulo de software híbrido y el módulo de firmware híbrido. |
| Límite criptográfico | FIPS 140-2 IG 1.9 restringió los módulos híbridos a una validación FIPS 140-2 Nivel 1 | Tampoco existe ninguna restricción en cuanto al nivel en el que se puede validar un módulo híbrido en el nuevo estándar. |
| Roles | El estándar FIPS 140-2 (sección 4.3.1) requiere que un módulo admita tanto un rol de oficial de criptografía como un rol de usuario, y el soporte de un rol de mantenimiento es opcional. | FIPS 140-3 conserva estos tres roles, pero solo se requiere el rol de oficial de criptografía (sección 7.4.2). Los roles de usuario y de mantenimiento ahora son opcionales. |
| Autenticación | ISO 19790: Nivel 1: sin requisitos de autenticación Nivel 2: autenticación mínima basada en roles Nivel 3: autenticación basada en identidad | ISO 19790: FIPS 140-3 es similar a FIPS 140-2 para la autenticación en los niveles de seguridad 1-3. El nivel 4 también se agrega en FIPS 140-3. Para la autenticación de nivel 4, debe basarse en identidad multifactor. |
Mesa: Estado de aprobación de los algoritmos simétricos utilizados para el cifrado y descifrado
Resumen:
FIPS 140-3 ha sido finalmente aprobado y lanzado como el estándar más reciente para la evaluación de seguridad de módulos criptográficos. Abarca un amplio espectro de amenazas y vulnerabilidades, ya que define los requisitos de seguridad desde la fase inicial de diseño hasta la implementación operativa final de un módulo criptográfico. Los requisitos de FIPS 140-3 se basan principalmente en las dos normas internacionales previamente existentes: ISO/IEC 19790:2012 «Requisitos de seguridad para módulos criptográficos» e ISO 24759:2017 «Requisitos de prueba para módulos criptográficos».
Plazos de la FIPS 140-3:

La línea de tiempo: Plazos de la FIPS 140-3:
Fuentes
www.nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
www.csrc.nist.gov/projects/cryptographic-module-validation-program
