La compañía puede saber si las contraseñas nuevas y antiguas son demasiado similares. ¿Hay algún problema de seguridad? [duplicar]

15
  • He hablado con un empleado de una gran compañía internacional en Alemania.

  • Dijo que se advierte a los empleados si su nueva contraseña es demasiado similar a la contraseña anterior. (por ejemplo, si cambian la contraseña de ThePassword12345 a ThePassword12344 .

  • El objetivo de utilizar el hashing funciones es no poder distinguir la diferencia entre una contraseña y una cadena aleatoria.

  • Como pueden saber si la diferencia es demasiado pequeña, tienen que guardar al menos una contraseña en texto sin cifrar.

  • El empleado dijo que usa sistemas Windows / SAP (y la advertencia se produce en todos los sistemas)

Mi pregunta es, por lo tanto, si mi análisis es correcto o dónde está mi error. Como contratan a mucha gente de informática, supongo que el error depende de mi lado, no del suyo.

    
pregunta toogley 14.10.2016 - 07:35
fuente

2 respuestas

30

Generalmente, cuando los usuarios cambian su contraseña en un sistema, también deben ingresar su contraseña anterior, junto con la nueva contraseña.

Ahora, este old password se revisa y se compara con el hash almacenado en la máquina (la contraseña no se almacena en texto claro). Si los hashes coinciden, el sistema procederá a comparar old password y new password . Si encuentra que las 2 contraseñas son demasiado similares, arroja un error, informando al usuario sobre lo mismo.

En caso de que las contraseñas sean lo suficientemente diferentes de acuerdo con la lógica del sistema, entonces la nueva contraseña se modificará y este nuevo valor de hash se almacenará en el sistema, por lo tanto, cambiará la contraseña del usuario.

En caso de que los usuarios NO tengan que ingresar su contraseña anterior, le recomiendo que consulte con su equipo de soporte de TI y que plantee una inquietud con el propietario del sistema ...

ACTUALIZACIÓN: Como se señaló en los comentarios, hay una manera más de solucionar este problema sin pedir la contraseña antigua del usuario. Cuando el usuario ingresa la nueva contraseña, el sistema genera las variaciones de la nueva contraseña ingresada, hace un hash de cada una de ellas y compara cada hash con el hash de la contraseña anterior. Si alguno de los hash coincide, arroja un error. Si no, cambia la contraseña con éxito.

    
respondido por el pri 14.10.2016 - 07:57
fuente
7

Este es un requisito común. La razón es que tiene que cambiar regularmente su contraseña en caso de que hubiera sido comprometida sin que lo notara (alguien mirando por encima de su hombro, etc.).

Si la nueva contraseña es demasiado similar a la anterior, un atacante podría primero probar una ligera variación sobre la antigua (supongo que pudo robarla de antemano). En su ejemplo, solo cambia el último carácter numérico: 10 intentos máximo.

¡Pero esto no es implementado normalmente almacenando la contraseña antigua en texto claro! Ahora todos saben que es malo . Simplemente los formularios de cambio de contraseña requieren la contraseña antigua y la nueva (repetida dos veces). De esa manera:

  • la contraseña antigua se controla para asegurarse de que no dejaste tu estación de trabajo aún conectada y que alguien te está engañando
  • la nueva contraseña se puede comparar con la antigua y se rechazará si es muy similar
  • la nueva contraseña se ingresa dos veces para limitar el riesgo de un error tipográfico

Y solo se almacena un hash de la contraseña ...

    
respondido por el Serge Ballesta 14.10.2016 - 07:57
fuente

Lea otras preguntas en las etiquetas