Un banco en línea que uso requiere ingresar su nombre de usuario, navegar a una segunda página y luego ingresar la contraseña para iniciar sesión. ¿Qué ventaja real de seguridad ofrece esto, si existe?
Un banco en línea que uso requiere ingresar su nombre de usuario, navegar a una segunda página y luego ingresar la contraseña para iniciar sesión. ¿Qué ventaja real de seguridad ofrece esto, si existe?
He visto esto usado por muchas ofertas como una forma de hacer Home Realm Discovery, cuando muchos IDPs están involucrados.
Cuando un usuario escribe su dirección de correo electrónico, la siguiente pantalla será el IDP o, en caso de que haya muchas opciones posibles, una lista de selección, seguida de una redirección.
Otra posibilidad es que esta técnica confunda los administradores de contraseñas o las funciones de "recordar mi contraseña" incorporadas en Chrome. Probablemente hay mejores formas de hacer esto, y si se hace solo por esta razón, puede resultar en teatro de seguridad .
Algunos sitios pueden permitir a los usuarios asociar una imagen o frase no confidencial con su nombre de usuario y mostrarla antes de que el usuario ingrese su contraseña. Dependiendo de los mecanismos utilizados para evitar situaciones de intermediario, este enfoque puede dificultar la tarea de un phisher de crear una página que, dado un nombre de usuario, llamaría rápida y fácilmente la imagen / frase asociada con eso usuario. En ausencia de un código de detección MITM, nada impediría a un phisher poner una pantalla de "nombre de usuario" falsa, enviar el nombre de usuario a la forma del banco y luego enviar la imagen / frase del sistema del banco, pero un banco Los sistemas podrían incorporar diversos mecanismos para intentar prevenir eso. Tal vez la mayor dificultad sea lograr la compatibilidad con el software de "seguridad" que intenta insertarse como un intermediario en las conexiones https: //.
Sospecho que esto no se ha hecho por una verdadera razón de seguridad, en lugar de eso, estos dos escenarios podrían explicarlo:
Se pudo haber hecho para separar la identificación de la cuenta de los pasos de verificación de contraseña, pero si ese es el caso, solo puedo concluir que esto se hizo por algún motivo que no sea de seguridad. Si la identificación positiva de la cuenta se indica al usuario, se creará una vulnerabilidad de enumeración de la cuenta y el sistema será menos seguro en lugar de más.
Algunos sistemas de autenticación tienen un "sello de sitio personal" que debe identificar antes de ingresar su contraseña para evitar el phishing. Sin embargo, estos sistemas generalmente tienen alguna otra forma de autenticación (por ejemplo, el apellido de soltera de su madre) antes de mostrar el Sello para usted: eso evita que se enumeren las cuentas y que los phishers conozcan el sello del sitio sin tener que conocer algunos detalles sobre usted. Sin embargo, no se considera muy efectivo .
ISO 27k y OWASP recomiendan un enfoque de múltiples factores. Pero si solo separa un campo de ID de usuario y un campo de contraseña en páginas separadas, hay algunas cosas a considerar.
Este proceso de inicio de sesión no tiene nada que ver con separar la autenticación de la autorización. Solo hay autenticación en forma de reclamo (el nombre de la cuenta) y prueba (la contraseña). Para los sitios normales, la autorización está vinculada a las identidades, por lo que cualquier usuario puede demostrar su identidad automáticamente.
Tal proceso de inicio de sesión no es lo que se entiende por ISO u OWASP, porque no hay un proceso multifactor para probar la reclamación, no hay un canal adicional como un servicio de mensajería o huella digital etcétera . En ese sentido, realmente no mejora la seguridad.
Este proceso de inicio de sesión tiene ventajas y desventajas, según las expectativas del usuario. Al pedir primero solo el nombre de la cuenta, los usuarios normales no pueden mezclar accidentalmente el nombre de la cuenta con la contraseña. Pero los usuarios más experimentados que usan contraseñas largas y verdaderamente aleatorias que no pueden recordar, experimentarán una verdadera molestia. Debido a que esos usuarios utilizan la función de inicio de sesión automático de los administradores de contraseñas como KeePass, encontrarán que no funcionará cuando los campos estén en páginas separadas. Tienen que iniciar sesión manualmente, ingresando el nombre de cuenta y la contraseña por separado con cada intento de inicio de sesión.
Existe un argumento de que tal proceso de inicio de sesión podría ser técnicamente más seguro, porque los desarrolladores pueden tomar otras medidas para frenar los ataques de fuerza bruta. Por otro lado, se puede implementar una forma híbrida por medio de AJAX, de modo que los inicios de sesión automáticos de los administradores de contraseñas todavía funcionen, se puedan usar tokens de CRSF y no se tengan que proporcionar identificadores de sesión antes de que el usuario esté completamente autenticado. En otras palabras, los argumentos técnicos y de UX no necesariamente tienen que depender unos de otros.
Es importante recordar que los nombres de cuentas y las contraseñas se compartirán entre los usuarios. Es una práctica común que un solo usuario tenga varias cuentas únicas y / o no únicas para el mismo sistema. La identificación siempre identifica la cuenta , en lugar de un individuo vivo y único. Las medidas de seguridad deben implementarse teniendo en cuenta este hecho de la vida.
Muchos sitios comunes usan una dirección de correo para la declaración de identidad. Pero los usuarios pueden cambiar las direcciones de correo electrónico tan rápido como los números de teléfono prepago. Y siempre que los usuarios utilicen varias direcciones, el argumento de que un usuario siempre recordará los correos electrónicos se desvanecerá. Para UX, es una molestia cuando no puede cambiar la dirección de correo electrónico fácilmente a un nombre de cuenta sano. Un nombre de cuenta elegido tendrá un vector de ataque mucho más pequeño porque se conoce menos fácilmente y puede variar de un sistema o sitio a otro. Por lo tanto, mejorará la seguridad del usuario.
Lea otras preguntas en las etiquetas authentication user-interface