¿Por cuánto tiempo debe permanecer válida una ficha de restablecimiento de contraseña?

2

¿Cuál es la vida útil recomendada de un token de restablecimiento de contraseña?

Demasiado corto degradará la experiencia del usuario y demasiado tiempo comprometerá la seguridad.

    
pregunta mantale 23.11.2018 - 11:47
fuente

2 respuestas

4

La respuesta depende realmente de la complejidad de su token de reinicio. El objetivo debe ser que no se pueda adivinar un token de restablecimiento en el tiempo válido dado.

Por ejemplo, si su token de restablecimiento tiene 5 caracteres, solo dígitos y su servidor es capaz de responder a 100 solicitudes por segundo sin límite de velocidad, es probable que 15 minutos sean demasiado largos. Solo piensa en el posible ataque:

  1. Un atacante restablece su propia contraseña para ver cómo funcionan los enlaces
  2. El atacante restablece la cuenta de su víctima, sabiendo que tiene n minutos de tiempo
  3. El atacante llama a la página de restablecimiento de contraseña con más o menos claves aleatorias hasta que encuentra la correcta.

Esto, especialmente el paso 3, no debería ser posible en el tiempo indicado. Eso significa que si tiene un universo lo suficientemente grande como para dibujar claves de reinicio (como 32 caracteres alfanuméricos), así como la limitación de velocidad en su aplicación, incluso un día no afectará mucho su seguridad. También puede (y debe) elegir informar a su usuario con un segundo correo electrónico / mensaje sobre el cambio de contraseña realizado. También tenga en cuenta que su aplicación puede admitir tokens de reinicio muy largos sin comprometer la experiencia del usuario, ya que nunca tienen que escribirla.

Editar: Por supuesto, debe calcular de manera que solo se pueda probar un porcentaje muy pequeño de claves en el tiempo especificado. Por ejemplo, un riesgo de 0,000001% de adivinar la clave correcta en el intervalo de tiempo dado podría ser un riesgo aceptable. Una pequeña cantidad de riesgo es algo que tendrá que aceptar de cualquier manera.

    
respondido por el Ben 23.11.2018 - 13:18
fuente
-1
  

También es una buena idea tener el código aleatorio que su sistema   Genera tener solo un período de validez limitado, digamos no más de 20   minutos más o menos De esa manera si el usuario no se pone a revisar   su correo electrónico y su cuenta de correo electrónico se comprometen más tarde, el azar   El token utilizado para restablecer la contraseña ya no sería válido si el usuario   nunca restablecer su contraseña y el token "restablecer contraseña" fue   descubierto por un atacante.

Consulte "Olvidar contraseña en la hoja de trucos" en OWASP wiki .

    
respondido por el chinarulezzz 23.11.2018 - 12:05
fuente

Lea otras preguntas en las etiquetas