Here is the text of the NIST sp800-63b Digital Identity Guidelines.

  • Lvxferre [he/him]@mander.xyz
    link
    fedilink
    English
    arrow-up
    63
    ·
    1 year ago

    Reworded rules for clarity:

    1. Min required length must be 8 chars (obligatory), but it should be 15 chars (recommended).
    2. Max length should allow at least 64 chars.
    3. You should accept all ASCII plus space.
    4. You should accept Unicode; if doing so, you must count each code as one char.
    5. Don’t demand composition rules (e.g. “u’re password requires a comma! lol lmao haha” tier idiocy)
    6. Don’t bug users to change passwords periodically. Only do it if there’s evidence of compromise.
    7. Don’t store password hints that others can guess.
    8. Don’t prompt the user to use knowledge-based authentication.
    9. Don’t truncate passwords for verification.

    I was expecting idiotic rules screaming “bureaucratic muppets don’t know what they’re legislating on”, but instead what I’m seeing is surprisingly sane and sensible.

    • frezik@midwest.social
      link
      fedilink
      English
      arrow-up
      18
      arrow-down
      1
      ·
      1 year ago

      NIST generally knows what they’re doing. Want to overwrite a hard drive securely? NIST 800-88 has you covered. Need a competition for a new block cipher? NIST ran that and AES came out of it. Same for a new hash with SHA3.

    • catloaf@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      I hate that anyone has to be told not to truncate passwords. Like even if you haven’t had any training at all, you’d have to be advanced stupid to even come up with that idea in the first place.

      • Amanduh@lemm.eeBanned from community
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Can you elaborate further? Why would someone want to truncate passwords to begin with?

        • essteeyou@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          1 year ago

          To save a few megabytes of text in a database somewhere. Likely the same database that gets hacked.

          • orclev@lemmy.world
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            Which shouldn’t even matter because passwords are salted and hashed before storing them, so you’re not actually saving anything. At least they better be. If you’re not hashing passwords you’ve got a much bigger problem than low complexity passwords.

      • einlander@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Microsoft used to do that. I made a password in the late 90’s for a we service and I found out that it truncated my password when they made it after it warned my my password was too long when I tried to log in. It truncated at 16 characters.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          The weirdest one I found was a site that would only check to see if what you entered started with the correct password. So if your password was hunter2 and you tried hunter246, it would let you in.

          Which means not only were they storing the password, but they had to go out of their way to use the wrong kind of string comparison.

    • MajorHavoc@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago
      1. Don’t truncate passwords for verification.

      It needed to be said. Because some password system architects have been just that stupid.

      Edit: Fear of other’s stupidity is the mind killer. I will face my fear. My fear will wash over me, and when it has passed, only I will remain. Or I’ll be dead in a car accident caused by an AI driver.

      • Dhs92@programming.dev
        link
        fedilink
        English
        arrow-up
        15
        ·
        1 year ago

        I’ve seen sites truncate when setting, but not on checking. So you set a password on a site with no stated limit, go to use said password, and get locked out. It’s infuriating

        • Ashelyn@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Years back, I had that happen on PayPal of all websites. Their account creation and reset pages silently and automatically truncated my password to 16 chars or something before hashing, but the actual login page didn’t, so the password didn’t work at all unless I backspaced it to the character limit. I forgot how I even found that out but it was a very frustrating few hours.

      • Buddahriffic@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Yeah, I think 7 and 8 both cover that. I recently signed up for an account where all of the “security questions” provided asked about things that could be either looked up or reasonably guessed based on looked up information.

        We live in a tech world designed for the technically illiterate.

        • eronth@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          I usually invent answers to those and store those answers in a password manager. Essentially turns them into backup passwords that can be spoken over the phone if necessary.

          Where was I born? “Stallheim, EUSA, Mars”

          Name of first pet? “Groovy Tuesday”

          It’s fun, usually.

    • dual_sport_dork 🐧🗡️@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Don’t bug users to change passwords periodically. Only do it if there’s evidence of compromise.

      This is a big one. Especially in corporate environments where most of the users are, shall we say, not tech savvy. Forcing people to comply with byzantine incomprehensible password composition rules plus incessantly insisting that they change their password every 7/14/30 days to a new inscrutable string that looks like somebody sneezed in punctuation marks accomplishes nothing other than enticing everyone to just write their password down on a Post-It and stick it to their monitor or under their keyboard.

      Remember: Users do not care about passwords. From the perspective of anyone who isn’t a programmer or a security expert, passwords are just yet another exasperating roadblock some nerd keeps putting in front of them that is preventing them from doing whatever it is they were actually trying to do.

      • Starbuncle@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Everyone I’ve spoken to who has a password change rule just changes one character from their previous password. It does NOTHING.

        • dual_sport_dork 🐧🗡️@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          That works great until some dickhole implements the old, “New password cannot contain any sequence from your previous (5) passwords.”

          This also of course necessitates storing (multiple successive!) passwords in plain text or with a reversible cipher, which is another stupid move. You’d think we’d have gotten all of this out of our collective system as a society by now, and yet I still see it all the time.

          All of these schemes are just security theater, and actively make the system in question less secure while accomplishing nothing other than berating and frustrating its users.

          • Starbuncle@lemmy.ca
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            HA, I hope you’re joking. Surely nobody’s actually done that, right? …Riiiight?

    • Tanoh@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Only issue I see is that the 8 chars required is very short and easy to brute force. You would hope that people would go for the recommended instead, but doubt it.

    • hamsterkill@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I was expecting idiotic rules screaming “bureaucratic muppets don’t know what they’re legislating on”, but instead what I’m seeing is surprisingly sane and sensible

      NIST knows what they’re doing. It’s getting organizations to adapt that’s hard. NIST has recommended against expiring passwords for like a decade already, for example, yet pretty much every IT dept still has passwords expiring at least once a year.

    • cybersandwich@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I think if you do allow 8 character passwords the only stipulation is that you check it against known compromised password lists. Again, pretty reasonable.

      • naticus@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 year ago

        Very common for pass phrases, and not dissuaded. Pass phrases are good for people to remember without using poor storage practices (post it notes, txt file, etc) and are strong enough to keep secure against brute force attacks or just guessing based off knowledge of the user.

        • grue@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          On one hand, that’s true. On the other hand, a person should only need exactly one passphrase, which is the one used to unlock their password manager. Every other password should be randomly-generated and would only contain space characters by chance.

          • naticus@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            That’s great in theory, but you’ll have passwords for logging into OSes too which password managers do not help with and you better have it memorized or you’re going to have a bad time.

      • rebelsimile@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        gosh who would want an uncommon character that obviously most average people aren’t thinking about in their passwords, that sounds like it might even be somewhat secure.

      • portifornia@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        I’m with you, despite seeing lemmings downvote the heck out of your comment 😢

        The reason, and specifically for whitespace at the beginning or end of a password, is that a lot of users copy-paste their passwords into the form, and for various reasons, whitespace can get pasted in, causing an invalid match. No bueno.

        Source: I’m a web developer who has seen this enough times that we had to implement a whitespace-trim validation for both setting & entering passwords.

  • umami_wasabi@lemmy.ml
    link
    fedilink
    English
    arrow-up
    15
    ·
    1 year ago

    the document is nearly impossible to read all the way through and just as hard to understand fully

    It is a boring document but it not impossible to read through, nor understand. The is what compliances officer do. I have a (useless) cybersecurity degree and reading NIST publications is part of my lecture.

    • ISOmorph@feddit.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Useless??? Ever since the pandemic and the need for a robust remote work infrastructure, the amount of cybersecurity related job offers has exploded. And they’re very well paid where I live.

    • Toribor@corndog.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      My career as a sysadmin consistently has me veering toward security and compliance and my brain is absolutely fried on trying to figure out what these huge docs actually mean, how they apply to the things I’m responsible for and what we’re supposed to do about it.

      Props to all the folks that can do it without losing their mind.

      • catloaf@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        You break it down into chunks and delegate. They’re not expecting any one person to implement the whole thing.

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    1 year ago

    Any password length (within reason) and any character should be allowed. It’s going to be hashed and only the hash will be stored right? Length and character limits make me suspect it’s being stored in plain text.

    • AliasVortex@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I don’t know about a min length; setting a lenient lower bound means that any passwords in that space are going to be absolutely brutal force-able (and because humans are lazy, there are almost certainly be passwords clustered around the minimum).

      I very much agree with the rest though, it’s unnerving when sites have a low max length. It almost feels like advertising that passwords aren’t being hashed and if that’s the case there’s a snowball’s chance in hell that they’re also salted. Really restrictive character sets also tell me that said site / company either has super old infra or doesn’t know how to sanitize strings (or entirely likely both)…

    • frezik@midwest.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Rules here are 64 as a reasonable maximum. A lot of programmers don’t realize that bcrypt and scrypt max at 72 bytes (which may or may not be the same as 72 characters). You can get around it by prehashing, but meh. This is long enough even for a reasonable passphrase scheme.

    • escapesamsara@lemmings.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Then you’re vulnerable to simple brute force attacks, which if paired with a dumped hash table, can severely cut the time it takes to solve the hash and reveal all passwords.

        • frezik@midwest.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Some kind of upper bound is usually sensible. You can open a potential DoS vector by accepting anything. The 72 byte bcrypt/scrypt limit is generally sensible, but going for 255 would be fine. There’s very little security to be gained at those lengths.

  • VantaBrandon@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    How about making it illegal to block copying and pasting on website forms. I’m literally more likely to make a mistake by typing a routing number than copying and pasting it. The penalty for should be death by firing into the sun to anyone caught implementing any such stupidity.

  • BelatedPeacock@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    At roughly 35,000 words and filled with jargon and bureaucratic terms, the document is nearly impossible to read all the way through and just as hard to understand fully.

    A section devoted to passwords injects a large helping of badly needed common sense practices that challenge common policies. An example: The new rules bar the requirement that end users periodically change their passwords. This requirement came into being decades ago when password security was poorly understood, and it was common for people to choose common names, dictionary words, and other secrets that were easily guessed.

    Since then, most services require the use of stronger passwords made up of randomly generated characters or phrases. When passwords are chosen properly, the requirement to periodically change them, typically every one to three months, can actually diminish security because the added burden incentivizes weaker passwords that are easier for people to set and remember.

    A.k.a use a password manager for most things and a couple of long complex passwords for things that a password manager wouldn’t work for (the password manager’s password, encrypted system partitions, etc). I’m assuming In just summed up 35,000 words.

  • Boomer Humor Doomergod@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    One thing they should change is the word “password.” This implies that it’s a short string. Changing it to “passphrase” will help people feel comfortable choosing credentials like “correct horse battery staple.”

  • ctkatz@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    i had to login for some functions at work. i believe the minimums were 8 characters, 1 caapitol, 1 number. and we all hated it, because the passwords had to be changed every 90 days, and you couldn’t reuse passwords. eventually you are going to run out of things you can reasonably use that you could remember and then would be forced to use some sort of password manager. but OOPSIE you couldn’t install any software on the office computer so you would have to resort to writing them down somewhere. it was a mess.

    fortunately corporate decided to just change the entire system adopting most of these rules, min 15 characters, no special character, no hints, no forced changing passwords unless you think you have been compromised or just want to change it. we do have to use 2fa to access some things if you aren’t sitting at the office computer but other than that people are much happier about passwords now.

  • Madblood@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Don’t bug users to change passwords periodically. Only do it if there’s evidence of compromise.

    About damn time. I log into my company laptop with a smart card and PIN or a PIN/authenticator code, computer autoconnects to the VPN, and I’m good to go. If there’s no internet available, the smart card will still get me into my computer. If I’m on my personal computer, I log in with the PIN/authenticator. This morning I tried really hard to find someplace where I had the option of entering a password and there is none, yet I have to change my password every 6 months. At least my IT department lets me use KeePass.

    • turtletracks@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Shit I’ll log into my home desktop and I’ll get a message telling me that “it’s time to reset your password!”

      First of all, how dare you, on my computer? In my home?

      Secondly, I don’t even have a password on this thing

  • Classy@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    The app my work uses to show 401k, pay, request leave, etc details, uses a ridiculous webapp that’s very slow, and on top of this, they nag you literally every 4 months to update your password. I used to be a good boy and memorize a new password each time. Now I just add a new letter into BitWarden and it’s my new password. Apparently this is more secure??

  • nyan@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Cracking an 8-char on an ordinary desktop or laptop PC can still take quite a while depending on the details. Unfortunately, the existence of specialized crypto-coin-mining rigs designed to spit out hashes at high speed, plus the ability to farm things out into the cloud, means that the threat we’re facing is no longer the lone hacker cracking things on his own PC.

    • xthexder@l.sw0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Newer password hashing algorithms have ways of combatting this. For example, argon2 will use a large amount of memory and CPU and can be tuned for execution time. So theoretically you could configure it to take 0.5 seconds per hash calculation and use 1 GB or more of ram. That’s going to be extremely difficult to bruteforce 8 characters.