5 ms·
This seems odd, especially coming from Troy: > Take, for example, the following password: > P@ssw0rd > This is a good password because it has lowercase, uppe
by miles 6y ago
This seems odd, especially coming from Troy:
> Take, for example, the following password:
> P@ssw0rd
> This is a good password because it has lowercase, uppercase, numeric and non-alphanumeric values plus is 8 characters long.
Calling it a good password, even with the later caveat that "hackers have worked [character substitution] out", does not seem to make sense:
It's Time to Kill Your Eight-Character Password https://www.tomsguide.com/us/8-character-password-dead,news-29429.html https://www.tomsguide.com/us/8-character-password-dead,news-... "Any eight-character password hashed using Microsoft's widely used NTLM algorithm can now be cracked in two and a half hours."
- samsgro 6y agoTroy is sarcastically explaining that this is a "good password" according to older password complexity rules, but a horrible password given predictable password substitution logic. Password complexity rules accomplish little. Obligatory xkcd comic link: https://xkcd.com/936/ https://xkcd.com/936/
- i-am-curious 6y agoWon't you add a seed before hashing. With a 8 byte seed that's 16 effective characters, probably impossible to crack.
- kohtatsu 6y agoYou add a salt, which is stored plaintext alongside the password.
- __s 6y agoBy seed you mean salt. Salts are stored in plaintext, so they don't increase the entropy of the password. Instead they make it so that each password hashes uniquely so that everyone with the same password gets different hashes. They also mitigate rainbow tables by effectively requiring the attacker to create a rainbow table per target
- i-am-curious 6y agoYes I meant salt! AFAIK such a fast cracking of hashes is mostly via rainbow tables, salts defeat those easily.
- SloopJon 6y agoI'm not sure what you mean by a seed. If you mean a salt, that's no more secret than the hash. It has the effect of requiring you to crack each hash separately, but doesn't make it any harder to crack an individual hash.
- zemnmez 6y agoThe issue here isn't so much the password strength, but the algorithm used to hash the password. A good password hashing algorithm like scrypt takes a long time to make a single guess, even if the input is simple, and since every single password has its own salt, it has to be re-calculated for every password, even if all of them are 'P@ssword'.
- kohtatsu 6y agoIt's up to the site operator to tune the cost; it's generally recommended 100-250ms depending on how much you're willing to make your users wait. FWIW there are ASICs now that will get orders of magnitude faster hash throughput than your servers.
- zemnmez 6y agoThis is true, except for scrypt, which is very tough to make ASICs for. As for bcrypt, it's true that ASICS can go very fast, but you ultimately have a massive advantage as defender here. An attacker needs to try billions of combinations per hash, but you can simply take a whole second of CPU time (scaled to your current load, roughly) if you want -- that's not a lot for a user, but for an attacker taking several billion of even half a second makes cracking very, very hard.
- a1369209993 6y agoYou aren't technically wrong (the algorithm can add some number of bits of effective security), but that's still horribly misleading. "P@ssw0rd" is emphatically not a good password, and "because it has lowercase, uppercase, numeric and non-alphanumeric values" does not (significantly) improve a password. See https://www.explainxkcd.com/wiki/index.php/936 https://www.explainxkcd.com/wiki/index.php/936 for a specific example. (But note that you need eight or more words if the attacker has password hashes that they can attack offline.) Salting adds 0-2 words worth of security depending on how many users can (no longer) be attacked with each hash invocation and a good (slow and optimization-resistant) algorithm adds 1-2 words depending on how slow you're willing to make login. Edit: I think TFA might be being facitious in the claim "This is a good password because it has lowercase, uppercase, numeric and non-alphanumeric values plus is 8 characters long.", although it doesn't communicate that very clearly.
- ysavir 6y agoI took that to be a sarcastic comment on how many sites will see that password and say "wow, strong password!" when it's actually one of the most crackable passwords available.
- blendergeek 6y agoThis comment is definitely sarcastic. He continues: > The hackers have worked this out too which is why arbitrary composition rules on websites are useless.
- sigzero 6y agoI think he was only saying it was "good" because it had those elements and not because "P@ssw0rd" is a "good password".
- edoceo 6y agoI thought so too. Good as in, example of what a good-ish password might look like, not this is literally a good password
- kohtatsu 6y ago8 characters is short, especially when all the characters are directly derived from a word.
- prophesi 6y agoYeah I think that whole paragraph needs to be rewritten; one could also come away thinking that substituting characters in a word with symbols is also a "good" password.
- everdrive 6y agoThis might be a stupid question, but why doesn't Microsoft just use a better hashing algorithm?
- hnick 6y agoAlthough, in some cases just having the hash is enough: https://en.wikipedia.org/wiki/Pass_the_hash https://en.wikipedia.org/wiki/Pass_the_hash User PC gets owned, attacker elevates to admin, now has access to IT Support hashes cached locally which can be sent to other devices directly to authenticate.
- tialaramex 6y agoThis is ultimately an interesting question. The immediate answer is that Microsoft built the systems this is discussing last century and at the time this wasn't highlighted. Both the LANMAN and NT schemes are from the era when Microsoft was just getting into stuff like remote authentication that we now take for granted as a baseline. Even though it's probably true this is an unsatisfying answer because the Unix password hash (at least a decade older) is stronger, using 12-bit salt and a deliberately pessimized hash algorithm. A further (and longer lived) excuse for Microsoft is that they strongly favour backwards compatibility which has seen their company be very successful over a long period. Having accepted this poor scheme in the 1990s it was hard to give it up and annoy millions of users. One of the grave mistakes Microsoft made a little later is that they began relying upon these password hashes as secrets themselves, and that's where it starts to get interesting, because that's a sign that key people at Microsoft didn't know that they didn't know what they were doing. That is, not only did Microsoft not have people who were competent to do this properly, they didn't even have people who knew they needed those people.
- nerdponx 6y agoThis is a good password because it has lowercase, uppercase, numeric and non-alphanumeric values plus is 8 characters long. Yet somehow, your human brain looked at it and decided "no, it's not a good password" because what you're seeing is merely character substitution. The hackers have worked this out too which is why arbitrary composition rules on websites are useless. Either you stopped reading 1 sentence too early, or you are posting in bad faith to try and smear Troy.
- srtjstjsj 6y agoOr Troy wrote a confusing sentence that didn't make sense.