Correo electrónico en lugar de nombre de usuario

17

Me pregunto sobre las implicaciones de seguridad de usar el correo electrónico como el identificador principal a través del cual un usuario inicia sesión (con una contraseña asociada, por supuesto). ¿Puedo tratarlo como lo haría con un nombre de usuario normal o se deben tomar precauciones adicionales, como "desinfectar" la dirección de correo electrónico antes de compararlo por su singularidad mediante la eliminación de cualquier parte + (por ejemplo, [email protected])?

La única implicación verdadera que puedo pensar de inmediato es tener cuidado de no hacer que sea verificable públicamente si un correo electrónico se registró en el sistema (por ejemplo, mediante comprobaciones de contraseña fallidas).

    
pregunta Gregor Petrin 27.03.2013 - 13:45
fuente

5 respuestas

19

El correo electrónico suele ser bueno como nombre de usuario porque:

  • el usuario lo recuerda;
  • es único en todo el mundo, simplificando así la gestión de colisiones (si un usuario desea usar el mismo nombre de inicio de sesión que otro, entonces uno de ellos cometió un error);
  • se puede combinar con un sistema de "verificación de correo electrónico" que es conveniente si desea que el servidor pueda comunicarse con los usuarios en caso de emergencia.

Nominalmente, al menos la mitad derecha de la dirección de correo electrónico (el nombre de dominio, después del signo "@") no distingue entre mayúsculas y minúsculas, por lo que debe normalizar esa parte a minúscula, lo cual es fácil, ya que se supone que es un nombre de dominio válido, por lo tanto, limitado a un subconjunto de ASCII (Nota: tendrá que tener cuidado de usar lo que .NET llama a cultura invariante , y Java denomina configuración regional raíz ; de lo contrario, su código se interrumpirá en Turquía).

Para lo que está a la izquierda, la sensibilidad a los casos depende del sitio de recepción. La mayoría de los sitios no distinguen entre mayúsculas y minúsculas en esa parte también, y parece "razonable" realizar una normalización en minúsculas, ya que es improbable que un sitio dado distinga entre mayúsculas y minúsculas. que [email protected] y [email protected] son direcciones válidas para dos Bobs diferentes). Por lo tanto, sugiero la normalización en minúscula de la dirección completa para fines de comparación (es decir, para decidir de qué usuario estamos hablando); pero mantenga la dirección "tal como está" si alguna vez desea enviar un correo electrónico al usuario, o incluso si quiere mostrar al usuario (por ejemplo, como un ejemplo de "Bienvenido, Bob @". com "banner - Bob podría ser bastante aficionado a su mayúscula 'B').

Sobre el signo "+": Desde su punto de vista, eso es parte de la dirección. Este "+" se maneja en algunos sitios como una manera para que cada usuario genere muchas direcciones funcionalmente equivalentes: Bob podrá usar [email protected] , [email protected] , [email protected] ... todos los correos electrónicos enviados a cualquiera de Estas direcciones terminan en el buzón de Bob, pero, en opinión de Bob, aún son direcciones distintas que Bob escribe como tales. Bob espera que las direcciones se consideren distintas. Por lo tanto, su manejo del "+" depende de lo que realmente desee:

  • Si solo desea un "nombre de inicio de sesión" único para que la gestión de colisiones sea fácil, deje la dirección "tal cual"; no hagas nada especial con el "+".
  • Si desea imponer la unicidad de las cuentas por usuario humano (es decir, no desea que Bob pueda crear un millón de cuentas distintas), es posible que desee eliminar caracteres de "+ "firme con el signo" @ ", nuevamente para fines de comparación. Pero no creas que esta regla disuadirá a la mayoría de los Bobs; la obtención de miles de millones de direcciones de correo electrónico sin un "+" es fácil y barata (la mejor manera es comprar un dominio y alquilar un servidor para alojarlo).

Resumen: mantenga la dirección tal como se ingresó en el momento del registro y utilícela "tal como está" para mostrar y enviar correos electrónicos. Para comparaciones (es decir, ubicar la entrada del usuario en la tabla de usuarios, por ejemplo, al iniciar sesión), normalice el correo electrónico en minúsculas (con una cultura invariante).

    
respondido por el Thomas Pornin 27.03.2013 - 14:28
fuente
5

El principal riesgo de usar correos electrónicos como nombres de usuario es que renuncia a un medio secundario de contacto con el usuario. Muchos (¿la mayoría?) Los usuarios usan la misma contraseña para varias cosas. Si el nombre de usuario y la contraseña están comprometidos y el nombre de usuario es su correo electrónico, es probable que su cuenta de correo electrónico también quede comprometida. Esto puede hacer que la recuperación de la cuenta sea muy difícil a menos que use algo como un sistema de recuperación basado en SMS.

    
respondido por el AJ Henderson 27.03.2013 - 13:51
fuente
3

La dirección de correo electrónico a menudo es mala como nombre de usuario (para funcionalidades altamente confidenciales como la banca) porque:

  1. Permite que alguien que está causando que la cuenta de otra persona se bloquee maliciosamente (si conozco su dirección de correo electrónico y el banco de Barclays, puedo bloquearlo de su cuenta intentando repetidamente contraseñas incorrectas).
  2. Puede probar combinaciones de nombre de usuario y contraseña pirateadas de otros sitios en el sitio bancario.
  3. Hace posible iterar a través de muchas cuentas intentando algunas contraseñas comunes en cada uno
  4. Reduce la cantidad de información que un atacante necesita saber (esencialmente, la identificación del usuario es un poco de información que se espera que escriba o registre de otra manera, pero aún así se extiende la longitud efectiva de la contraseña).
  5. Las direcciones de correo electrónico pueden reutilizarse y se reutilizan. No desea que alguien a quien se le vuelva a asignar una dirección de correo electrónico utilizada pueda realizar solicitudes de restablecimiento de contraseña, etc.

Todo esto debe equilibrarse con un usuario que pueda recordar su nombre de usuario. En muchos sitios hay una función de enviarme mi nombre de usuario vinculada a una dirección de correo electrónico. Sin embargo, otros ya han cubierto los aspectos positivos del uso del correo electrónico como ID de usuario.

    
respondido por el Andy Boura 05.08.2014 - 17:57
fuente
1
  

¿Puedo tratarlo como lo haría con un nombre de usuario normal o se deberían tomar precauciones adicionales, como "desinfectar" la dirección de correo electrónico antes de compararla por la eliminación de cualquier parte (por ejemplo, alguien@[email protected])?

Consulte I Sabía cómo validar una dirección de correo electrónico hasta que lea el RFC para obtener más información, pero no me atrevería a limpiar la dirección, ya sea que lo creas o no, todas las siguientes son válidas:

El uso de la dirección de correo electrónico como nombre de usuario puede llevar a enumeración de nombre de usuario si se implementa incorrectamente, y es más un objetivo que nombres de usuario arbitrarios: es más probable que el atacante sepa que son válidos, ya que es probable que sean las direcciones de correo electrónico públicas de los usuarios. Sin embargo, este es un problema solucionable .

El DoS de bloqueo de la cuenta se puede mitigar mediante la aceleración de los intentos repetidos de inicio de sesión fallidos o el restablecimiento de contraseñas por dirección de correo electrónico y dirección IP de forma individual.

También debe validar la dirección de correo electrónico de todos los usuarios nuevos haciendo que hagan clic en un correo electrónico de activación. Esto asegura que la dirección de correo electrónico sea del usuario y que pueda restablecer el acceso en el futuro si es necesario. Puede combinar el registro con el sistema de restablecimiento de contraseña para matar dos pájaros de un tiro.

    
respondido por el SilverlightFox 05.08.2014 - 18:36
fuente
1

El correo electrónico como nombre de usuario es una mala idea, porque una clase importante de usuarios potenciales no tienen Control a largo plazo sobre su correo electrónico. Los ISP van y vienen, y por un motivo u otro correo electrónico las direcciones se vuelven inutilizables o no están disponibles.

    
respondido por el ddyer 05.08.2014 - 19:52
fuente

Lea otras preguntas en las etiquetas