My Pet Peeve: Maximum Length Passwords



  • @joe.edwards said:

    @morbiuswilters said:
    @Algorythmics said:
    Telling users to use a password like "my dog is named fido" instead of "f1d01234"...

    "my dog is named fido" seems a lot worse than "f1d01234". You might brute-force the latter, but the former is just easier to guess, especially if you know the person is using a passphrase. See, one of the problems with passphrases is their security drops dramatically if you use an actual phrase, rather than a combination of random words.

    I'm not sure this holds up in practice. Even knowing someone on a deeply personal level, there are hundreds of pieces of information he might choose, but then each of those has hundreds of possible ways to phrase it. I know this keyspace is dramatically smaller than random words or random characters, but we're not talking about a dictionary or brute force attack anymore. Guessing - especially educated guessing - requires a lot more effort and isn't easily automated. With an automated attack, my dog is named fido is no more meaningful or likely than dragon penis fart ships.

     

     I would say that my <x> is <y>ed <z> and similar shit would be very common things in an automated passphrase guesser.

     



  • @Ben L. said:

    @morbiuswilters said:
    @joe.edwards said:
    Even knowing someone on a deeply personal level, there are hundreds of pieces of information he might choose, but then each of those has hundreds of possible ways to phrase it. I know this keyspace is dramatically smaller than random words or random characters, but we're not talking about a dictionary or brute force attack anymore.

    Well, if you want to create a dictionary, it's not that hard. If somebody's using personal info, there are very few words and combinations they will use to describe something.

    gsU9kc0OO2Lo7PwYqbqnArskBvV8VPeexqGuu438DVHEJnA0OdLo0aTkgBD2Iz3

    I have no idea what you're trying to say.



  • @DescentJS said:

     I would say that my <x> is <y>ed <z> and similar shit would be very common things in an automated passphrase guesser.

    my hovercraft is full ofed eels



  • @morbiuswilters said:

    @Ben L. said:
    @morbiuswilters said:
    @joe.edwards said:
    Even knowing someone on a deeply personal level, there are hundreds of pieces of information he might choose, but then each of those has hundreds of possible ways to phrase it. I know this keyspace is dramatically smaller than random words or random characters, but we're not talking about a dictionary or brute force attack anymore.

    Well, if you want to create a dictionary, it's not that hard. If somebody's using personal info, there are very few words and combinations they will use to describe something.

    gsU9kc0OO2Lo7PwYqbqnArskBvV8VPeexqGuu438DVHEJnA0OdLo0aTkgBD2Iz3

    I have no idea what you're trying to say.

    That's my mother's maiden name.



  • @tweek said:

    and, skotl : double-tap the shift key, it should turn blue, giving you a capslock. I have saved you 62 shift-taps.
    Wait - this wasn't common knowledge? The only time I use iPhones is when I have to type in the WPA key for clients, and I figured out the double-tap on the shift key immediately (but I'm still irritated that 1. iPhone doesn't have a Reveal password checkbox [seriously, if Android can do it, why not the supposedly more user-friendly iOS?] and 2. that the letters on keyboard are always upper-case).


  • Considered Harmful

    @morbiuswilters said:

    @joe.edwards said:
    Even knowing someone on a deeply personal level, there are hundreds of pieces of information he might choose, but then each of those has hundreds of possible ways to phrase it. I know this keyspace is dramatically smaller than random words or random characters, but we're not talking about a dictionary or brute force attack anymore.

    Well, if you want to create a dictionary, it's not that hard. If somebody's using personal info, there are very few words and combinations they will use to describe something.

    OK, so it might be a phrase about my father, or my mother, or my brother, or my pet, or first girlfriend, or my wife, or my son, or my first grade teacher, or my car, or me, etc. OK, some attribute thereof, so maybe its name, or hair/eye color, height, birthday, shoe size. OK, you already need to know either quite a bit about me personally to build that dictionary, or have a dictionary that includes every human and animal name, every date in the past century, every color, etc. And then for each of THOSE combinations you have to think of slightly different ways to say the same thing - and did I use capitalization/punctuation? Maybe I used lolspeak. And it might not even be a direct relationship, it might be a book I liked, a show I watched, or somewhere I visited - anything can have meaning.

    So, even if you know allll about me, and also happen to somehow know I use a passphrase instead of the more-common password, and even know that my passphrase isn't randomly generated, you've still got quite a stack of passwords to go through.

    Edit: also notice that the number of combinations to try is n^m... So the number of words in the dictionary, times itself for each of the number of words in the phrase. This grows very rapidly.



  • @joe.edwards said:

    @morbiuswilters said:
    @joe.edwards said:
    Even knowing someone on a deeply personal level, there are hundreds of pieces of information he might choose, but then each of those has hundreds of possible ways to phrase it. I know this keyspace is dramatically smaller than random words or random characters, but we're not talking about a dictionary or brute force attack anymore.

    Well, if you want to create a dictionary, it's not that hard. If somebody's using personal info, there are very few words and combinations they will use to describe something.

    OK, so it is P4$$w0rd

    FTFY


  • @joe.edwards said:

    So, even if you know allll about me, and also happen to somehow know I use a passphrase instead of the more-common password, and even know that my passphrase isn't randomly generated, you've still got quite a stack of passwords to go through.

    Yeah, but you could say that about a normal password, too. Security is relative to the amount of randomness you're trying to guarantee. If your normal password is your wife's birthday, then there's a good chance your passphrase is "my wife's birthday is April 20th, same day as Hitler's".



  • @joe.edwards said:

    also notice that the number of combinations to try is n^m... So the number of words in the dictionary, times itself for each of the number of words in the phrase. This grows very rapidly.

    No it isn't n^m, that is only true if you pick the words from the dictionary randomly and you are talking about a phrase (possibly with poor grammar instead of a properly made phrase, but that is still a restriction on the keyspace you are looking at).



  • @morbiuswilters said:

    ...you only need to remember a single master password. Having to remember a thousand passwords would be a nightmare and only means you're going to do something stupid along the way.

    That's a fantastic idea! Now, who do we trust with all those master passwords? I say the government - they haven't done anything suspicious lately. Maybe Google.

    @morbiuswilters said:

    Second, you only get good entropy from using words if you use random generation and you accept the very first result it gives you. If you try to reorganize the words to make something more memorable, you're reducing entropy (which is why you shouldn't be trying to make that shit memorable in the first place..)

    I understand your concerns. In the age-old security vs convenience debate, you're leaning towards security.

    As one in favour of more characters, let me put this to you: The sentences and words which would (as you quite rightly explain) reduce empathy in passwords do not exist in my passwords. I mis-invent or deliberately underspell words, and the sentences do not ways all proper grandma make. I would like to submit that without some kind of social engineering/mentalism/shoulder-spying, a machine will have problems predicting these patterns specific to the individual (give it five years, I guess). Especially with today's nauseatingly creative spelling and grammar.

    I'm taking a risk bringing you this information. Right now Derren Brown is saying "Aha! And I bet I can guess where Shoreline banks!".

    @morbiuswilters said:

    Third, if you're going to use random password generation, then you get far better entropy per-character by using random characters ([A-Za-z0-9] works fine) than words. Twenty characters is the max you'd ever need--that means when you run into sites with a maximum length of 20 characters, you're actually getting the best security you can hope for, instead of dicking around with random words. Security needs to be practical and the xkcd method ignores a lot of legitimate concerns.

    Fine. You get the government or Google to log you in and I'll stick with making up words. First one to get cracked is a rotten egg.

    @morbiuswilters said:

    In short: you're taking security advice from a guy who draws a shitty webcomic. This may not be the wisest course of action.

    @Shoreline said:

    I only know the basics of password/session security, but as I understand it, passwords are hashed into a 32-character string. Why then, can I not get an extra 12 characters in my password?

    You apparently don't even know the basics. A 32-character string seems to imply MD5, which nobody should be using any more. Also, the length of the hash output has absolutely nothing to do with the length of the input. MD5 is 32 characters (well, hex digits) whether the input is 1 character or 1 million.

    However, bcrypt, which is the recommended way to store passwords, does have a maximum password size of 55 bytes, but you really don't need more than that.

    What I do know is that every time I look into a new database password field I see a password field of 32 characters. This was not my choice and I may have revealed in the past that I've not been working with the best software, so maybe this is more of an omen regarding the progress of my education. I'll make a note of this new-fangled Bee-Crypt you speak of.



  • @Shoreline said:

    The sentences and words which would reduce empathy in passwords do not exist in my passwords
     

    So would you say that your passphrases are always very kind and understanding?



  • @drurowin said:

    WHERE ELSE CAN I POST MY CRUDE LION DRAWINGS.
     

    tumblr



  • @dhromed said:

    @Shoreline said:

    The sentences and words which would reduce empathy in passwords do not exist in my passwords
     

    So would you say that your passphrases are always very kind and understanding?

    "I can't guess you!"
    "It's ok, you were never meant to. You made a good attempt though!"


  • Considered Harmful

    @locallunatic said:

    @joe.edwards said:

    also notice that the number of combinations to try is n^m... So the number of words in the dictionary, times itself for each of the number of words in the phrase. This grows very rapidly.

    No it isn't n^m, that is only true if you pick the words from the dictionary randomly and you are talking about a phrase (possibly with poor grammar instead of a properly made phrase, but that is still a restriction on the keyspace you are looking at).

    I meant for a machine to chew through. Perhaps there are some heuristics that can narrow it down a little, but it's been shown to be surprisingly hard to programmatically determine whether a sentence is grammatical, and maybe my passphrase is Buffalo buffalo buffalo Buffalo buffalo.

    Edit: If we're strictly talking about my [x] is [y] (and that's a stupid keyspace), well, there are easily dozens of related entites for x (possibly with modifiers like favorite x, first x, best x, etc), and then hundreds of names, thousands of dates, dozens of colors (very conservative estimates, all). "[Mm]y favo[u]rite colo[u]r is spotted periwinkle-gr[ea]y[.]" Even this space isn't as small as it seems.
    More importantly though, a real attacker likely doesn't know that your password _is_ in this theoretically smaller keyspace. It's far more likely to be a regular old password.


  • @Shoreline said:

    That's a fantastic idea! Now, who do we trust with all those master passwords? I say the government - they haven't done anything suspicious lately. Maybe Google.

    Huh? What? Why would you need to "trust" anyone with your master password?

    @Shoreline said:

    I understand your concerns. In the age-old security vs convenience debate, you're leaning towards security.

    I don't see how trying to memorize 100 medium-grade passphrases (which you go on to tell us use "creative spelling") is any more convenient than remembering a single master password (or passphrase, if you insist..)

    @Shoreline said:

    Fine. You get the government or Google to log you in and I'll stick with making up words. First one to get cracked is a rotten egg.

    I really have no idea where you're getting this "Google or the government" shit.

    @Shoreline said:

    What I do know is that every time I look into a new database password field I see a password field of 32 characters.

    Presumably they're using MD5, then.



  • @joe.edwards said:

    Edit: If we're strictly talking about my [x] is [y] (and that's a stupid keyspace)...

    Yes, but why are you assuming that someone who would choose a password of "f1d01234" would choose a passphrase of "purple monkey dishwasher"? It's goalpost moving: you're trying to make the claim that merely having a passphrase is more secure, but then you're slipping a significantly better password generation system.

    @joe.edwards said:

    well, there are easily dozens of related entites for x (possibly with modifiers like favorite x, first x, best x, etc), and then hundreds of names, thousands of dates, dozens of colors (very conservative estimates, all).

    And that doesn't make for very many variants at all. Especially when it isn't usually that hard to find out someone's wife's birthday, or their dog's name.

    @joe.edwards said:

    "[Mm]y favo[u]rite colo[u]r is spotted periwinkle-gr[ea]y[.]"

    Except, once again, a person's spelling is likely to be quite predictable.

    @joe.edwards said:

    More importantly though, a real attacker likely doesn't know that your password is in this theoretically smaller keyspace. It's far more likely to be a regular old password.

    Until people follow your advice and soon most people are using passphrases. It doesn't help that the efficacy of a password system is reduced when more people start using it.

    But I'll say it once more: this is completely the wrong argument to be having. If you're coming up with passwords like "My dog's name is Fido" or "f1d01234", then you probably aren't even using unique passwords for each site you visit. What people should be doing is using randomly-generated passwords, secured with a master password, like I've said a dozen times now. Then that master password should be a reasonably strong (i.e., randomly-generated) password or passphrase.



  • /cast Raise Dead

    Shapeways told me today that they…

    are currently investigating an incident involving unauthorized access to our systems.

    and

    Although we protect your password with a hash in an effort to prevent malicious attackers from misusing it, to err on the side of caution we suggest that you reset your password at your earliest convenience.

    I take the advice, went to the site by typing its URL into my browser, and promptly got a question if I wanted to change my password. So I did:

    0_1469554231009_Shapeways password.png

    If they “protect your password with a hash,” why is there a maximum length to what you can enter as a password?


  • FoxDev

    @Gurth said in My Pet Peeve: Maximum Length Passwords:

    If they “protect your password with a hash,” why is there a maximum length to what you can enter as a password?

    A maximum password length of.... say 200-500 characters, is okay because you are presumably protecting your service against password hashing DOS attacks.

    A maximum password length of less than that though, i'm going to assume you are handling passwords wrong and i am going to run away screaming now.


  • Trolleybus Mechanic

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    say 200-500 characters, is okay because you are presumably protecting your service against password hashing DOS attacks.

    Then do password = ltrim(input, 500) and don't bug the user.

    Also:

    Time to play another round of "Guess Where In The Framework They're Mishandling Passwords In Plain Text". Your only clue is the restrictions on what is allowed in a password.

    https://what.thedailywtf.com/topic/18092/i-signed-up-for-a-target-account/4


  • FoxDev

    @Lorne-Kates said in My Pet Peeve: Maximum Length Passwords:

    Then do password = ltrim(input, 500) and don't bug the user.

    nope. not going to do that because then i would be leaving myself open to the hashing attack on submit, also it would lock me into doing that forever, if they send me the full 1k password and i trim it to 500, then if i move to a 1k limit later they no longer can log in.

    so nope.

    i'm gonna bug the user, because then they know what their password is.



  • @Lorne-Kates said in My Pet Peeve: Maximum Length Passwords:

    Then do password = ltrim(input, 500) and don't bug the user.

    No, don't. Hellstra silently truncate your password to 16 characters but only on some of their logins. Turns out that the reason for this truncation is that they happily text you the password should you forget it...



  • @Lorne-Kates said in My Pet Peeve: Maximum Length Passwords:

    ltrim(input, 500)

    Let me get this straight.

    You want to take a password like 0529329diefia9ejfiaelnrjrakhld and turn it into 29329diefia9ejfiaelnrjrakhld? How is that going to help with lengths? And what if someone has a thousand-character password containing only fives and zeroes?



  • @Shoreline said in My Pet Peeve: Maximum Length Passwords:

    I only know the basics of password/session security, but as I understand it, passwords are hashed into a 32-character string. Why then, can I not get an extra 12 characters in my password?

    1. ALL hashes, made from ANY length string or file result in fixed-length string.

    2. If the fixed-length string is only 32 chars, you're doing it wrong because that's too short (using too weak hashing algo, stronger ones have longer outputs, powers of 2, u know) and too quickly crackable since about 2005.

    3. As was already mentioned, you assume they're hashing the password, while the complete opposite is more likely. The only reason to impose maxlength limit to password (disregarding "i've seen many other sites so it") is precisely NOT HASHING passwords, which means their length is capped on column length in db. Which is utterly stupid, yes.



  • @accalia said in My Pet Peeve: Maximum Length Passwords:

    A maximum password length of less than [200] though, i'm going to assume you are handling passwords wrong and i am going to run away screaming now.

    Blowfish tends to restrict passwords to 56 characters (resulting in any library using it to have the same restriction.)

    Chunking any entered password greater than 56 chars, and messing up the resultant re-combination of the hashes returned from each chunk is left as an exercise for the next candidate on the front page here.


  • FoxDev

    @sh_code said in My Pet Peeve: Maximum Length Passwords:

    The only reason to impose maxlength limit to password (disregarding "i've seen many other sites so it") is precisely NOT HASHING passwords,

    well... that's the only reason for a say 16 character limit, as i've said before a limit of 200ish characters is sensible as a "we don't want you using the entire contents of the gutenburg press as your password and making us crunch your hash for a solid minute" sort of protection.


  • kills Dumbledore

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    we don't want you using the entire contents of the gutenburg press as your password and making us crunch your hash for a solid minute" sort of protection

    Didn't you try to use the text of War and Peace for a password on Discourse?


  • FoxDev

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    we don't want you using the entire contents of the gutenburg press as your password and making us crunch your hash for a solid minute" sort of protection

    Didn't you try to use the text of War and Peace for a password on Discourse?

    not only tried, but succeeded!

    until @end got annoyed with me for miniDOSing meta.d every time i logged in.

    then they set a limit of.... i think it was a kilobyte? something like that anyway.



  • @sh_code said in My Pet Peeve: Maximum Length Passwords:

    stronger ones have longer outputs, powers of 2

    Isn't bcrypt's output 60 ascii printable characters?


  • area_can

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    miniDOSing meta.d

    Did the site just stop responding for a while? 😆


  • FoxDev

    @bb36e said in My Pet Peeve: Maximum Length Passwords:

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    miniDOSing meta.d

    Did the site just stop responding for a while? 😆

    about 5 minutes or so, yeah.



  • @accalia said in My Pet Peeve: Maximum Length Passwords:

    I'm going to assume you are handling passwords wrong and i am going to

    grit my teeth, bend and spread. Because every bastard does this wrong and I'm so so sick of fighting it.

    In my work inbox today:

    Hi Myname,
    I know you put a lot of work and effort into creating key-passes for all the
    students. Unfortunately it has become such a nightmare. Some staff don't feel
    confident in using it, let alone showing/helping students. The biggest issue
    is that the kids just don't remember what to do each time. Some classes have
    spent quite a few sessions trying to sort it out. It has become a very time
    consuming exercise for all. This has had a significant impact on teaching time.
    Is it at all possible, just to give them their gmail accounts- ie. username,
    password etc so they can directly log on?
    Teacher
    

    She thinks kids who haven't yet got the hang of KeePass is a nightmare? Wait until she sees those same kids trying to get a school proxy server username, a school proxy server password, an email address and a long password typed in correctly by hand, on shared browsers with password-remembering turned off.

    Fortunately the principal is still onside, I think.


  • Winner of the 2016 Presidential Election Banned

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    Didn't you try to use the text of War and Peace for a password on Discourse?

    not only tried, but succeeded!
    until @end got annoyed with me for miniDOSing meta.d every time i logged in.

    I love everything about this and I'm extremely disappointed that I was not there to see it.



  • @

    @ben_lubar said in My Pet Peeve: Maximum Length Passwords:

    @sh_code said in My Pet Peeve: Maximum Length Passwords:

    stronger ones have longer outputs, powers of 2

    Isn't bcrypt's output 60 ascii printable characters?

    tbh I luckily haven't done a web or any part of it related to passwords for the last ...5 years?, so I admit here in the forum was the first time I heard the name "bcrypt", and my "powers of 2" was primarily an assumption (a semi-educated guess gone wrong, if you will).

    Also now as I'm really googling various hashing algos, it was a ...maybe one-tenth of educated guess.

    Yeah, basically I said bullshit right there thanks to the fact last time I worked with passwords MD5 was considered "not ideal, but still safe enough", and not even then, and not since then, have I invested any time in the topic.

    (Which will change shortly as I'm starting a project where knowing these things precisely is a must, so I hope this remedies me a bit.)



  • @sh_code said in My Pet Peeve: Maximum Length Passwords:

    Also now as I'm really googling various hashing algos

    There are only three algorithms you need to look at:

    • bcrypt
    • PBKDF2
    • scrypt

  • :belt_onion:

    @ben_lubar And (irrelevant to this discussion) for error checking (only): MD5


  • FoxDev

    @sloosecannon said in My Pet Peeve: Maximum Length Passwords:

    @ben_lubar And (irrelevant to this discussion) for error checking (only): MD5

    eeh, hosestly i'd even give MD5 a pass for that, SHA256 works just as well for that, is not significantly slower on modern PCs and suffers not from the various flaws that plague MD5


  • kills Dumbledore

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    suffers not from the various flaws that plague MD5

    What flaws does MD5 have that affect error checking? I know there's a relatively high chance of collisions, but not in the sort of differences you're checking for in that sort of situation?


  • FoxDev

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    What flaws does MD5 have that affect error checking?

    MD5 is vunerable to a hash reset attack, effectively allowing an attacker to create a file that has the desired has without any effort and yet that file can still carry a malicious payload.


    granted filesize+md5 has been shown to not be vulnerable to the reset attack, but why use an algo that's vulnerable in the first palce?

  • kills Dumbledore

    @accalia Interesting, but less scary than you make out given:

    I'm not aware of anybody who has successfully been able to reset MD5, mind you.


  • FoxDev

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    @accalia Interesting, but less scary than you make out given:

    I'm not aware of anybody who has successfully been able to reset MD5, mind you.

    that was in 2004, it's 2016 and reset attqacks have been demonstrated.

    i just default to raymond chen for introducing topics.


  • kills Dumbledore

    @accalia Fair enough.

    I have to admit, I wasn't thinking about malicious changes, just minor data corruption due to network hiccups or similar


  • FoxDev

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    I wasn't thinking about malicious changes,

    on the internet it's not paranoia, it's a strong and healthy self preservation instinct.



  • @ben_lubar said in My Pet Peeve: Maximum Length Passwords:

    PBKDF2

    Problem Between Keyboard and Dwarf Fortress?


  • :belt_onion:

    @accalia well yeah, but for instances where malicious circumstances aren't relevant (did this file copy successfully after $idiot ripped the flash drive out) for example, it works fine. And comes preinstalled.

    And even in downloads, the source of the md5 hash is usually the place you're downloading from. So if you don't trust that, it's irrelevant anyways.


  • FoxDev

    @sloosecannon said in My Pet Peeve: Maximum Length Passwords:

    trust

    <dl> <dt>Trust</dt> <dd>A little will get you a long way, the less you use the further you'll go.</dd> </dl>



  • @accalia said in My Pet Peeve: Maximum Length Passwords:

    @sloosecannon said in My Pet Peeve: Maximum Length Passwords:

    trust

    Trust
    A little will get you a long way, the less you use the further you'll go.

    Shit, I thought that was an allowed tag. I'll go fix that.


  • FoxDev

    @ben_lubar said in My Pet Peeve: Maximum Length Passwords:

    Shit, I thought that was an allowed tag. I'll go fix that.

    coolio then.



  • Original post looks truncated, just like his password


  • Trolleybus Mechanic

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    I wasn't thinking about malicious changes,

    on the internet it's not paranoia, it's a strong and healthy self preservation instinct.

    :adblock_noscript_requestpolicy_ghostery_fire:


  • FoxDev

    @Lorne-Kates said in My Pet Peeve: Maximum Length Passwords:

    @accalia said in My Pet Peeve: Maximum Length Passwords:

    @Jaloopa said in My Pet Peeve: Maximum Length Passwords:

    I wasn't thinking about malicious changes,

    on the internet it's not paranoia, it's a strong and healthy self preservation instinct.

    :adblock_noscript_requestpolicy_ghostery_fire:

    yes.... i run all of those, for my safety, and yours..


Log in to reply