¿Cuál es el punto de tener requisitos de nombre de usuario arbitrarios?

34

Busqué en Security.SE, pero no encontré mucho relacionado con el siguiente problema:

Recientemente me inscribí en Chase Quick Pay como mi método de ser pagado por un trabajo de medio tiempo. He oído hablar de requisitos de contraseña estúpida , pero nunca el nombre de usuario estúpido requisitos.

Cuando me inscribí en , realmente no tomé en cuenta lo extraño era (realmente debería haberlo hecho, porque he olvidado mi nombre de usuario dos veces en los últimos 3 meses debido a la política):

Ahora,elmotordeStackExchangemehadirigidotanamablementehacialapreguntaconuna buena respuesta por @Polynomial que lo dice todo en la primera oración:

  

La fuerza de autenticación debe provenir de la contraseña, no del nombre de usuario.

Por lo tanto, simplemente: ¿cuál es el punto de tener requisitos como este en un nombre de usuario?

Editar : para aclaraciones, ¿existen beneficios de seguridad reales para tener este tipo de requisitos de nombre de usuario?

Bonificación : acabo de ver las políticas de seguridad de nombre de usuario / contraseña de mi propio banco , y encontré lo siguiente (no tan anormal):

Nota:Realmentenoentiendoelpuntodenopermitir"X" como la primera letra ... ¡cualquiera que pueda contestar obtiene un +10!

    
pregunta Chris Cirefice 29.08.2014 - 05:39
fuente

5 respuestas

30

Hay dos argumentos principales para imponer requisitos / restricciones en las opciones de nombre de usuario. La primera es que hacer que los nombres de usuario sean más difíciles de predecir para los atacantes ayuda a resistir los ataques de adivinación en línea. Si bien los nombres de usuario no se consideran necesariamente tan secretos como las contraseñas, son uno de al menos dos datos que deben ser robados para hacerse pasar por un usuario. No debemos descartar la ventaja de que esta información sea desconocida para los atacantes.

El documento de 2007 ¿Cumplen las contraseñas web sólidas? (PDF) evalúa la amenaza de adivinar la contraseña en línea y considera cuáles son nuestras opciones para combatirla. Un sitio puede imponer una política de contraseña más estricta que puede perjudicar la facilidad de uso si los usuarios se esfuerzan por cumplir y experimentan frustración con el proceso. O el sitio puede imponer algunas restricciones de nombre de usuario y mantener la política de contraseñas igual. Su teoría es que si un atacante tiene que probar muchas combinaciones posibles, no importa tanto si se debe a nombres de usuario fáciles y contraseñas complicadas, o nombres de usuario semi-complicados y contraseñas semi-complicadas.

Esto ignora una tercera opción del sitio que agrega un segundo factor de autenticación para complementar la seguridad de una contraseña y deja los nombres de usuario solos. También requiere que el sitio trabaje más duro para evite revelar nombres de usuario válidos para que los atacantes puedan asociarse con posibles contraseñas.

El segundo argumento es que al imponer requisitos de nombre de usuario un tanto únicos, un sitio puede esperar disuadir a los usuarios de elegir las mismas credenciales que han usado en otros sitios. Esta es una amenaza muy real y es difícil para un sitio hacer algo además de imponer requisitos de nombres de usuario inusuales (o asignar ellos mismos ID). Sin embargo, un estudio impresionante de 2010 supervisó la reutilización real del nombre de usuario y la contraseña por personas entre sus bancos y otros sitios. El estudio descubrió que las personas efectivamente reutilizaron su contraseña bancaria en otros sitios el 73% del tiempo, pero también encontraron que incluso si un banco aplicara convenciones de nombre de usuario únicas, la gente reutilizaría ese nombre de usuario al menos en otra. sitio 42% del tiempo.

Por lo tanto, la aplicación de requisitos de nombre de usuario únicos redujo las posibilidades de compartir credenciales, pero ciertamente no eliminó esa posibilidad. Pero ese menor riesgo aún puede ser visto por algunos sitios como un inconveniente para los usuarios.

Otra posible razón, que es menos un argumento y más un requisito, es la compatibilidad del sistema heredado. Cualquiera que sea el software potencialmente antiguo que está haciendo el procesamiento de back-end detrás del front-end web elegante puede haber sido codificado para que solo acepte los nombres de usuario formateados de cierta manera. Sin extraer y reemplazar ese software, el sitio puede quedar bloqueado y pasar la restricción a los clientes. La 'ID de usuario no puede comenzar con una línea X' me hace creer que esto puede ser un factor en su caso.

    
respondido por el PwdRsch 29.08.2014 - 08:09
fuente
11

El requisito de estos nombres de usuario puede hacer que los nombres de usuario sean menos predecibles. No creo que esto proporcione una mejora sustancial de la seguridad, pero puedo pensar en un par de escenarios en los que ayudan un poco. Dudo que compense la pérdida de usabilidad, pero me falta evidencia concreta para concluir. Como de costumbre, seguridad a expensas de la usabilidad, viene a expensas de la seguridad. : si es más probable que los usuarios olviden sus nombres de usuario, esto significa que o bien tendrán que almacenar su nombre de usuario en una ubicación insegura (derrotar el propósito) o tiene que haber una forma para que recuperen su nombre de usuario (que puede no estar fuertemente autenticado).

Los nombres de usuario menos predecibles mejoran la privacidad. Si trato de crear una cuenta johnsmith y falla porque ese nombre de usuario ya está en uso, esto me dice que John Smith está apostando a esa firma. Si la cuenta de John Smith es johnsmith1 , debo enumerar más nombres de usuarios. Sin embargo, con los nombres de usuario elegidos por el usuario, el sufijo 1 es una muy buena apuesta. La mayoría de los sitios web dependen de las direcciones de correo electrónico como tokens únicos: si quiero crear una cuenta como [email protected] , necesitaré probar que puedo leer el correo electrónico enviado a esta dirección. Los bancos generalmente son reacios a depender de la seguridad externa, por lo que tienden a no querer depender de los proveedores de correo electrónico.

Un número significativo de ataques a bancos se realizan en un hogar: un cónyuge, un hijo, un visitante, etc. Un nombre de usuario menos predecible puede mejorar la confidencialidad contra un atacante casual que tiene acceso a la computadora de la víctima pero es más Probable de realizar ataques oportunistas que de investigar seriamente su ataque. Nuevamente, con un nombre de usuario elegido por el usuario, el requisito de complejidad no es una mejora significativa: muchos usuarios dejarán su nombre de usuario completado en su navegador, y si no eligen johnsmith1 , es probable que se conozca la variación al atacante ya que se conocen bien.

Los nombres de usuario menos predecibles también mejoran la defensa contra ataques no dirigidos que funcionan al probar muchas combinaciones de nombre de usuario y contraseña hasta que se encuentra una débil. Una vez más, tener que probar johnsmith1 además de johnsmith no proporciona una mejora significativa.

En cuanto a los ID de usuario que no comienzan con X ... es un banco. En lo profundo de las entrañas, en algún lugar, se encuentra un programa COBOL que se ejecuta en un IBM big iron emulado que se ejecuta en un IBM big iron emulado un poco más reciente que se ejecuta en un VAX emulado que se ejecuta en una máquina virtual en un procesador x86. Antes de nacer, alguien decidió que sería una buena idea indicar los registros eliminados al poner un X en la 17ª columna. El programador de COBOL que se vio obligado a arreglar el error Y2K se ofreció a arreglarlo también, pero se le dijo que esto estaba fuera de las especificaciones del trabajo y que no debía tocar algo que funcionara (esto podría haber funcionado de manera diferente si el banco el nombre del director había sido Xavier en lugar de George).

    
respondido por el Gilles 29.08.2014 - 14:20
fuente
4
  1. Para que las ID de usuario sean menos predecibles.
  2. Para ajustarse a otros sistemas.

Las razones para los ID de usuario menos predecibles podrían ser:

  1. Una aplicación limita una cantidad de conjeturas de contraseña (algo típico para la banca por Internet) por una ID de usuario. Luego, un atacante puede montar un ataque "intente con la contraseña 123456 para todas las ID de usuario conocidas". Si el atacante no conoce la gran cantidad de ID de usuario, este ataque no tiene mucho sentido.

  2. Una aplicación puede tener algunos fallos de seguridad de diseño que no conocemos. Por ejemplo, una aplicación podría usar un ID de usuario para derivar un token de sesión.

'X' como la primera letra puede ser rechazada para evitar que un sistema (heredado) interprete una ID de usuario como un número hexadecimal.

    
respondido por el sta 29.08.2014 - 10:17
fuente
4

Estoy de acuerdo en que forzar un nombre de usuario extraño hará que romper la cuenta sea un poco más difícil (ya que funciona como una especie de segunda contraseña) en lugar de tener el mismo nombre de usuario que en la cuenta XYZ cuya contraseña están reutilizando. (¡Pero imponer algunos requisitos también hace que sea más fácil que el usuario olvide su propio nombre de usuario!)

La razón principal que veo para establecer una longitud mínima en el nombre de usuario es asegurarse de que no usen nombres comunes como "Joe", pero obligando a algo más único (tal vez agreguen un apellido, una fecha ...)

Si hay que avisarles por teléfono, tiene sentido restringir los caracteres especiales. Requerir una letra también ayudaría a que se vea como un nombre de usuario normal. No creo que tenga sentido requerir un número en el nombre de usuario.

Las reglas bancarias son en general mucho más sensatas. Sospecho que los nombres de usuario que comienzan con X se usan internamente (por ejemplo, un usuario de prueba, alguna cuenta reservada ...).

    
respondido por el Ángel 29.08.2014 - 10:52
fuente
1

Estoy de acuerdo en que forzar un nombre de usuario extraño hará que romper la cuenta sea un poco más difícil (ya que funciona como una especie de segunda contraseña) en lugar de tener el mismo nombre de usuario que en la cuenta XYZ cuya contraseña están reutilizando. (¡Pero imponer algunos requisitos también hace más fácil que el usuario olvide su propio nombre de usuario!

    
respondido por el Sudhakar Akhade 28.03.2018 - 04:06
fuente

Lea otras preguntas en las etiquetas