6 ms·
The Dirty Truth About Web Passwords
- swombat 16y agoI thought they had them hashed and salted, but the crackers are using rainbow tables and brute force to crack them?
- deleted 16y ago[deleted]
- gthank 16y agoNo, they weren't. According to the "Release Notes", they were using a DES-based crypt scheme. Read up on tptacek's (http://news.ycombinator.com/user?id=tptacek http://news.ycombinator.com/user?id=tptacek) comments on the matter.
- pietrofmaggi 16y agoYes, as you told, I was writing from my memory and I remembered having read DES encryption with password in source somewhere. But It seems it was a DES based hashing: http://www.duosecurity.com/blog/entry/brief_analysis_of_the_gawker_password_dump http://www.duosecurity.com/blog/entry/brief_analysis_of_the_... [edit] deleted the parent post because I could not find the article I remembered (which was probably wrong anyways).
- tedunangst 16y agoDo you have a reference for that? Everything I've read (not really authoritative) indicated they were using the standard crypt interface, which does use DES, but is a lot closer to salted hash then encrypted. I can see the issue getting confused either way (people see DES, don't know what to think), but using crypt seems a lot more likely.
- Xk 16y agoBrute force? Yes. Rainbow tables? No. That's the purpose of a salt. The table needs to be several orders of magnitude bigger.
- gchucky 16y agoHas there been an explanation as to why they were using DES? Gawker started in 2003, a year after DES was superseded by AES, and there were plenty of more secure algorithms being used at the time.
- wccrawford 16y agoAs I pointed out on another post yesterday, there's no central repository for security information. Everyone is left up to their own devices to determine the current best practices. And then implement them. The fact that it was 'started' a year after AES doesn't really mean much. (And 'started' or 'launched'? Those are quite different.)
- pietrofmaggi 16y agoSorry but I don't agree here. If you have to develop a secure solution you make some research and choose what you think is a good solution (and if it is something outside your field you study/ask). In 2001 I've to implement a secure solution for a mobile platform, I choose Rijndael (them picked by NIST for AES). My previous knowledge of encryption algorithm was near zero. And then if you make the wrong decision, on something important as security for a public website, over the years you iterate (come on, till 2003 nobody internally thought it was a must to fix this mess?).
- ZoFreX 16y ago> If you have to develop a secure solution you make some research and choose what you think is a good solution (and if it is something outside your field you study/ask) If everyone did this we wouldn't have these discussions so often. The problem is that people think they know about crypto, and think they know what they're doing, and probably won't believe otherwise until they get smashed wide open like this. This applies to almost all areas of knowledge, it's just particularly damaging in crypto as it's arcane and very sensitive to changes, often in very subtle ways.
- rahoulb 16y ago
- w1ntermute 16y ago> Let's say you have good old traditional username and passwords on 50 different websites. That's 50 different programmers who all have different ideas of how your password should be stored. I hope for your sake you used a different (and extremely secure) password on every single one of those websites. Because statistically speaking, you're screwed. A great reason to use a password manager, like LastPass. I started using it ~1 year ago, and now each of my web logins has a different password. It's just one key combo to generate a new random password and insert it into the password field when signing up at a new site.
- ZoFreX 16y agoOf course, you do now have to trust LastPass! I do, and it's fantastic the difference it makes in these situations. No sick feeling in your stomach, no rush to change passwords everywhere, a few clicks and the problem is solved. Extra credit: use their security challenge to verify you're not using the same password on more than one website: https://lastpass.com/?securitychallenge https://lastpass.com/?securitychallenge
- thalur 16y agoI've been looking at switching to a password manager like that, but I've been having trouble knowing how to pick one that a) I can trust and b) is good. I was thinking of giving up and just using a plain text file inside a truecrypt file.
- stcredzero 16y agoKeePass. Using KeePass 1 format means I can run my password crypt on Windows, OS X, and Linux. I just keep the database file on Dropbox.
- ZoFreX 16y agoA lot of people seem to do this, so I'm curious - what are the advantages compared to e.g. LastPass? Also, how well does it hold up if you used two devices simultaneously?
- dholowiski 16y agoWhile I do agree with the sentiment of the article, as a developer I see it as a risk to hand over user authentication to a third party. Once I do that, I'm subject to their terms of service (which usually say 'we can do anything we feel like, any time we want'), their outages, and their bad business decision (What happens to all the Facebook connect accounts when Facebook goes bankrupt?). Would I even trust Google to handle Authentication? Maybe, but remind me again how I contact Google Tech Support when my authentication mysteriously stops working? On the other hand, I had left comments on Gizmodo using Facebook Connect, so from a user perspective it worked out well for me.
- andreyf 16y agoWhat happens to all the Facebook connect accounts when Facebook goes bankrupt? Government bailout. Too big to fail.
- JeremyBanks 16y agoOpenID delegation is useful for this purpose. If you have any domain you can use it as your OpenID and specify it to delegate the actual authentication to another service provider, that you can change at any point. I used to use MyOpenID, now I use Google, but it's the same login.
- yock 16y agoCould this please be the warning shot fired across the Internet's bow to get Hacker News to fix the OpenID login?
- tomjen3 16y agoPersonally I am going to use a super weak password on most sites from now on with the understanding that anybody may hack it. 90% of sites it doesnt matter anyway. Then I can focus on the rest,which actually matter to me.
- city41 16y agoI've been doing this for years. I have two categories of passwords, and for any site I don't care about it gets one of my weak passwords. But even still, I believe I am going to switch to 1Password or something similar.
- pietrofmaggi 16y agoI've 1Password since the beginning of this year and it's definitely the best utility I've ever used for this problem. Currently I'm using it on chrome, safari and iOS 4.2 using dropbox sync. It works like a charme!
- kenjackson 16y agoJust downloaded KeePass. Going to try it out. If it works, I'm going to start getting my non-tech savvy friends and family members moved over.
- metageek 16y agoI do this, but one of the sites I don't care about has graduated to "do care about", and may have been using the same lightly customized password as Gawker. Lesson: I should pay more attention to which sites are important and need to be upgraded.
- pavel_lishin 16y agoAs soon as you realize a site is important, update your password. That should solve the problem, right? Unless someone breaks in between the time that you realize it's important and the time you want to change your password.
- tptacek 16y agoGawker used encryption incorrectly. The odd choice of archaic DES encryption meant that the passwords they saved were all truncated to 8 characters. No matter how long your password actually was, you only had to enter the first 8 characters for it to work. So much for choosing a secure pass phrase. This analysis is roughly 165 degrees misguided. Yes, the archaic password hash Gawker used prevented Gawker users from taking advantage of long passphrases on Gawker properties. But Gawker's properties were completely compromised anyways, so even an uncrackable passphrase wouldn't have helped you. Meanwhile, that same archaic hash mitigated the compromise of all their password hashes, such that if you actually used a passphrase, it can't definitively be cracked from those hashes (there are obviously infinitely many passphrases that could hash to a given crypt(3) hash, only one of which would be your phrase).
- mrcharles 16y agoCan you please elaborate on this? Exactly how did it prevent you from using a longer password? The best I can google are problems with DES ECB which encrypts in 64bit blocks but this would still allow for longer passwords, would it not? What am I missing?
- tbrownaw 16y agoI think systems generally only use one block, and so ignore anything after the first 8 characters. Even if they were to use multiple blocks, I think most simple ways of doing that would only add linear difficulty to cracking rather than exponential.
- tptacek 16y agoDES crypt(3) isn't a block cipher. It's a (crappy) hash that uses the guts of the DES algorithm. Don't think of it like AES or Blowfish or whatever. It doesn't "encrypt" passwords. What it specific does is encrypt a single all-zeroes block using a key derived from your password. There are, for what it's worth, a lot of hashes that are --- in the heart of hearts --- block ciphers. Some of the SHA3 finalists fit that mold. People are very confused by this whole "Gawker is using DES" narrative. But Gawker isn't "using DES"; they're using DES crypt(3), which is a construction derived from DES internals. That's not at all the same thing. In this specific case, because DES crypt(3) is in fact a crappy hash, passphrases are irrelevant; crypt(3) truncates them to fit a DES key. The rest of the data for your passphrase is never even hitting the hash, so a stolen hash can't possibly disclose the whole passphrase.
- antirez 16y agopoor man's password manager: select one strong password that you are able to keep in mind. Then for every site you use, set the password to what is the output of: echo "strong_pass:sitename:strong_pass" | sha1sum Note: if you are using mac os x use "shasum" instead of "sha1sum". Make sure to don't expose your secure password of course. It's also a good idea to use a completely different strong password just for email. p.s. it's worth to note that since there are tons fo SHA implementations for Javascript it's possible to build all this as a web application where all the business happens in the client. The web app will just allow you to add a number of site names so that you don't have to type the site name by hand all the times. Btw the world would be a better place with all the auth cookies set to expire on 2036...
- jules 16y agoWhy use the strong_pass twice?
- antirez 16y agootherwise there are attacks possible with this simple schema. Check why it's a good idea to use an HMAC for serious applications instead of "secret:...mytext..." for more details (long story short, it's possible to continue the SHA1 computation resuming from where it ended and appending more text). It's really a problem in different cases, not in our case of generating passwords, but it's a good practice to use always HMAC or when it is not practical like in this case at least putting the secret before and after.
- hammock 16y agoThis is a brilliant idea!
- bluger 16y agoRelated - http://news.ycombinator.com/item?id=2000833 http://news.ycombinator.com/item?id=2000833
- sjs 16y ago
- ihumanable 16y agoIs there a space for some startup to just offer an internet driver license. That would be all they do, no ulterior motive, just identity service. Rock Solid Security + Developer Friendly API = Win? There are probably adoption issues and centralized authority fear. It seems though that other things have consolidated nicely (a ton of comments use Disqus now), maybe its time for someone to create a startup that solves this very real problem.
- izak30 16y agoI think that they were called clickpass, a YC company, who was acquired by synthasite.
- anonymous246 16y ago"At that point, unless you picked a strong, unique password on every single site you've ever visited, the situation gets ugly." PSA: PwdHash FTW. It solves exactly this problem. Firefox: https://www.pwdhash.com/ https://www.pwdhash.com/ Chrome: https://chrome.google.com/extensions/search?itemlang=&hl=en&q=pwdhash https://chrome.google.com/extensions/search?itemlang=&hl... iPhone has several apps that do this (I use Keygrinder).
- DanielBMarkham 16y agoDoes the need to post a comment on Gizmodo really justify polluting the world with yet another username and password? Let me see if I understand this logic correctly: password reuse is a critical internet problem because it puts all of your sensitive stuff into one key, your re-used password. And the way to address this problem is to put all of your sensitive stuff into one third party whom we trust more, for purposes of our conversation we can just call them "the monopolist". I don't think so. How about a distributed password system where I personally own the code and it kicks off a unique key for me for every web site I sign up to? After all, I've gotten pretty good about carrying around important things in my life. I use something called a wallet. The concept has been working fine for thousands of years. Whereas the idea of having somebody else keep secrets for folks really doesn't have that great of a sterling track record, as the Gawker situation shows. This was a great article in that it's starting to show people how screwed up things are. But the conclusions (to me) seem all out of whack.
- hammock 16y ago"How about a distributed password system where I personally own the code and it kicks off a unique key for me for every web site I sign up to?" Isn't that the way it's already supposed to work? The sites only store the salted hash (unique key)
- DanielBMarkham 16y agoI could have probably said that better. What I meant was that I own the process for making my own key, including salting, hashing, random-number generation, or any damn other thing I choose. Instead of me just having to c come up with semi-plaintext passwords or passphrases that I can remember, I can just carry around something that can provide me all the keys I could ever want. Perhaps I could keep a backup of this device somewhere in the cloud. Perhaps not. But with a true distributed, non-predictable password generating system, there is no one crack that can effectively get to all the plaintext passwords. Big benefit there, and keeping something like a dongle in my wallet matches very well with the usual way things of value are already being kept. I'm perfectly happy with taking responsibility for salting, obscuring, and otherwise encrypting my passwords for various sites. In fact, I'd rather do it than have the site owner do it (or not). The site owner can continue using the password as a check for access, it works the same as before, he's just not responsible for taking something easy for me to do (like remembering some kind of passphrase) and storing that somewhere. Or, in other words, instead of traditional mostly-English passwords each of us will just have our own system of generating rather large impenetrable blobs, which will then be used for authentication. If you crack Gawker the only thing you get of mine is some huge random pile of bytes which I only use for Gawker, not potentially the keys to every other site I use on the internet. I will personally assume responsibility for distributing passwords to tens of thousands of internet sites. This is simple crypto. I do not need to put all of my eggs into one basket, no matter how large, secure, warm, and fuzzy that basket is.
- ComputerGuru 16y agoGawker saved passwords. You should never, ever store user passwords. If you do, you're storing passwords incorrectly. Always store the salted hash of the password -- never the password itself! What? No... Gawker stored hashes. EDIT It really galls me that Jeff can make an entire post around such an easily verified and debunked lie. Was he too lazy to check? Does he know what DES3 crypt is/does? Or did he think it would simply look good as the first of his three points in order to make a sensational story? Gawker really doesn't deserve the trash talk they're getting, their db architecture was far more sound than a lot of others out there... and, as Thomas points out, their use of "archaic" hashing techniques is in some ways a blessing. Their db designers definitely get a "PASS" even if they didn't use something like bcrypt which would have given them an A++ on this assignment.
- algorias 16y agoGetting a "PASS" is not good enough when it comes to security.
- ZoFreX 16y agoFrom his past posts on the topic, Jeff really doesn't know crypto (which he has freely admitted).
- tptacek 16y agoCareful; DES3 is one shorthand for Triple DES, and DES crypt(3) (what they used) is the DES-based hash documented in section 3 of the Unix man pages. =)
- ComputerGuru 16y agoThanks. Wrote that out in a hurry before leaving, and it's now too late to edit it though :(
- Xk 16y ago> Gawker saved passwords. You should never, ever store user passwords. If you do, you're storing passwords incorrectly. Always store the salted hash of the password -- never the password itself! Uh, no? They did save the hashed+salted version. The only problem is that they used crypt, from 20 years ago, instead of something like bcrypt.
- starting_over 16y agoAre you sure it was salted? john the ripper took all of 24 minutes to crack my password.
- Xk 16y agoYeah, I am. I'm looking at the database right now. I would assume they had more, faster computers. And the passwords they broke were only the simple ones -- I would assume your password is not password1.
- bcl 16y agoI'd much rather depend on 50 strong passwords than 1 strong password to protect my online presence. Depend on Google, FB, etc. and when that 1 site or auth protocol is cracked ALL your logins are compromised. By spreading the risk around you are better protected from these kinds of issues.
- jmg 16y agoThanks, Jeff. Could you also please lecture us on properly backing up a site?
- alanh 16y agoHe's still calling it an "Internet driver's license"? Gretchen: That is so fetch! Regina: Gretchen, stop trying to make fetch happen! It's not going to happen!
- irons 16y agoThe label is a small problem. The concept is a big problem. http://www.quora.com/What-s-wrong-with-OpenID http://www.quora.com/What-s-wrong-with-OpenID "The short answer is that OpenID is the worst possible 'solution' I have ever seen in my entire life to a problem that most people don't really have. That's what's 'wrong' with it."
- jrockway 16y agoThat's insightful. You're right, most people don't have a problem with passwords. They use "password" everywhere and it's never a problem!
- quicksilver03 16y agoWhat's sad is that he's proposing to stop password reuse and replace it with a more complicated password reuse, with the involvement of a third party.