Nowadays, most people use password managers (hopefully). However, there are still some passwords that you need to memorize, like master password (for a password manager), phone lock, wifi password, etc.
Security wise, can passphrase reach the strength of a good password without getting so long that it defeats the purpose of even using it?
I’d love to hear from someone well versed in security if this is legit or significant weaknesses exist, but the math seems to check out as far as I can tell.
For what a civilian target would worry about, using sufficiently long passwords is your best defense. Complexity is barely important.
111111111111111111111111111.1111 is an excellent password.
Everyone should Ctrl+f their password here. But also wait the 10 minutes it'll take to load the whole thing.
If your pw is on this list, change it immediately.
If it's less than 8 chars? Change immediately. If it's less than 10 chars? Change... Now.
If it's less than 14 chars, consider just making your password longer.
This advice will save more people in its simplicity than saying more.
Want a smidge more?
If you're paranoid, take a password that you think is decent, then insert it here, then use the output as your password.
Most times, pws aren't stored in plain text, they're stored using that algorithm. So, if your password is 'password', hackers night easily be able to see that your passwords encrypted value is exactly what that link will output if you put in 'password'. If your password is on that huge list from the beginning of the post, they can easily decrypt the encrypted password, because these passwords's hashes are known.
So, use the hash itself as a password.
Hell, throw a comma at the beginning to throw it off.
That's basically a Diceware passphrase. And, it's kinda ok. The amount of entropy is pretty significant (close to what the comic lists, if the Wikipedia article has it right). And it's really easy to add more entropy. I often recommend passphrases to my users (I work in Cybersecurity) and use them myself. Take a sentence, with spaces, capitals and punctuation. Now throw in a few numbers for fun and stop worrying about brute force attacks, until some idiot decides unsalted MD5 is perfectly fine for storing passwords. Most such passphrases will blow right past the 4 words in that comic and are very easy to remember. Even better, make that the passphrase for your password vault (oh look a plug for KeePass). Then have the rest of your passwords all be unique, 20 character jumbles of letters, numbers, and special characters.
Also, enable Two-Factor Authentication (2FA) wherever possible. Even if it's just a One Time Password (OTP) sent via SMS (which is a shit way to do 2FA), that's better than no 2FA.
I feel like you could still run into the issue of dictionary attacks. For example before it brute forces it's way to the word horse it might just try the word horse.
Because a hash doesn’t work like a password cracker in a movie. It can try horse, but unless it gets the whole thing correct it doesn’t know any individual part of it.
Dictionary attacks have been around for a long time, but It's still quite strong especially if you throw in a number.
A fully random 8 character password has about 10^14 brute force combinations (assuming upper and lower case + the normal special characters). 4 words choosen at random from the top 3000 words (which is a very small vocabulary really) is 10^13 dictionary attack combinations, add a single number or account for variations in word style (I.e maybe don't always use camel case) and you've matched the difficulty. If you use 5 words it's 10^17 combinations.
(This is basicly copy pasted from a comment I made earlier)
If your services are storing passwords properly with a salt, dictionary attacks (including rainbow tables) are just as time-consuming to perform, since the salt renders each password hash unique; even for the same passwords.
So the same principle still stands; the longer your password, the longer to guess - as long as the encryption-at-rest is done correctly.
In the linked comic, Munroe assumes an attacker knows your method. The attacker isn't brute forcing character-by-character, but word-by-word, with an attacker who already knows you're using 4 random words.
i also dont really get it. the bitwarden pw tester says it will take 14 years to crack "its.a.beautiful.day", write beautiful with 2 t`s and it will take "centuries"? 🧐
but yes i still use them. but always with numbers and random characters in between and words from multiple languages or fantasy words.
According to security.org survey data, in 2021, 22% of Americans said they used a password manager, but in 2023, the percentage increased to 34% with a further 10% of users saying they use a security passkey or other physical password device.
So in the most generous interpretation of that, just over half of people are not doing anything secure.
Yes, I use passphrases for stuff like my password manager, my computer login, and my disk encryption. For my login (which I type a lot) it's four words; for occasional stuff like disk encryption it's six. I'm sold on the argument that a passphrase is way easier to memorize compared to a comparably-secure random password.
The number of possible passphrases is the number of words in the dictionary you use to generate passphrases raised to the power of the number of words in your passphrase (assuming a small chance of reusing the same word in a passphrase). I use this command to generate a random phrase using my stock OS word list:
grep -v '[^a-z]' $WORDLIST filters out words with apostrophes or other weirdness. On my system the filtered list is 77,866 words.
For four words, 77,866 ^ 4 ≈ 3.7 × 10^19 possible passphrases.
Compare that to randomly-generated passwords. I'll assume that random lowercase & uppercase letters, numbers, and symbols add up to 46 characters. The number of combinations is 46^n where n is the length of the password. A four-word passphrase is the same order of magnitude as secure as a 12-character password, which has about 9 × 10^19 possible combinations.
I'm sure that if you make up your own passphrases instead of randomly generating them then the security is much lower.
I do use a password manager, and a lot of my passwords are automatically generated piles of random ASCII.
There are of course passwords I have to key manually a lot; especially the master key of my password database. I often use pass phrases for these. The ones I have to commit to memory, or even need to key manually reading with my eyes from my database, or in the case of my Wi-Fi passwords tell to other people, I make these fairly human readable/typeable. Trying to key lFqvC3]gI~l8p2V6TvTY&p in is a pain in the ass even in a font that renders that uppercase I and lowercase L as different glyphs. Something like corrEct_horse battery staPle, well I worked in an underscore and two capitals in something I can still touch type pretty effectively. Don't use correct horse battery staple as a password; it's burned.
I found it amusing when the security team in my company sent me parts of my password in plaintext saying it was insecure (because it didn't have special characters in it) and recommended I use a password manager
The account is used for the ancient VPN software and all of our ssh management tools
And windows login if you're using windows.
Yeah good luck using a randomly generated password that you have to type in multiple times everyday
The account is used for the ancient VPN software and all of our ssh management tools
And windows login if you’re using windows.
If you're using one password for all those things, you're doing it wrong. Even if the passphrases you pick are easy to remember and type, they should be distinct.
I made a passphrase for my laptop in bitwarden and didn't think I'd remember the 10 word passphrase but after a few days of typing it I now remember it. All other alphanumeric passwords I would need a keyboard in order to type it out if I remember
Ok, this is a reasonable community to ask. What's a FOSS pword manager that is easy to use, reliable, likely to be around and working in 5 years, and won't leave me feeling shit up a creek if my phone dies or I'm using a public terminal with software installation restrictions?
Been a few years, but I had not found something that worked well for me.
There are probably more that these two out there but the two I know of that fit this bill are Bitwarden and KeePass. The latter comes in two flavors, the original KeePass that kinda looks like shit and tries to stay lean and defer niche features to plugins, and the fork KeePassXC that tries to give it a sleeker UX with more features natively baked-in. I will refer to both simply as "KeePass" for the rest of this comment.
that is easy to use
"Easy to use" is relative. If you're savvy enough to know what FOSS software even is, to care about using it, and to find your way onto an experimental platform like Lemmy to ask about it, I'd say youre more than capable of handling either of the above choices with ease.
reliable, likely to be around and working in 5 years
I'd wager that on both Bitwarden and KeePass.
and won't leave me feeling shit up a creek if my phone dies or I'm using a public terminal with software installation restrictions
Bitwarden offers free cloud hosting and a web interface. As long as you have access to a browser and an Internet connection, you have access to your Bitwarden key store.
KeePass is offline-only and requires specialized client software to read its key store file format. Though, since all it is is a file, you can use simple and straightforward methods to make it accessible wherever you need it. Copy it to a flash drive. SCP it between devices. Put it on a cloud service like Dropbox. You have options. It's just up to you to use them.
Bitwarden also lets you save locally stored files and manage them like KeePass, if you're into that.
Honestly, since each can be made to more or less behave like the other, which one you pick largely comes down to taste. Bitwarden is more turn-key if you want cloud hosting, KeePass makes you work for it. Bitwarden is a company providing a premium service you can buy, while KeePass is a completely free project funded only by good will donations.
ProtonPass. They’re a company thats been around for a while now, has multiple revenue streams, and has a food track record on security and open sourcing.
Another one is Bitwarden but iirc they only have the one revenue source although iirc its a tiny team so they dont need much
I use passphrases for frequently used logins and randomly-generated passwords of varying lengths for everything else. I also use a hardware key and/or 2FA for everything that allows it.
I'm conversationally fluent in a few different languages (enough to order food, greet people and ask directions to the shitter, anyway) and I can swear in another half-dozen languages so I tend to mix'n'match my passphrases with different foreign words. Bonus points for accented characters. That's probably not gonna fool a dictionary-based attack but since I live in a (mostly) English-speaking country, it might make it interesting for the English-only speakers to try guessing.
At work, we're held to the outdated policy set by the IT department so it can be difficult to be creative. On top of that, they force a password change whenever someone sneezes so I see a lot of sticky notes on monitors and under keyboards.
I do. It's worth it because there are some sites that are so outdated that their version of security is to not allow pasting (or filling in via pw manager) on password fields, so I have to manually type them in. Typing in a passphrase is easier and faster than a random string.
For my personal life I use a password manager, like most people in this thread. For my master password I really want a secure password (LastPass really reinforced the value of that), so I use a passphrase that is then hashed using an algorithm I can do in my head, so it's a long string of high entropy alphanumeric gibberish that I can remember easily.
At work my IT dept seems to be stuck 10 years in the past, so they have now implemented a policy that our passwords must be at least 16 characters. They keep ignoring my suggestions to get some form of corporate password manager, so I have my work passwords stored in a text file that I'm not allowed to have any form of file encryption so it just sits there in my documents folder. It's probably not going to be the source of our company getting penetrated, but I don't consider it secure.
I do like pass phrases because I find them easy to remember, but my current prime work one is really easy to make typos, so I now use the reveal password button more than I ever have before.
At work, if you have the option, consider using KeePassXC or similar software. That will give you a properly encrypted file with secrets and also password-manager features.
Sure. You can either increase the dictionary of possible words, or increase the number of words or both. Eventually it will become unwieldy. I don't bother with passphrases though.
I generate passwords of sufficient entropy (random ASCII), store them securely (encrypted, key memorized, on dedicated hardware), and never re-use them. I don't trust password managers unless open-source. I don't need convenience -- to some extent, it's my job to manage other people's secrets. Since I'm being paid, no need for shortcuts.
Same. Pass phrases seem like a solution to a problem that doesn't exist anymore. We don't live in a world where people should be reusing and memorizing strong passwords. We live in a world with frequent user data theft and scams to glean your login info. Just last week, I started getting random login attempts from around the world for a Microsoft account I haven't used in over a decade. No idea when or how that info got leaked.
And people aren't equipped to memorize a different passphrase for all 30 of their accounts.
So, we should do what we always do: Get machines to make the issue easier for us to manage. Right now, that means password managers with a strong master password and secure storage.
In the future, maybe we'll have some kind of creepy central government ID based password-less login method. Who knows?
Edit: Besides, most services require ThIrTeEn dIgIt lOnG PaSsWoRdS WiTh fIvE SpEcIaL ChArAcTeRs aNd sIx nOn-cOnSeCuTiVe dIgItS Of pI ThAt dOeSn't mAtCh aNy kNoWn dAtE Or eVeNt oR SpEcIaL StRiNg oF NuMbErS. It's just too annoying, and I'd have to memorize all the special characters in addition to the phrase.
Yeah, I hate that. Forcing me to input special characters makes my password slightly less secure. Of course I'll include them by default, but now an attacker can eliminate all passwords without special characters. Most people just put the number 1 or a period at the end of their existing, frequently re-used password anyway. Or capitalize the first or last letter. So it doesn't make it really harder to crack dumb passwords.
It's like we've optimized passwords to be hard for humans to remember, but easy for humans to guess!
Those government id based login methods are quite common and very secure. Belgium has a system that used your ID, your phone number and your phone to verify your login. A lot of EU banks have been using a OTP generated by a dedicated hardware that looks like a tiny calculator. The Netherlands has a dedicated app that is verified by your government id and that uses a qr to verify your identity.
Test it here. Passphrases of 3 words take centuries to crack, without any numbers or capital letters. Passwords with numbers, capital letters, and symbols need ~14 characters to be that secure. If you need to memorize it, a passphrase is far superior. Add in a number, or random capitalization, or a misspelling and your security goes even higher.
One caveat I'd want to note is for the underlying methodology that uses:
As this study by Joseph Bonneau attests, people frequently choose common phrases in addition to common words. zxcvbn would be better if it recognized "Harry Potter" as a common phrase, rather than a semi-common name and surname. Google's n-gram corpus fits in a terabyte, and even a good bigram list is impractical to download browser-side, so this functionality would require server-side evaluation and infrastructure cost. Server-side evaluation would also allow a much larger single-word dictionary, such as Google's unigram set.
As another example, the passphrase "This password is good" is claimed to take centuries to crack, but if the search space were narrowed down from a sequence of words to grammatically correct sentences, certain passphrases would be much weaker than this would show.
You should indeed use a password manager to randomize the generated password phrases. Bitwarden adds capitals, numbers and other characters to the password phrases.
This is basically based on the idea that if the password is so strong I can no longer input it, it has no inherent value anyways. A phrase makes it easier to use entire sentences as a password and readily recall them.
Of course, these are but a minority, the rest are passkeys or passwords a manager will fill in.
I do use passphrases, but I combine with randomness.
I memorize one random 8 character string to use with something more memorable.
Then when I need more security, or I feel that random 8 character string is no longer safe (password leak/hacked), I memorize a new 8 character string.
Then I combine them.
Then I memorize a new 8 character string and mix it in.
It's a process built up over years that ingrains into memory. Sometimes I forget the order, or if i added spaces, or did no spaces. Luckily, as long as I am sure of the discrete segments, I can remix them to recreate until it works (in a reasonable time).
My last addition was when I made the move from Lastpass to another password manager, after their endless bad news.
I use a passphrase in order to get into my password manager, but that's it. Because my password manager handles all the rest of them and makes it way more random than I could ever dream of.
Bitwarden can generate password phrases. Some other password managers too. In the occasion you have to type out your password a password phrase is a lot easier.
I'm a big car guy so I typically use car makes and models but never ones I actually own, usually I'll go with some like SubaruImprezaWrxSti2012 except I scramble the order of the words and throw the year in a random position. This is really easy to remember while also being long and insane enough to be difficult to guess.
I have one that I like to imagine as secure as fully randomised passwords. It's four words but, because I'm a cool pwnz0r, the second and last word are written in leetspeak. The phrase is super easy for me to remember and the leetspeak portion has become muscle memory by now. But I only use it for my password manager. For everything else it depends if there's a good chance I'll need to login via my phone (no pw manager there). If yes, I use one of my couple rather-safe passwords. If no, I'll let KeePass2 go to town with a random one.
Oh and I'm subscribed to the haveibeenpwned leakletter, so i know as soon as possible when definitely to change my password.
Use diceware to generate a nice long nonsense passphrase, and use that for your password manager master password. Keep it written down somewhere until you are sure you've memorized it.
Yes, on my password manager and computer logins. I love them because they are so easy to memorize and still secure enough to use in these scenarios. My Laptops are at home or with me. Someone cracking that is highly unlikely and I don't want to look up and manually type random passwords from my PW manager every time. 1Password itself needs a second long password for new devices to login, so I'm not worried about that. Everything else has very long random passwords which I store in 1Password.
I use diceware passphrases for any passwords I need to type in (ssh keys, logging in, decrypting my hard drive, master password for password manager, etc). It's the most secure way of setting a password you have to remember and type. Especially since my auto generated passwords contain special characters I wouldn't be able type without just using those ways of entering some escape sequence and typing a unicode sequence.
Define 'strength'... against a dictionary attack? Brute force? Social engineering? 'forgotten password/recovery questions' hack? Stolen session cookie? Keyloggers?
If you're not aware of the above, take some time to learn about each of those things and how good security practices counter each one.
The question is kind of like, 'can you bake a cake?' .. probably yes, but it's really missing a lot of essential information, like what kind of oven, what ingredients do you have, what's your skill level, do you have arms, etc.
Any 'passphrase' can be secure or insecure, depending on the other surrounding factors. 2FA solves many security weaknesses.
This is the security industry's dirty little secret that doesn't get talked about in public enough.
All the excellent security on a site, including complex passwords, perfectly secure storage of a salted hash of that password, multifactor authentication using TOTP, etc., is completely moot if someone can just hit "I forgot my password" (or "I don't have my second factor") and bypass it by doing an email loop. You instead rely on the security of the user's email account.
I use a leetified (using my own custom flavor) passphrase as my master password - I can type it really quickly and it's obscure as hell so I'm happy with it.
@Wistful@discuss.tchncs.de Why would the passphrase being long defeat the purpose of using it. That's half the purpose of using passphrases.
Make sure to use made up words or proper nouns and put a pin in an unexpected place. That's an easy way to change it without replacing the whole passphrase
I was thinking it would be easy to brute force if just instead of guessing character by character you do word by word...but I guess just adding one special character randomly would make it a non issue.
There are a lot more words than there are characters, even including special characters, so if it is actually randomly generated from a large dictionary, a passphrase is much harder to guess
Brute force is only a thing when either they have the password hash, or the login portal is susceptible to brute force (ie shite). Both cases are rare.