¿Qué se debe cifrar para cumplir con FIPS 140-2?

7

Estamos desarrollando una aplicación Cliente / Servidor C # .NET que debe ser compatible con FIPS. Estoy leyendo mucho acerca de FIPS en línea, pero tengo un poco de dificultad para determinar la diferencia entre el cumplimiento del algoritmo de cifrado elegido, y qué datos deben cifrarse para su cumplimiento.

Entiendo que los siguientes algoritmos son compatibles:

  • clave simétrica
    • AES, Triple-DES, Estándar de cifrado depositado
  • clave asimétrica
    • DSA, RSA, ECDSA
  • estándares de hash
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
  • generadores de números aleatorios
  • autenticación de mensajes
    • CCM, GCM, GMAC, CMAC, HMAC

Fuente

Sin embargo, no pretendamos que absolutamente nada en mi software use encriptación, entonces técnicamente cumpliría con todos los requisitos, ¿no?

Las cosas que puedo pensar que necesitarían encriptación son nuestras comunicaciones del cliente - > servidor y viceversa, nuestros datos serializados que almacenamos en el disco y nuestro proceso de licencia / archivos.

¿Qué me estoy perdiendo aquí?

    
pregunta leemes 12.08.2013 - 21:36
fuente

1 respuesta

8

FIPS140-2 se ocupa solo de la forma correcta en que un módulo criptográfico debe operar y estar protegido contra ataques. Uno puede ser simplemente compatible con sus módulos, o uno puede ser compatible Y validado con sus módulos. Hay 4 niveles diferentes de cumplimiento, 1 a 4, con un nivel más alto más protector que un nivel más bajo. La validación es una tarea costosa, generalmente realizada por laboratorios de seguridad externos.
FIPS140-2 no habla sobre qué datos necesitan ser cifrados por una aplicación. Varios organismos de estándares, únicos para cada segmento de interés de la industria, establecen los requisitos, procedimientos y procesos de protección y cifrado de datos específicos de esa industria. Por ejemplo, PCI DSS por la industria de tarjetas de crédito, HIPAA por la industria del cuidado de la salud.
Estos organismos pueden o no exigir que un módulo de cifrado sea compatible con FIPS140-2, pero desde luego es una elección prudente, al menos desde el punto de vista de la responsabilidad.

Algunos comentarios relevantes de infosecisland.com:

  1. "He hecho las tareas de cumplimiento FIPS 140-2 de primera mano con: OpenSSL, OpenSSH, Sun Java 6, Apache Tomcat 5.5 y 6.0, Mozilla NSS. Puedo decirle que ninguno de estos módulos funciona en un modo compatible con FIPS 140-2 de forma predeterminada, convertirlos en un modo compatible con FIPS 140-2 no es trivial, y operar en un modo compatible con FIPS 140-2 no siempre es una buena idea por razones de compatibilidad. "

  2. "Permítame aclarar los casos de negocios que alguien querrá invertir en el tiempo y los gastos necesarios para lograr la validación FIPS 140-2, no solo el cumplimiento: Cuando quiera vender cualquier cosa que sea criptográficamente relevante para el DoD o cualquier grupo de trabajo gubernamental que busque en el DoD las especificaciones de seguridad. Estos no serán sus clientes empresariales típicos, sino entidades gubernamentales específicas que requieren la garantía de integridad criptográfica que proporciona FIPS 140-2 ".

Entonces, si no tiene un módulo crytographic en su aplicación, FIPS140-2 no es relevante para usted. Si encripta algunas partes de su programa, como datos o un protocolo de comunicaciones, ya sea porque es lo correcto o lo requieren los organismos de estándares, los requisitos del cliente o las regulaciones, y debe cumplir con FIPS140-2 , esa rutina / módulo de cifrado debe cumplir con las especificaciones de FIPS o incluso estar completamente validada.

    
respondido por el Ninveh 14.08.2013 - 14:23
fuente

Lea otras preguntas en las etiquetas