¿Qué algoritmos actuales se consideran (no) seguros? [cerrado]

0

Con la nueva versión de Windows 10, Microsoft le ha dado a los desarrolladores de .NET, Javascript y C ++ un nuevo conjunto de opciones para algoritmos criptográficos.

Cuando el antiguo código .NET solo permite AES y RSA , las nuevas bibliotecas de Windows 10 permiten estos algoritmos:

Algoritmos simétricos

  • AesCbc
  • AesCbcPkcs7
  • AesCcm
  • AesEcb
  • AesEcbPkcs7
  • AesGcm
  • DesCbc
  • DesCbcPkcs7
  • DesEcb
  • DesEcbPkcs7
  • Rc2Cbc
  • Rc2CbcPkcs7
  • Rc2Ecb
  • Rc2EcbPkcs7
  • Rc4
  • TripleDesCbc
  • TripleDesCbcPkcs7
  • TripleDesEcb
  • TripleDesEcbPkcs7

Algoritmos asimétricos

  • DsaSha1
  • DsaSha256
  • EcdsaP256Sha256
  • EcdsaP384Sha384
  • EcdsaP521Sha512
  • RsaOaepSha1
  • RsaOaepSha256
  • RsaOaepSha384
  • RsaOaepSha512
  • RsaPkcs1 (representa un algoritmo de clave pública RSA que usa PKCS1 para rellenar el texto sin formato. No se usa ningún algoritmo de hash)
  • RsaSignPkcs1Sha1
  • RsaSignPkcs1Sha256
  • RsaSignPkcs1Sha384
  • RsaSignPkcs1Sha512
  • RsaSignPssSha1
  • RsaSignPssSha256
  • RsaSignPssSha384
  • RsaSignPssSha512

Los algoritmos que son en cursiva son aquellos que supongo que ya están aprobados como "inseguros" / no se deben usar.
Entonces, ¿qué hay de esos algoritmos todavía seguros, que son explícitamente inseguros?

Ya consideré esta publicación, pero supongo que ya está desactualizada, otra vez.

    
pregunta Herdo 02.09.2015 - 19:32
fuente

2 respuestas

11

Un algoritmo puede ser seguro solo si se usa correctamente dentro de un protocolo que coincida con lo que se supone que debe hacer el algoritmo. Por lo tanto, ninguno de los algoritmos que liste puede considerarse "seguro" de una manera absoluta e incondicional.

Por otra parte, algunos algoritmos son necesariamente inseguros y nunca deben usarse (por razones de seguridad). En tu lista, estos son:

  • DES cifrado de bloque: utiliza una clave que es demasiado corta para ser fuerte contra el más estúpido Ataques de fuerzas brutas. Sin embargo, 3DES está bien a ese respecto.

  • Bloque los cifrados en modo ECB tienden a filtrar mucha información en el datos encriptados, con datos de texto simple "del mundo real", y deben evitarse excepto en algunos casos muy específicos.

  • RC4 tiene algunos sesgos que rara vez son mortales, pero siguen siendo una preocupación.

El resto de la lista está "bien", ya que pueden se pueden usar correctamente y ofrecen una seguridad útil. Muchas personas hoy en día están muy nerviosas cuando ven "SHA-1", pero este es un reflejo inducido por la multitud que en su mayor parte no está demostrado.

    
respondido por el Thomas Pornin 02.09.2015 - 20:58
fuente
6

Puedo decirle cuáles están actualmente no seguras:

  • Todo lo que termina en "Ecb" es inseguro . El modo ECB no oculta patrones a gran escala en los datos.
  • Todo lo que comience con "Des" es inseguro . El tamaño de la clave para DES es simplemente demasiado pequeño para resistir los ataques con hardware moderno.
  • Cualquier cosa que comience con "Rc2" puede ser inseguro , dependiendo de cómo lo uses. Es vulnerable a un ataque de texto sin formato elegido de clave relacionada, y permite claves cortas inseguras, cualquiera de las cuales puede mitigarse en un nivel superior en su sistema.
  • Cualquier cosa que comience con "Rc4" es probablemente inseguro . Las actuales debilidades conocidas en RC4 se pueden mitigar, pero hay muchas de ellas y se descubren nuevas.
  • Cualquier cosa que comience con "Dsa" puede ser insegura . El problema no es el algoritmo en sí, pero las preocupaciones de interoperabilidad pueden restringirte a longitudes de clave inaceptablemente cortas.
  • Cualquier cosa que finalice en Sha1 es insegura . Los ataques actuales contra SHA-1 no son factibles en la práctica, pero como muestra la historia de MD5, es probable que solo sea una cuestión de tiempo.
  • Cualquier cosa que comience con "TripleDes" es cuestionable. No hay ataques prácticos conocidos contra él, pero como está construido sobre el débil algoritmo DES, nadie realmente confía en él.

Cualquiera de los otros puede ser inseguro. El hecho de que no haya ataques prácticos conocidos sobre ellos no significa que una agencia de tres letras en algún lugar no haya encontrado una.

    
respondido por el Mark 02.09.2015 - 20:40
fuente

Lea otras preguntas en las etiquetas