Password composition

Options
This discussion was created from comments split from: missing "Allow characters to repeat" checkbox in password generators.

Comments

  • AGAlumB
    AGAlumB
    1Password Alumni
    edited March 2018
    Options

    Okay, what's going on? You appear to have posted the same(?) message four times. :unamused:

    I've split you off into a separate discussion since your comments appear to have nothing to do with the original topic, which was the now defunct "Allow characters to repeat" checkbox in 1Password for Mac.

    Additionally, cut it out with the rude comments. This is a support forum, not your personal soapbox. We need to keep this as friendly as possible for the wide range of people that visit. Be sure to keep that in mind in the future. You're welcome to participate, so long as you can adhere to the guidelines:

    Forum guidelines

    If you need help with something, let us know. Otherwise, if you have something to contribute to the community, that's great. But mere negativity benefits no one — including you.

    Moving on,

    In another thread Brenty said "you can still generate a truly random password and simply delete any banned characters."

    Yep. I sure did.

    So he's telling me to manually replace one character with another,

    Nope. Read it again.

    but won’t include the option to exclude it because that somehow lessens entropy but manually replacing it doesn’t. Say what?!

    If you generate a 21 character password that contains a %, which is not allowed by the site, deleting the % nets you a fully random 20 character password. What's the problem?

    Lets take these 20 character passwords just generated by 1Password as an example:

    If I don’t want the pipe in my password, how does it lessen security by replacing it with another character? It’s still 20 characters and will be identical in difficulty to crack.

    Replacing it is different. You're choosing another character to substitute. That's not random.

    They don’t contain a # character either, yet according to your logic if I use the 4th password which contains a # character and replace it with something else, I’ve now diminished the entropy even though the first 3 passwords didn’t have it either.

    That does decrease the entropy. In case it helps, entropy is the amount of random possibilities. When you remove some random element, by definition, you'll have less entropy.

    But I agree that with a very long password doing that with one or two characters won't break the bank. I just don't see what this has to do with anything, other than you're trying to nitpick to try to belittle others.

    It’s no different than simply choosing another password that doesn't contain a pipe or # character.

    If you mean choosing another randomly generated password, then yes, that's correct. But if you're chasing another password you've created yourself, that's not random at all. Clicking the "Regenerate Password" button a couple times if you get a password that won't work for the site can help.

    So if I never want the pipe in my passwords,

    Why not? If the site allows it, what's the harm? If it doesn't fine; use one that does not contain it. There are plenty more where that came from.

    why should I be forced to generate passwords that contain it?

    You're not forced to. You can always generate another one.

    I’ll just generate another or replace the pipe with something else. Still 20 characters, still just as safe.

    Yep, you said it yourself: "generate another". So what's the problem?

    But it wastes the user’s time and aggravates them for having to perform such a needless task.

    You're right. It often does take greater than zero seconds to generate a few different passwords. We have some ideas for how we can make the password generator more flexible without making it encourage people using weaker passwords.

    But I think its important to keep perspective: you're leaving these comments using a device that's more powerful than all of the technology used to land humans on the moon, perhaps in the comfort of your own home, your workplace, or even traveling somewhere in between, using communications which can span the Earth in its entirely in milliseconds. And you're complaining about clicking a button to generate a unique new fully random password which no one could possibly guess. I agree that there's room for improvement. There always is. But if that's the greatest inconvenience either of us suffers today, I think we're doing pretty well. Certainly it's your prerogative if you want to let something like this upset you so, but truly it's an amazing time to be alive.

    Brenty acts real concerned about the entropy of passwords, yet the generator will create 4-character passwords if you want it to, how safe is that? Certainly not safer than allowing me to omit unwanted characters from my 20 or 30 character passwords!

    Oh no, I am a terrible actor. This is not an act. :lol:

    4 character numeric passwords — sometimes referred to as "PINs" — are often used by banks, so it's handy to be able to generate those. No one is suggesting you use a 4 character password in any other circumstance though. Always use the strongest you can. We're not paying by the bit here. :tongue:

    The developers aren’t protecting users by generating passwords with characters a site won’t permit. Those characters MUST be removed or the password WON’T be accepted. There is no other choice.

    Indeed. The choice is yours. Always. We just try to offer sane defaults and options for most use cases. We cannot cover every eventuality, but we'll continue to work to find solutions that can help the greatest number of 1Password users. Take care.

  • jpgoldberg
    jpgoldberg
    1Password Alumni
    edited March 2018
    Options

    You point out that

    1P’s devs have refused to allow its customers to decide what characters THEY want in THEIR passwords,

    Yes.

    An example

    One of the characters that we do not include among symbols is "<".

    There is an e-store system out there which will silently truncate passwords at a "<" character. If you give any of the stores that use that system a password of OYf<abOsh^Or3nPPQ6%-ZKj would actually be treated by the system as OYf !

    It is certainly the case that allowing the "<" character in passwords used on such sites makes the passwords much weaker. If we opened up the ability to let users specify their own character sets, how many of those users would be aware of these sorts of thing?

    On being a mother hen

    The underlying password generation engine that is used in (some of) our 1Password clients has all of the power you are seeking. But we have deliberately chosen not to expose that through the user interface.

    There are other things that we don't pass let users have control over:

    • We don't make PBKDF2 iterations user configurable
    • We don't allow users to choose encryption algorithms
    • We don't give users control of the wordlists our password generator uses
    • We don't give users the ability to specify what certificates are to be trusted when checking for updates

    And many more.

    We do this for three reasons (not all of which apply to password generation)

    1. We don't want to overwhelm people with too many advanced options. There's always room for "just one more" advanced option, but there aren't room for N more.
    2. Complexity is the enemy of security. Our systems are complicated, but only as complicated as necessary.
    3. We don't want people to shoot themselves in the foot.
    4. We aren't in the "security theater" business. (We don't want to just add features that may make people think things are more security without really adding to real security.)

    And it is really point (3) that is most relevant to this particular discussion. There are some people who know just enough about some of these things to fixate on some particular security goal or measure. They want to crank some indicator up to 11. But they don't understand deeply enough to recognize that they may be gaining very little security in doing so and they may be harming their security interests through trade-offs. On the other hand, someone who fully understands the math and the threats and what crackers do wouldn't really be bothered by the details of our choices about what symbols to include even if they disagreed with some of the individual choices.

    This approach may come across as patronizing and arrogant, and perhaps it is. But it allows us to make things both easier and more secure for 1Password users. Making things both easier and more secure for people is our reason for being.

    But if someone really is bothered by it they are free to do as you suggest and used a separate password generator entirely.

  • jpgoldberg
    jpgoldberg
    1Password Alumni
    edited March 2018
    Options

    You write

    jpgoldberg, I think your (and Brenty’s) logic and math is bogus.

    My math and logic tell me that it isn't ;-)

    Lets take these 20 character passwords just generated by 1Password [...]

    They don’t contain a # character either, yet according to your logic if I use the 4th password which contains a # character and replace it with something else, I’ve now diminished the entropy even though the first 3 passwords didn’t have it either. BS!

    It’s no different than simply choosing another password that doesn't contain a pipe or # character.

    Kinda, but not exactly.

    When you change your password creation scheme from "generate a single password and use it" to "generate a bunch of passwords and pick the one you like" you have weakened the security of your password creation procedure. That is because your "pick the one you like" does not choose uniformly from the generated passwords.

    When you change the scheme from "generate a password and use it" to "generate a password and change what you don't like about it" you also weaken the system though in different ways than the former.

    When you change the scheme from "generate a password and use it" to "generate passwords and use the first acceptable one" you also weaken the system, but less than with the other systems. At least the math of this one is tractable. We believe we've solved a closely related problem.1

    Ideally

    Ideally2 it would be nice for our generator to know the exact requirements of each site (or at least the most popular) and then automatically tune for that. We've taken stabs at this before, and we will take stabs at it again; but it is harder to do than you'd think.

    Once you start trying to build up such a database, you quickly discover that many sites and services are inconsistent. They may offer multiple login forms, some in iFrames, some in a returning user page, etc. And they have different rules and requirements for each one. And, of course, these change without notice. And testing what the sites use requires running scripts that trigger their defenses. And lots of other things. But we still may take another stab at this.

    I think that we agree on this much. It would be terrific if 1Password were able to generate a password tailored for a particular site that would be strong and guaranteed to conform to the site's requirement. Of course, that ability should be within the constraints that I described in my previous comment.

    Strength matters

    I do believe we can agree on the above, but I think that – unless you have changed your mind from November 2016 – we have unreconcilable differences. Going back to your post from a year and a half ago, you say

    The generator’s only job is to allow a user to create a password a site will accept. PERIOD. It can’t possibly prevent someone from hacking the site and getting the password, that’s the webmaster’s responsibility. So your argument is absurd and laughable.

    You are simply wrong about that. Strength matters. The very common sort of password breach of a site or service involves capture of the password hashed database.


    1. Here is a very rough and internal draft of our notes on a closely related problem: http://com-agilebits-users.s3.amazonaws.com/goldberg/ns18/spg-entropy-calc.pdf Again, those are internal notes. They lack discussion and explanation of some parts. ↩︎

    2. Well ideally, these password requirements would go away, as recommended in NIST 800-63b, §5.1.1.2 ↩︎

  • AGAlumB
    AGAlumB
    1Password Alumni
    edited March 2018
    Options

    The reason for the multiple posts is because of the way this forum (dis)functions. As I’ve mentioned before, anytime you edit a post 3 times it disappears. So I tried to repost it and it vanished again..and again...and again.

    "Doctor, it hurts when I bend my arm like this!" "Stop it." But in all seriousness, this is working as designed. Maybe in the future we can find a better spam filtration system. But for now, since you're aware of these limitations, it's easy enough for you to work within those constraints...or wait a bit for us to dig you out of the spam queue again.

    Only after the last attempt did I notice the tiny grey message box in the lower left corner of my screen which said the post must be approved by a moderator before it will appear. I assumed you’d only post the most recent - the last one since it was the final draft after I’d made changes.

    To be clear, this is all automated. If you're often making multiple edits and then reposting the same thing multiple times, I really can't say I'm surprised that you get caught by the spam filter. This just isn't something that a most people do, usually just bots.

    I sure wouldn’t have posted one after another if they were actually showing up, I would have continued editing the original. And yes, I’m aware of the preview button, but it seems I still catch or think of something after I’ve submitted it.

    Indeed, the forum also has a draft feature so you can compose your message and edit it before submitting it. It probably wouldn't be a bad idea in general to take your time and consider your words before posting in the future.

    Now, Oh, that’s right - you didn’t tell me to replace it, you told me to delete banned characters.

    Which is actually worse advice because that’s shortening the password.

    You should read my example again.

    Point is, if you’re going to generate passwords containing unwanted characters which I must manually replace/delete,

    1Password doesn't intentionally generate passwords you don't want. It's random.

    the why not allow me to uncheck those characters in the generator so they’re just never used in the first place?

    That may be a feature we can add to a future version of 1Password.

    It’s not making the password any less secure if I choose not to use a pipe so the generator inserts one of the other 50 or so characters. Same length = same security.

    Sure, but you seemed to be saying you'd insert a non-random character manually. I'm sorry if I misunderstood.

    It most certainly is random - I could have chosen any of 50+ characters to insert just like the generator would.

    If you chose it, it's not random. Unless your brain contains a pseudorandom number generator.

    It probably makes no difference to a hacker if the generator were to insert a / or ^ or 6 in place of a pipe if I was allowed to exclude the pipe.

    Perhaps not, but you're really stretching here. We're not going to build a security product on assumptions like that. Instead, we need to assume that the attacker knows how the password was created. And the only way 1Password can really know the entropy of a password is if it generates it itself, without any "help" from humans.

    But it was still generated and wasted my time choosing another which may also have a pipe in it. It’s not as fast as simply clicking the regenerate button again. Since I know unwanted characters may be lurking in the password, I must take time to closely inspect each character to see if any of the 2 unwanted ones are there. That may take 6-8 seconds on a 30 character password. And if one is lurking near the end, I’ve just wasted several seconds and must do it all over. Approx. time wasted = 15 seconds.

    Then consider that all of the time that 1Password saves you through everything else it does the other 99% of the time when you're using it balances that out for you.

    There are times when I must manually enter a password - no pasting allowed. And since the Uppercase i (I) can be confused with lowercase L (l) I often exclude them. They can even be confused with the pipe (I happen to like the pipe since it’s a lesser-used character, I’ve just been using it as an example).

    Understood. That makes sense. Certainly there are cases where that can happen.

    What a load of...hyperbole!

    No, that's reality.

    If you used a browser that loaded an alert box on every webpage and you had to click a button to get rid of it before viewing the page, I think you’d tire of that rather quickly and probably be a bit agitated by it even though it takes but a second, despite the fact that you’re using a device that's more powerful than all of the technology used to land humans on the moon, perhaps in the comfort of your own home, your workplace, or even traveling somewhere in between, using communications which can span the Earth in its entirely in milliseconds.

    I get what you're saying, but unless you spend hours a day (as many of us do surfing the web) generating passwords for sites that exclude specific characters, that's an absurd analogy. I think it's safe to say that you've spent far more time on your complaints (not having more control over generated password composition) than you have on the things you're complaining about (a few seconds here and there creating passwords).

    Again, I shouldn’t have to repeatedly generate passwords to get one that doesn’t include characters I don’t want. Just like you shouldn’t have to repeatedly click a button to view webpages.

    I agree. You shouldn't have to. Yet some websites have absurd restrictions even in 2018.

    If I could omit the pipe (or any unwanted characters) and another was inserted in its place, it would STILL be one "which no one could possibly guess.

    Right, that's why I suggested removing it, because what remains will still be randomly generated.

    So what’s the problem in giving users a choice? They’ve been asking for it for YEARS.

    Users have a lot of choices, and often the problems that they contact us about stem from having too many. There are many features and changes that people have asked us for over time, but we really don't think that should be the sole criteria.

    According to a website, it would take about 4 hours to crack .1ro2#9% Following your advice and deleting a character dropped it down to 3 minutes. But replacing one character with another RANDOM character kept it at 4 hours.

    Well duh, that's a really, really short password.

    And it would take about 42 years to crack +262]+%27&+5 Following your advice and deleting a character dropped it down to 11 months - a VERY significant and unwelcome change. But replacing one character with another RANDOM character kept it at 42 years.

    Again with the really short password. Seriously, try 21, as in my example above. No one sane will recommend you make 8 or 12 character passwords in the first place, much less ones that contain only symbols and digits. Excluding the alphabet cuts your entropy by more than half from the get go.

    Therefore, it appears as though if the generator was not allowed to use certain characters and used others instead, there would be virtually no difference in strength as long as the length stayed the same.

    That's one doozy of a straw man argument. I don't know what else to tell you.

    Evidently it’s not always 3 times, because I just edited my reply twice, then it vanished and I saw this message:

    Indeed, I believe that time factors into it fairly heavily.

This discussion has been closed.