FIPS [1] [2] 140-2 , o Estándar federal de procesamiento de información [3] 140-2 , es un estándar de seguridad informática del gobierno de EE . UU. que se utiliza para aprobar módulos criptográficos . La publicación inicial tuvo lugar el 25 de mayo de 2001 y se actualizó el 3 de diciembre de 2002.
El Instituto Nacional de Estándares y Tecnología de EE. UU. ha publicado la serie de publicaciones FIPS 140 para coordinar los requisitos y estándares de los módulos criptográficos que incluyen componentes de hardware y software. La protección de un módulo criptográfico en un sistema de seguridad es necesaria para preservar la confidencialidad e integridad de la información protegida por el módulo. Este estándar define los requisitos de seguridad que debe cumplir un módulo criptográfico. El estándar proporciona un aumento en el nivel de calidad de la seguridad diseñado para cubrir una amplia gama de aplicaciones y entornos potenciales. Los requisitos de seguridad cubren áreas relacionadas con el diseño seguro y la implementación de un módulo criptográfico. Estas áreas incluyen la especificación del módulo criptográfico; puertos e interfaces del módulo criptográfico; modelo de estado final; seguridad física; ambiente operativo ; gestión de claves criptográficas ; interferencia electromagnética / compatibilidad electromagnética , autodiagnóstico; diseño; y mitigación de otros ataques [4] .
Las agencias y los departamentos federales pueden verificar que el módulo que se utiliza esté cubierto por un certificado FIPS 140-1 o FIPS 140-2 existente que especifica el nombre exacto del módulo, el hardware , el software, el firmware y/o los números de versión del subprograma. Los módulos criptográficos son producidos por el sector privado o comunidades de código abierto para uso del gobierno de EE. UU. y otras industrias reguladas (como instituciones financieras y de atención médica) que recopilan, almacenan, transmiten, comparten y distribuyen de forma confidencial pero no clasificada ( SBU ) información. Un módulo criptográfico comercial también se denomina comúnmente módulo de seguridad de hardware ( HSM ) [4] .
El estándar federal de procesamiento de información 140-2 define cuatro niveles de seguridad [5] . No especifica en detalle qué nivel de seguridad se requiere para una aplicación en particular.
El nivel de seguridad 1 proporciona el nivel más bajo de seguridad. Los requisitos básicos de seguridad se definen para un módulo criptográfico (por ejemplo, se debe utilizar al menos un algoritmo aprobado o una función de seguridad aprobada ). Un módulo criptográfico de nivel de seguridad 1 no requiere mecanismos de protección física especiales más allá de los requisitos básicos para los componentes de nivel de producción. Un ejemplo de un módulo criptográfico del primer nivel de seguridad es la placa de cifrado de una computadora personal (PC) [5] .
El nivel de seguridad 2 mejora los mecanismos de seguridad física del módulo criptográfico de nivel de seguridad 1 al requerir características que muestren evidencia de manipulación, incluida la seguridad que debe violarse para obtener acceso físico a claves criptográficas de texto sin formato y parámetros de seguridad críticos ( CSP ) en módulo, o cerraduras a prueba de manipulaciones en cubiertas o puertas para proteger contra el acceso físico no autorizado [5] .
Además de los mecanismos de seguridad física requeridos por el nivel de seguridad 2, el nivel de seguridad 3 intenta evitar que un atacante obtenga acceso a los CSP almacenados en el módulo criptográfico. Los mecanismos de protección física requeridos en el nivel de seguridad 3 están diseñados para tener una alta probabilidad de detectar y responder a los intentos de acceso físico, uso o modificación de un módulo criptográfico. Los mecanismos de seguridad física pueden incluir el uso de recintos seguros y circuitos de respuesta/detección de manipulaciones que restablecen todos los CSP de texto cuando se abren las cubiertas extraíbles del módulo criptográfico [5] .
El nivel de seguridad 4 proporciona el nivel más alto de seguridad. En este nivel de seguridad, los mecanismos de protección física brindan un paquete completo de seguridad alrededor del módulo criptográfico para detectar y responder a todos los intentos de acceso físico no autorizado. La penetración en el recinto del módulo criptográfico desde cualquier dirección tiene una tasa de detección muy alta, lo que resulta en la eliminación inmediata de todos los CSP de texto.Los módulos criptográficos de nivel de seguridad 4 son útiles para operar en entornos físicamente desprotegidos. El nivel de seguridad 4 también protege el módulo criptográfico contra compromisos de seguridad al garantizar una respuesta adecuada de voltaje y temperatura a las condiciones ambientales o fluctuaciones fuera de los rangos operativos del módulo. Un atacante puede usar desviaciones intencionales fuera de los rangos operativos normales para interferir con la protección de un módulo criptográfico. El módulo criptográfico debe incluir características especiales de protección ambiental diseñadas para detectar fluctuaciones y eliminar CSP, o someterse a rigurosas pruebas de fallas ambientales para brindar una garantía razonable de que el módulo no se verá afectado por fluctuaciones fuera de su rango operativo normal de manera que esto podría comprometer la seguridad del módulo [5] .
El 17 de julio de 1995, el Instituto Nacional de Estándares y Tecnología de EE. UU. estableció el Programa de Validación de Módulos Criptográficos ( CMVP ), que valida los módulos criptográficos contra los estándares federales de procesamiento de información basados en la criptografía FIPS (Estándar Federal de Procesamiento de Información). Los requisitos de seguridad para módulos criptográficos para FIPS 140-2 se publicaron el 25 de mayo de 2001 y reemplazan los requisitos para FIPS 140-1. El Programa de verificación de módulos criptográficos es un esfuerzo de colaboración entre el Instituto Nacional de Estándares y Tecnología de EE. UU. y el Centro Canadiense para la Seguridad de las Comunicaciones . Los módulos aprobados por FIPS 140-2 son aceptados por las agencias federales de ambos países para proteger la información confidencial [6] .
Se emite una calificación general para el módulo criptográfico, que indica:
El certificado de verificación del proveedor enumera las calificaciones individuales y la calificación general. El Instituto Nacional de Estándares y Tecnología de EE. UU. mantiene listas de verificación [7] para todos sus programas de prueba de estándares criptográficos (pasados y presentes). Los elementos de la lista de validación de FIPS 140-1 y FIPS 140-2 hacen referencia a las implementaciones algorítmicas verificadas que aparecen en las listas de validación de algoritmos. Las pruebas de laboratorio se basan en un documento relacionado con FIPS llamado documento de requisitos de prueba derivados. El documento describe las responsabilidades del laboratorio de pruebas y el análisis y las pruebas que se realizan. También describe la información y los materiales que el proveedor debe proporcionar al laboratorio para evaluar el cumplimiento del módulo con los requisitos de FIPS 140-2.
Todas las pruebas de certificación son realizadas por laboratorios de terceros acreditados como laboratorios para probar módulos criptográficos [8] por el programa nacional de acreditación voluntaria de laboratorios. Los proveedores interesados en las pruebas de validación pueden elegir entre veintidós laboratorios acreditados.
Los laboratorios acreditados realizan la validación de los módulos criptográficos [9] . Los módulos criptográficos se prueban de acuerdo con los requisitos de seguridad para módulos criptográficos establecidos en el estándar FIPS 140-2. Los requisitos de seguridad cubren 11 áreas relacionadas con el diseño e implementación de un módulo criptográfico. En la mayoría de las áreas, un módulo criptográfico recibe una calificación de nivel de seguridad (1 a 4, de menor a mayor), según los requisitos. Para otras áreas que no brindan diferentes niveles de seguridad, el módulo criptográfico recibe una calificación que refleja el cumplimiento de todos los requisitos para esa área.
La principal modificación de esta sección es incluir algoritmos criptográficos aprobados y características de seguridad. FIPS 140-1 dividió la identificación del algoritmo en una breve sección independiente. Sin embargo, dado que el algoritmo criptográfico es el núcleo del módulo, la inclusión de la especificación del algoritmo en la primera sección de FIPS 140-2 fue una reestructuración lógica [10] .
El cambio principal en esta sección se relaciona con el requisito básico para la E/S de texto sin formato, que debe estar separada de otros tipos de E/S. FIPS 140-1 cumplió con este requisito al especificar el uso de puertos separados físicamente a partir del nivel de seguridad 3 para E/S de texto no cifrado. Debido a los cambios en las tecnologías (p. ej., tiempo compartido, flujos dedicados, multiplexación , etc.), el estándar FIPS 140-2 ahora permite la separación de puertos físicos y la separación lógica dentro de los puertos físicos existentes a través de una ruta confiable [10] .
La mayoría de los cambios en esta sección están relacionados con la reorganización de las subsecciones que definen los requisitos para las tres versiones diferentes del módulo. FIPS 140-1 se ha estructurado con una sección de requisitos separada para cada una de las tres opciones de módulos, así como una subsección que detalla los requisitos de protección contra riesgos ambientales proporcionados por el nivel de seguridad 4. FIPS 140-2 traslada todos los requisitos redundantes de las tres opciones en apartado general definiendo los requisitos aplicables a todos. Además de la reestructuración, se agregaron nuevos requisitos para módulos integrados de un solo chip y de múltiples chips para permitir el uso de gabinetes físicos para proteger el módulo [10] .
Esta sección define los requisitos de la FCC que se aplican a los módulos criptográficos. Estos requisitos son específicos de la capacidad del módulo para operar de tal manera que no interfiera con las actividades electromagnéticas de otros dispositivos. Durante el proceso de actualización de la sección, esta se modificó para reflejar cambios menores en los requisitos y referencias de la FCC [10] .
ISO/IEC 19790, derivado del estándar federal de procesamiento de información 140-2, se aplica a los módulos criptográficos. Es obligatorio para el gobierno de los EE. UU., al igual que el Estándar federal de procesamiento de información 140-2. Otras organizaciones y agencias gubernamentales han confirmado su uso. La Administración de los EE. UU. requiere el cumplimiento de la especificación para productos de seguridad que contengan un dispositivo criptográfico para proteger los datos confidenciales no clasificados. Los módulos criptográficos que han sido probados para cumplir con los requisitos de software reciben un certificado. En la Federación Rusa, GOST R 54583-2011/ISO/IEC/TR 15443-3:2007 utiliza este estándar para garantizar la confianza [11] .
Steven Márquez, cofundador, presidente y gerente comercial de OpenSSL hasta 2017 [12] , ha publicado críticas de que la certificación FIS 140-2 puede llevar a ocultar vulnerabilidades y otras debilidades. El software puede tardar un año en volver a certificarse si se encuentran defectos, por lo que las empresas pueden quedarse sin un producto certificado para enviar. Como ejemplo, Stephen Markes menciona una vulnerabilidad que se descubrió, publicó y parchó en un derivado de código abierto certificado por FIPS de OpenSSL, con la publicación de que OpenSSL fue recertificado. Esta situación ha afectado a las empresas que utilizan OpenSSL. Por el contrario, algunas empresas han cambiado de nombre y su copia certificada del código abierto OpenSSL no ha sido despojada de su certificado. Estas empresas no corrigieron la vulnerabilidad. Steven Márquez argumenta que FIPS inadvertidamente fomenta la oscuridad del origen del software al eliminarlo debido a los defectos encontrados en el original, dejando potencialmente una copia vulnerable [13] .