5 ms·
That's exactly what I'm doing. I think stcredzero is concerned about the plaintext password passing through the pipes. In this case, unique salts and hashes a
by t0pj 18y ago
That's exactly what I'm doing.
I think stcredzero is concerned about the plaintext password passing through the pipes.
In this case, unique salts and hashes are used to simply protect the database; when the data is stolen, a rainbow attack will not effectively work.
Hashing those passwords also protects the user who uses the same email/id/password everywhere; if your db is compromised, you don't also compromise the user's identity (e-mail accounts, banking, etc).
It depends on the app, but I also think sending salts to the client and doing some md5/javascript in the browser is generally overkill.
- apgwoz 18y agoSSL certs are like $15/year. Not sure why people don't just get them instead of playing with md5/javascript...
- tptacek 18y agoCould not agree any more strongly about this. You still need to use bcrypt to store passwords, because you will eventually screw up Unicode and SQL on a complicated form somewhere and give up your whole password database. But if you're willing to spend ever a quarter person/day on password auth, there is no economy at all to skipping SSL.
- stcredzero 18y agoYou can't rely entirely on SSL. You're still vulnerable to man in the middle attacks, among other things.
- gojomo 18y agoCould you explain further what sort of MITM attack you mean for which SSL doesn't help? (Are you assuming users who don't insist on an SSL connection with a recognized domain?)
- stcredzero 18y agoDNS poisoning enables a MITM attack even if you're connecting to your safe, legitimate domain.
- brlewis 18y agoSSL throws all sorts of warnings if the cert doesn't match the domain.
- stcredzero 18y agoThe problem with Man in The Middle attack is that it's a fundamental problem. It's on the same level as the Two Generals problem. In a way it's a variation of it. The only way to deal with it is to have a 2nd channel. Everyone who has to deal with security would be well advised to actually study this, and not blithely wave it away: http://www.webmasterworld.com/website_technology/3711575.htm http://www.webmasterworld.com/website_technology/3711575.htm Read the whole thread and learn. SSL can only protect savvy users. Depending on how sensitive your data is, this can still be a problem. Combining this with DNS poisoning would be particularly bad.
- tptacek 18y agoThis isn't true at all. Mutual key agreement between two unrelated parties talking for the first time is hard problem. SSL gets rid of that problem by having every participant in the system rendezvous with 10+ CA's before they talk to anyone. The SSL problem is mutual key agreement between two related parties communicating for the first time, and it's an easy one to solve. There is a really persistant meme that SSL breaks when the DNS breaks, because all that happens when your certificate doesn't match or verify is that you get a warning. That warning says SSL isn't working anymore. You're not supposed to click through it. Real applications that use SSL under the hood don't pop up warnings: they freak out and quit.
- Hexstream 18y ago
- tptacek 18y agoNo, the whole point of SSL is that it is not vulnerable to MITM attacks, because the client carries anchor keys.
- stcredzero 18y agoIf you're connecting to a website that looks the same, but the URL is slightly different, it won't help. What's more, the URL doesn't have to be different for the entire user's session.
- tptacek 18y agoIf you want to call that a "man in the middle attack", I won't argue, but as far as I'm concerned, that's a UI problem.