Estoy trabajando en un proyecto relacionado con la seguridad y debo asegurarme de que cumple con FIPS 140-2.
Según mi entendimiento, el cumplimiento de FIPS es el cumplimiento a nivel de hardware y software. Actualmente hay 2 dispositivos Samsung con Android que son compatibles con FIPS, es decir, tienen conformidad a nivel de hardware y software. Tengo algunas preguntas.
-
Si quiero que mi aplicación de Android sea compatible con FIPS, si el único módulo criptográfico utilizado en mi proyecto es compatible, ¿es suficiente?
El módulo criptográfico proporcionado por el SDK de Android es la biblioteca BouncyCastle y no es compatible con FIPS.
Estoy utilizando la biblioteca OpenSSL compatible con FIPS en mi proyecto según enlace . He construido mi biblioteca de proyectos usando la biblioteca OpenSSL, es decir,
libssl.a
ylibcrypto.a
configurados usando el modo FIPS. -
Según el módulo FIPS OpenSSL para Android documentación , el módulo se ha probado en diferentes dispositivos Android de arquitectura armv7. ¿El hardware de Android no es compatible con FIPS?
-
El algoritmo AES está bajo conformidad con FIPS. ¿Esto significa que si uso el algoritmo AES en código Java en lugar de usar la biblioteca OpenSSL compatible con FIPS, no es compatible con FIPS?
Si AES cumple con FIPS, ¿qué tiene que ver con una implementación de AES en Java o C #? ¿Ambos tienen que pasar por el CMVP?