¿Reorganizar el hash no agrega seguridad?

0

Soy un novato cuando se trata de Seguridad de la Información, así que he estado leyendo muchas de las preguntas principales de este intercambio de pila por el bien del aprendizaje. Encontré esta pregunta que trata el hashing. En las críticas a un algoritmo de seguridad casera, las personas dicen repetidamente que mezclar un hash no agrega seguridad.

Un comentario para el que no puedo encontrar una respuesta:

$nt = substr($pass,0,8); // <--- BAD BAD BAD - why shuffle an MD5 hash?!?!?

y aquí:

  

Otra vez hash = sha1($salt+md5'($password)) . Reorganizar el MD5 no agrega seguridad. (swap(00112233445566778899aabbccddeeff) se convierte en ccddeeff8899aabb0011223344556677) . El intercambio no le impide usar las tablas del arco iris md5 después (por ejemplo, observe el código e invierta el intercambio). Sin embargo, la presencia de la sal única hace que las tablas del arco iris sean inviables.

Debe haber algo que no entiendo sobre el hash. Me parece que reorganizar los caracteres en el hash ofrecería una especie de seguridad al azar? Claramente ese no es el caso, pero ¿Qué error estoy cometiendo? Soy ignorante de mi propia ignorancia en este momento.

    
pregunta bbenz 14.03.2018 - 12:22
fuente

2 respuestas

2

Es seguridad por oscuridad. Arrastrar el hash SÍ mejora tu seguridad, porque si la persona que está tratando de descifrar las contraseñas no se da cuenta de que ha barajado los hashes, entonces no encontrará las contraseñas adecuadas, a menos que de alguna manera logren encontrar una contraseña completamente separada. hash reorganizado (conocido como colisión de hash).

La razón por la que la mayoría de las personas dice que esto no mejora la seguridad es porque la mayoría de las personas asume que si alguien logró obtener acceso a su base de datos, es muy probable que tenga acceso a la función de inicio de sesión que reorganizó el hash en primer lugar. Esta función se verifica rutinariamente porque aquí es donde el individuo malintencionado identificaría cualquier técnica de hashing no estándar que haya utilizado. Por lo tanto, reorganizar el hash no es un método excelente para mejorar la seguridad, ya que es significativamente menos efectivo que usar sal estándar.

    
respondido por el Nick W. 14.03.2018 - 13:28
fuente
3

En primer lugar, basado en el principio de Kerckhoffs , debe asumir que un atacante conoce el algoritmo que utilizó para hash las contraseñas, por lo que hacer las cosas de manera diferente a los demás no lo hará seguro por defecto.

Si bien su algoritmo se basa en MD5, es un algoritmo completamente diferente. ¿Cómo te aseguras de no haber reducido su fuerza realizando tus propios cálculos?

Finalmente, esta pregunta parece ser sobre el hashing de contraseñas. En este contexto, se espera que los algoritmos hash sean lentos. MD5 es rápido. Barajar un MD5 es rápido. Tu algoritmo es rápido. Así que no deberías usarlo para el hashing de contraseña.

    
respondido por el Benoit Esnard 14.03.2018 - 13:15
fuente

Lea otras preguntas en las etiquetas