Discussion about this post

User's avatar
The Pachyderminator's avatar

I think the XKCD approach is okay if done properly. The linked article assumes that users are thinking up with the words themselves, which is a terrible idea. (First rule of security: you do NOT have a good RNG in your brain.) If the words are *properly* randomly chosen from a list of 10,000 common words, using a computer or something like diceware (in which you roll physical dice to choose a word from a premade numerical list), there are 10^16 possibilities, roughly equal to a 9-character alphanumeric string, such as Gg6sPTrBb. This isn't *great* (I prefer at least 20 characters), but it's still better than Tr0ub4dor&3, let alone password123.

You can improve on this further with a larger word list. For one site, choosing random words from the entire online OED, I used to have a password consisting of a technical legal term followed by three dialectical words that I've never heard in real life. (My account on that site is long since deleted, but it still seems like a good idea not to say exactly what the words were. You'll have to take my word for it that it sounded funny.)

2FA has pitfalls that should be mentioned. For one thing, SMS (text messaging) is NOT secure; it can be intercepted relatively easily via SIM hijacking. A real 2FA app (e.g. Google Authenticator) is better, but my bank, for example, only allows 2FA via SMS and voice calls. That's security theater.

For another thing, there's a real tradeoff between security and accessibility. Phones get lost, or stolen, or broken, or have dead batteries, or don't have service in a particular area, etc. To require 2FA is to allow the possibility that you won't be able to get into your account in some unusual circumstance when you really need to. IMO, this tradeoff should be discussed honestly, and it shouldn't be assumed that everyone has a working phone on them at all times.

As for the system described here, it's impressive, but sounds to me like an insane amount of mental effort, to the degree that the nuisance of creating a new password would discourage me from signing up for any new sites. Personally, I'm very happy with Bitwarden, which, like all reputable password managers, uses end-to-end zero-knowledge encryption, meaning that if even if an attacker was able to exfiltrate data from Bitwarden's servers, they'd be unable to read any of it. Bitwarden does require 2FA when accessed from an unrecognized device, but allows email to be used as the second factor. This means that memorizing two passwords, one for Bitwarden and one for email, allows me to log in without my phone if need be.

Expand full comment
Daniel Quinan's avatar

I built a custom “module” approach that essentially hybridizes 3 (the XKCD approach) with 2 = building out a “security alphabet” of 26+ unique words that I can quickly associate with each letter of the alphabet, then string those words together (e.g. for CVS, spell out CabbageVacationSushi) and THEN tack on some slightly more default characters and numbers, etc.

Expand full comment
19 more comments...

No posts

Ready for more?