[personal profile] usernamenumber
People who use RCN's my.rcn.com site for cable/net billing and whatnot take note: I forgot my password and called their support line per instructions on the site. After asking me two security questions they'd set up with me when I started the service (one of which I got wrong when trying to answer this time), the rep proceeded to read me my password over the phone.

Moral of the story: if you have a password with RCN, don't use it anywhere else.

I want to be clear that the rep was quite refreshingly friendly and helpful, so this isn't a complaint about their service per se, but I'm reeeeally not a fan of any system that stores passwords like that, because it makes it way easier for someone who has broken into RCN's systems to then get to go on field trips looking for other sites where RCN customers have used the same username/password combos.

A note for non-technical folks who might be wondering how else you could do this... I'm glad you asked! Would you believe that there's actually an elegant and (relatively) secure way to validate passwords without having them stored anywhere but in users' heads?

Many systems use something called a hashing algorithm. "Hashing" is fancy talk for doing some math that turns a password into a long string of numbers and letters, which we call a hash. For example, every time you run "blahblahblah" through the SHA1 algorithm you get back the hash "968af690a7bcca77c9261e395885af77bc661d1c". This hash gets stored instead of the original password.

You may be thinking that this looks a lot like encrypting the password, but there's a big difference: encryption implies the ability to decrypt, and hashing is strictly a one-way trip. At least in theory, you can't reverse the process to figure out what the original password was if you have a hash (though people have figured out ways to "cheat" some hashing algos). Think back to my concern above about people breaking into RCN and you can see why this is helpful.

But if all that's stored is a hash of your password instead of the password its self, how can they tell when you've entered it correctly? Remember that running the same password through the same algorithm should always produce the same hash, so if I type "blahblahblah" at the password prompt, the system just SHA1's what I've entered and compares the result to the hash they have on-file. If what I typed hashes to "968af690a7bcca77c9261e395885af77bc661d1c" then they know I entered the right password, even though that password isn't stored anywhere. Brilliant!

This system has the disadvantage of meaning that tech support folks can't just read you your password if you forget it, but that's easily solved with other mechanisms like password-reset emails, and the benefits make those very worthwhile IMO.

Oookay, so there's an impromptu lesson on hashes that I didn't expect to write when I sat down this morning; and that's just scratching the surface-- I haven't even gotten into random salts, hash collisions, or the implications of modern computing power vs brute-force attempts to crack hashes. All of these, just to be clear, would really be needed for this to be considered complete even as an introduction to the subject, but I only have so much time so there we are. :)

In completely unrelated news, for the last two days I have spent almost literally every waking minute (excepting rehearsals) developing training materials at work. I think I am going mad.

Date: 2012-05-02 02:57 pm (UTC)
From: [identity profile] natbudin.livejournal.com
This might actually be illegal in Massachusetts under the data protection laws, since hashing is an industry-standard security practice and RCN has your home address and phone number.

Date: 2012-05-02 03:40 pm (UTC)
From: [identity profile] real-green-tea.livejournal.com
*"Don't take my word for it!" Check out these links to read more!*

Somebody's got a serious case of teacher-mode today. Being immersed in developing training materials makes sense.

Date: 2012-05-02 08:54 pm (UTC)
From: [identity profile] metahacker.livejournal.com
augh augh augh

Date: 2012-05-03 03:11 am (UTC)
From: [identity profile] vortexofchaos.livejournal.com

Just make sure your password is at least 12 characters long, preferably 14 or longer, and not a word found in the dictionary, or a simple 133t translation of a word in the dictionary, or a word with 1 at the end. The latter things are the sorts of things that brute-force searches look for. Well, that and correcthorsebatterystaple.

Once you get past 14 characters that aren't dictionary words, you're at the far end of the bell curve in the password strength category.

Can you tell I sit with crypto folks around me?

Edited Date: 2012-05-03 03:12 am (UTC)

Date: 2012-05-03 09:53 pm (UTC)
From: [identity profile] natbudin.livejournal.com
But even if you pick a good password, your account is still vulnerable to someone getting ahold of, say, a backup of the authentication database. That wouldn't be the case with bcrypt or salted hashes.

Date: 2012-05-05 12:12 am (UTC)
From: [identity profile] vortexofchaos.livejournal.com
Very true. Unfortunately, that's not something we can do much about. We have to rely (shudder) on the security protocols of others.

Profile

usernamenumber

October 2016

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 6th, 2026 03:05 pm
Powered by Dreamwidth Studios