Firewall Wizards mailing list archives
Re: password aging
From: "Stephen P. Gibbons" <steve () aztech net>
Date: Fri, 28 Aug 1998 20:15:32 -0700
Respectfully, I don't think you've read a word that I've written. (and this discussion probably doesn't belong here.) Paul McNabb wrote:
But this doesn't work either. You have to assume that your users have an idea of what a "well formed password" is. If they don't, I suspect you'll have a lot of unhappy users who struggle with finding an acceptable password. Certainly an attacker will know or can find out what is well formed. If a password is rejected it will be fairly easy to determine why.
The password policy is clearly outlined, and presented to the userif a new password fails the policy. Guidelines and techniques for choosing "strong passwords" are presented at that time as well. It would be extremely difficult for an attacker to distinguish between a password that was rejected due to a global history check vs. one that was rejected due to a particularly paranoid set of pattern checks and dictionary checks, especially when soundex is figured into the equation. In any event, the password wouldn't gain the attacker anything since (by definition) it's on the list of historical, not-to-be-used passwords and won't gain access to an active account. As I mentioned previously, the password history should be stored in an irreversible format (hashed) and not exposed to read access. In my particular case, it would be protected from access by end users by several other layers and housed on a secure machine (think KDC). Similar restrictions would be placed on access to the dictionary(ies).
But the whole idea of a system-wide password history is useless at best and dangerous in practice. You gain *absolutely nothing* with system-wide histories. Each person's password history had better be completely independent of every other user's history, or else you have a much, much bigger problem. If people are picking passwords from a bad (easily guessed) set, then all you should do is tighten up your definition for acceptable passwords to exclude the weak set of passwords. System-wide password histories just tell everyone that someone is using those weak passwords. Since reusable passwords (and their attendant weaknesses) represent the biggest single threat to most systems, system-wide password histories make your weakest link even weaker.
I as much as admitted that passwords were the weakest link in theentire setup. They are not the only authentication mechanism used by the system that I was speaking of. What's gained is on-the-fly adaptability of the system: Silly stuff that might not make it into a dictionary "BH90210@900" works itself out of what's allowed to be used as a password.
Over the years most vendors were convinced to never store the actual passwords, only hashed passwords. We then were successful in getting most vendors to completely hide the hashed passwords. System-wide password histories are a giant leap back in time to give users info about what passwords are or have been used on the system by other users.
Implemented naively, I would agree.
System wide password histories are one of those things that sound good at first, but the more you look at it the more problems you begin to see. It's like the site that was doing an XOR to "encrypt" their data, and decided that to make it stronger they'd XOR the data twice with the key. I suppose that doing "quadruple encryption" would seem very impressive and sound incredibly secure to management. ;^)
So does double-DES. ;-) So does triple-DES EDE with three keys thatcan inter operate with single-DES.
Again, system-wide password histories are a security hole and should be avoided at all cost. If you are ever doing a security audit of a site and find they are using a system wide password history, you had better flag it as a problem and recommend that they close that hole in their system.
I disagree. You need to look at the entire system, and how thevarious pieces interact. I've faced several big time audits, and the general consensus is that my code base is best characterized as "paranoid." -- Steve
From steve () aztech net Fri Aug 28 09:49:49 1998 System-wide password histories shouldn't be used unless you are also doing dictionary/pattern checks. Given those constraints, and the soundex + hashing that I mentioned in my previous message, it will be difficult for an end-user to determine exactly why their new password choice was rejected by the system. Your example of "sleepy7" could have been rejected at any stage of the "sanity checks". The specific reason for rejecting the new password should not be reported to the user, they only need to be told that the new password is probably weak. Think of the global history as an adjunct to a dictionary check. The dictionary, in this case just happens to match your user- base's actual use very closeley, and it changes over time. Paul McNabb wrote: > > From: "Stephen P. Gibbons" <steve () aztech net> > > > > Storing the hashes system-wide so that user2 wouldn't be > > allowed to use a password that had been previously used > > by user1 or user3 is another option. Use a strong hash, and > > chmod 0600 the history file if you do this. Yeah, an HMAC > > would work better, but then you can't easily combine histories > > and have to protect the key used. > > Having a "system wide" password history is an EXTREMELY bad thing > to do! It is much worse than doing nothing at all! The reason > for a password history mechanism in the first place is because you > want to break up (as much as possible) the password selection > mechanism so that passwords are more random (and harder to guess) > for a user. > > If your users are not telling each other their passwords, then any > passwords reused by other people are purely random anyway. And if > a user ever gets a "hit" on a password, then he/she knows something > about the password selection habits of someone on the system. For > example, if a user can't choose the password "sleepy7" because someone > else has used it, it may be a reasonable guess that someone is using > a "Snow White" theme in choosing passwords. > > System wide password history mechanisms remove randomness from the > password set being used, and they *secretly* pass information about > one user's passwords to another user. > > It should be obvious that if the password history includes the current > passwords, then if I get a "hit" when trying to select a new password, > I am fairly sure that some account on the system has the password I > just tried! > > The moral? NEVER, NEVER, NEVER USE SYSTEM WIDE PASSWORD HISTORIES!!--------------------------------------------------------- Paul McNabb Argus Systems Group, Inc. Vice President and CTO 1809 Woodfield Drive mcnabb () argus-systems com Savoy, IL 61874 USA TEL 217-355-6308 FAX 217-355-1433 "Securing the Future" ---------------------------------------------------------
Current thread:
- Re: password aging, (continued)
- Re: password aging HASSAN . KARIM (Aug 19)
- Re: password aging H. Morrow Long (Aug 23)
- Re: password aging Adam Shostack (Aug 24)
- Re: password aging Paul M. Cardon (Aug 26)
- Re: password aging Stephen P. Gibbons (Aug 27)
- Re: password aging Massimo Brogioni (Aug 27)
- Re: password aging John McDermott (Aug 24)
- Re: password aging Paul McNabb (Aug 28)
- Re: password aging Stephen P. Gibbons (Aug 28)
- Re: password aging Paul McNabb (Aug 28)
- Re: password aging Stephen P. Gibbons (Aug 30)
- RE: password aging KirkAdams (Aug 30)