Why Amazon Didn't Fix Its Password Glitch: A Longtime Hole

Amazon's recent, much publicized password glitch—where access was granted for older passwords even if the password typed in didn't exactly match the password on file—will probably leave Amazon customers safer, as they rush to change their passwords. But the reason the hole has existed for years—and still does today, for the millions who have yet to change their Amazon passwords—points to an inherent weakness in the password system.

Given that Amazon didn't know what the real passwords were—a time-honored security technique in and of itself—it was powerless to fix the hole for its customers. Amazon could have forced all customers to change their passwords right away—innocuously painting it as a routine security measure, which wouldn't have been far from the truth. But instead the E-tailer opted to let the problem work itself out, as customers gradually changed their passwords on their own. (To borrow a screen-written line from an adaptation of A Christmas Carol, Amazon hoped to let time wipe out the problem at no cost to the company.)

Now that the issue has been publicized, it could mean that other E-tailers might see a wave of attacks where thieves try to guess customers' passwords—just in case those E-tailers have the same type of password problem that Amazon had.

That's not the only irony surrounding the Amazon glitch, which essentially meant that all Amazon passwords more than three years old were relatively easy for a thief to guess. It appears that Amazon really did try to improve its password security, thereby making newer passwords much more secure. But there was nothing Amazon could do to solve the problem for longtime customers.

The glitch, which was first reported by a commenter on Reddit, works like this: It appears that, until about three years ago, Amazon's systems automatically shortened each password to just the first eight characters, then converted any alphabetical characters in the password to uppercase before encrypting them. The practical effect: Every password was case-insensitive, and anything after the first eight characters was ignored.

So, for example, if a customer chose a relatively secure password of "Fred1967H6i9W4#@|," it shouldn't have been possible for a password-guessing program to crack the password easily—this password is 17 characters long and contains plenty of obscure character combinations. But because of Amazon's password conversion, anyone using the customer's account name could log in with any password where the first eight characters matched. "Fred1967H6i9W4" worked, but so did "fred1967wxyz," "FRED1967password," "fred1967" and "FRED1967."

In a brick-and-mortar store, it's nice for retailers to show a little flexibility when it comes to customers and security. In E-tail, that just doesn't work.

Shortening passwords that way wasn't uncommon when Amazon started doing business in 1995. But more than a decade later, such a practice is clearly outdated. Amazon won't comment on the situation. It appears, however, that sometime in 2008, Amazon began to treat new passwords differently: no more truncation; no more conversion to uppercase. In short, new passwords aren't shortened.

Unfortunately, there was no way for Amazon to smoothly convert the old passwords to the new system. That's because Amazon didn't have the old passwords in their entirety—just the first eight characters of each password.

So Amazon couldn't automatically upgrade "Fred1967H6i9W4" because it only stored "FRED1967." If Amazon made a guess at what the rest of the password might be—or just moved "FRED1967" into the new password system—it would almost certainly have been wrong, and the customer wouldn't have been able to log in.Why couldn't Amazon just automatically convert a customer to the new password system by, say, capturing the complete password that a customer typed in, authenticating it using the old system, and then storing that full password in the new system? Because the customer might easily have typed the password wrong just that once. Then any automated password-entry systems, such as Web browsers set to remember passwords, would no longer work.

And, understandably, Amazon didn't want to simply force customers to change their passwords. That's a standard tactic IT departments use with employees, but it doesn't exactly make customers feel warm and friendly toward an E-tailer.

Ironically, a customer who did a password "change" to exactly the same password would end up in the new system but with his old password—this time in a more secure form.

There's another bit of irony, too: Customers who asked Amazon's customer support desk about the glitch were reportedly told that they should try changing their passwords. The support people didn't know why that should work. But, naturally, when the password was changed, it would be moved into the newer, no-shortening-or-case-conversion password-security system.

Amazon won't say what, if anything, it plans to change in the wake of all the publicity about its password security. But the publicity alone will likely prompt many customers to change their passwords, just to be safe.

All the publicity could also mean that old-fashioned password-cracking attempts could see a revival at other E-tail sites in the next few weeks. Think about it from the thief's point of view: If Amazon had an outdated password system that it didn't fix until a few years ago, how many other E-tailers—especially older sites—are still using the same type of easier-to-guess approach?

And even if those older E-tailers have converted to a stronger system, how many of them—like Amazon—concluded there was no good way to move customers over to the more secure approach and decided just to let customers become more secure when they changed passwords—if they ever got around to doing that?

For a thief, that's probably worth a look. And that could mean more E-tailers soon scrambling to explain why their passwords are so flexible.