Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

Why do some ISPs disallow special characters in passwords?

Since secure email passwords are critical and we should include symbols and
special characters to increase security, I can’t understand why ISPs such as
AT&T U-verse, Comcast, etc., do NOT allow any of the above in setting up
passwords. Their tech people just can’t explain it. This boggles my mind.

In this excerpt from
Answercast #59
, I discuss possible reasons for password limitations and
suggestions to keep your passwords secure.

Become a Patron of Ask Leo! and go ad-free!

Boggled by limited passwords?

It does me too to a certain degree. I kind of understand it; I’m not going
to excuse it.

I honestly believe that you’re quite right. There should be no reason not to
allow special characters and in fact, there should also not be a length
limit.

Length limits

We’ve been recently hearing about length limits imposed on Microsoft Hotmail
accounts of only 16 characters. And while that might be sufficient, if you
choose an appropriate 16-character password, I don’t believe that it’s enough.
There is really no technical reason that a 16-character password should be
required.

Legacy systems

So, with that little bit of griping out of the way… my understanding (the
reason I at least sort of understand where some of this comes from) is that many of these systems (particularly the larger, older ISPs) have been around for so long that a lot of what they’re dealing with is what we call politely “legacy” systems. Put another way these are “older than dirt” systems that were actually crafted back in the time when password length was not nearly as much of an issue – and in fact, password complexity wasn’t as much of an issue.

And, on top of that, there were often barriers to using certain characters.
There were escape characters that could not be transmitted between whatever it
was you were typing on and the system that was receiving it.

I don’t mean the Escape key. I mean characters that were used to signify
something special. An exclamation point, or a dollar sign, or any number of
things would actually be intercepted before they reached the destination
system. As a result, you could type them all you want, but they might not
actually show up in your password.

Current systems

There’s no reason for that today. I’m not saying that’s the way things work
today. But it definitely is the way that many systems were architected in the
past. Unfortunately, many of these systems that have come forward, even into
this 21st century, are now built on some of the same code (or built with some
of the same assumptions) that were requirements back in the day.

It’s unfortunate. I really don’t know a way around it other than
complaining. Perhaps, I suppose a certain amount of public shaming of these
ISPs… but the point is that you have to work with what they give you.

Creating secure passwords

If what they give you isn’t sufficient for your needs, then you need to take
extra steps. Extra steps including perhaps not using them for some of the
more secure things that you might consider using them for. Or perhaps not using
them at all and switching to a different system.

What we often say is that length is more important than special characters.
So, I’m actually not as concerned about the number of special characters that
are disallowed as long as the password can be made significantly longer.

By significantly longer, I’d say (I don’t know…) a minimum of 20 to 30
characters at least. Some way that you can actually type in a “pass phrase,”
because those are going to be significantly harder for hackers to crack in many
different approaches.

Unfortunately, like I said earlier, we have systems like Hotmail where
they’ve artificially limited the length of the password. I don’t know what
their current stand is on special characters; I believe they allow special
characters. But if a password is going to be artificially restricted to some
annoyingly short length…

Length restrictions

Sixteen isn’t quite annoying other than the fact it shouldn’t need to be
there. I know of systems that do allow only eight-character passwords! With
those, you should definitely be allowed to, and you should be using
random characters (special characters and so forth) to keep your password as
secure as possible.

But the short answer is… aside from historical reasons (aside from the
complexity of changing existing systems, large existing systems), there really
is no good excuse for not allowing both lots and lots of special characters
and having exceptionally long passwords as an option for most users.

Next from Answercast #59 – I’m told that IE8 is using too much memory, what do I do?

Subscribe to Confident Computing! Tech problem solving & safety tips & a weekly confidence boost in your inbox every week.

I'll see you there!

10 Reasons Your Computer is Slow

Slow Computer?

Speed up with my special report: 10 Reasons Your Computer is Slow, now updated for Windows 10.

NOW: name your own price! You decide how much to pay -- and yes, that means you can get this report completely free if you so choose. Get your copy now!

5 comments on “Why do some ISPs disallow special characters in passwords?”

  1. The worrying thing is that if they restrict the types of character or the length then it implies they are storing your password “in the clear”. I.e. they are storing a copy of your password in their database in a human readable format. If their database is compromised then so is your password. If you happen to use that password on other systems then that has also been compromised.
    They should ‘hash’ the password. ‘Hashing’ is applying a transformation to the password to turn it into a very very long string of characters and store that string in their database. When you subsequently log in with your password the same transformation is applied and compared to the answer. If the database is compromised the ‘bad guys’ only have your hash – if they use that as your password it will always fail.
    Even this isn’t totally secure so the best system includes adding ‘salt’ to the hash. This prevents ‘rainbow’ attacks.
    The first step is to stop storing passwords in the clear and it is really disappointing that Microsoft have not upgraded Hotmail’s security since they bought it years ago.
    To answer the question (and to re-enforce Leo’s answer) the ISPs don’t allow these characters because their security is lapse!

    I don’t believe that these limitations imply that the system is storing the password in plain text. There may be other limitations in their architecture – between password acceptance and eventual storage – that impose these length and character set limitations. You’re correct that salted hashes are the proper way to do this, but I believe that the only way to determine whether a password is kept in plain text is to perform a password retrieval – if they can tell you your password, then they have it in plain text. If they don’t (i.e. they only allow you to set a new password) then no assumptions can or should be made.

    Leo
    08-Oct-2012

    Reply
  2. Of course you’re right Leo. We can’t deduce they are storing passwords in the clear. My logic was flawed. I don’t know of another reason for limiting the size of the password and the type of character but that doesn’t mean there isn’t one!
    Even my logic fails to explain why certain characters are not allowed. Perhaps it is a limitation of the algorithm they use to generate the hash (which may well be salted later) and therefore of much less a security concern.
    On to your point about them sending the password to you in the clear: this proves that they store it in the clear but, unfortunately, just because a company does NOT send the password in the clear doesn’t mean it isn’t storing it!
    Takeaway: use good but DIFFERENT passwords everywhere.

    Reply
  3. As an ex mainframe programmer, I can tell you that in the old days the problem was with character sets, where in different character sets (you could think of them as languages, though that’s not accurate), while all of the standard simple characters (A-Z, a-z, 0-9) were represented by the same internal computer (hex) codes, there were different representations of special characters in different character sets. So if you happened to use a terminal with a foreign keyboard, your password might not be recognised, even though you pressed the ‘right’ keys. I’m not that familiar with character sets on the PC – my impression is that this is no longer an issue.

    Reply
  4. i tried to signup google email for me, they are too convoluted and stopped my clock by giving me ONLY a choice of name that showed me wrong and was not my style and was not what i wanted,

    since i could not code it so not easily copied i just quit trying and thus use yahoo the easiest to signup for and so far as i am concerned the best on the net,

    plus they got the best yahoo finance page where any idiot can comment without having to go to idiotville such as facebutt twit or other that require my password,

    only an idiot more of an idiot than me would give their password to anyone, even tho any hacker can get it and most other sites already have it, it is the demand that frosts me,,,,

    who are they to demand my password??? never gonna happen, i just click out of any that require my password, maybe foolish but i sleep better knowing i did not give it away and did not obey a dictatorial scam outfit like facebutt twit and the like…. ho hum

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.