En la autenticación en dos pasos, ¿debo revisar el paso 1 antes de continuar con el paso 2 o al final?

1

Primero hice esta pregunta en Stack Overflow, pero se sugirió que la Seguridad de la información sería un lugar mejor para ella (bastante obvio en retrospectiva).

enlace

Tengo un proceso de autenticación de formularios de aplicación web típico con dos pasos:

  • Paso 1: solicite nombre de usuario y contraseña
  • Paso 2: solicite algunos caracteres (por ejemplo, 2º, 5º y 8º) de una frase secreta

¿Debo autenticar el nombre de usuario y la contraseña antes de ir al Paso 2? ¿O debería recopilar los tres bits de información (nombre de usuario, contraseña y caracteres) y verificarlos al final?

La mayoría de los sitios web que he visto verifican el nombre de usuario y la contraseña y, si no se autentican, nunca preguntes por los caracteres. Por otro lado, se podría argumentar que verificar todo al final y, si no coinciden, mostrar un mensaje de error que no explique qué bit fallido sería más seguro. Eso proporciona menos información, como mostrar "El nombre de usuario o la contraseña son incorrectos" (sin especificar cuál) en una simple autenticación de 1 paso.

El problema con el segundo enfoque (además de ser menos fácil de usar) es que el Paso 2 requiere obtener un usuario válido en el Paso 1, de lo contrario es difícil saber la longitud de la frase secreta para pedir caracteres válidos (no hay punto que solicita el décimo carácter si la frase solo tiene 9 caracteres de longitud). La aplicación también tendría que guardar la contraseña de forma segura entre los dos pasos.

Entonces, ¿cuál es mejor? ¿Hay un tercer enfoque que deba considerar?

    
pregunta acfrancis 20.06.2014 - 12:27
fuente

2 respuestas

4

¡No hagas esto! Esto es estúpido. Si es un requisito del cliente, presione el cliente. Se supone que eres el experto. Dígale al cliente cuando está haciendo algo que no sirve a sus intereses. Esto es simplemente una autenticación elaborada de un solo factor y proporciona absolutamente ninguna seguridad adicional con un requisito de contraseña ligeramente más largo.

El cliente puede pensar que este es un segundo factor, pero no lo es. Para la autenticación de dos factores, debe haber dos factores DIFERENTES de algo que tienes, algo que sabes y algo que eres. Ambos son algo que usted sabe, por lo que no se proporciona seguridad adicional más allá de los caracteres adicionales en la contraseña, es solo un poco más conveniente que tener que escribir la frase completa (que es básicamente una contraseña larga pero muy poco elegida). Tampoco tiene ningún impacto en la prevención de ataques de hash contra la contraseña almacenada (y la fuerza bruta en línea no debería ser posible debido a los bloqueos de cuentas).

Si el cliente aún desea esto a pesar de la falta de cualquier beneficio de seguridad real, no veo ninguna manera de no hacerlo en dos pasos, ya que, como usted señala, no sabe cuántos caracteres elegir a menos que sepa la longitud de la frase con la que se va a trabajar y, con suerte, al menos la frase secreta está protegida por su contraseña (aunque de alguna manera lo dudo).

    
respondido por el AJ Henderson 20.06.2014 - 14:54
fuente
1

Normalmente, un desafío multifactorial ocurre después de la autenticación de la contraseña o al mismo tiempo.

No creo que decirle a sus clientes lo que salió mal durante el inicio de sesión dañará su seguridad tanto que justifica la frustración a la que los someterá si no les dice qué fue lo que salió mal.

Si escribieron incorrectamente su nombre de usuario o si su cuenta está bloqueada, es una información útil para ellos. Al decirles que la contraseña es incorrecta, no la debilita. Al decirles que el desafío del MAE fracasó, no debilita al MAE.

El nombre de usuario incorrecto se puede descubrir generalmente de todos modos por 'i Forgot my' de todos modos, por lo que se agradecería agilizar el proceso para los seres humanos olvidadizos, en lugar de bloquear su cuenta.

Para trabajar desde mi casa esta mañana, inicié sesión con multifactor y, dado que está condicionado al lugar en el que inicie sesión (en la oficina, no tengo que estar en MFA), la MFA ocurre después de la autenticación normal como segundo paso. p>

Para iniciar sesión en mi administrador de contraseñas desde una máquina no confiable, necesito MFA, y eso viene como una segunda etapa, no la misma etapa. Si lo convierte en una segunda etapa de autenticación, puede hacerlo condicional. No todas las personas con mi administrador de contraseñas optan por requerir MFA. De esta manera, puede desactivarlo para las personas que no lo aprecian.

Oh, y estoy de acuerdo con AJ Henderson, que la segunda etapa usando caracteres aleatorios de una palabra secreta es una idea de mickey mouse de alguien que no sabe lo que está haciendo. Entonces, si estás haciendo eso en lugar de un verdadero AMF, de todos modos es un placebo, no te preocupes demasiado por eso.

    
respondido por el Andrew Hoffman 20.06.2014 - 15:18
fuente

Lea otras preguntas en las etiquetas