this post was submitted on 20 Jul 2024
1624 points (98.6% liked)

linuxmemes

21205 readers
88 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 28 points 3 months ago* (last edited 3 months ago) (8 children)

    Words are the least secure way to generate a password of a given length because you are limiting your character set to 26, and character N gives you information about the character at position N+1

    The most secure way to generate a password is to uniformly pick bytes from the entire character set using a suitable form of entropy

    Edit: for the dozens of people still feeling the need to reply to me: RSA keys are fixed length, and you don't need to memorize them. Using a dictionary of words to create your own RSA key is intentionally kneecapping the security of the key.

    [–] [email protected] 53 points 3 months ago (4 children)

    That's only really true if you're going to be storing the password in a secure vault after randomly generating it; otherwise, it's terrible because 1) nobody will be able to remember it so they'll be writing it down, and 2) it'll be such a pain to type that people will find ways to circumvent it at every possible turn

    Pass phrases, even when taken with the idea that it's a limited character set that follows a semi predictable flow, if you look at it in terms of the number of words possible it actually is decently secure, especially if the words used are random and not meaningful to the user. Even limiting yourself to the 1000 most common words in the English language and using 4 words, that's one trillion possible combinations without even accounting for modifying capitalisation, adding a symbol or three, including a short number at the end...

    And even with that base set, even if a computer could theoretically try all trillion possibilities quickly, it'll make a ton of noise, get throttled, and likely lock the account out long before it has a chance to try even the tiniest fraction of them

    Your way is theoretically more secure, but practically only works for machines or with secure password storage. If it's something a human needs to remember and type themselves, phrases of random words is much more viable and much more likely to be used in a secure fashion.

    [–] [email protected] 11 points 3 months ago (1 children)

    Generally people don’t memorize private keys, but this is applicable when generating pass phrases to protect private keys that are stored locally.

    Leaving this here in case anyone wants to use this method: https://www.eff.org/dice

    [–] kautau 4 points 3 months ago (1 children)

    And if you don’t feel like using physical dice:

    https://diceware.rempe.us/#eff

    [–] [email protected] 2 points 3 months ago

    Thanks for that! I recommend anyone who wants to minimize risk to follow their instructions for self-hosting:

    Is the source code available and can I run my own copy locally?

    Yes! The source code is available on Github. Its a simple static HTML application and you can clone and run it by opening the index.html file in your browser. When run locally it should work when your computer is completely offline. The latest commits in the git repository are signed with my public code signing key.

    [–] [email protected] 5 points 3 months ago (2 children)

    We are talking about RSA though, so there is a fixed character length and it isn't meant to be remembered because your private key is stored on disk.

    Yes the word method is better than a random character password when length is unbounded, but creating secure and memorable passwords is a bit of an oxymoron in today's date and age - if you are relying on remembering your passwords that likely means you are reusing at least some of them, which is arguably one of the worst things you can do.

    [–] [email protected] 3 points 3 months ago

    You didn't have to call me out like that.

    [–] [email protected] 2 points 3 months ago

    Okay, that's fair... Not sure how I missed that context but that's totally on me

    [–] Fetus 3 points 3 months ago

    Most of my passwords are based around strings of characters that are comfortable to type, then committing them to muscle memory. There's a few downsides to this:

    • If I need to log in to something on mobile and don't have a proper keyboard with me, it's tough to remember which symbols I've used

    • I share some of my logins with friends and family for certain things, if they call and need to re-enter a password, it's usually impossible to recite it to them over the phone (most of my shared logins have reverted back to proper words and numbers to make it easier for the others)

    • If I lose an arm, I'll probably have to reset all of my passwords.

    But yeah, words alone provide plenty of possibilities. There's a reason cryptocurrency wallets use them for seed phrases.

    [–] ClamDrinker 2 points 3 months ago (1 children)

    And even with that base set, even if a computer could theoretically try all trillion possibilities quickly, it’ll make a ton of noise, get throttled, and likely lock the account out long before it has a chance to try even the tiniest fraction of them

    One small correction - this just isn't how the vast majority of password cracking happens. You'll most likely get throttled before you try 5 password and banned before you get to try 50. And it's extremely traceable what you're trying to do. Most cracking happens after a data breach, where the cracker has unrestricted local access to (hopefully) encrypted and salted password hashes.

    People just often re-use their password or even forget to change it after a breach. That's where these leaked passwords get their value if you can decrypt them. So really, this is a non-factor. But the rest stands.

    [–] [email protected] 2 points 3 months ago

    That's fair

    It's still a rather large pool to crack through even without adding more than the 1000 most common words, extra digits, minimal character substitution, capitalization tweaks, etc

    [–] [email protected] 8 points 3 months ago (1 children)

    Good luck remembering random bytes. That infographic is about memorable passwords.

    [–] [email protected] 5 points 3 months ago (1 children)
    [–] [email protected] 3 points 3 months ago (1 children)

    you memorize the password required to decrypt whatever container your RSA key is in. Hopefully.

    [–] [email protected] 0 points 3 months ago (1 children)

    Sure but we aren't talking about that

    [–] [email protected] 2 points 3 months ago (1 children)

    I think this specific chain of replies is talking about that actually.. though it is a pretty big tangent from the original post

    [–] [email protected] 0 points 3 months ago* (last edited 3 months ago) (1 children)

    "can you string words to form a valid RSA key"

    "Yes this is the most secure way to do it"

    "No, it's not when there is a fixed byte length"

    -> where we are now

    [–] [email protected] 2 points 3 months ago

    the direct chain I can see is

    "can you string words to form a valid RSA key"

    "I would hope so, [xkcd about password strength]"

    "words are the least secure way to generate random bytes"

    "Good luck remembering random bytes. That infographic is about memorable passwords."

    "You memorize your RSA keys?"

    so between comments 2 and 3 and 4 I'd say it soundly went past the handcrafted RSA key stuff.

    [–] shrugs 4 points 3 months ago* (last edited 3 months ago) (1 children)

    so you are saying 44 bits of entropy is not enough. the whole point of the comic is, that 4 words out of a list of 2000 is more secure then some shorter password with leetcode and a number and punctuation at the end. which feels rather intuitive given that 4 words are way easier to remember

    [–] [email protected] 0 points 3 months ago (1 children)

    No im saying if your password size is limited to a fixed number of characters, as is the case with RSA keys, words are substantially less secure

    [–] [email protected] 1 points 3 months ago (1 children)

    Not if you’re considering security gained versus difficulty of remembering.

    [–] [email protected] 2 points 3 months ago

    You don't memorize RSA keys

    [–] Jtotheb 4 points 3 months ago (1 children)

    Sounds like a good point, but claiming that “Words are the least secure way to generate a password 84 characters long” would be pointless.

    [–] [email protected] 1 points 3 months ago

    and some people will try to just hold a key down until it reaches the length limit.. which is an even worse way to generate a password of that length

    [–] [email protected] 2 points 3 months ago

    That's why you need lots of words. (6) If you combine that with a large word list it gets very secure.

    [–] [email protected] 1 points 3 months ago* (last edited 3 months ago) (1 children)

    Edit: Oops forgot what the topic was.

    [–] [email protected] 0 points 3 months ago* (last edited 3 months ago) (1 children)
    1. we are talking about RSA keys - you don't memorize your RSA keys

    2. if you rely on memorizing all your passwords, I assume that means you have ample password reuse, which is a million times worse than using a different less-secure password on every site

    [–] [email protected] 1 points 3 months ago* (last edited 3 months ago)

    Derp. Forgot where I was.

    I find passphrases easy to remember and I have several. I appreciate the concern, but I understand basic password safety.

    [–] raspberriesareyummy 1 points 3 months ago

    you are at the same time right, but ... wooosh.

    [–] [email protected] 1 points 3 months ago (1 children)

    character N gives you information about the character at position N+1

    There is no point in a password cracking attempt during which the attacker knows the character at N but not the character at N+1

    [–] [email protected] 1 points 3 months ago

    If you know the key is composed of English language words you can skip strings of letters like "ZRZP" and "TQK" and focus on sequences that actually occur in a dictionary