¿Cuál es la diferencia entre la limitación de inicio de sesión y el bloqueo temporal de la cuenta?

16

Actualmente estoy trabajando en el rediseño de una página de inicio de sesión. Inicialmente sugerí que se regule el inicio de sesión, por lo que se introducen pausas (incrementales - en número de segundos) entre cada intento fallido de inicio de sesión. La idea es que esto nos permitirá evitar el bloqueo de la cuenta y dar a los usuarios tiempo para pensar en restablecer su contraseña y también contrarrestar cualquier ataque de fuerza bruta.

El equipo de desarrollo sugirió que la aceleración de inicio de sesión no ayudará en la prevención de ataques de fuerza bruta, pero sí un bloqueo temporal. El bloqueo temporal funciona de la misma manera, excepto que las pausas introducidas son (incrementales - en número de minutos y horas) , por lo que estoy un poco confundido ... a continuación se muestra un ejemplo de cómo IBM QuickFile permite el inicio de sesión ser configurado:

Tengoalgunaspreguntas:

  1. ¿Unbloqueotemporalessolootrotérminoparaellímitedeacceso?

  2. ¿Cuálesladiferenciaentreregulacióndeiniciodesesiónybloqueotemporal?Sonlosmismosperousandiferentesparámetrosdeconfiguración.porejemplo3-6-12segundosvs5-10-20minutos?

  3. ¿Cuálessonlasimplicacionesdediseñodeinteracciónquedebotenerencuentaaladoptarunmecanismodebloqueotemporal?¿Puedoinformaralusuariocuándopodrávolveraintentarlo?¿Quizásusandoalgunaformadeindicadorvisual?

  4. ¿Cuálessonlosmarcosdetiempomásadaptadosparalaspausasentreintentosfallidosdeiniciodesesiónquenofrustraránalusuariofinal? Esta publicación en stakoverflow parece sugerir segundos en lugar de minutos

  5. ¿Qué impacto tiene esto en Denegación de servicio ?

Actualización: Aclaraciones

¡Un poco más para aclarar! cuando falla el inicio de sesión, el botón "intentar de nuevo" se desactiva durante 3 segundos, luego de lo cual se habilita. El usuario intenta iniciar sesión nuevamente y falla, el botón de "intentar de nuevo" se desactiva durante 6 segundos.

El proceso se repite durante 5 intentos consecutivos y los mensajes de error dirigen a los usuarios a restablecer su contraseña. En el quinto intento, a los usuarios se les presenta una pantalla de restablecimiento de contraseña.

Por otra parte, los usuarios podrían intentar iniciar sesión y tener un número específico de intentos, luego de los cuales la cuenta está "bloqueada" por un período de tiempo, digamos que 5 minutos esto aumenta a 10 minutos después de otro conjunto de intentos.

Gracias

    
pregunta Okavango 03.12.2014 - 15:39
fuente

5 respuestas

22

A) Sí, lo tienes. Lo mismo en que ambos resultan de un intento (s) de inicio de sesión fallido, aunque difieren en cosas como el registro, la implementación de UX resultante y cuando se usa uno.

Si un usuario está bloqueado temporalmente, esto es válido para el correo electrónico. Debe enviarles un correo electrónico o mensaje de texto notificándoles que se hicieron suficientes intentos fallidos para garantizar un bloqueo temporal. Esta es una oportunidad para permitir que el usuario intervenga en caso de que no sea él quien intenta iniciar sesión.

Alternativamente, puedes usar solo un temporizador de bloqueo en minutos, pero lo ideal sería requerir una acción del usuario para desbloquear la cuenta.

La aceleración es más para el ritmo. "Sostenga a sus caballos, respire" y puede hacerlo sin siquiera informar al usuario. Se puede utilizar un elemento simple de la interfaz de usuario para evitar que el usuario realice envíos accidentales de doble formulario y evitar intentos rápidos en el transcurso de segundos en lugar de minutos u horas.

Esto también puede usarse como una oportunidad para detectar intentos de fuerza bruta si el atacante no está pasando por su interfaz de usuario. Si se realizan 3 intentos por segundo, pero su interfaz de usuario solo permite 1 intento cada 3 segundos, algo está mal.

    
respondido por el Andrew Hoffman 03.12.2014 - 16:05
fuente
10

"Limitación" y "bloqueo temporal" son exactamente lo mismo.

Sin embargo, es probable que su equipo de desarrollo haya entendido mal los conceptos y haya asumido que usted quiso decir "limitación" como la mayoría de las otras respuestas aquí (con la excepción de @ R15 , aunque eso es menos una respuesta y más consideraciones importantes).

El punto importante que faltan es simplemente este:

  

Todo el Raison d'être del bloqueo temporal ES limita el inicio de sesión.

El bloqueo de la cuenta no es un castigo para el usuario, ni otorga automáticamente a la cuenta Magik Powers of Immunity de todos los ataques mientras está bloqueada.

La razón por la que funciona el bloqueo temporal es que está configurando efectivamente una cantidad mínima de tiempo para hacer un número X de intentos de inicio de sesión.
En otras palabras, un número máximo de intentos de inicio de sesión dentro de Y período de tiempo.

Pongamos un ejemplo:

Sin protección de fuerza bruta, digamos que un atacante puede intentar 1000 contraseñas por segundo. Según este XKCD clásico , la mayoría de las contraseñas "complejas" tendrían hasta 28 bits de entropía. A 1000 conjeturas / segundo, eso llevaría aproximadamente 3 días a la fuerza bruta.

Ahora, supongamos que tiene una protección de fuerza bruta (limitación / bloqueo de cuenta): After X passwords, lock the account for Y amount of time . O expresado como limitación: Allow only X passwords every Y amount of time.
Claramente, estos son los mismos ... independientemente de si Y es de 30 segundos o 30 minutos. Y ambos funcionarían.

Pero vamos a tener una jugada ....

  • Para hacerlo más fácil, estableceremos lo anterior X = 10 (se permiten contraseñas incorrectas), Y = 10 minutos (tiempo de bloqueo). A ese ritmo (en realidad es 1 conjetura por minuto, en promedio, solo para facilitar las cosas): tomará más de 500 años para conjeturar (en promedio).
  • Bien, bajemos los parámetros ... X = 5 conjeturas, Y = 30 segundos. La misma contraseña tardaría algo más de 50 años (ya que, en promedio, su tasa de aceleración es de 10 conjeturas por minuto).
  • O, como parece que pretendías, X = 1 conjetura por cada Y = 10 segundos (?): con un promedio de 6 conjeturas por minuto, se necesitarían alrededor de 85 años para forzar la contraseña ...

Por supuesto, puede ajustar esos parámetros para que tengan sentido para su sistema, y especialmente, como dijo anteriormente @ R15, esto debe estar en relación con la fortaleza de las contraseñas de sus usuarios . Sin embargo, si considera que esto es "bloqueo de cuenta" o "limitación de cuenta" es exactamente lo mismo, ya que la primera es simplemente una implementación simple para lograr la segunda.

    
respondido por el AviD 04.12.2014 - 01:23
fuente
2

Otra cosa a tener en cuenta es que la tasa promedio de intentos permitidos (impuesta por la limitación o el bloqueo) en teoría debería estar vinculada al tiempo efectivo de cobertura de las contraseñas de los usuarios.

Es decir, la limitación / bloqueo debe ser suficiente para evitar que un ataque de fuerza bruta a través de la interfaz web tenga éxito antes de que el usuario cambie su contraseña.

O dicho de otra manera, la decisión sobre los tiempos está relacionada con la complejidad de su contraseña y la frecuencia de cambio.

Obviamente, aunque esté auditando los registros, debería poder identificar ataques lentos contra cuentas específicas y hacer algo al respecto antes de que exista la posibilidad de que la contraseña sea correcta.

    
respondido por el R15 03.12.2014 - 16:44
fuente
1

La principal diferencia es que el "bloqueo de cuenta" se basa en las cuentas de usuario y los intentos de inicio de sesión también pueden realizarse limitando los intentos por cliente.

Los intentos de inicio de sesión limitados por cliente ayudan, por ejemplo, si un solo cliente malintencionado no se dirige a una cuenta específica pero intenta un nombre de cuenta diferente en cada intento (o hasta que la cuenta esté bloqueada).

Si acelera los intentos de inicio de sesión por cuenta, entonces es esencialmente lo mismo que un bloqueo temporal.

    
respondido por el kapex 03.12.2014 - 18:55
fuente
1

La limitación se utiliza cuando el bloqueo no es una opción. Esto ocurre particularmente cuando es imprescindible evitar involucrar operaciones de soporte (nuevas empresas con un alto número de usuarios), lo que le da más peso a la seguridad que a la continuidad del negocio, al cumplimiento o por razones de seguridad (el bloqueo puede poner en peligro la seguridad de alguien).

    
respondido por el starbuck3000 08.12.2014 - 09:40
fuente

Lea otras preguntas en las etiquetas