40 ms·
I hate password rules
- beardyw 5y agoWell I suppose this is trying to avoid people using obvious passwords but I'm not ever sure it works. At least password rotation ( = xxx1, xxx2 etc) has gone out of favour. Ideally we need AI to say "No! Not your wife's birthday!".
- falcolas 5y ago> At least password rotation ( = xxx1, xxx2 etc) has gone out of favour. Not everywhere. Some contracts our org is engaged with specifies yearly password rotations for our single sign on system. Now guess how many folks rotate their passwords.
- GoblinSlayer 5y agoAnd what 16 characters limit is trying to do?
- inetknght 5y agoA hashed (and for correctness, salted) password will always have the same number of characters output from the hash whether the input password has one, ten, sixteen, hundred, or million characters. Character limits are a symptom that the company wants to store some form of the password that hasn't been correctly and securely hashed.
- handrous 5y agoThey can be a defense against DOS vectors, too. Though if that's the only reason, you can usually make the limit high enough that almost no actual person will ever hit it.
- Tagbert 5y agoIf your company accepts credit card transactions you have to comply with certification rules that require frequent password resets. That comes with a volume discount on post-its
- reaperducer 5y agoSometimes banks don't even adhere to their own rules. I have no idea what the rules are for CitizensOne (which does financing for Apple). I enter a password that turns all of the checks green, but it's still not good enough. https://twitter.com/Reaperducer/status/1459585393175769092 https://twitter.com/Reaperducer/status/1459585393175769092
- tdrdt 5y agoSince I believe a password is the user's responsibility I use the UI to inform the user what a safe password is because most people have no clue. For example: Choose your password: A safe password contains many different characters, for example a sentence.
- tim333 5y agoI like the "password is the user's responsibility" bit. My favourite password was on the original youtube which was "x". Those were the days.
- tpoacher 5y agoI hate MFA. I get the "need", but it's a) generally shittily implemented, and c) frequently manipulated/enforced not for the right reasons (notably to force you to surrender your phone number)
- NoGravitas 5y agoI actually kind of like TOTP, since I can choose the implementation I want to use, and make backups, and so on. I loathe having to use any kind of bespoke MFA app, and I just resent the use of SMS for MFA.
- phist_mcgee 5y agoAdd to that, that SMS 2FA is becoming rapidly more insecure these days.
- ufo 5y agoIn another blog post, linked from this one, Bruce says that the XKCD scheme of stringing together a series of words is no longer safe: > Modern password crackers combine different words from their dictionaries. This is why the oft-cited XKCD scheme for generating passwords — string together individual words like “correcthorsebatterystaple” — is no longer good advice. The password crackers are on to this trick. Is that true? Or does it just mean we need more words in the password?
- grantmwilson 5y agoYes, more words is ideal. The ideal authentication scheme is that the attacker knows absolutely the system you use but it is still secure within realistic time constraints. So using randomly generated words from a sufficiently long list (such as this one https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt ) and as long as the hashing algorithm is sufficiently complex, then you are mathematically protected with a minimum number of words. For example using a 6 word pass phrase from the above 10000 word list would on average require 5e23 attempts to correctly guess it. For credential stuffing this is absolutely impractical. For cracking a leaked password hash we can figure out how secure it is. We assume that the service properly salts the passwords, so a rainbow table can't be used. If salted bcrypt hashes are used, a benchmarked 4-gpu rig did ~160 hashes/s, so even assuming a nation-state with 1E9 times as much computing power, we get 1.6e11 hashes/s, so this gives us on average 3.1e12 seconds to crack, which is about 100,000 years. Which means that no-one (pre-quantum) can crack that password.
- ufo 5y agoIf I understand it correctly, a 4-word password like in XKCD would require about 100,000 rig-years to crack. Do you think that is too low of a safety margin? Or is the problem that most people's word list may be less than 10K words?
- globular-toast 5y agoThe worst one I've experienced recently is HSBC's online banking. It requires you to set up a 6-10 digit PIN number on the phone and tells you that you must memorise it, not write it down. Yeah right. Like I'm going to commit a 6 digit number to memory while on the phone. This is one where I bet at least half of logins are the "forgot my password" type (the other half probably wrote it down).
- quitit 5y agoMore than once have I used the password rules to reverse engineer a lost password. I think it’s just better if their system provides a little complexity indicator.
- josephcsible 5y agoI like the rule that Nextcloud uses by default: rather than requiring character class minimums or anything like that, it makes sure that the password you picked isn't one of the top 1,000,000 most commonly used passwords.
- helmsb 5y agoIt also doesn't help that the complexity rules are inversely proportional to the importance of the application. My former mortgage company's password requirements were 8 characters max, no special characters. The app for scheduling appointments at my barber (no payment info) requires a minimum 12 character password with 2 or more special characters, 2 or more uppercase characters and 2 or more numbers.
- mastazi 5y agoToday Brave browser launched a new version of their built-in crypto wallet. There is an option to keep using the same password in the new version, when I select that option, an error message comes up saying my password is not secure[0], even though it is[1]. Basically the Brave devs can't even agree with their past selves about password security. [0] https://ibb.co/ch9GGm8 https://ibb.co/ch9GGm8 [1] https://xkcd.com/936/ https://xkcd.com/936/
- clement_b 5y agoWorse than password rules, are when sites disable the ability to paste in the password in the 'confirm your password' field. Forces users to reduce the 50 chars crazy password they wanted to set using their preferred password manager with a less secure version.
- CurrentB 5y agohttps://chrome.google.com/webstore/detail/dont-fuck-with-paste/nkgllhigpcljnhoakjkgaieabnkmgdkb https://chrome.google.com/webstore/detail/dont-fuck-with-pas... This has been a greatly appreciated plugin for these scenarios (it's on Firefox as well)
- selfhoster11 5y agoI was going to mention that plugin as well. Its name is explicit with good reason.
- enobrev 5y agoFar too many sites seem to do this with bank account numbers, where you can't paste into the account number OR the confirmation field. Now I need to drag my tab to another window and type it out (twice) and then read and confirm it. If I'm on mobile - forget it. I'm far more likely to get my account number _and_ confirmation wrong if I type them rather than copy/pasting them in from my bank's site.
- U8dcN7vx 5y agoKeepass2Android's keyboard solves this for me.
- GoblinSlayer 5y agoDrag and drop works for me in those cases.
- Hamuko 5y agoI once had to open up my developer console and manually set the field with JavaScript because they didn't want me pasting into the password field. Although the site was also all kinds of broken so it might have actually been an accident that pasting into the field didn't work.
- lanecwagner 5y agoI write a Go package because I have similar feelings. https://GitHub.com/wagslane/go-password-validator https://GitHub.com/wagslane/go-password-validator
- _wldu 5y agoIt would have been really nice if there had been an RFC or ISO standard for password composition. NIST 800-63B is probably the best advice available, but few people follow it and industry regulations (PCI) typically violate it.
- kube-system 5y agoNISTs regs are really good but I think they’d be more widely adopted if they had a cliffnotes version. Something like: https://auth0.com/blog/dont-pass-on-the-new-nist-password-guidelines/ https://auth0.com/blog/dont-pass-on-the-new-nist-password-gu...
- latchkey 5y agoInstead of requiring people to have special password rules, we should require people to use a password manager. Then, if you have special password rules, the manager could generate a strong password that fits into the defined rules. Of course, getting rid of passwords entirely, is the best option (ie: using a decentralized sso solution).
- fsflover 5y ago> we should require people to use a password manager. What if I am storing my passwords in clear text in a Qubes OS [0] virtual machine with no network? [0] https://qubes-os.org https://qubes-os.org
- latchkey 5y agoI'm curious how you get your password from there and into a form on a website.
- fsflover 5y agoWith secure inter-vm copy-pasting: https://www.qubes-os.org/doc/how-to-copy-and-paste-text/ https://www.qubes-os.org/doc/how-to-copy-and-paste-text/
- latchkey 5y agoImpressive level of paranoia. That said, I'd declare it your 'password manager'.
- fsflover 5y agoActually, it's not just paranoia, also convenience. Qubes allows very convenient separation of different parts of your digital life, like personal files/apps from working ones and from random internet surfing. Also, IMHO it's more convenient to copy-paste passwords without an actual password manager. More details: https://forum.qubes-os.org/t/how-to-pitch-qubes-os/4499/15 https://forum.qubes-os.org/t/how-to-pitch-qubes-os/4499/15
- mojuba 5y agoAn HTML input field can give your password generator a hint, right? Never looked at it closely but had the impression e.g. Safari's generator could adapt to certain rules and that they were somehow described in the HTML.
- tikkabhuna 5y agoApple have "Password Rules"[1]. No idea how many password generators respect it though. I've created a CodeSandbox example of it being used.[2] 1Password does honour it. [1] https://developer.apple.com/password-rules/ https://developer.apple.com/password-rules/ [2] https://codesandbox.io/s/password-rules-demo-029h5 https://codesandbox.io/s/password-rules-demo-029h5
- up6w6 5y agoBitwarden is on the way to support it. https://github.com/bitwarden/browser/pull/2047 https://github.com/bitwarden/browser/pull/2047
- bobbylarrybobby 5y agoYep, https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password https://developer.mozilla.org/en-US/docs/Web/HTML/Element/in... there's even an option for a regex pattern that the password must match.
- mojuba 5y agoInteresting, that's different from what Safari supports (see sibling comment). I wonder what the algorithm is to generate a good password that matches a given regex. Also there's a potential problem with patterns that are wrong or contain errors, that may result in simple and insecure passwords. I don't see how Mozilla's approach is better than Safari's.
- robotears 5y agoMy frustration isn't just the sites that make the password rules clear after I submit the form. The worst sites are the ones that truncate my generated password to fit their maximum password length and then don't tell me (which seems to happen in more places than it should).
- jer0me 5y agoI'm not super knowledgeable about these kinds of things, but aren't hashes usually a fixed length? Why would it matter how long your password is?
- randomluck040 5y agoWait, what? That never happened to me. How do you go and find out your password then? Trial and error?
- phepranto 5y agoThey might just truncate the password during login as well. I was able to login to my online banking using only the first five digits of my password not more than 3 years ago.. They fixed it in the meantime but I'm still worried.
- robocat 5y agoYou should still be worried, since any bank storing an unhashed password clearly has security fail.
- ylere 5y agoI had it happen a few times. Usually I would reset it a few times until realizing that it's obviously not saving the password I'm entering, at which point I would try a setting a shorter one.
- deleted 5y ago[deleted]
- Maultasche 5y ago
- kspacewalk2 5y agoDue to the nature of my job and the age of some of my coworkers, I am sometimes casually given passwords on a piece of paper. Out of a sample size of conservatively 20, I have never even once (!) seen a special character other than !. It just doesn't happen. Password rules and a requirement to change your password every X months are pure security mirage and just create frustration in people who often struggle to generate even one secure password in their entire lifetime. (Yes I evangelize password managers around here. So far I've converted 2-3 people. They are the important people with shit people might want to steal on their computers/accounts, so I'm happy with this.)
- frosted-flakes 5y agoRequirements for uppercase letters, numbers, and special characters mean I stick an "A1!" at the end of my otherwise strong and memorable password. I'm sure I'm not the only one.
- Ajedi32 5y agoYeah, at least there's a good work-around for the numbers/symbols requirement. What's more annoying is when sites have a low maximum length so you _have_ to use special characters to get good entropy, or when they have other bizarre requirements like "can't contain more than 3 of the same character".
- bluGill 5y agoTodays computers can brute force passwords of their maximum length in a few hours. I suppose someone somewhere has a maximum length that is hard to brute force, but I've never seen it.
- tmountain 5y agoWhat max length? Once a password reaches 128 bits of entropy the key space is unfathomably large. You could have a password of length 1 with 10^100 possible values, and it could take a VERY long time to crack. In short, it has nothing to do with length, it has to do with bits of entropy, and there are still very real limits to what even the most powerful computers can brute force. Several years back, it was stated by Peerio that an 81-bit password would cost a billion dollars to crack. It becomes less feasible and more expensive from there.
- kemotep 5y agoThere does need to be some rules or else people would set their password to be blank or a few characters. I would be happy with consistent password rules. 1. No password that was included in a breach a la the “haveibeenpwned” hash check system[0]. 2. No password reuse. 3. A Minimum length. Something like 14-20 characters. And no maximum (or at least something set to at least 127 characters as the max allowed). 4. Reset no more than once a year. And that’s it. All valid UTF-8 characters accepted. No requirements for special characters or not, just long well randomized passwords, or more aptly, passphrases. Teaching everyone about password managers and diceware[1] passwords would go a long way too. [0]:https://haveibeenpwned.com/API/v3 https://haveibeenpwned.com/API/v3 [1]:https://en.wikipedia.org/wiki/Diceware?wprov=sfti1 https://en.wikipedia.org/wiki/Diceware?wprov=sfti1
- waltbosz 5y agoMax password lengths make no sense to me. > just long well randomized passwords, or more aptly, passphrases. Interesting idea. I could imagine a new password prompt with an algorithm to reject passwords that were not random enough. How infuriating would that be? What would the hint message look like: "your password must contain a statistically random arrangement of characters"
- kemotep 5y agoUsing a password manager password generation tool or a diceware word list would be sufficiently random in my eyes but I get what you mean.
- toto444 5y ago> 4. Reset no more than once a year. That would make a lot of people's life terrible. I reset my passwords very frequently (almost every time I log out of a website)
- rstupek 5y agoI think they're implying the site doesn't force you to reset your password more than once a year.
- mooreds 5y agoIs it password rules he hates or the UX around the password rules? I just read the post and if the system response had been "You must have 2 numbers in your password", well then, okay, easy enough to do. An annoyance rather than a hatred. Not that I think password rules are great. They can, if used poorly, unnecessarily constrain the space of passwords. But they are often required by certain compliance situations. I love my password manager and think everyone should use one, myself. Another alternative is the FIDO passwordless technologies that are being rolled out more and more. Though I saw a tweet the other day that said "Biometric identification is a username not a password" that made me think about that.
- iudqnolq 5y agoThe problem with that is I then have to open my password manager, append "11" to my perfectly secure password, and save it. Just use zxcvbn.
- andylynch 5y agoThis is why current standards say password complexity rules are a terrible idea (or officially a SHOULD NOT), and have for a while. I’m baffled as to why these rules endure.
- deleted 5y ago[deleted]
- throwawayboise 5y agoI've simplified the rules I enforce because it was just getting out of hand. I enforce a reasonably long minimum length, and enforce a limit on number of repeated characters in a row (so someone can't set a password of "aaaaaaaaaaaaaaaa") That's it.
- eckesicle 5y agoNIST best practice recommendations state: * Require more than 8 characters * Don't require special characters * Don't force the user to reset their password * Do check for compromised passwords * Require MFA * ... All very sensible. https://auth0.com/blog/dont-pass-on-the-new-nist-password-guidelines/ https://auth0.com/blog/dont-pass-on-the-new-nist-password-gu...
- ben0x539 5y ago> * Require more than 8 characters If I'm reading this right, it's more than 7 characters. And more than 5 if you don't let users pick the password, which seems surprising. > Memorized secrets SHALL be at least 8 characters in length if chosen by the subscriber. Memorized secrets chosen randomly by the CSP or verifier SHALL be at least 6 characters in length and MAY be entirely numeric.
- beermonster 5y agoYou’ve read it correctly. The idea is to mitigate against brute force by account lockout/disable following N failed attempts rather than enforcing greater password length or complexity requirements.
- yread 5y agoHow to practically check for common passwords? Ideal would be to have like the most common 1/1000th of the hibp so that it's not too big for deployment in some clever structure (compressed trie? bloom filter?). I don't trust 3rd party services.
- quickthrower2 5y agoHave you heard about https://haveibeenpwned.com/Passwords https://haveibeenpwned.com/Passwords ?
- quickthrower2 5y agoSorry I reread and you said hibp so you know! Why not use the entire set?
- codingclaws 5y agoAt PNS [0], I believe our only rule is 9-100 characters. [0] https://www.peachesnstink.com https://www.peachesnstink.com
- alexdumitru 5y agoI signed up on coinmarkercap and used bitwarden to set a 16 words passphrase as my password. Every time I log in I'm asked to change it because it's unsafe.
- dpifke 5y agoMost attacks on passwords these days are credential stuffing, not brute force. This means that password rules REDUCE the amount of work an attacker has to do, as they can omit previously breached usernames/passwords which don't meet the password rules for the site being attacked. This means they can try more logins before getting rate-limited.
- jedberg 5y agoPassword rules that make me turn off options on my password generator frustrate me to no end. It just happened on a bank site. I had to turn off special characters so they would accept the password.
- crackercrews 5y agoI tried to use Apple's strong password generator for a restaurant purchase. It didn't work because the password was too long.
- Zamicol 5y ago1. Why don't passworded websites provide their own password generators? There's "secure" entropy generation available to JavaScript, e.g. `Crypto.getRandomValues(Uint8Array)`. 2. Shouldn't the only variable for password generation be entropy/information? Here's a 256 bit password: 1NH8O3C3GH33FNQHM3B7VFKIQ95EMD-QLPOFPPYJ54NCFXMOB3 How could you know? An easy way is to take the character set and convert the input string to binary. Once you reach a specified information level (say 256 bits), then the password could be considered sufficient. https://convert.zamicol.com/?in=1NH8O3C3GH33FNQHM3B7VFKIQ95EMD-QLPOFPPYJ54NCFXMOB3&inAlpha=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-&outAlpha=0123456789ABCDEF https://convert.zamicol.com/?in=1NH8O3C3GH33FNQHM3B7VFKIQ95E... 3. Combined, I'd imagine a decent user experience. 4. I can't wait for public key authentication to kill passwords.
- wruza 5y agoI believe this doesn’t account for dictionary-based attacks. “qwerty secret 123456” may even have decent entropy in ascii space, but can be bruteforced in minutes because these words go first in the weighted list. (Not a security expert)
- prepend 5y agoEvery time I run into this, I remember meetings where a dumbass engineer would convince a clueless PM that something was necessary. It seems too specific to be thought up by a non-engineer. I have no way of knowing this, but I do think companies with dumb password rules have poor talent. I need to start a list of companies with dumb password rules, but I rarely create new accounts so by the time I get annoyed, I’m distracted onto something else.
- GoblinSlayer 5y ago>I need to start a list of companies with dumb password rules You were heard: https://github.com/duffn/dumb-password-rules https://github.com/duffn/dumb-password-rules
- jjcm 5y agoHere's how I do passwords - require a certain amount of entropy, and compare vs common passwords on the backend. That's it. Here's a gif of it in action: http://files.jjcm.org/password.gif http://files.jjcm.org/password.gif And an example webcomponent that implements this: https://github.com/jjcm/soci-frontend/blob/master/components/soci-password.js#L162 https://github.com/jjcm/soci-frontend/blob/master/components... The ENTROPY_REQUIREMENT variable means you need a password that has at least 2^n possible combinations, given the character set and the length used. There's no restrictions other than that. If you want to only use lowercase letters, that's fine, as long as the length is long enough. If you include special characters, the length requirement drops. I use a simple message to tell the user whether or not a password is acceptable, along with a radial progress bar to demonstrate success: "Not strong enough. Add complexity until the circle fills."
- perryizgr8 5y agoAlthough this is brilliant, I am worried that most non-technical people will mistake the circle for counting the length of the password.
- jjcm 5y agoWhich likely is fine. Adding length is a perfectly valid way to add entropy. If they happen to add a special character, it will just complete it faster.
- michaelcampbell 5y agoBruce's point is so delightfully reiterated here and his on-site comments along the lines of, "I agree, but here's how I do passwords..."
- teeray 5y agoI’d really love the W3C to come out with some elements that provide: 1) Communication of complexity requirements 2) Explicit password manager fill targets 3) An endpoint for a password manager to rotate passwords automatically. (and the validity period) All of these would be backwards compatible with grandmas that write passwords on post-its and mouldering IT policies that snub NIST recommendations. Sure, webauthn is wonderful and all, but it’s a whole lot easier to ask for some simple HTML changes rather than implementing a whole API.
- amelius 5y agoW3C can come up with all the elements they like but websites won't use them because they don't match with company style and the latest trends in graphic design.
- teeray 5y agoNone of these would be visible. They’d be glorified meta tags.
- whymarrh 5y agoThis is something that folks are working on via the `passwordrules` attribute https://github.com/whatwg/html/issues/3518 https://github.com/whatwg/html/issues/3518 With that and a well-known endpoint for changing passwords (not quite the same thing as what you’re describing; https://w3c.github.io/webappsec-change-password-url/ https://w3c.github.io/webappsec-change-password-url/) we are moving in that direction.
- shadowgovt 5y agoI use a password scrambler that generates a unique N-character string for every page. It's close to as much entropy as a one-time pad (technically, there is an underlying algorithm, so it could be reverse-engineered... But it'd require stealing my pass from several sites to start attacking it). ... except the sites that require a capital letter and an excalamation point. Those I sign into with "A<some random N-digits>!". Good job, site designers. You've done nothing to improve security, but you have annoyed the hell out of me.
- makecheck 5y agoComplex password rules haven’t been shown to improve security in any way. They have been proven to torpedo security, e.g. they make people forget so they do blatantly-insecure things like writing passwords down or relying more frequently on things that reduce account security like having to reset the password entirely through simple E-mails or codes, etc. And speaking of banks, I am livid that so many of my financial accounts essentially require absolutely terrible passwords. A lot of them don’t support E-mail for log-in either. Meanwhile, your basic “correct horse battery staple” [1] works pretty well. [1] https://xkcd.com/936/ https://xkcd.com/936/
- enriquto 5y ago> I Hate Password Rules I hate passwords altogether. In this day and age, nearly all instances of password usage can be replaced by public key cryptography for a vastly improved user experience. And, of course, for a net gain in security.
- Zamicol 5y agoDo you have any examples of this in the wild?
- enriquto 5y agossh? Why can I connect to a remote server without using any password, but still need one to read the mail?
- jhgb 5y ago> for a vastly improved user experience. Assuming for a moment that you live in the US, do you count Fifth Amendment issues into that experience?
- enriquto 5y agoI'm not from the US and I cannot imagine what the fifth amendment has to do with public key cryptography.
- jhgb 5y agoThere's a significant legal difference between keys and passwords in the US: you can't be legally compelled to divulge the latter. And I imagine that based on the principle of non-self-incrimination in other countries' laws, it may very well be very similar in other countries as well.
- jjice 5y agoI hate seeing websites that have odd restrictions like "you can use !, ?, #, and @, but not % or ^". I can't think of a reasonable reason.
- kortex 5y agoBad sanitization, or fear thereof. You should not be inserting raw passwords into databases, nor should you be interpolating raw queries, but people used to, all the time, so these restrictions may have stuck. But yeah it does not bode well for their security appearance.
- neop1x 5y agoMaybe they are storing it plain-text and it causes them issues like variable substitution in some database backup or management scripts.
- PascLeRasc 5y agoA few weeks ago I signed up for a local credit union and received a membership packet in my email including a reminder of what my password is. I called them to tell them about this security flaw and received a single dollar as a bug bounty, but they still haven't changed it.
- Igelau 5y ago100 Call them again 200 Get another dollar 300 Goto 100
- elischleifer 5y agoHaving spent the last weekend trying to explain the arcane rules of 1Password to my mother, I can completely relate to this post. When things are overly complicated people start to work around them ... store master passwords and other codes in local files because it is a giant pain to enter them. Corporate level password security should not be enforced on individual users who don't have IT support to keep their systems working cleanly.
- core-utility 5y agoCan anyone explain to me why even new products have a maximum character limit? I frequently see 16 or 20 maximum characters. If you're hashing the password, why does it matter?
- perryizgr8 5y agoAlthough 16 or 20 characters is too less, I can't think of an efficient and user-friendly way to allow arbitrary lengths. What if a user inputs a password with 604462909807314587353087 characters? If your client is doing the hashing, it will get stuck or seem to take too much time to submit. If your backend is doing the hashing then you would need to send too much data over the internet, again killing the user experience. I think 256 or 512 characters should be a sensible limit. PS: 604462909807314587353087 is a Mersenne prime ;)
- amelius 5y agoPerhaps to prevent buffer overflow problems. Simplifies development and testing.
- throwaway984393 5y agoIf it's a bank, it's because the 40 year old database they first used to first digitize their 150-year-old accounts had a maximum character limit (which is why you sometimes see 8 character maximum passwords). Old accounts that generate money just by sitting around are also the reason they never need to upgrade anything and can make changes at a snail's pace.
- thecodrr 5y agoDiscloser: I am the co-founder (https://notesnook.com https://notesnook.com) We used to ask our users 90% of the standard password requirements (min length 8, 1 special character, 1 digit, 1 capital etc). The result was a lot of people forgetting their password and having a really bad first impression. We were following "best practices" but the user didn't care. In the end, we took out all the requirements except one: password must be 8 characters long. While we knew this wasn't recommended, especially for a private note taking app, it was a necessary choice because a lot of people either just modified their old passwords or used new ones which they forgot and got locked out. Good security but...if you also get locked out, what's the point? As for people who used password managers, it doesn't matter either way. A lot of people sign up just to try out the app. Nothing serious. Nothing too critical. If they get locked out after their first usage, it's goodbye from them. I think there are a few things apps can do to improve security without annoying the user too much: 1. Show user a notice inside the app if the password is below a certain strength threshold, recommending them to change it. 2. If the password is reused or compromised, show a permanent warning either on startup or somewhere noticeable inside the app. 3. Promote use of password managers during sign up (and other places) Ultimately, it should be up to the user to decide if they really want to change their password or risk having their account comprised. None of these are tested though so I am not sure what the UX would be...
- bsid 5y agoyou really need a way for people to get in if they forgot their password...
- gxqoz 5y agoI hate a lot of the new paradigms with passwords. This includes things like letting you sign up for an account and placing you in an in-between state until your email is verified (with no indication this is the case until you check your email). Or moving login password entry to a separate screen from entering the username.
- qwertox 5y agoI had a 16 character password which I used in an PC online-banking application. After an update the password was unable to unlock the database. So I started creating new databases with different passwords to see what was going on, and it turned out that all passwords longer than 10 characters were failing. So I truncated my old password to 10 characters and then it worked. No hint, no nothing in the release notes.
- infogulch 5y agoI guess that means that it was silently truncating before the update.
- alliao 5y agoyikes? that means they knew your password therefore able to truncate it to 10 characters?!
- iso1631 5y agoNot neccersarily, if the previous version truncated the passed password to 10 characters, hashed, then stored, but the new version no longer truncated, the hash wouldn't match unless you used 10 characters if your password was qwerty123456, it might have allowed you in with qwerty1234999
- qwertox 5y agoI assume it was like iso1631 commented, that before the upgrade they truncated it before hashing it. In any case, using a password (=encrypting database) was optional, so my reaction to this experience was to remove the password and move the entire application into a VeraCrypt container.
- Andrew_nenakhov 5y agoI also hate when they force you to change passwords from time to time and forbid you to set one of your previous passwords. One particular offender is russian website HeadHunter [1]. I hope such people will go to very special hell after they die. [1]: https://hh.ru https://hh.ru
- NathanielK 5y agoExtra fun with organizations that use single sign on. Change your pc login and now your phone has the wrong wifi credentials. Let it attempt to connect too many times and your account is disabled.
- gregmac 5y agoI've asked IT people that set these policies to tell me their previous password -- after all, they changed it to something completely different, as per policy, right?? No one has ever agreed to this.
- rudian 5y agoMy internet-first bank’s passwords are limited to 8 characters. I'd take password rules over this idiocy any day. I reported it maybe 5 years ago and of course radio silence. I bet they plaintext it. Oh and of course I also have literally 4 different digit-based pins to do operations.
- brumm 5y agonot a password rule but: i use a password length of > 40 characters because why not? signing up for paypal worked with that no problemo until i had to sign in again and the login input ignored everything north of 20 characters or so. It worked after removing the maxlength attribute :(
- vimy 5y agoFor the vast majority of websites password rules are unnecessary. I only care about icloud and gmail, amazon and paypal. I don’t care if my reddit account is “hacked”. Or HN. Or random webshops or whatever. I hate being forced to use strong passwords for accounts I don’t care about.
- KronisLV 5y agoWhat cannot be ignored is the fact that many people will attempt to use the same password for multiple sites if given the chance. Furthermore, some of those shops may contain identifiable information which could be problematic. Personally, i take a slightly different approach: i don't care about almost any of my passwords... because they're randomly generated! KeePass gives you very nice choices in regards to this, when i write down a new account into the password protected DB for a site that I'm about to use, it allows me to both generate a random password for it, as well as specify additional generation rules if needed (e.g. longer or shorter). That way every password is unique and reasonably secure. In combination with Nextcloud and regular backups to another HDD (and manual ones to SD cards) the password safe is also persisted across my own devices and other mediums, whilst having an even longer password of its own, the only one that i need to memorize (and write down on a piece of paper that i could optionally give to someone I trust, since i once forgot my phone's lock screen pattern years ago). Here's more info about KeePass: https://keepass.info/ https://keepass.info/ This, when coupled with separate e-mail accounts (e.g. one for professional matters, a few for increasingly more spammy or throwaway purposes) and something like uBlock Origin and a VPN does make my online browsing experience a bit more tolerable and secure.
- vimy 5y agoWell yes, that’s exactly my point. I _want_ to be able to reuse crappy passwords because just typing a password is still simpler than dealing with password managers.
- PaulHoule 5y agoI had a talk with the head of security at my credit union and told him I was within this much distance of ending my relationship with them over the fact that their password rules were so tough. I pointed out that there were some banks that had let me keep the same (securely generated) password for 15 years. American Express tried to sell me on a deposit account to go with my card but they told me I'd need to make a new account to log in. I told them that one reason I kept my AmEx was that they didn't make me change my password every time I wanted to log in and if I had to add a second login it wasn't worth it to me.
- oehpr 5y agoTo verify, you're using a password manager? Because it's hard to imagine someone getting upset over having to just update an entry, and obviously the bank can't tell you not to use a password to unlock your own vault. And I can't imagine someone memorizing a password for a bank login only, and never using that in other locations. The internet requires so many accounts to manage... If you did reuse your password then your bank login would be very vulnerable to credential stuffing.
- PaulHoule 5y agoI use securely generated passwords based on a cryptographic hash. I don't use a "password manager". Someday 10^8 people who use a password manager are going to get their passwords stolen in one night and I'm not going to be one of them.
- oehpr 5y agoMost password manager ecosystems consider this vector. They're either zero knowledge (bitwarden, lastpass ...), local(keypass, pass, buttercup ...), or are vulnerable in the way you describe and suck. Hashing is sure an interesting way to create passwords. I've considered it as well. I liked that it protects you from credential stuffing and it's stateless. But I found it hit practical roadblocks I couldn't route around: * you need a plaintext that wont change at the site, but will change across sites. URL is most common, but URL's can change. * if that site does have password requirements and your digest fails to meet those requirements, you have to either iterate or alter your plaintext (and remember) or alter your digest (changes everything), or alter for that specific site (and remember). * sites often have password rotation requirements because users frequently use bad passwords across sites and that basically forces you to remember state. * If you store any of this state, it's no longer stateless and you hit all the problems of syncing across devices and so on and so forth. What do you use for your plaintext anyway?
- dwighttk 5y agoMy fav is when it says "your password is too short" when it actually means "we didn't think anyone would try a password longer than 12 characters and your 48 character password messed up our code."
- bsuvc 5y agoA few years back, not too long ago, I started working on a new contract assignment at a medium size aerospace manufacturer. I show up and check in with IT department. The system administrator shows me to my desk, and hands me a post it note with my password. Well pass phrase is more like it. It was something like “sliding down the tall building”. I was quite impressed that they encouraged the use of long pass phrases instead of short cryptic passwords that are hard to remember (think “correct horse battery staple”). This place really is serious about security, I thought. I thanked the system admin and causally said “I’ll be sure to change this to an equally secure pass phrase”. “Oh no,” he said, “we don’t allow people to change their passwords here. You see, we need to be able to log into anyone’s computer if they go on vacation or are out of the office, so we keep an Excel worksheet with everyone’s username and password. So please don’t change your password.” He turns and walks away, and I just sit there stunned, wondering if this was some kind of practical joke. Sadly he was completely serious. I kept the password they gave me for the 3 months I was there, as I was asked to do, knowing that at any time someone could log in as me and do something illegal or unethical. It really did give me a bit of anxiety.
- sharperguy 5y agoMakes you wonder if you could use a tool like GPT-3 to generate grammatically correct passphrases from randomly generated sets of words. E.g. "correct battery horse staple" might become "Correct use of a battery supports the a horse in its staple diet". Thereby keeping the same bits of randomness while making a memorable phrase.
- BurningPenguin 5y agoYeah, it's the similar in the company i work for. Except that we have a mixed bag of passwords. There are some old ones that are like "mouse" and then there are others like "Gt4x;JlK". We have that list for "maintenance reasons". Doing things, that could easily be done by some GPOs and other cool tricks.
- er4hn 5y agoOn the plus side, it also gave you plausible deniability it really was you if you wanted to do something illegal or unethical.
- teekert 5y agoI have seen sites where I can happily enter a 25 char long random string but then you can’t log in. A lot of trial end error and it turns out they simply truncate at 16 chars :s
- dankwizard 5y agoIt's like with Runescape, Jagex put a .lower on your password. Capitals don't matter!
- gorgoiler 5y agoHaving an @ in my password has been a royal pain in the ass over the years. Some keyboards switch @ and “. Oof. Anyway, enjoy my bank account xx
- oehpr 5y agoSo... what's all this about XKCD's password scheme not being ok? I found the argument pretty compelling, in that even if you presumed the attacker knew how you generated your password, there would be too much entropy to work out what it was. I'm going to do some quick googling about this. edit: oh goodness, this appears to be a holy war, https://security.stackexchange.com/questions/62832/is-the-oft-cited-xkcd-scheme-no-longer-good-advice https://security.stackexchange.com/questions/62832/is-the-of... I'll just plant my flag and wish the rest of you luck, use a password manager.
- aeternum 5y agoIn practice people do not use random words. Instead they use a song lyric or sentence from a popular book. Many users used this strategy to secure their cryptocurrency 'brain' wallets only to have the funds quickly stolen.
- zahma 5y agoThe worst is when some forms set rules but prevent the user from pasting a string into the duplicate field for verification. If this is meant to prevent user error in case of a typo in the first field, then it also thwarts many of us using password managers. Somehow my browser can auto-generate and enter a password, but I can’t. That’s a work-around, but it’s irksome anyway. On another note, a more constructive metric for password security on a basic website account would be to set a complexity standard that allows multiple ways to get there. A haiku of approximately 60 plain characters, for example, should be as secure as a 30 character alphanumeric string, at least when it comes to brute forcing. It seems to me like plenty of weak passwords could be created to eke out the minimum requirements for a lot of sites, so this standard lends a false sense of security, especially when any password is recycled.
- dan-robertson 5y agoEnglish has about 1 bit per character of entropy so if you type a normal expression it is going to give you ~60 bits of entropy. Random words will give you something like 2-3 bits per character so ~120-180 bits for a 60 character string. Random alphanumeric strings have about 5.95 bits of entropy so you get 178 bits from 30 of them. So your comparison is somewhat right but only with an annoying definition of haiku and dictionary of words. However, a less good scheme should still be fine
- m-p-3 5y agoI hate those requirements, but if at least they were enumerated in a programmatic manner, for example through a RegEx or password field parameters then a password manager could read those and offer a generated password that fits those requirements.
- lmm 5y agoIf you're going that far you might as well ask browser makers to make a non-awful UI for client certificates and avoid the whole password problem in the first place.
- ttepasse 5y agoSafari did something in that regard in 2018 and proposed a passwordrules attribute with a mini description language: • https://github.com/whatwg/html/issues/3518 https://github.com/whatwg/html/issues/3518 • https://developer.apple.com/documentation/security/password_autofill/customizing_password_autofill_rules https://developer.apple.com/documentation/security/password_... • https://developer.apple.com/password-rules/ https://developer.apple.com/password-rules/
- kristopolous 5y agoI've just given up and use $ openssl rand -base64 xx Recently I had a password reject based on policy even using this. The minimum character length was 50! That's a subtle way of essentially forcing you to use a password manager of some sort I'm pretty sure this approach will eventually screw me over. I don't know how but it feels like it'll happen
- otagekki 5y agoI used to have those: 8-24 characters among which 1 uppercase/lowercase, 1 special character among a whitelist, and renew that every 2 months. At renewal, must be different from all your previous passwords and the new password must be at least 3 character different from last one. SSH keys can't be used per security policy and the same rule has been applied to the password manager. A pain. And yes the most annoying is that it's never the same rules, and I resort to using Keepass or worse, my browser password-remembering system (stores passwords to Google/Mozilla servers) Is bruteforcing passwords still a thing nowadays? Once in a while I tend to forget my Wikipedia account password and after a couple of failed attempts I get shown a captcha. On another day, I got locked out of my own account because I was trying to log in using another mobile device with another SIM in another country.
- s0ulphire 5y agoNot many places will try a brute force attack directly on a login interface, but if your database is leaked the definitely. Nothing to rate limit an attacker then
- kortex 5y ago> and the new password must be at least 3 character different from last one. Does this sort of rule imply that they are saving passwords whole (either plaintext or encrypted, as opposed to hashed)? I can understand "can't match your last N passwords" cause that's just saving old hash entries. But editdistance(old, new) < 3 implies you know the string value somewhere.
- otagekki 5y agoNot necessarily, I forgot to mention that when changing your password through their UI you still have to enter your old password. So it's safe to assume that the string comparison is made at form submission. For history rule I don't want to imagine it being implemented otherwise.
- muzani 5y agoNIST 800-63B [1] has some good guidelines on password rules, one of them being low complexity: "As noted above, composition rules are commonly used in an attempt to increase the difficulty of guessing user-chosen passwords. Research has shown, however, that users respond in very predictable ways to the requirements imposed by composition rules [Policies]. For example, a user that might have chosen “password” as their password would be relatively likely to choose “Password1” if required to include an uppercase letter and a number, or “Password1!” if a symbol is also required. Users also express frustration when attempts to create complex passwords are rejected by online services. Many services reject passwords with spaces and various special characters. In some cases, the special characters that are not accepted might be an effort to avoid attacks like SQL injection that depend on those characters. But a properly hashed password would not be sent intact to a database in any case, so such precautions are unnecessary. Users should also be able to include space characters to allow the use of phrases. Spaces themselves, however, add little to the complexity of passwords and may introduce usability issues (e.g., the undetected use of two spaces rather than one), so it may be beneficial to remove repeated spaces in typed passwords prior to verification. Users’ password choices are very predictable, so attackers are likely to guess passwords that have been successful in the past. These include dictionary words and passwords from previous breaches, such as the “Password1!” example above. For this reason, it is recommended that passwords chosen by users be compared against a “black list” of unacceptable passwords. This list should include passwords from previous breach corpuses, dictionary words, and specific words (such as the name of the service itself) that users are likely to choose. Since user choice of passwords will also be governed by a minimum length requirement, this dictionary need only include entries meeting that requirement. Highly complex memorized secrets introduce a new potential vulnerability: they are less likely to be memorable, and it is more likely that they will be written down or stored electronically in an unsafe manner. While these practices are not necessarily vulnerable, statistically some methods of recording such secrets will be. This is an additional motivation not to require excessively long or complex memorized secrets." [1] https://pages.nist.gov/800-63-3/sp800-63b.html https://pages.nist.gov/800-63-3/sp800-63b.html
- waynecochran 5y agoIf I have an alphabet of size x and a password of length n there are x^n possibilities. What results in a larger set -- adding 1 more character to the alphabet or adding one to the length; i.e. which is bigger (x + 1)^n or x^(n+1)?
- deleted 5y ago[deleted]
- raldi 5y agoBest rules I ever lived under were “We’re continuously running JTR against all users, and your password can be anything it’s unable to crack.”
- orpheansodality 5y ago(guessing JTR == John The Ripper? https://www.openwall.com/john/ https://www.openwall.com/john/ )
- throwaway984393 5y agoPassword rules often happen because a customer who had a lot of money told somebody who wanted that money that they wanted these specific password rules. "Oh, you require us to implement these stupid password rules you came up with, in order for us to get your 20 million dollars? We'll have it implemented by end of the week." And this is also why those rules never seem to change, or only get worse. Nobody remembers when or why those rules were implemented, and nobody is going to risk potential business just to make passwords easier to use or more secure. Product security is always second to short-term gains and job security.
- unobatbayar 5y agoHad the exact same problem when I made a password generator. The passwords it created never passed any rules. Changed the algorithm a few times, to make it at least pass the password rules of common websites such as Facebook, Google, etc.
- ohiovr 5y agoLesson #1 Never trust password managers Lesson #2 Use hardware keys
- marcelfw 5y agoI always wonder why some of them have upper limits, does not make sense imo.
- Kavelach 5y agoOnce I was asked to implement a system that applied password rules with a few heuristics. If the password was under 12 characters, then it required numbers, special characters and so on. Over that, it required only a number in it. If you went over 16 (or 18, I don't remember exactly) characters, there were no rules. The front-end explained how the whole system worked and gave the user tips on how they can make their password more secure, heavily promoting phrases as passwords. My friend who is still involved in the project told me a few months ago that they send out satisfaction forms to users, and some users mentioned that thanks to the service they now know how to prepare passwords that are safer and easier to remember.
- heleninboodler 5y agoThe comments on this blog post make me cringe. Is there a correlation between Schneier followers and self-professed experts? Consider the clever fellow who has "logically" concluded that consistent password rules would constitute "putting all your eggs in one basket" and hence weaken security. Folks: a limited character set isn't a liability if you can just increase the number of characters correspondingly. If you're allowed a 64 character password, you can reduce the character set to [0-9A-F] and still have 2^256 possibilities.