El cumplimiento de FIPS (o los equivalentes europeos, como los niveles de EAL) es un requisito en algunos mercados o para lograr algunas propiedades legales; por ejemplo, en Francia, las marcas de tiempo se consideran pruebas legales (la carga de la prueba recae en la parte que reclama que la marca de tiempo no es vinculante) solo si la autoridad de sello de tiempo pasó por un proceso de certificación, en el que se requiere que se utiliza un HSM (Módulo de seguridad de hardware) "certificado" para almacenar y usar la clave privada de la autoridad. Si eso ocurriera en los Estados Unidos en lugar de en Francia, el "HSM certificado" sería "un HSM que cumple con el nivel 4 de FIPS-140".
En las áreas de propiedad privada (por ejemplo, los bancos) los requisitos para las certificaciones y / o los niveles de FIPS 140 provienen de las compañías de seguros: los bancos pueden obtener cobertura a tasas insanas pero factibles porque pueden probar que usan reglas de seguridad estrictas y FIPS 140 niveles son tales reglas. VISA y MasterCard son especialmente estrictas con respecto a la seguridad (se trata de dinero, por lo que es importante ).
En términos más prácticos, los niveles de FIPS 140 se obtienen demostrando que se logran algunas características de seguridad (consulte la respuesta de @bethlakshmi), que involucra tanto al hardware como al software. Dado que, en general, la corrección del software no se puede probar, el proceso de certificación implica que el sistema se desarrolló con toda la artesanía debida (prueba de unidad, revisiones de código, control de versiones de código fuente autenticado, e incluso verificaciones de antecedentes de los propios desarrolladores). Esto implica tiempo, dinero (piense más de 100 mil dólares) y una gran cantidad de papel. Por lo tanto, el significado real y práctico de conformidad con FIPS 140 es que alguien invirtió mucho tiempo y dinero en la idea de que el sistema no es absolutamente inseguro. Esto no significa que el sistema sea seguro, sino que al menos hubo un esfuerzo sustancial e inversión para lograr ese objetivo.
La mayoría de los proyectos de código abierto utilizan un modelo de bazar que es eficiente para producir un buen código rápido, pero es totalmente incompatible con una certificación proceso. Además, la mayoría de los proyectos de código abierto tienen poca o ninguna financiación. Esto explica por qué Bouncy Castle no es compatible con FIPS, e incluso grandes empresas como Sun (ahora Oracle) han preferido no ejecutar ese proceso. Una vez más, no ser compatible con FIPS no significa "inseguro" o incluso que el sistema no podría ser declarado como compatible con FIPS, solo que a nadie le pareció que valiera la pena el esfuerzo de pasar por los costosos aros administrativos de los FIPS formales. cumplimiento.