2

What the title says: Assume Alphanumeric characters. Some years back I vaguely remember that 8 characters was not really sufficient protection against brute-force, but any more characters it got to a point of reasonable security(?)

If found this answer which states that in 2018 a single GPU could crack an 8-character password hashed with SHA-256 in ~26 days.

In the meantime some years passed, and supposedly computing power got bigger. What is a reasonably secure password length in 2020? Or in other words, how high have security researchers put the bar on brute-force in the meantime?

kutschkem
  • 666
  • 5
  • 12
  • Note that thanks to password managers, you don't need to compute an answer to your questions: you can always use very long passwords even when they would not really be needed. – reed Sep 22 '20 at 14:15
  • 2
    Use a password manager, create 64-byte passwords and never ever have to worry about password length anymore. – ThoriumBR Sep 22 '20 at 14:28
  • This is unanswerable. If the website uses stores passwords in plain text then length is irrelevant. If they use a modern hashing algorithm then the given benchmark is useless. A password manager can generate and remember arbitrarily long passwords, so it doesn't matter anyway. The only reason it matters is because some sites will require you to type it in, so keep it short enough (16 characters?) that you won't go crazy when that happens – Conor Mancone Sep 22 '20 at 14:37
  • @ConorMancone I thought what is secure might be unanswerable, but maybe the second question (basically, what is definitely unsecure given current state of the research). – kutschkem Sep 22 '20 at 15:31
  • @ThoriumBR It's still interesting to know what progress has been made by research and technology. – kutschkem Sep 22 '20 at 15:35
  • It does not matter much. If a site uses plaintext to store the passwords, a 64 byte password and a 6 byte is the same. So use a password manager, an unique long password for each service, and don't care. – ThoriumBR Sep 22 '20 at 18:53

3 Answers3

4

If found this answer which states that in 2018 a single GPU could crack an 8-character password hashed with SHA-256 in ~26 days.

This benchmark is irrelevant to determine the necessary strength of a password, at least if a proper password hash is used. The benchmark is more useful to show that SHA-256 is not a useful algorithm for password hashing.

What password length is sufficient in 2020?

The length is not that much relevant either. If you pick from a small but known set of easy to remember but long passwords all what matters is the size of the set, not the length of the password.

If you use a password generator instead to create random alphanumeric passwords, then 8 is still sufficient, assuming proper password hashing (i.e. slow hashes with unpredictable salt). Of course, nobody can really remember such random passwords, so better use a password manager. And if you use a password manager anyway you can also use longer passwords with no additional efforts and thus reduce your risk in case bad password hashing was used.

Steffen Ullrich
  • 190,458
  • 29
  • 381
  • 434
  • 1
    8 random alphanumeric chars are "sufficient" today? I wouldn't be so sure. I might be wrong, but the last time I checked, I guess it was more like 12-14 chars in general, but then it depends on the context and how you define "sufficiently secure". – reed Sep 22 '20 at 14:29
  • @reed - 8 random alphanumeric characters are about 48 bit security. This is small with fast hashes, but fine with proper password hashes which are deliberately designed to be slow. – Steffen Ullrich Sep 22 '20 at 14:32
1

What password length is sufficient in 2020?

Keep in mind that context makes a difference.

The speed measures of a wall of overclocked GPUs cooled in a cryogenic bath glowing with an ethereal blue light dedicated to one purpose are interesting, but that assumes full off-line unconstrained brute forcing where success is determined by a comparison to a short list of possible decode headers.

On the other hand an on-line password guess will be constrained as a minimum by server response time many orders of magnitude slower than the glowing GPU wall. Additionally, if the server is reasonably configured it should block after too many attempts. In this context, a reasonably small password that avoids the most common passwords is likely sufficient.

In either case, consider what you're trying to protect and don't reuse passwords.

user10216038
  • 7,933
  • 2
  • 16
  • 20
1

Length is not the sole measure. Consider password complexity too. If you use a relatively short password that is fairly random and contains "special" (not alphanumeric) characters, a brute force attack will take ages because the password won't be found in dictionaries. The only way to crack it is to try all combinations in the largest range of characters - not just a-z or 0-9.

But using special characters is not good enough, for example P@ssword is not a good password because plenty of people use it, therefore it is present in cracking dictionaries. A long password will do not good if it is present in dictionaries. I have had a look at some dictionaries on my hard drive and there are many "long" passwords like administrator123 listed (16 characters).

On the other hand a passphrase long enough could offset the lack of complexity while being more memorable. Although I too am convinced that using a password manager is the best solution.

It depends on other parameters too. Say you have somebody's password hash and you want to reverse the password. Relevant factors are: how was the password hashed (and salted), whereas an old hash like unsalted MD5 would make the hacker's job probably easier. It's not just the password but how it is stored and processed in your system.

Kate
  • 7,092
  • 21
  • 23