Medidas de seguridad para el enlace "Olvidé la contraseña"

3

Noté que Facebook envía un código de "Contraseña olvidada" de seis dígitos, que es muy corto para un código de validación, por lo que asumo que están haciendo lo siguiente:

  • Establezca una variable de sesión que esté vinculada al código para que ningún otro cliente pueda usar el mismo código
  • Posiblemente también, establezca el número máximo de intentos de ingresar el código correcto

Tengo dos preguntas:

  1. ¿Lo anterior es la mejor forma de hacer los enlaces de "¿Olvidó su contraseña"?
  2. ¿Es una alternativa no establecer una variable de sesión ni restringir los intentos, sino simplemente aumentar la longitud del código para que la fuerza bruta se vuelva imposible? ¿Cuánto tiempo tendría que ser este código, entonces? ¿O es esto considerado muy inseguro?

EDITAR: El código de Facebook se envía opcionalmente a su teléfono móvil para que se lo introduzca manualmente en su computadora, lo que debe ser la razón por la que eligieron mantenerlo corto.

    
pregunta forthrin 13.08.2013 - 17:58
fuente

2 respuestas

3

Por lo general, restringen el tiempo durante el cual el código es válido. Esta es posiblemente la característica clave de seguridad.

En realidad es relativamente seguro. Un atacante no podrá realizar una fuerza bruta, ya que los intentos de tiempo de espera o exageración, por lo que tendrían que comprometer la cuenta de correo electrónico.

    
respondido por el Rory Alsop 13.08.2013 - 18:10
fuente
2

"así que asumo que están haciendo lo siguiente": ¿Por qué harías esas suposiciones? Las fallas de seguridad provienen de personas que hacen suposiciones que resultan ser erróneas:

Debe haber suficiente espacio en este búfer

10 ^ 6 son demasiados para que alguien los adivine

El sistema operativo me proporcionará una buena fuente de aleatoriedad

etc, etc, etc

No estoy seguro de estar de acuerdo con la evaluación de Rory de "relativamente seguro". Nadie se preocupa lo suficiente por mi cuenta de FB para configurar pruebas de pin distribuidas, pero puede hacer fácilmente una lista de 100 cuentas de Facebook que son extremadamente valiosas: Whitehouse, McDonalds, Jay-Z.

La pregunta que me gustaría hacer es ¿por qué seis dígitos? ¿Fue costoso el uso de 8 o 10 o 20? Los usuarios no tienen que escribirlos, hacen clic en un enlace, ¿verdad? ¿Es solo que 6 dígitos eran más agradables estéticamente que 20 dígitos de A-Za-z0-9? Personalmente me gusta el aspecto de 62 ^ 20 mucho más que 10 ^ 6.

Independientemente de la longitud, los pines también deben caducar. Si necesito ingresar a mi cuenta hoy, no voy a dejar que ese enlace permanezca en mi correo electrónico durante una semana. 60 minutos deben ser lo suficientemente largos. No lo puede usar para entonces, haga clic en el enlace "Olvidé mi contraseña" nuevamente.

    
respondido por el u2702 13.08.2013 - 18:58
fuente

Lea otras preguntas en las etiquetas