Desde el punto de vista de seguridad (y usuario), ¿cuál es más seguro como credencial de inicio de sesión: una dirección de correo electrónico o una identificación de usuario / nombre de usuario?

Un ID de usuario / nombre de usuario. Una dirección de correo electrónico es bastante fácil de descubrir y el acceso a esta información puede proporcionar una forma de identificarlo personalmente y enviarle correo no deseado. Un nombre de usuario o ID, especialmente cuando sigue reglas similares a una contraseña segura (caracteres alfa y numéricos aleatorios, longitud mínima de 8) significa que para un atacante a fuerza bruta o acceso a su cuenta, la dificultad se ha duplicado.

Por supuesto, no utilizar una dirección de correo electrónico o un número de teléfono móvil es una reducción importante de la conveniencia para los usuarios. Por ejemplo, sitios web gubernamentales o sitios bancarios que aplican esta opción, ¿cómo recuerda el nombre de usuario? Esto también puede resultar en un gran número de llamadas al servicio de asistencia para la empresa, por ejemplo, hsbc.co.uk implementó recientemente una función de recordar nombre de usuario muy probablemente por esta razón.

Un compromiso es usar una contraseña segura para recordar el nombre de usuario y la contraseña complejos: http://www.rakkhis.com/2010/12/w…

o use una identidad federada que esté fuertemente autenticada: http://www.rakkhis.com/2011/04/f…

Ninguno. La capacidad de detección del nombre de usuario no tiene nada que ver con la seguridad. Si alguien tiene la capacidad de escuchar su autenticación (navegación de hombro, análisis de paquetes, MiTM, etc.), puede aprender su nombre de usuario.

En muchos casos, aprender un nombre de usuario es trivial. En muchos sistemas como Active Directory, GMail, etc., su nombre de usuario ya se muestra. Es muy probable que [email protected] esté usando jbob como nombre de usuario.

La fortaleza de un sistema de autenticación reside en características como:

  • El secreto compartido conocido solo por el sistema de autenticación y el usuario. El secreto puede ser estático, como una contraseña, o dinámico como un token basado en el tiempo.
  • controles de autenticación alrededor de intentos fallidos de inicio de sesión, número de inicios de sesión concurrentes, etc.
  • recuperación de contraseña
  • Gestión de sesiones posteriores, como cookies de sesión, etc.

la identificación de usuario es más segura

esa parte de la credencial se denomina identificador y generalmente no se espera que sea un secreto, ni se trata necesariamente como tal.

cuando se usa una dirección de correo electrónico, no solo identifica en qué cuenta está intentando iniciar sesión (que es el propósito que un identificador sirve en un sistema de credenciales) sino también otro de sus recursos (su cuenta de correo electrónico). eso amplía la superficie de ataque al agregar una cosa adicional que un atacante puede intentar comprometer. esta es la razón por la que digo que la identificación del usuario es más segura, ya que no necesariamente da información que puede usarse para un ataque alternativo.

dicho esto, ya que algunos servicios no le ofrecen una opción de qué usar para el identificador en su sistema de cuenta de usuario, usar una dirección de correo electrónico desechable cuando se le solicite una dirección de correo electrónico puede servir para separar su cuenta en ese servicio de su servicio real. cuenta de correo electrónico.