3

Why do some sites recommend "letters, numbers, and special characters" in a username or User ID?

When creating a User ID at the www.discovercard.com website, the "User ID Strength" indicator meter bar indicates that a User ID is "weak" unless it includes letters, numbers, and special characters.

(It looks similar to the "password strength" indicator bar I see when I change my password).

David Cary
  • 2,720
  • 4
  • 19
  • 20
  • I'd speculate they are treating userid like a second factor. Provided it's not revealed to an attacker, the attacker has to guess both your userid and password, thus strengthening auth vs a password alone. – Jeff-Inventor ChromeOS Aug 15 '14 at 19:33
  • Some user IDs are better off being private and unguessable - for example I might not want others to know an email user ID that I use (to reduce spam). – user2813274 Sep 22 '14 at 21:35

1 Answers1

9

User ID are not nominally secret values; that's why we call them "user ID" and not "passwords", and why graphical interfaces for entering them don't hide the characters". However, creative designers sometimes imagine that user ID are some kind of secret, which leads to situations like what you witness: a site that tries to enforce on the user ID some "complexity rules" normally applied to passwords.

In practice, user ID chosen by users are not very secret, because:

  • Interfaces and protocols may leak user ID in various places.

  • Users don't consider them secret and thus will not try to make them unguessable.

  • Even when users try to make things hard to guess (passwords), they usually fail.

However, lack of rationality has never prevented any enthusiastic developer from adding features.


Arguably, insistence on including "special characters" in strings is not proven to really make these strings harder to guess. Such so-called complexity rules are meant to force users out of their comfort zone (it works: users are much less happy), under the rather specious assumption that an irate or depressed user will somehow choose passwords which are harder to guess.

Thomas Pornin
  • 320,799
  • 57
  • 780
  • 949