MoreWhite
a web 2.0 blog
A typical web user is subscribed to many services, each with its own username and password combination. Remembering them all can be impossible for many, and we end up using the same combination for many services as a result. This means that if one service gets hacked, it’s all hacked, busted, ruined, sobbing, tears, whatever. [wired: 1, 2]
Single sign-on (SSO) services like Passport have failed miserably, now covering only the Microsoft county. However, a need for a distributed SSO service seems to be growing rapidly. Several people have already started developing solutions, including, last but not least, myself.
Two general approaches seem to exist, as with anything on the PC: server and client side. The server side approach as employed by Just1Key stores your usernames and passwords on some super-bullet-proof-invisible-to-hackers server. The problems are obvious:
- such servers don’t exist
- getting people to trust you with their usernames and passwords
If we can assume that the secure server is more secure than the user’s PC, then it seems like the most secure option, at least in theory.
The client-side approach is fairly new, and generates a unique password for each service from your master password and service domain using MD5. An excellent flash movie about it is here. This elegant technique seems to be pioneered by Nic Wolff, who has developed a bookmarklet implementation. A browser extension is also made by PasswordMaker that aims to be more secure. Similar stuff is also available as a GreaseMonkey script for Firefox.
However, the client-side approach seems to be very insecure: a brute-force should allow an attacker to crack the master password knowing just one generated password. Of course, SHA v2 algorithms can be used instead, but the solution is still insecure due to low entropy in a typical password (i.e. its just too short and thus brute-forceable). Techniques for increasing password entropy are discussed here (PDF), and boil down to two approaches:
- making the password longer by adding a password suplement (stored on the server-side)
- recursively applying the hash function k number of times
Cracking the second approach involves guessing the parameter k. If this parameter is stored securely and is large enough, than a brute-force attack may take much longer, hopefully making it unfeasible. Moreover, if k = f(password), we do not need to store k at all, whilst making the solution increasingly secure. Note: if f is a secret server-side function, the system becomes really secure.
I don’t discuss any client side software apps on purpose, as I don’t see it as a practical solution – installing an application just to access your usernames and passwords on a different machine isn’t practical, what if you want to surf, smoke and fly in a coffee-shop?
Personally, I don’t see what the big issue is with storing passwords on the server-side. If they are encrypted using the master password, then thats secure enough for me: the master password can only be cracked if both the service and password server are cracked.
How about you? How do you manage your passwords?
I actually have 2 usernames and passwords: 1 for important services, and another for stuff i dont care about…
If one of your passwords is compromised then all your others will be. That could happen a lot more easily than you’d hope…
But I do the same because I don’t want to entrust all my usernames/passwords to a piece of software on my pc because I might need them somewhere else + I may on a whim one day reinstall my OS (happens quite often as I have a love / hate relationship with linux) and forget that all my passwords were stored on my PC.
My solution:
Keepass (www.keepass.com) on a USB stick. It is free (software), portable and powerful.
I run a similar idea, one password, uber case sensitive, and totally random, for my important stuff, (personal email, amazon.com etc) And there there’s the “slapdick” email. For faux email accounts, signing up for forums, etc.
While the previous comment’s link is totally bogus - I’m wondering if the thumb-pad activated password holder is worth the $40. Thought, all you’d need is a greesy finger and some latex gloves to fraud that one.
Maybe there is no password protection. And the best that you can do is come up with a case sensitive random one. In the end, the less symbolism your passwords have, the less likely someone will crack them, and furthermore the less likely you’ll have to come up with 2, 3, 10 additional passwords.
Demonstrate the spirit of free style…
My site is about the freestyle culture website, welcome to interested friends to visit!…
The most followers bookmark…
Exchange their ideas under the release of everyone’s ideas to creative freedom to fly!…