Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Jeffrey Goldberg Newsgroups: sci.crypt Subject: Re: Firefox improvements. Date: Sun, 11 Oct 2015 14:42:15 -0500 Lines: 85 Message-ID: References: <263cd$561a967a$d47876e2$46985@news.ziggo.nl> Reply-To: jeffrey+news@goldmark.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net OJxO4QA7qrUV0ZIdkypfRgbWDxaCoaRSkO9SFRwz/GJ890FrMW Cancel-Lock: sha1:4rstiGZtVB7kr+tjJhglOPtHJhU= User-Agent: Unison/2.1.10 Xref: csiph.com sci.crypt:32715 On 2015-10-11 18:55:34 +0000, Richard Heathfield said: > On 11/10/15 18:13, DecadentLinuxUserNumeroUno wrote: >> On Sun, 11 Oct 2015 19:03:56 +0200, "Skybuck Flying" >> Gave us: >>> >>> It must be 8 to 15 characters.. >>> must contain lower and upper and a fokking digit or something and/or a >>> special character ?! >> It doesn't matter, idiot. It still foils brute force search hacking >> better. > > Assume an 8-character password, with legal characters [A-Z][a-z][0-9]. > There are 218340105584896 such passwords, but 53459728531456 of them > have no digits. Thus, even ignoring the upper/lower case rule, an > adversary can eliminate almost a quarter of the search space (24.48+%). > Even with 15-character passwords, around 7% of the search space can be > ignored. And that's not even including the lower/upper case rule. > > Could you please explain how "having fewer candidate keys to test" is > harder than "having more candidate keys to test"? Richard, you are assuming that passwords will be chosen uniformly over the set of possible passwords, and so, quite correctly under that assumption, point out that any restrictions reduce the number of possible outcomes, and thus make it weaker. But these password policies (as misguided as they often are) understand that passwords are created by humans, and humans do so non-uniformly. Let's look at a simple case. Imagine two systems that define sets of possible passwords A and B. A set of strings {s | s matches /[a-zA-Z0-9]{8,15}/ } B is A minus { s | s is among the top 10000 most frequently used passwords } B contains everything A contains except for some common passwords. Thus Bis a proper subset of A, and so in a very specific sense is weaker. But which set of requirements is going to get people to use stronger passwords? When asking people to create passwords, I think that imposing B is a far better choice than imposing A. (Not that I'm actually happy with either, but I'm only interested in contrasting A and B at this point.) I suspect that you will agree. So keep in mind what the design goal of password restrictions is. They are willing to reduce the space of possible passwords in order to encourage better choice of individual passwords. Do password requirements meet their design goals? For the most part, "no"; these do not reach their design goals. Indeed some of the restrictions and notions of what makes a strong password has become a bit of a cargo cult. There are some cases where these sorts of things can help, but again, it is hard to get real data on this and the various experimental studies show a lot of sensitively to the very specific requirements and how they are presented to the user. Another difficulty is that the particular restrictions change in their usefulness over time. There may have been a time when forcing people to include a digit in their passwords was a good idea, but the value of that shifts over time, particularly as attackers learn what sorts of behaviors those rules produce. So (dumb) password restrictions should be looked at in terms of the actual problem they are trying to solve and on how well they do that. The design goal is reasonable, but we should be careful to not do more harm than good. All of this changes if passwords aren't created by humans, but instead are created by something that does pull uniformly from the set of possible passwords meeting the requirements. Once you have that procedure, then anything that reduces the set of possible passwords is a bad idea. Now if everyone used a good password manager, then their passwords would be generated uniformly, and we wouldn't have to worry about how humans create passwords. Cheers, -j