¿Se pueden hacer comparaciones de similitud con contraseñas con hash?

6

En una empresa en la que trabajé, tuve que cambiar mi contraseña cada 90 días y solo pude reutilizar una contraseña después de 8 iteraciones. Esta no-reusación incluía que las contraseñas eran demasiado similares a la anterior, por ejemplo. cuando solo cambié una letra, esa nueva contraseña no fue aceptada.

¿Eso significa que estaban almacenando esta contraseña en texto plano? Esto me parece una mala práctica. ¿O hay alguna función hash que permita comparaciones de similitud?

    
pregunta helm 05.11.2014 - 14:42
fuente

3 respuestas

11

No, no significa que estén almacenando las contraseñas en texto sin formato. La pregunta no describe completamente el comportamiento. ¿Están emparejando patrones solo de su contraseña actual o patrones de todos 8 de sus contraseñas anteriores?

Si es el primer caso, la respuesta es simple, y es que tienen los hashes de las 8 contraseñas anteriores para comparar, y cuando cambias tu contraseña, ingresas tu contraseña actual y la nueva. , y ahora tienen ambos en texto plano para comparar patrones. Esto es más probable lo que está sucediendo.

Si es el segundo caso, todavía hay otras formas de hacerlo, incluido el almacenamiento de las contraseñas en un formato cifrado (en lugar de hash), para que puedan ser descifrados y comparados, o almacenar el patrón (o máscara). ) de sus contraseñas junto con los hashes y luego deshabilitar nuevas contraseñas que coincidan con cualquiera de esas máscaras antiguas. Podría decirse que estas opciones no son tan seguras como el simple almacenamiento de hashes, pero eso no debería preocuparle especialmente ... Es un riesgo para la empresa no para usted, y si creen que es un riesgo aceptable, entonces esa es su decisión. Su única preocupación (e independientemente de la política de contraseñas de su empresa, siempre debe ser una preocupación para usted) es asegurarse de que las contraseñas que usa para la red de trabajo son diferentes de las que usa en cualquier otro lugar. , por lo que un compromiso de su contraseña de trabajo no pone en peligro sus cuentas personales y viceversa.

    
respondido por el Xander 05.11.2014 - 15:15
fuente
0

Un hash por definición no debería permitirte encontrar si es similar a otra cosa.

De wikipedia:

  1. es fácil calcular el valor de hash para cualquier mensaje dado
  2. no es posible generar un mensaje que tenga un hash determinado
  3. no es posible modificar un mensaje sin cambiar el hash
  4. es imposible encontrar dos mensajes diferentes con el mismo hash.

¿Ha probado si el sistema realmente verifica esta regla? No puedo pensar en una manera de hacerlo sin almacenar la contraseña en un formato recuperable (como texto sin formato o cifrado con una clave simétrica)

    
respondido por el drpexe 05.11.2014 - 14:50
fuente
0

Puedo pensar en algunas opciones

Lo más probable es que estén almacenando contraseñas cifradas en lugar de hash. Esto no es tan seguro como el hash con un algoritmo hash fuerte, pero siempre que la clave de cifrado esté bien protegida, no debería ser un problema.

Otra opción probable es simplemente comparar la nueva contraseña con la anterior cuando la ingrese. Puede verificar si esto es cierto usando una función de contraseña olvidada o tratando de usar una contraseña similar a la anterior pero no la última

Otra opción es tomar la nueva contraseña y realizar algunas permutaciones, sustituciones, agregar y / o restar algunos caracteres, luego codificar esta contraseña modificada y comparar con hashes anteriores. Esencialmente, es lo mismo que almacenar hashes para contraseñas similares cuando la cambias, pero probablemente no sea factible debido al espacio requerido para tener tantos hashes

La última opción, es tener las contraseñas en texto plano. No hace falta decir lo inseguro que es

    
respondido por el Mr. E 27.03.2018 - 19:31
fuente

Lea otras preguntas en las etiquetas