Estoy comenzando las primeras etapas de la investigación sobre la posibilidad de obtener la certificación FIPS 140-2, pero me he encontrado con cierta confusión. Para comenzar, nuestro software está escrito en Java y en realidad no realiza ningún cifrado / descifrado, actualmente lo hacen las bibliotecas BouncyCastle y esperamos que cuando BouncyCastle obtenga la certificación FIPS, nuestro producto también pueda obtener la certificación FIPS.
El problema que tengo es correcto en la primera línea, eso es lo que FIPS 140-2 define como un módulo criptográfico, afirma:
Un módulo criptográfico debe ser un conjunto de hardware, software, firmware o alguna combinación de los mismos que implementa funciones o procesos criptográficos, incluidos algoritmos criptográficos y, opcionalmente, claves generación, y se encuentra dentro de un límite criptográfico definido.
Dado que nuestro software no está implementando ninguno de estos algoritmos, solo estamos usando un proveedor de servicios, ¿significa esto que nuestro producto no puede ser certificado? ¿Estamos atrapados en la zona de quejas FIPS? Si nuestro software puede obtener la certificación FIPS 140-2, ¿qué verían realmente los laboratorios de pruebas dado que nuestro software no realiza ningún procesamiento?
He pasado por muchos de los proyectos certificados por FIPS 140-2 y parece que mis temores pueden ser ciertos. La mayoría de las cosas que están certificadas son bibliotecas criptográficas patentadas que se utilizan en proyectos de software más grandes, como los núcleos criptográficos de Windows 8 y las bibliotecas criptográficas Symantic.