¿Podemos usar el algoritmo 3DES para intercambiar información confidencial? Lo estoy usando en mi proyecto. El revisor de códigos de seguridad ha provocado un error que dice que no es seguro pero veo que se menciona como seguro en CMMI.
NIST aún reconoce 3DES (ANSI X9.52-1998) como un algoritmo de cifrado de clave simétrica seguro cuando está configurado para funcionar como se describe en NIST SP 800-20. Todavía hay certificados del Programa de Validación de Algoritmo Criptográfico (CAVP) emitidos para 3DES en 2016. Sin embargo, muchos proyectos de código abierto (por ejemplo, OpenSSL) y estándares de certificación internacional (por ejemplo, Common Criteria) ya están en desuso 3DES.
La razón por la que se está eliminando 3DES se debe a varias vulnerabilidades (por ejemplo, ataques de colisión como sweet32). Si bien todavía hay formas de compensar (por ejemplo, volver a programar con frecuencia, deshabilitar el modo CBC) para prolongar su vida útil, no hay ninguna buena razón para no cambiar a AES.
Entonces, ¿eres vulnerable AHORA MISMO? No si has implementado y configurado correctamente 3DES. ¿Debería estar planeando su traslado a AES? ¡Absolutamente! Es solo cuestión de tiempo hasta que 3DES esté demasiado roto para ser considerado seguro.
3DES es, de todos modos, un viejo algoritmo que tiene muchas lagunas conocidas, como la lentitud, la vulnerabilidad media, etc. El mundo ha adoptado AES hoy en día. En resumen, es difícil ganar un argumento a favor de 3DES. Pero, por cualquier motivo, si tiene que implementarlo (problemas heredados o de incompatibilidad) le sugiero que eche un vistazo a NIST SP 800 - 67 , se trata de recomendaciones para la guía de uso de verificación 3DES \ 3DEA (3.5 Guía de uso) y asegúrese de estar sincronizado.
En segundo lugar, eche un vistazo a "Publicación especial del NIST 800-57 " que son recomendaciones para la gestión de claves. NIST ha aprobado 3DES-CBC (Cipher Block Chaining) como se menciona en este documento.
En caso de que desee cambiar su biblioteca de criptografía, verifique su estado de validación FIPS 140. De esa manera puede asegurarse de que se siguen las mejores prácticas. Crypto ++ según lo sugerido por @Kirill parece haber pasado alguna validación FIPS para algunos algoritmos.
El estado oficial de 3DES fue rebajado por NIST en el otoño de 2017. Según SP 800-67 Rev. 2 , la cantidad de datos que se cifrará mediante un único conjunto de 3 claves debe limitarse a 8 Gb. Además, la versión de 3DES que usa solo dos claves únicas ahora está completamente obsoleta.
La idoneidad de un algoritmo para un caso de uso particular está determinada por la fuerza del algoritmo, frente a ataques conocidos y una estimación de cuánto tiempo debe permanecer el cifrado fuerte. La resistencia de 3DES se describe en función de su longitud de clave efectiva de 112 bits, que es el algoritmo de cifrado simétrico permisible más débil. Dado que se han demostrado múltiples ataques, su longevidad debe considerarse muy cuestionable. No sé qué dice NIST FISMA sobre este punto hoy, pero IMPO, 3DES no se puede ver como una protección sólida para cualquier cosa que se mantendrá durante un período de tiempo prolongado.
Lea otras preguntas en las etiquetas encryption des 3des