funciones hash inseguras

-4

La buena función hash debe ser resistente a la colisión. En 2004 se demostró que el MD5 no es resistente a las colisiones. Como tal, MD5 no es adecuado para aplicaciones como certificados SSL o firmas digitales que dependen de esta propiedad para la seguridad digital. Hoy vemos que este método es de uso generalizado en sitios y en muchos dispositivos.

  • ¿Cuál es la razón para usar esta función hash insegura?

Editar: ¿cuál es la ventaja de MD5 en relación con otra función hash, como SHA / 256, de que la gente ya use esta función hash insegura?

    
pregunta Meysam Ghahramani 19.01.2016 - 14:34
fuente

1 respuesta

3

Razones comunes que vi:

  • Material de aprendizaje obsoleto / inseguro: una gran cantidad de libros / sitios en línea que enseñan PHP aún enseñan el uso de MD5 sin sal para contraseñas en lugar de bcrypt, etc.
  • Conocimiento obsoleto del programador: muchos programadores no mantienen su conocimiento de seguridad actualizado y continúan usando lo que aprenden.
  • Simplemente tiene que funcionar / al programador no le importa la seguridad / no sabe sobre la seguridad. El programador genera hashes de 2 cadenas diferentes. Los hashes parecían diferentes. Los hashes se veían diferentes a la cuerda. No vio un método directo para convertir el hash a la cadena original. "conseguir que esas características / funciones de GUI funcionen" es más importante
  • Lo mismo para las bibliotecas (quizás desactualizadas) utilizadas por el programador y el programador no verificó lo suficiente o confió en que la biblioteca lo hiciera correctamente.
  • no se admite mejor criptografía: el sistema / idioma / sistema de terceros / ... no admite mejor criptografía
  • nadie nos hackeará nunca porque somos demasiado pequeños / no nos podemos cargar / ...
  • una vez escrito y nunca cambiado: especialmente conectado con el anterior y conectado con "cambiar esto costará demasiado / podría introducir problemas"
  • no se especificó / pagó una versión más segura: muchas empresas ofrecen trabajo de programación a contratistas que subcontratan a otros por el menor dinero posible. Luego, el trabajo real es a menudo realizado por programadores inexpertos / baratos / ... que solo realizan el trabajo mínimo requerido

Espero que la mayoría de esas razones se hayan ido en un futuro cercano.

    
respondido por el H. Idden 19.01.2016 - 15:11
fuente

Lea otras preguntas en las etiquetas