¿El nombre de usuario + contraseña + pin mejora la seguridad de inicio de sesión?

2

Se me ha pedido que agregue una función a un sitio web para requerir un pin para los usuarios. El sitio actualmente utiliza nombre de usuario y contraseña. Si un usuario desea cambiar su contraseña, debe proporcionar la contraseña actual O utilizar una función de "recordatorio de contraseña" que envíe un token de inicio de sesión único a su dirección de correo electrónico.

Hay una solicitud para agregar un código pin numérico (al menos 4 dígitos) para que el usuario se autentique con el nombre de usuario + contraseña + código pin. Tendríamos que agregar el código PIN en el formulario de administración de la cuenta y, supongo, permitir que los usuarios cambien el PIN si pueden recordar su PIN anterior O si utilizan la función de inicio de sesión único.

Tres preguntas:

  1. ¿Esto realmente ayuda a la seguridad de alguna manera?
  2. ¿Es más efectivo si el pin está en la pantalla de inicio de sesión principal o en una segunda página en varios pasos?
  3. Si podemos imponer fácilmente una política de contraseña (que requiera un dígito, un carácter especial, etc.), ¿es eso más o menos útil?

Estoy interesado en muchas perspectivas aquí y elegiré una respuesta que presente ventajas y desventajas a estas estrategias.

    
pregunta greggles 02.10.2012 - 19:50
fuente

6 respuestas

4

1) Más autenticación tiene todos los pros y contras que normalmente se asocian (más información es más difícil de hackear, pero más difícil de recordar). Con un pin, es muy probable que las personas usen cumpleaños y otros números fáciles de recordar, por lo que la ingeniería social podría hacer que sea más fácil de romper que una contraseña o un factor 2 real.

2) ¿Tiene otros sistemas implementados para evitar el forzamiento brutal? Si no, debes colocarlo en la página principal. XXXXXXXX #### es más difícil de adivinar que XXXXXXXX luego #### (matemática simple: tendrías que adivinar "AAAAAAAA" 10 ^ 4 veces antes de terminar de pasar a "AAAAAAAAB" en la primera, pero solo debes hacerlo una vez en el último. Multiplicación de posibilidades versus suma). Si es así, tal vez se obtenga algún beneficio al colocar el PIN en la página 2 porque el PIN podría enviarse en una línea más segura.

3) Las reglas de contraseña, aunque son agradables en principio, fallan en la práctica por las mismas razones que se observan en 1. Ingeniería social, el incremento de contraseñas y su escritura en una nota adhesiva junto a su escritorio. Hay muchas otras preguntas sobre las mejores prácticas para las reglas de contraseña (generalmente uso frases de contraseña de 14 caracteres), pero todas las contraseñas son débiles para la ingeniería social y los usuarios olvidados.

    
respondido por el Lenny 02.10.2012 - 20:15
fuente
4

Matemáticamente, un pin de 4 dígitos mejoraría la seguridad. Sin embargo, este aumento podría replicarse aumentando la longitud requerida de una contraseña en 4 caracteres.

Esta no es realmente una gran solución, pero podría mejorarse con (solo una idea) el PIN que se les entrega por SMS o correo electrónico.

Nada de esto es comparable a la autenticación de 2 factores, que funciona según el principio de ser muy fuerte a la fuerza bruta en el tiempo asignado.

    
respondido por el November 02.10.2012 - 20:46
fuente
4

Un PIN es solo una contraseña, una contraseña que está restringida a dígitos y de tamaño limitado, pero una contraseña sin embargo. El PIN tiene sentido en contextos donde los dígitos son naturales, a saber, sistemas de cajeros automáticos y otros dispositivos de pago que solo tienen teclados pequeños; Del mismo modo, los teléfonos móviles. Para un sitio web, esto es mucho menos relevante, ya que el usuario tiene un teclado completo con letras.

Si puede hacer que sus usuarios recuerden dos contraseñas (incluso si una es un PIN), la seguridad se mejora de manera correspondiente. Las dos contraseñas deben ingresarse en la misma página. Para ver por qué, imagine que pide doce "contraseñas" de un dígito; Si su sistema permite ingresar el segundo dígito solo cuando el primer dígito es correcto, entonces el atacante puede adivinar fácilmente el primer dígito al intentarlo como máximo 9 veces. Del mismo modo, si solicita la contraseña y luego la otra contraseña (el PIN) en páginas sucesivas, el atacante puede intentar descifrarlas por separado, lo que es más fácil que descifrarlas a la vez.

Las políticas de contraseña a menudo son contraproducentes. O bien, hacen que los usuarios elijan contraseñas que son demasiado complejas para que las recuerden, y esto aumenta los costos del servicio de asistencia técnica (o hacen un uso excesivo de la opción de restablecimiento de contraseña, que siempre es un riesgo, ya que la seguridad del correo electrónico es esencialmente nula); o, más a menudo, esto contradice a los usuarios, que luego se convierten en enemigos activos, y eso no es bueno en absoluto. Los usuarios enojados reutilizarán contraseñas, compartirán contraseñas, anotarán contraseñas en notas adhesivas y muchas otras cosas de creatividad inusual. Si puede obligar a los usuarios a ingresar una contraseña Y otra contraseña (incluso si esta última tiene la apariencia de un "PIN"), entonces me atrevería a decir que ya los ha controlado bastante. Hacer más probablemente sería contraproducente.

    
respondido por el Thomas Pornin 03.10.2012 - 04:13
fuente
3

Esto es casi autenticación de dos factores . La autenticación de dos factores es un gran sistema que mejora la seguridad. Por lo general, este sistema de autenticación se reduce a "Algo que tienes" (un token) y algo que sabes (una contraseña). En el caso de tener un PIN y una contraseña, es realmente solo dos cosas que sabes que realmente no son tan útiles.

Utilizar cualquier Possession Factor sería una mejor opción que un PIN.

SMS parece ser la opción más común para un Factor de Posesión porque no requiere infraestructura o para que el cliente compre un dispositivo adicional.

    
respondido por el rook 02.10.2012 - 20:03
fuente
2

Agregar un pin adicional que no sea funcionalmente diferente de una contraseña no proporciona ninguna mejora real a la seguridad

Según tengo entendido, está proponiendo que los usuarios proporcionen una contraseña y un número de pin cuando se registren. Esto no es realmente diferente de cambiar su política de contraseña para requerir 4 números al final de cada contraseña.

Si el usuario controla tanto la contraseña como el PIN, luego la autenticación con:

  • contraseña: superdooperpassword
  • pin: 1789

No es diferente de:

  • contraseña : superdooperpassword1789

La única mejora es un ligero aumento en la complejidad de la contraseña .

Estás introduciendo un falso sentido de seguridad implementando algo que se parece un poco a two- autenticación de factor pero en realidad es solo una división de autenticación de un factor en dos campos de entrada.

Míralo de esta manera: si alguien te hubiera pedido que cambies el mecanismo de inicio de sesión para que los usuarios tengan que ingresar la primera mitad de su contraseña en un campo y la segunda mitad en otro campo, ¿habrías hecho esta pregunta?

Sería mucho más beneficioso para la seguridad introducir una política de contraseña segura en el campo de contraseña única .

    
respondido por el Andy Smith 03.10.2012 - 13:22
fuente
0

Personalmente, no creo que esto agregue mucha seguridad, sería mejor aplicar una política de seguridad de contraseñas. Si tiene que continuar con esto, mis pensamientos están más abajo sobre los escollos que puede encontrar.

Si tiene un formulario de varios pasos, es más difícil de probar y hay más espacio para que se introduzcan fallas lógicas. Tendría en cuenta lo siguiente.

  • Si hay un error de nombre de usuario, contraseña o PIN, el sistema no debe informar al usuario que hubo un problema de autenticación hasta la última etapa del formulario.
  • En caso de fallo de autenticación, el sistema no debe informar al usuario qué paso en su formulario fue incorrecto.
  • En caso de fallo de autenticación, el sistema debería enviar al usuario al paso 1 y obligarlo a volver a ingresar todos sus detalles (un pequeño golpe en la facilidad de uso para mayor seguridad).
  • No haga suposiciones sobre el estado del paso a partir del paso en el que se encuentra el usuario. Por ejemplo, si el usuario está en el paso 2 del formulario, no asuma que ya ha completado el paso 1. Es posible que haya encontrado la manera de ingresar el paso 2 directamente.
  • Asegúrese de que no se almacenen datos de los pasos anteriores en texto sin formato en campos ocultos o cookies.

Por las razones anteriores, es mucho más fácil tener la entrada del PIN en la misma página de formulario que el nombre de usuario y la contraseña, y posiblemente más segura debido al menor riesgo de introducción de errores. La única excepción a esto es si le pediría al usuario que ingrese 2 dígitos de su PIN cada vez, por lo que el sistema necesita saber qué usuario está intentando iniciar sesión y se requerirá un formulario de varios pasos. En este caso, deben asignarse al azar posiciones de 2 dígitos de su PIN para proporcionar (por ejemplo, 1ra y 3ra), y el sistema debe recordar qué posiciones de 2 dígitos se presentaron para ese usuario hasta que se realice un inicio de sesión exitoso. De lo contrario, un atacante podría simplemente reiniciar el proceso de autenticación hasta que obtengan 2 dígitos que conozcan. También haría que el sistema "olvide" las posiciones de 2 dígitos presentadas después de un cierto tiempo porque si persisten indefinidamente, un atacante podría inferir que no han adivinado correctamente un nombre de usuario porque nunca se ha iniciado sesión correctamente para hacer las posiciones de dígitos. actualizar.

    
respondido por el SilverlightFox 03.10.2012 - 12:54
fuente

Lea otras preguntas en las etiquetas