dave@sea375.UUCP (David A. Wilson) (12/25/88)
With all the concern for control of access to passwords, even when encrypted, why now make passwords more integral to the kernel? The kernel could maintain passwords encrypted somewhere on the disk, but not directly accessible thru filesystem access. Special system calls would exist to store/retrieve encrypted passwords. The system calls could be restricted to root, and use would be recorded in an audit log(handle like process accounting logs) to detect password breakin attempts. The only security hole to fill would then be the prevention of obtaining passwords by direct access to the system disk. Perhaps the kernel could also audit any access to the disk blocks containing the passwords using the disk drivers directly(system backups must be able to backup these blocks although the audit log would record this). Single-user mode should support an optional password(separate from root) to control single-user access to the system. These changes should incur very little system overhead, some kernel code, some changes to disk drivers and few changes to existing admin programs. I think this would be more secure than current password file or the shadow password file. Any comments? Think about it, -- David A. Wilson uw-beaver!tikal!slab!sea375!dave
bzs@Encore.COM (Barry Shein) (12/28/88)
>With all the concern for control of access to passwords, even when encrypted, >why now make passwords more integral to the kernel? The kernel could maintain >passwords encrypted somewhere on the disk, but not directly accessible thru >filesystem access. Special system calls would exist to store/retrieve encrypted >passwords. The system calls could be restricted to root, and use would be >recorded in an audit log(handle like process accounting logs) to detect >password breakin attempts. > >I think this would be more secure than current password file or the shadow >password file. Any comments? Yes, somewhere and at some time we are going to have to do the hard work of analyzing whether or not hiding encryptions improves security as a general principle (as opposed to coming up with new ways to hide them before doing the ground work.) Hiding something indicates that it is dangerous if revealed. It says, basically, that encryption technology is inadequate and cannot be made to work, the only reasonable protection is secrecy. Do we honestly believe this? Or, worse, do we believe that security is attained by layering anything we can think of onto the system? -Barry Shein, ||Encore||
schwartz@cs.swarthmore.edu (Scott Schwartz) (12/29/88)
>Hiding something indicates that it is dangerous if revealed. It says, >basically, that encryption technology is inadequate and cannot be made >to work, the only reasonable protection is secrecy. Do we honestly >believe this? Or, worse, do we believe that security is attained by >layering anything we can think of onto the system? At least in terms of the current UNIX password scheme, I have the uncomfortable feeling that it is NOT adequate. I'll bet that 99% of the people reading this have either used or seen a program that finds a substantial number of passwords on a given system by encrypting the dictionary against /etc/passwd. Put it this way: every other part of unix has evolved, why not allow the password protection scheme to evolve too? As it happens, I think that Barry has a good point here. I think one answer is to admit that 8 character passwords (and user id's, for that matter!) are too small. Someone who knows a lot about encryption (not me!) should suggest a better number. -- Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz>
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (12/29/88)
In article <2271@pompeii.cs.swarthmore.edu> schwartz@pompeii.UUCP (Scott Schwartz) writes: }>Hiding something indicates that it is dangerous if revealed. It says, }>basically, that encryption technology is inadequate and cannot be made }>to work, the only reasonable protection is secrecy. Do we honestly }>believe this? Or, worse, do we believe that security is attained by }>layering anything we can think of onto the system? > }At least in terms of the current UNIX password scheme, I have the }uncomfortable feeling that it is NOT adequate. I'll bet that }99% of the people reading this have either used or seen a program }that finds a substantial number of passwords on a given system by }encrypting the dictionary against /etc/passwd. } }Put it this way: every other part of unix has evolved, why not allow }the password protection scheme to evolve too? > }As it happens, I think that Barry has a good point here. I think }one answer is to admit that 8 character passwords (and user id's, }for that matter!) are too small. Someone who knows a lot about }encryption (not me!) should suggest a better number. >-- }Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz> I do not believe the size of the password has to be the matter of importance here. A password which exists in /usr/dict can be decoded in a liberal 80 hours, IF the cpu is so tied up that it takes a complete second to test one word, and only testing the 290,232 words [on my machine] that are longer than 5 characters. If the 2-letter key used in encryption were not known, this boosts the 80 hour upper end to ~37 years. (80 hours * 4096 methods of encryption) Why not store the key in an unreadable file? Newsgroups: comp.unix.wizards Subject: Re: Password security - Another idea Summary: Expires: References: <228@sea375.UUCP> <4497@xenna.Encore.COM> <2271@pompeii.cs.swarthmore.edu> Sender: Reply-To: heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) Followup-To: Distribution: Organization: Ballistic Research Lab (BRL), APG, MD. Keywords: In article <2271@pompeii.cs.swarthmore.edu> schwartz@pompeii.UUCP (Scott Schwartz) writes: >>Hiding something indicates that it is dangerous if revealed. It says, >>basically, that encryption technology is inadequate and cannot be made >>to work, the only reasonable protection is secrecy. Do we honestly >>believe this? Or, worse, do we believe that security is attained by >>layering anything we can think of onto the system? > >At least in terms of the current UNIX password scheme, I have the >uncomfortable feeling that it is NOT adequate. I'll bet that >99% of the people reading this have either used or seen a program >that finds a substantial number of passwords on a given system by >encrypting the dictionary against /etc/passwd. > >Put it this way: every other part of unix has evolved, why not allow >the password protection scheme to evolve too? > >As it happens, I think that Barry has a good point here. I think >one answer is to admit that 8 character passwords (and user id's, >for that matter!) are too small. Someone who knows a lot about >encryption (not me!) should suggest a better number. >-- >Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz> Newsgroups: comp.unix.wizards Subject: Re: Password security - Another idea Summary: Expires: References: <228@sea375.UUCP> <4497@xenna.Encore.COM> <2271@pompeii.cs.swarthmore.edu> Sender: Reply-To: heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) Followup-To: Distribution: Organization: Ballistic Research Lab (BRL), APG, MD. Keywords: In article <2271@pompeii.cs.swarthmore.edu> schwartz@pompeii.UUCP (Scott Schwartz) writes: >>Hiding something indicates that it is dangerous if revealed. It says, >>basically, that encryption technology is inadequate and cannot be made >>to work, the only reasonable protection is secrecy. Do we honestly >>believe this? Or, worse, do we believe that security is attained by >>layering anything we can think of onto the system? > >At least in terms of the current UNIX password scheme, I have the >uncomfortable feeling that it is NOT adequate. I'll bet that >99% of the people reading this have either used or seen a program >that finds a substantial number of passwords on a given system by >encrypting the dictionary against /etc/passwd. > >Put it this way: every other part of unix has evolved, why not allow >the password protection scheme to evolve too? > >As it happens, I think that Barry has a good point here. I think >one answer is to admit that 8 character passwords (and user id's, >for that matter!) are too small. Someone who knows a lot about >encryption (not me!) should suggest a better number. >-- >Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz> Newsgroups: comp.unix.wizards Subject: Re: Password security - Another idea References: <228@sea375.UUCP> <4497@xenna.Encore.COM> <2271@pompeii.cs.swarthmore.edu> Reply-To: heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) Organization: Ballistic Research Lab (BRL), APG, MD. In article <2271@pompeii.cs.swarthmore.edu> schwartz@pompeii.UUCP (Scott Schwartz) writes: >>Hiding something indicates that it is dangerous if revealed. It says, >>basically, that encryption technology is inadequate and cannot be made >>to work, the only reasonable protection is secrecy. > >At least in terms of the current UNIX password scheme, I have the >uncomfortable feeling that it is NOT adequate. I'll bet that >99% of the people reading this have either used or seen a program >that finds a substantial number of passwords on a given system by >encrypting the dictionary against /etc/passwd. > >Put it this way: every other part of unix has evolved, why not allow >the password protection scheme to evolve too? > >As it happens, I think that Barry has a good point here. I think >one answer is to admit that 8 character passwords (and user id's, >for that matter!) are too small. Someone who knows a lot about >encryption (not me!) should suggest a better number. >Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz> I do not believe the size of the password has to be the matter of importance here. A password which exists in /usr/dict can be decoded in a liberal 80 hours, IF the cpu is so tied up that it takes a complete second to test one word, and only testing the 290,232 words [on my machine] that are longer than 5 characters. If the 2-letter key used in encryption were not known, this boosts the 80 hour upper end to ~37 years. (80 hours * 4096 methods of encryption) Why not store the key in an unreadable file? -- |\/| | | | _ |< / \_(_(_)\_/ \______
jobusch@atanasoff.cs.iastate.edu (David L. Jobusch) (12/30/88)
In article <2271@pompeii.cs.swarthmore.edu> schwartz@pompeii.UUCP (Scott Schwartz) writes: >As it happens, I think that Barry has a good point here. I think >one answer is to admit that 8 character passwords (and user id's, >for that matter!) are too small. Someone who knows a lot about >encryption (not me!) should suggest a better number. >-- >Scott Schwartz <schwartz@cs.swarthmore.edu> <psuvax1!vu-vlsi!swatsun!schwartz> Part of a project I am working on now uses a technique my major professor describes in a paper to compress an ARBITRARY length password (or better, a pass-phrase) into the 56 bit DES key. The goal is to allow the arbitrary length passwords to "fit" into the current password mechanisms without breaking too much software (uses /etc/passwd, field sizes stay the same, staying away from "shadow" files, etc...). I, too, would be interested in hearing arguments for and against various restrictions on passwords. User frustration with picky mechanisms (must use a ... ) around my office usually leads to root setting the person's password to "hi" or something equally secure. (I would appreciate replies through email; will post summary if needed.) Dave Jobusch, Iowa State University Telecommunications jobusch@atanasoff.cs.iastate.edu j1.dlj@isumvs.bitnet (ick) ^^^^^^^^^ As in John Vincent Atanasoff, the creator of the world's first electronic digital computer, built at ISU. Spread the news.
bzs@Encore.COM (Barry Shein) (12/30/88)
Ok, this is getting ridiculous... Can we assume that before we make exotic changes like shadow passwords we can make simple changes (some Unix's already have these) to the passwd changing programs like: 1. Some mixture of upper case, lower case, digits and/or punctuations. 2. No dictionary words (even mixed case.) 3. Can't use login name, system name and a bunch of other easily checked words or patterns (3 digits, dash, 4 digits.) 4. Must be eight chars (or 7 if you're not that paranoid.) 5. Finally, will educate users about how to choose a good password (maybe we can group-write a document about just that, that would be a useful outcome of this conversation.) This is trivial and can be enforced relatively easily without changing all sorts of system software, only one program needs to be modified. Something has to be tacit, every time someone says that eight chars from a 64 or 100 char set should be sufficient someone else jumps up and says "not if they're all lower-case!", assume when we say "from 100 chars" we mean we'll make it hard to search less, not "from 100 chars or any number less down to one". And let's let the conversation about more exotic methods (password aging, shadow password files, anything beyond influencing a reasonable choice of a good password in the first place which some of us claim is sufficient) proceed from there instead of going round and round in circles. *Think*, people, how in the world can password aging protect against choosing a word from the dictionary (as one poster just claimed.) I can crack that looooong before your password ages (unless it ages every few minutes.) It's a worthwhile topic, let's not let it degenerate due to thoughtlessness. -Barry Shein, ||Encore||
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (12/30/88)
Here's an interesting idea: Let's assume a users password is: physics This would most likely be solved in a routine dictionary search. Now let's assume his (her) password is: pHysIcs [I know, too hard to remember, please put flames on hold.] I don't know of any simple way to do a dictionary search on this and come up successful in a "short" amount of time. Now, the issue of remembering case: Suppose, among the standard dot files in the home directory, there was to be a new one: .case . The login program is to check this file, and if it has any permissions other than for owner, login is disabled. Once through this check, when the password is read from the user, it is converted to lower case, the .case file read [example .case below] and where appropriate, the case of a letter changed, before excryption for comparison to the /etc/passwd password. Of course, the passwd change program would also have to incorperate this. Flames can be sent to me personally at heilpern@brl.mil .case: lUllUll this is how the file would read for my pHysIcs example. it is not hard to see how this follows, l meaning lower and U meaning upper. ATTN: Would be flames: If you have a comment about the additional time required for the login process, I challenge you to come up with a quick and SECURE method. Mark A. Heilpern These are MY opinions only. If you like them, great. If you don't, great. -- |\/| | | | _ |< / \_(_(_)\_/ \______
bostic@ucbvax.BERKELEY.EDU (Keith Bostic) (12/31/88)
In article <4523@xenna.Encore.COM>, bzs@Encore.COM (Barry Shein) writes: > 5. Finally, will educate users about how to choose a good > password (maybe we can group-write a document about just > that, that would be a useful outcome of this conversation.) > > This is trivial and can be enforced relatively easily without changing > all sorts of system software, only one program needs to be modified. I find educating users to be a lot more than "trivial". And no matter how stringent your attempt to make the criteria, users will find a way to get a stupid password into the machine. I like some form of shadow passwords as a solution. Once they're in place, you no longer care what the user picks for a password, as long as it's N characters long and not the account name. Keith Bostic
paradis@maxzilla.Encore.COM (Jim Paradis) (12/31/88)
In article <4497@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: >Hiding something indicates that it is dangerous if revealed. It says, >basically, that encryption technology is inadequate and cannot be made >to work, the only reasonable protection is secrecy. Do we honestly >believe this? Or, worse, do we believe that security is attained by >layering anything we can think of onto the system? Hi, Barry! I think there's a subtle point that you're missing here: there's a difference between keeping a piece of information SECRET, and restricting ACCESS to it. It just so happens that on computers, we tend to use the same mechanisms to accomplish both. So keeping a password database inaccessible (by protections or shadowing or making it into a kernel object or what-have-you) does NOT imply that the information contained therein is necessarily a SECRET that must be hidden, but rather it implies that we need to restrict access to the information to prevent someone from taking it away and fiddling with it long enough to eventuall break it (by whatever means -- brute-force cracking, blind luck, sophisticated cryptanalysis, whatever). Here's an analogy: Suppose there's a room containing classified files. To prevent unauthorized access to the files, a lock is installed on the door. Now, if I (unauthorized) wanted to access the information, I could try to pick the lock. If I were allowed to sit in front of the door for as long as I wished, fiddling with the lock and trying various attacks on it, there's a chance that eventually I'd be able to pick the lock and access the information. It may be a very GOOD lock and require a long time to pick, but eventually I might get lucky. This is analogous to the current situation with UNIX password files: since the file is world-readable, I can conceivably make a copy of the file, take it home with me, load it onto my PeeCee, and hack on it at leisure. I might, by blind luck, stumble onto some useful passwords that way. In the case of the locked door, if we want to keep people from hacking on the lock and restrict the use of the lock to being opened with a proper key, we can post a guard at the door. Assuming that the guard cannot be bribed or otherwise made an accessory to an attack, s/he will prevent random hackery on the lock. Similarly, by burying the password information and restricting access to it, one can prevent random hackery on the password file. Oh, all right, I'll admit that it's probably possible to subvert the guard mechanism as well; HOWEVER, consider the following: each "hurdle" that we place in the way of a cracker has a probability P of being compromised. I submit, though, that in a useful system there's no such mechanism where P=0 (proof left as exercise to the reader 8-) ) Therefore, the best we can do is come up with a mechanism where P is (hopefully) quite small. If there are TWO hurdles to be overcome, then the probability of the composite mechanism being compromised is P1 * P2. Thus, by choosing an appropriate set of mechanisms, we can (hopefully) make the probability of compromise arbitrarily small. Recognize, though, that the smaller you make the probability, the more difficult the system becomes to use. Therefore, striking a balance between ease of use and security is a decision that each individual system adminstrator must make. Jim Paradis (paradis@encore.UUCP) 508-460-0500 Devout Secular Humanist and Worshipper of Bacchus in Vintage Years
tim@scsmo1.UUCP (12/31/88)
One thing to keep in mind is that a valid password may not be the same one the user set. For example the passwords iopwwe and wer4543 may encrypt to the same string. The is becuase of the DES method is nonreversable, you can find a valid password but you can't be sure it is the correct one. If you generate a 56 bit key from a phrase, all that happenes is that you generate more strings that will work. I think that the number of strings I like the idea of a 6+ char password with a non-alpha character in it works better as there are about 6.63e15 combinations with about 2.2e14 that most users might pick. The string approach has more combinations 7.1e139 but most people have a <20k word vocabulary, will use a common phrase, and 2^56 is 7.2e16. I would guess that the number of real strings to search is around 100,000. The other drawback is that the string is easy to watch someone type. tim hogard tim@scsmo1.uucp Soil Conservaion Service USDA
res@cbnews.ATT.COM (Robert E. Stampfli) (12/31/88)
Can anyone think of a good reason why either of the following should not be done on systems that employ a shadow password file: 1. Provide a program which returns the encrypted version of the password for the uid (or euid) that invokes it. 2. Provide a program, similar to "passwd", which modifies the encrypted password in the /etc/passwd file, like the original version of the passwd command did. You might, if you were really paranoid, restrict this so that the same password can not be used for both the /etc/passwd and shadow password file. Both if these, it would seem to me, would be useful in writing things like terminal lock programs (case 1), or programs that run set-uid to one account to allow users the ability to do something with files owned by that account, provided they possess the "public" password (case 2). Rob Stampfli att!cblpe!res (work) osu-cis!n8emr!kd8wk!res (home)
bzs@Encore.COM (Barry Shein) (01/01/89)
Re: using a .case file which shows the lower/upper case pattern for a password.... But this means that login will now accept the dictionary word in lower case? Seems to reopen that attack (ie. going thru the dictionary) as login is correcting case for me as I go. Worse, it relies on the unreadability of these .case files in every user's directory, I don't think that's a good thing to rely on, if users are sloppy about password choosing and too lazy to remember the case shifts why do you believe they'll be careful about protecting this .case file? Besides, holes to read unreadable files are a little too easy to come by (also, I assume that the length of the file tells me how many chars in your passwd?) I don't think this idea goes very far. -Barry Shein, ||Encore||
bzs@Encore.COM (Barry Shein) (01/01/89)
>I like some form of shadow passwords as a solution. Once they're in place, >you no longer care what the user picks for a password, as long as it's N >characters long and not the account name. > >Keith Bostic Round and round, and you're not disturbed at the fact that you're now relying on the unreadability of the shadow file? How many ways are there to read a read-protected file? How do you know it has been read by an unauthorized person (or a disgruntled employee)? If you suspect it has been read what is the appropriate action (I can answer that, change every password on the system, wotta nuisance.) I still contend we're all jumping at this shadow password idea because it's easy to implement and *seems* to improve security, not because it necessarily does improve security, it just changes the target slightly without solving the real problem (easy to crack password encryptions.) I honestly view shadow password files as a wonderful example of sweeping a problem under the rug. Note that /usr/lib/uucp/L.sys uses read protection to protect its passwords, how many people out there know who exactly has obtained a copy of their L.sys file? (who cares, it's other folks' systems, right? rrrriiight...) I say if you use encryption then use encryption, why not just store the passwords in the clear in this shadow file if we're all so sure it's secure? Uh huh, just as I thought... We're setting ourselves up for a fall cause even mediocre hackers will figure out ways to get a copy of this shadow file. -Barry Shein, ||Encore||
bzs@Encore.COM (Barry Shein) (01/01/89)
From: paradis@maxzilla.Encore.COM (Jim Paradis) >In the case of the locked door, if we want to keep people from hacking >on the lock and restrict the use of the lock to being opened with a proper >key, we can post a guard at the door. Assuming that the guard cannot be >bribed or otherwise made an accessory to an attack, s/he will prevent >random hackery on the lock. Similarly, by burying the password information >and restricting access to it, one can prevent random hackery on the >password file. It's more like burying it in your back yard hoping no one knows how to dig... That's the whole point really, positing an incorruptible guard makes it *sound* good, but of course no guard is incorruptible (or can be guaranteed to be 100% reliable.) Similarly with file systems. At least encryption algorithms are mathematical objects and, although one cannot prove 100% reliable they can measure confidence under a given set of conditions, and can modify those conditions if need be (eg. demand longer keys or larger character sets.) Just as a "guard" is subject to all sorts of unpredictable circumstances such as being late for work or sleeping on the job you can have similar attacks on something as complicated as a file system, like leaving a setuid program around for a while accidently (did anyone walk away with a copy of the shadow file while that program was there?) If we can posit a completely uncorruptible file system then hey, I'll agree with you. And as I mentioned before, let's just store the passwords in the clear in an unreadable file. The other problem of course is that all I need to do is photograph your lock to have compromised your security and there's no way for you to know if your lock has been photographed, that's another flaw in the analogy. I claim you'd be better off spending your money (guards cost money, no?) on a better door and lock rather than having to worry about the door, the lock and the guard too now. -Barry Shein, ||Encore||
gwyn@smoke.BRL.MIL (Doug Gwyn ) (01/02/89)
In article <4523@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: >Can we assume that before we make exotic changes like shadow passwords >we can make simple changes (some Unix's already have these) to the >passwd changing programs like: ... NO! The "easy-to-guess password" checks are not sufficient, and the accompanying restrictions are a royal pain in the user's ass. It has been argued that they result in REDUCED security! Exposing the encrypted password for anyone to see is FOLLY; it was barely excusable in the first place and is inexcusable now. The shadow password file (which is NOT "exotic"; in fact JHU/BRL PDP-11 UNIX had something of the sort many years ago) has already been implemented; so long as UNIX sticks to the general modified DES encryption scheme, hiding the encrypted passwords is a necessary security measure.
gwyn@smoke.BRL.MIL (Doug Gwyn ) (01/02/89)
In article <4547@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: >I claim you'd be better off spending your money (guards cost money, >no?) on a better door and lock rather than having to worry about the >door, the lock and the guard too now. Quite apart from the dangers of reasoning by analogy, you miss some of the points about locks and encryption that are understood by professionals (both good guys and bad guys) in those fields. Locks serve a number of functions. Ordinary residence locks should be part of an overall residence security design sufficient to convince the typical random burglar to go elsewhere where there are easier pickings. Prime targets, say for industrial espionage, should impose a net expected cost/difficulty/risk of access in excess of the value beIng protected; combining several defenses that individually aren't quite good enough generally will suffice. On other occasions, it is more important (perhaps for insurance reasons) to obtain concrete evidence of entry than to make entry harder but undetectable when it does occur. All these examples provide useful analogies for points that could be made with regard to password security. Note also that the layman, and even many locksmiths, are poor judges of what constitutes a "better" lock. I've been known to "waltz through" supposedly maximum-security locks; in one case, simply rapping a highly-rated padlock in the right spot with a piece of wood would cause it to pop open! Similarly, laymen and even the "professionals" in the open cryptological community often cannot properly evaluate the strength of a proposed cryptosystem. When I hear discussion of how long a "brute force" search would take, I tune out; sure, the system needs to be good enough under a brute-force attack, but that is by no means sufficient. In fact actual cryptanalysis normally reserves brute-force searches for those cases where more clever analytical methods have managed to drastically narrow the space to be searched. Time and time again, "proven secure" cryptosystems have been cracked by good cryptanalysis. The moral, if there is one, is that it is hard to reliably judge matters of security, and one should enlist the aid of experienced security defeaters in the process (preferably professionals). The other major point is that combination of several good defenses can result in an excellent defense. Thus, making the encrypted passwords unreadable is much better than either leaving them readable or using a shadow file of unencrypted passwords.
piet@ruuinf (Piet van Oostrum) (01/02/89)
In article <230@ibd.BRL.MIL>, heilpern@ibd (Mark A. Heilpern ) writes: `If the 2-letter key used in encryption were not known, this boosts the 80 hour `upper end to ~37 years. (80 hours * 4096 methods of encryption) In article <1988Dec26.151208.19016@ziebmef.uucp>, mdf@ziebmef (Matthew Francey) writes: `In article <12750@bellcore.bellcore.com>, karn@ka9q.bellcore.com (Phil Karn) writes: ` A 56-bit search space is well beyond the brute-force `> abilities of most crackers (though perhaps not the NSA) **IF** the keys are `> widely and evenly distributed within it. ` ` A possible solution is to have each site pick its own secret encryption `method (for example, start with a non-zero block). Could it remain secret `for a long long time (years... it would be a major pain changing it)? `Probably not, since anyone could disassemble passwd... In article <13022@bellcore.bellcore.com>, karn@ka9q (Phil Karn) writes: ` The point is that to be maximally effective, the UNIX password `algorithm should be given keys with 56 bits of entropy. That is, the `distribution of actual user keys should be uniformly distributed over `all 2^56 possible values. In article <614@rufus.math.nwu.edu>, john@rufus (John Franks Dept. of Math. Northwestern Univ.) writes: ` `Question: Why are we limited to 56 bits? Surely not for effi- `ciency or to save space. This is an instance where we *want* to `be slow. I've heard that NSA lobbied for smallish keys in com- `mercial DES rather than larger ones (the implication being they `wanted a size they could handle easily). Does anybody know if `there is any truth to this? ` Actually, it wouldn't be difficult to get a search space of more than 2^56: First, force the user to use long passwords, from a reasonable set of characters (like a minimum percentage from each of [a-z],[A-Z],[0-9] and [!"$%^&*()_+{}<>?:@]). Now the input to the encryption algorithm consists of: 12 bits 'salt' 56 bits DES-key 64 bits constant to be encrypted. that makes a total of 132 bits. If you take each of the above 3 parts from various bits of the password, then we could accommodate 19 character passwords. -- Piet van Oostrum, Dept of Computer Science, University of Utrecht Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands Telephone: +31-30-531806 UUCP: ...!mcvax!hp4nl!ruuinf!piet
dc@gcm (Dave Caswell) (01/03/89)
Barry Shein) writes:
Hiding something indicates that it is dangerous if revealed. It says,
basically, that encryption technology is inadequate and cannot be made
to work, the only reasonable protection is secrecy. Do we honestly
believe this? Or, worse, do we believe that security is attained by
layering anything we can think of onto the system?
If people have no reason to look at encrypted passowrds and it is easy to make
sure they can't look, why not have hidden passwords? There are plenty of
computer systems that don't show users encrypted passwords and I don't
automatically think they are hiding something or they have inadequate
technology. Secrecy isn't a fair word; if everyone is the neighborhood
has curtains do you call them practicing secrcy or do you call the person
dressing in front of the open window an exhabitionist. I don't consider
it layering anything onto the system; I consider it almost free protection
of material that people don't need to look at anyway. Or to look at it
another way; if all systems had shadow password files could you imagine
yourself arguing to show people the encrypted passwords to prove that
you had adequate technology? Are you fighting change just for sake
of preserving the status quo?
--
Dave Caswell (former EMU student)
Greenwich Capital Markets uunet!philabs!gcm!dc
bzs@Encore.COM (Barry Shein) (01/03/89)
Doug Gwyn responding to my note >>Can we assume that before we make exotic changes like shadow passwords >>we can make simple changes (some Unix's already have these) to the >>passwd changing programs like: ... > >NO! please dont shout, i have a headache. > The "easy-to-guess password" checks are not sufficient, and >the accompanying restrictions are a royal pain in the user's ass. >It has been argued that they result in REDUCED security! I suppose one can say I'm being hoisted on my own petard. Because they're not sufficient they're useless? They're only a regal malady if you sit there trying to type in pw's it won't accept (that is, you don't know what a good approximation of a reasonable password is and you decide to type in /usr/dict/words as it rejects anything in /usr/dict words), no? This is what I meant by user education, how to choose a password that's both secure and acceptable to the software, both, not only the first. The reduced security argument I assume you are referring to generally is the claim that if you force people to use hard to remember passwords they will write them down etc. No one is advocating hard to remember passwords, just not pw's in the dictionary and a few other easy guesses (like your login name), monocase, stuff like that. That's not that monarchically grimacious, is it, really? Doesn't SYSV enforce this sort of thing right now out of the can? Or at least mixed case and/or punct/digits. If that's not what you meant then I need a phrase worth of recap. >Exposing the encrypted password for anyone to see is FOLLY; it was >barely excusable in the first place and is inexcusable now. The >shadow password file (which is NOT "exotic"; in fact JHU/BRL PDP-11 >UNIX had something of the sort many years ago) has already been >implemented; so long as UNIX sticks to the general modified DES >encryption scheme, hiding the encrypted passwords is a necessary >security measure. Ok, fine, it's folly. When the ftpd bug was discovered a few weeks ago and the possibility existed that all of BRL's pw files, protected or not, were read, what was done? The shadow pw file offered no protection against this and being as you seem to believe in allowing users to choose easy passwords and just hide the encryptions you had to acknowledge a major security breach, no? Any time you have discover a hole (even a badly installed piece of software, like vendor stuff which installs itself setuid dangerously) that's been around for more than (I dunno, an hour?) you have to assume someone walked off with your shadow password file, no? It's such an easy and obvious target. See, I can *almost* buy the argument that given a set of security measures they can be treated as the product of the probabilities of each being broken IFF they are truly independent. Once one relies on the other then that reasoning collapses and you tend towards a weakest link probability. I will point out that I consider the possibility of moving from the current general modified DES an intriguing area. Making it much more expensive to spin passwords (esp given the higher average MIPS today), reliably, should be more secure than relying on read permissions in the file system, and more transparent also (and heck, maybe it can even be exported...) -Barry Shein, ||Encore||
wisner@killer.DALLAS.TX.US (Bill Wisner) (01/03/89)
> Doesn't SYSV enforce >this sort of thing right now out of the can? Or at least mixed case >and/or punct/digits. Yes. Passwords must be at least six characters with at least two letters and at least one digit or symbol. (System V 3.2.1)
smb@ulysses.homer.nj.att.com (Steven M. Bellovin) (01/03/89)
In article <2803@cbnews.ATT.COM>, res@cbnews.ATT.COM (Robert E. Stampfli) writes: > Can anyone think of a good reason why either of the following should not be > done on systems that employ a shadow password file: > > 1. Provide a program which returns the encrypted version of the password > for the uid (or euid) that invokes it. I see no reason to make this available; provide a server which checks for a match instead. > 2. Provide a program, similar to "passwd", which modifies the encrypted > password in the /etc/passwd file, like the original version of the > passwd command did. > > Both if these, it would seem to me, would be useful in writing things like > terminal lock programs (case 1), terminal lock programs are a great way for me to break into your account. > or programs that run set-uid to one account > to allow users the ability to do something with files owned by that account, > provided they possess the "public" password (case 2). in which case I may just crack on your ``public'' password. Besides, if I need that I can implement my own file which will be private as well, and even allow me to have different ``public passwords'' for different users. I don't see the benefit of a system-level version. And if your setuid program that lets me ``do something'' to your files isn't good enough....
jfh@rpp386.Dallas.TX.US (The Beach Bum) (01/03/89)
In article <946@ruuinf.UUCP> piet@ruuinf (Piet van Oostrum) writes: [ nice, long description ... ] >Now the input to the encryption algorithm consists of: > 12 bits 'salt' > 56 bits DES-key > 64 bits constant to be encrypted. > >that makes a total of 132 bits. If you take each of the above 3 >parts from various bits of the password, then we could accommodate 19 >character passwords. No - you are still only storing 56 bits of password data. What you are doing is providing a multi-way encryption algorithm, you are not expanding the key space. Since there are only 2^56 possible outputs, and 2^132 inputs, some of them must map onto other encrypted passwords - a multi-way encryption. This reminds me - old VAX/VMS used CRC16 to encrypt their passwords. Which is about as multi-way as it gets ... This would mean, if correct, that only 65,536 different passwords would have to be generated to break the system. The successful cracker pre-encrypts several times this many passwords using the CRC16 instruction to generates a complete dictionary of all possible output values. -- John F. Haugh II +-Quote of the Week:------------------- VoiceNet: (214) 250-3311 Data: -6272 |"Anything on the road which can be InterNet: jfh@rpp386.Dallas.TX.US | hit, will be ..." UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
jfh@rpp386.Dallas.TX.US (The Beach Bum) (01/03/89)
In article <11056@ulysses.homer.nj.att.com> smb@ulysses.homer.nj.att.com (Steven M. Bellovin) writes: >In article <2803@cbnews.ATT.COM>, res@cbnews.ATT.COM (Robert E. Stampfli) writes: >> Can anyone think of a good reason why either of the following should not be >> done on systems that employ a shadow password file: >> >> 1. Provide a program which returns the encrypted version of the password >> for the uid (or euid) that invokes it. > >I see no reason to make this available; provide a server which checks >for a match instead. Agreed. The encrypted password should not be made available, and the encryption method should be selectable from a variety of methods, or the internal key [ constant portion ] should be readily modifiable. Let's not make things any easier than need be. On the similiar vein - It would appear that AT&T is playing with a new version of shadow passwords with yet another file layout. This version includes password expiration warning information and login administration fields in one big mess of an entry in a completely new file - /etc/privates. There is a command - rdpriv - which provides user access to the privates file, but does not return the user's encrypted password, only the password aging information. This now leaves us with three completely incompatible formats in the USG universe ... -- John F. Haugh II +-Quote of the Week:------------------- VoiceNet: (214) 250-3311 Data: -6272 |"Anything on the road which can be InterNet: jfh@rpp386.Dallas.TX.US | hit, will be ..." UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
friedl@vsi.COM (Stephen J. Friedl) (01/03/89)
In article <6634@killer.DALLAS.TX.US>, wisner@killer.DALLAS.TX.US (Bill Wisner) writes: > Passwords must be at least six characters with at least two letters > and at least one digit or symbol. (System V 3.2.1) This has been the case since at least Sys V Rel 2, and in all cases, root is permitted to bypass these rules. Steve -- Stephen J. Friedl 3B2-kind-of-guy friedl@vsi.com V-Systems, Inc. I speak for me only attmail!vsi!friedl Santa Ana, CA USA +1 714 545 6442 {backbones}!vsi!friedl -------Nancy Reagan on Usenix in San Diego: "Just say *go*"-------
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (01/03/89)
In article <4545@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: > >Re: using a .case file which shows the lower/upper case pattern for >a password.... > >But this means that login will now accept the dictionary word in lower >case? Seems to reopen that attack (ie. going thru the dictionary) as >login is correcting case for me as I go. The time a dictionary search THRU THE LOGIN PROGRAM would be astronomical. The danger in the ability of a dictionary search is in the user writing a C program which uses the crypt() command, etc. > >Worse, it relies on the unreadability of these .case files in every >user's directory, I don't think that's a good thing to rely on, if >users are sloppy about password choosing and too lazy to remember the >case shifts why do you believe they'll be careful about protecting >this .case file? Besides, holes to read unreadable files are a little >too easy to come by (also, I assume that the length of the file tells >me how many chars in your passwd?) 1) The login program should NOT allow entry if the .case file is readable, and since /bin/login is setuid to root, I THINK .case's attributes could be unreadable to the user. 2) There is nothing wrong with a .case file with, say, 10 characters when the password is only seven characters long! Additionally, the user does not even have to be aware of what his case's are! /bin/passwd could randomly create a new one when evoked, maybe making all of them 10 or 15 characters. [ Allthough I don't know of a way ] if there is a way to make a file invisible to /bin/ls, the user would not have to be aware of the file's existance. Have a nice Day :) -- |\/| | | | _ |< / \_(_(_)\_/ \______
rogerc@ncrcae.Columbia.NCR.COM (Roger Collins) (01/03/89)
In article <4546@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: > > >I like some form of shadow passwords as a solution. Once they're in place, > >you no longer care what the user picks for a password, as long as it's N > >characters long and not the account name. > > > >Keith Bostic > > Round and round, and you're not disturbed at the fact that you're now > relying on the unreadability of the shadow file? How many ways are > there to read a read-protected file? How do you know it has been read > by an unauthorized person (or a disgruntled employee)? If you suspect > it has been read what is the appropriate action (I can answer that, > change every password on the system, wotta nuisance.) > > -Barry Shein, ||Encore|| Same reasoning: Conventional door locks are not perfect. So, rather than let myself be lulled into complacency by locking the door, I will just wait till newer technology makes a perfect lock. Hell, I better start research now so my house can be safe once and for all. Now, seriously: o Almost every C programmer knows how to write a brute force program to crack passwords in a readable password file. o Only a very small percentage of Unix users (experts) know about holes and such to read unreadable files. (And a knowledgeable administrator can decrease this percentage by plugging these holes as they are made known by other experts.) o Shadow password file DOES NOT encourage people to use sloppy passwords. Your passwd program or /etc/motd can be just as annoying as it ever was :). o Security will still improve. I'm sure that all security development will NOT just stop because shadow passwording solves all the problems. The problem is not being "swept under the rug." Enough. What ever happened to the campaign for comp.security or comp.unix.security or whatever? -- Roger Collins rogerc@ncrcae.Columbia.NCR.COM
jal3495@ultb.UUCP (Jeff Leyser) (01/04/89)
In post <4497@xenna.Encore.COM>, bzs@Encore.COM (Barry Shein) says: !>I think this would be more secure than current password file or the shadow !>password file. Any comments? ! !Yes, somewhere and at some time we are going to have to do the hard !work of analyzing whether or not hiding encryptions improves security !as a general principle (as opposed to coming up with new ways to hide !them before doing the ground work.) ! !Hiding something indicates that it is dangerous if revealed. It says, !basically, that encryption technology is inadequate and cannot be made !to work, the only reasonable protection is secrecy. Do we honestly !believe this? ! -Barry Shein, ||Encore|| The encryption techology currently used is adequate. What is not adequate are the users. The recent Internet worm proves this. The author of the worm didn't really 'break' the encryption on passwords, he just looked for 'obvious' passwords, and he found more than a few. As we all know, this has prompted endless discussion on the best way to get users to avoid 'obvious' passwords. But, in all practicality, this may be next to impossible. So, either instead or in tandem, we _do_ need to take a good hard look at the current practice of Unix passwords being world readable. Frankly, if it comes down to a choice between changing technology and changing human behavior, I'll change the technology. -- Jeff Leyser, Professional Student {WCS}!rochester!ritcv!ultb!jal3495 a[b] == b[a] -- The Ultimate in Job Security I can't have opinions, I didn't pay my opinion fee this term.
tjr@ihnet.ATT.COM (Tom Roberts) (01/04/89)
Several people have indicated that complicated, "difficult to remember" passwords may create more exposure than they eliminate. I beg to differ. I believe that in most computer environments today, the MAJOR access security exposure is due to "password guessing"; I believe that the exposure due to writing down passwords is, or can be made to be, much less dangerous. Example: Create a password from 8 randomly-selected ASCII characters, and write it down (be very careful about how you perform this random selection!). DO NOT write it down on a paper clipped to your terminal, but on a piece of paper that you keep with you at all times inside your wallet. Analysis: The range of security exposures has been changed significantly; you will no longer be open to password guessing attacks, because such attacks will be using a dictionary, not your random password. Your exposure is now similar to the exposures you routinely subject your house keys and credit cards to. Is your computer account more valuable than your house or bank account? With this method you also have a very good likelihood of detecting a breach of your password (e.g. your wallet was stolen), and can take corrective measures (change your password). I suggest that in most computer environments (e.g. networks) this method is far superior to having users attempt to imagine passwords that are both hard to guess and easy to remember. Clearly, having the computer system generate the password is also possible, but the method of generation must be very carefully chosen (computers cannot easily generate random numbers). The only difficulty I know of in this method is that users may not protect the paper as well as they protect their keys and credit cards. I do not know how to address this problem. Tom Roberts att!ihnet!tjr AT&T Bell Laboratories
dlm@cuuxb.ATT.COM (Netnews Administrator) (01/04/89)
In article <4547@xenna.Encore.COM> bzs@Encore.COM (Barry Shein)
writes: more comments trying to prove a shadow password file is a
"bad idea".
As I seem to have triggered this latest debate, I have a couple
of points:
1). Shadow password files contain the passwords encrypted.
Hence offer better protection from cracking on a properly
administered machine. They do give an illusion of more security
but in no case do they give less security.
2). Shadow passwords have been around since 1976 since I
implemented them at NSA after Ken and Morris major told us about
their activities. Pass phrases were implemented shortly
thereafter by either Dan Edwards or Howie Weiss.
3). Password choice validation has been independently invented
by several people and I worked on a scheme in 1983.
4). Automatic password generation has been invented
independently several times. Human factors tend to make it fail
to work.
5). I still find customers who have no root password. Or, whose
root password for November was turk3y or in June was b1rds [think
Baltimore and baseball].
6). All the ideas stated are good. All of them combined improve
security. Short of a kernel managed password system, we should
try to merge them.
7). The key space for the password is woefully small compared to
the space available. Because of the getty nonsense about case
senstive terminals [some still around - IBM 3270 for example],
capital letters are still not useable in a password. Pass
phrases are the best single improvement to the password scheme
around that hasn't been implemented by a major vendor such as
Berkeley or ATT.
8). Relying on the work factor for an encrytion for the major
protection is foolish. There will be a cracker who is smart
enough to figure out how to beat the encrytion. Remember that if
/bin/login or /bin/passwd is publicly readable on your system one
can reverse engineer the whole protection system. After which
optimize, optimize. A serious cracker will have serious help, a
non-serious one will try elsewhere.
9). If one can become sys, one can become bin. If once can
become bin, one can become root. In many systems if one can
become uucp one can become sys. If one can become lp [line
printer spooler] one has the keys to the kingdom. Trojan horses
provide less work than password cracking -- they are just less
certain.
Finally, Human factors will still govern all of the above points.
Non-technical people still will insist on having their own way.
--
=Dennis L. Mumaugh
Lisle, IL ...!{att,lll-crg}!cuuxb!dlm OR cuuxb!dlm@arpa.att.com
astieber@csd4.milw.wisc.edu (Anthony J Stieber) (01/04/89)
-- internet:astieber@csd4.milw.wisc.edu |\|BeingNet: Tony Stieber bitnet :astieber%csd4.milw.wisc.edu@INTERBIT |/|BustedUpNet: 414-529-2663 uucp :att!uwmcsd1!uwmcsd4!astieber |\|Terranet: 8858 Garden Lane csnet :astieber%csd4.milw.wisc.edu@uwm.CSNET|/| Greendale WI 53129
piet@ruuinf (Piet van Oostrum) (01/04/89)
In article <10629@rpp386.Dallas.TX.US>, jfh@rpp386 (The Beach Bum) writes:
`
`No - you are still only storing 56 bits of password data. What you
`are doing is providing a multi-way encryption algorithm, you are not
`expanding the key space.
`
`Since there are only 2^56 possible outputs, and 2^132 inputs, some of
`them must map onto other encrypted passwords - a multi-way encryption.
`
You are right, only it is 2^64 (the key for DES is 56 bits, but the output
is 64 bits), so this still gives an 8 bit improvement, making it 128 times
as hard.
--
Piet van Oostrum, Dept of Computer Science, University of Utrecht
Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
Telephone: +31-30-531806 UUCP: ...!mcvax!hp4nl!ruuinf!piet
greywolf@unisoft.UUCP (The Grey Wolf) (01/05/89)
In article <2338@cuuxb.ATT.COM> dlm@cuuxb.UUCP (Dennis L. Mumaugh) writes:
# 7). The key space for the password is woefully small compared to
# the space available. Because of the getty nonsense about case
# senstive terminals [some still around - IBM 3270 for example],
# capital letters are still not useable in a password. Pass
# phrases are the best single improvement to the password scheme
# around that hasn't been implemented by a major vendor such as
# Berkeley or ATT.
# --
Small point here: Getty doesn't even look at the password. Login is
the one that takes it.
I am also a bit shaky on how you mean "pass phrases" -- does this entail
enforcing very long strings or what?
Another idea: Why do we not advance our technology to make use of
larger password salt/key strings (instead of using 8 chars and returning
13, why not try for 16 chars and return 26)? Backwards compatibility,
sure, but once you have a decent system, are you really going to give a
flying f?ck through a rolling donut about that particular avenue of
backward compatibility?
I think that people are reluctant to explore the above possibility because
they are (mentally) comfortable to remain where they are. So long as this
condition exists, passwords will be restricted in usable length (I have
often wished for passwords on the order of 12+ characters, but gave up
on them since only the first 8 were used), and we will have this problem.
(I am probably missing something here, but that's okay; this news group
is better than any C compiler I have ever seen -- not only will it tell
me I made an error, but it will point out the error and ram it down my
throat! :-)
Explanations welcomed; send flames to /dev/null.
# =Dennis L. Mumaugh
# Lisle, IL ...!{att,lll-crg}!cuuxb!dlm OR cuuxb!dlm@arpa.att.com
Roan Anderson, Software Engineer and resident half-elf
UniSoft Corporation, 6121 Hollis St., Emeryville, CA 94608
--
...TheysaidDoyouseethebiggreenglowinthedarkhouseuponthehill?andIsaidYesIseethebiggreenglowinthedarkhouseuponthehillTheresabigdarkforestbetweenmeandthebiggreenglowinthedarkhouseuponthehillandalittleoldladyonaHoovervacuumcleanersayingIllgetyoumyprettyandyourlittledogTototoo
I don't even *HAVE* a dog Toto...
jfc@athena.mit.edu (John F Carr) (01/05/89)
In article <4523@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: >Can we assume that before we make exotic changes like shadow passwords >we can make simple changes (some Unix's already have these) to the >passwd changing programs like: [a list of 4 common suggestions like no dictionary words/username] > 5. Finally, will educate users about how to choose a good > password I think this alone is both necessary and sufficient for security. I see no reason to believe that a user who is inclined to choose "easy" passwords (i.e. chosen from a small, predictable fraction of all legal passwords) will stop doing so when restrictions are applied. He will just have to choose from a different set of strings. On the other hand, an educated user will choose "good" passwords with current, unrestricted systems. (As long as we are talking of what makes an "easy" password, I know of a system that compares old & new passwords to make sure than no number in the new password is the same as a number in the old +/- 1. It also checks the new password and refuses to allow any three letter month abbreviation ("jan", "feb",...) or the current year as a substring.) -- John Carr "When they turn the pages of history, jfc@Athena.mit.edu When these days have passed long ago, bloom-beacon! Will they read of us with sadness athena.mit.edu!jfc For the seeds that we let grow?" --Neil Peart
marc@ucbvax.BERKELEY.EDU (Marc Teitelbaum) (01/05/89)
In article <4546@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: > >Round and round, and you're not disturbed at the fact that you're now >... The first problem I have with your argument is essentially this. You assume that file system security is weak enough that an average hacker can gain access to the shadow password file. I contend that if the average hacker can accomplish this, then he doesn't *need* to crack any passwords because he can *just* as easily gain access to any other file in the filesystem. And, after all, isn't that what the hacker is after anyway. Most of the interesting information is contained in *files*, isn't it. Then, if the average hacker is so facile at finding and gaining access to random files (shadow password or otherwise), who the hell needs to crack passwords. The second problem with your argument is that you overlook Henry's point that no security is perfect, just that the more secure system makes it that much *harder* to break in. Puts up more road blocks. Leaves more trails for the careless. - Your argument is that the perceived security of shadow password files will make the system administrator more complacent, therefore it's undesireable. Poppy cock. That's a system administrator issue, and educating a system administrator is a heck of a lot easier than educating the entire user community. I could just as easily argue that since the file system protection is so insecure (to the point that any hacker can access the shadow password file), then setting file permissions is really a waste of time and just a delusion that your files are secure. Therefore, you're fooling yourself if you have your umask set to anything other than 000. I don't buy this - do you? Marc ------------------------------- Marc Teitelbaum +1-415-643-6448 457 Evans Hall Computer Systems Research Group, CSRG / DEC University of California Berkeley, CA 94720
jfh@rpp386.Dallas.TX.US (The Beach Bum) (01/05/89)
In article <949@ruuinf.UUCP> piet@ruuinf (Piet van Oostrum) writes: >In article <10629@rpp386.Dallas.TX.US>, jfh@rpp386 (The Beach Bum) writes: >`Since there are only 2^56 possible outputs, and 2^132 inputs, some of >`them must map onto other encrypted passwords - a multi-way encryption. >` >You are right, only it is 2^64 (the key for DES is 56 bits, but the output >is 64 bits), so this still gives an 8 bit improvement, making it 128 times >as hard. If you obtain the salt from the password, rather than clock(), then you are correct. This would be an inexpensive way to increase the password beyond 8 characters. It is, unfortunately, incompatible with current password files. At what price progress? [ How about - an extra field in /etc/privates giving the encryption method ;-) ] -- John F. Haugh II +-Quote of the Week:------------------- VoiceNet: (214) 250-3311 Data: -6272 |"Anything on the road which can be InterNet: jfh@rpp386.Dallas.TX.US | hit, will be ..." UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
peter@ficc.uu.net (Peter da Silva) (01/05/89)
In article <654@white.gcm>, dc@gcm (Dave Caswell) writes: > If people have no reason to look at encrypted passowrds and it is easy to make > sure they can't look, why not have hidden passwords? Because open passwords let users write utility programs that verify who you are. If the password file is hidden, you need to provide a password verification server. -- Peter da Silva, Xenix Support, Ferranti International Controls Corporation. Work: uunet.uu.net!ficc!peter, peter@ficc.uu.net, +1 713 274 5180. `-_-' Home: bigtex!texbell!sugar!peter, peter@sugar.uu.net. 'U` Opinions may not represent the policies of FICC or the Xenix Support group.
rob@inmos.co.uk (Robin Pickering) (01/06/89)
In article <232@ibd.BRL.MIL> heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) writes: >Here's an interesting idea: > >Let's assume a users password is: physics >This would most likely be solved in a routine dictionary search. > >Suppose, among the standard dot files in the home directory, there was to be >a new one: .case . The login program is to check this file, Why stop with case, why not specify a more general per-user password pre- munging mechanism. This seems quite an effective way to increase the password search space to any party without access to the private munging factor used. Rob Pickering (JANET only: ROB@UK.CO.INMOS) | Software Group, Inmos Bristol. ARPA/UUCP: rob@inmos.co.uk (...uunet!mcvax!ukc!inmos!rob) (... any opinions expressed are my own.)
dlm@cuuxb.ATT.COM (Dennis L. Mumaugh) (01/06/89)
In article <1687@unisoft.UUCP> greywolf@unisoft.UUCP (The Grey Wolf) writes: >Small point here: Getty doesn't even look at the password. Login is >the one that takes it. True, but getty looks at the logname: if it is all UPPER CASE it sets tty modes to map upper case to lower. Then login will only see lower case input [unless one uses escapes]. Hence for true concern one can't allow upper case characters when older/obselete terminals [e.g. TTY33 or IBM3270] are used. > >I am also a bit shaky on how you mean "pass phrases" -- does this entail >enforcing very long strings or what? Perhaps. My work with that had a requirement that the password be a MINIMUM of 8 characters and a MAXIMUM of 64, blanks and control characters [and case] significant. > >Another idea: Why do we not advance our technology to make use of >larger password salt/key strings (instead of using 8 chars and returning >13, why not try for 16 chars and return 26)? > We should but the details of implementation are a bit tricky and it isn't a glamorous project so some developers haven't proposed it. The encryption really ought to use Cipher Block Chaining, or encryption of each 64 byte chunk independently. The strength of the technique must be analyzed cryptologically and shown to be properly secure. As a developer, do that and sign your name. Hope that you are right. Perhaps a half dozen people in comp.unix.wizards could feel safe in their implementation [outside of current NSA employees]. >I think that people are reluctant to explore the above possibility because >they are (mentally) comfortable to remain where they are. So long as this >condition exists, passwords will be restricted in usable length (I have >often wished for passwords on the order of 12+ characters, but gave up >on them since only the first 8 were used), and we will have this problem. > See above. It's easy in theory to solve a security problem. But do the implementation and then explain to your senior vice-president or general counsel why you think that it will GUARENTEE solving the problem. Despite all security discussion and theory and provable systems, etc. it all comes down to what I call the "comfort factor". Just how comfortable the boss is in signing the paper work. When I was the one that originated the DoD rules on declassification of magnetic tapes and memories [extended to disks now] the document said do this and that and then the tape is declassified. I said "Then that means I can deliver it to the Russian Embassy without worry." The answer was "Well, it isn't really *that* unclassified." I.e. the comfort factor wasn't too high on the decision. >(I am probably missing something here, but that's okay; this news group >is better than any C compiler I have ever seen -- not only will it tell >me I made an error, but it will point out the error and ram it down my >throat! :-) > Not much. Anything to do with security is reminiscent of the Dutch boy and the dike philosophy, patching up known holes and anxiously looking for new ones. The NSA people have said for years that this is a bad way of doing things. Design and prove a secure system, implement it and prove the implementation is mathematically correct. It might be possible, but then convince the boss that it is so correct that he can put his job on the line. Ne c'est paix? -- =Dennis L. Mumaugh Lisle, IL ...!{att,lll-crg}!cuuxb!dlm OR cuuxb!dlm@arpa.att.com
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (01/06/89)
In article <2629@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >Because open passwords let users write utility programs that verify who you >are. If the password file is hidden, you need to provide a password >verification server. 1) Why must "normal" users implement this function? Surely, in the case of a Shadow password file, a setuid-to-root program will have the needed access, no? 2) Assuming a shadow password file boosts security to the Nth degree, the getuid() call should be verification enough. Additionally, if there is no increase in security, the password will have been breeched, and the fraudulent user will already know the password. 2a) Unless the real user just walks away from a logged in terminal, but that is another issue. -- |\/| | | | _ |< / \_(_(_)\_/ \______
friedl@vsi.COM (Stephen J. Friedl) (01/06/89)
In article <2343@cuuxb.ATT.COM>, dlm@cuuxb.ATT.COM (Dennis L. Mumaugh) writes: > Perhaps a half dozen people in comp.unix.wizards could feel > safe in their implementation [ of Cipher Block Chaining ]. So, outside of Dennis and me, who are you other four? :-) Steve P.S. - *gasp*, no, I'm not serious. -- Stephen J. Friedl 3B2-kind-of-guy friedl@vsi.com V-Systems, Inc. I speak for me only attmail!vsi!friedl Santa Ana, CA USA +1 714 545 6442 {backbones}!vsi!friedl -------Nancy Reagan on Usenix in San Diego: "Just say *go*"-------
bstrand@woods.unix.eta.com (Brad Strand) (01/07/89)
The recent discussions regarding Unix password security (and the lack thereof) got me wondering about other authentification schemes. One such scheme that I haven't seen mentioned here, is replacing the password with a 'pass-function'. By that I mean that instead of having a password such as "xyzzy", each user would have his/her own personal function F, perhaps like F(C) = 4C + 3 The idea would be for the system to replace the "password:" prompt with a prompt more like, "How about C?", where C is some reasonably small (maybe 16-bit) random "Challenge" number generated by the system. The user must then apply his/her pass-function to this particular C, and enter the resulting F(C). Example: login: <bstrand> How about 1204? <4819> Welcome, Brad! ... etc. Some advantages of something along these lines: 1. Since the required response is non-constant, brute-force attacks (trying all possible passwords) would not be likely to succeed. In other words, if there were p possible passwords, I am guaranteed of finding the correct one in at most p trials. If, however, there were f possible responses to the system's challenge, I am NOT guaranteed of succeeding in f trials, since all trials are (in a sense) independent of one another. 2. People "sneaking-a-peek" at you logging on would not (most probably) be able to log in as you later. 3. Same as (2) for people using a network monitor or "Trojan Horse" login program. 4. Intuitively, mathematical functions seem more "uniformly distributed" than passwords...Hence, it seems more likely that someone would use N = 3C^2 + 1331 as a pass-function, than it would be for someone to use "Bn&@v8}?" as a password. (Intuitively, there seems to be far more easy-to-remember functions than easy-to-remember passwords, but I could very well be wrong here.) Some Disadvantages: 1. People might tend to pick simple 'pass-functions' (N = C + 3) because more difficult ones might be either harder to remember, or harder to calculate in one's head. 2. Would need to come up with a standard method of representing and/or encrypting the pass-functions for use in the '/etc/passfunc' file. This is probably non-trivial. Questions: 1. Am I really missing the boat here? Would something like this be a stupid waste of time? Or might something along these lines actually be useful? 2. Has anyone tried something along these lines on a per-user basis? (Quite a while back, I remember using a pass-function on a "system-wide" basis. It was a program used to screen access to a dial-in line. The user had to respond correctly to a Challenge before a "shell" would be created...I say "shell" because it was non-Unix system...) 3. Obviously, I've greatly oversimplified the implementation in this description, but what improvements (if any) could be added to strengthen this sort of scheme? Example: the system could issue two Challenges, C1 and C2. Now we have two variables to use in the function...would this help? Etc. Brad Strand, ETC-03J bstrand@woods.unix.eta.com ETA Systems, Inc. "Racing to Win" 1450 Energy Park Drive St. Paul, MN 55108 "So it goes."
bzs@Encore.COM (Barry Shein) (01/07/89)
From: jal3495@ultb.UUCP (Jeff Leyser) >The encryption techology currently used is adequate. What is not >adequate are the users. The recent Internet worm proves this. >The author of the worm didn't really 'break' the encryption on >passwords, he just looked for 'obvious' passwords, and he found more >than a few. GET NEW USERS...ok, ok...I know... The humorous thing about this oft-repeated line of reasoning is that "obvious" passwords were only tried AFTER THE WORM HAD BROKEN INTO YOUR SYSTEM! To try to propagate to other systems. And it wasn't all that successful when compared to the other major methods of attack used (the bug in sendmail, the evil finger DAEMON as the papers called it and .rhosts files.) Attacking passwd files was its last resort when all that failed, which apparently wasn't very often. It really is like buying a better lock for the front door because the thieves keep breaking in through the glass... It shouldn't be that hard to have the password changing program nudge people towards better password choices so the rest of the argument ("to get users to avoid obvious passwords...may be next to impossible") seems unfounded founded. -Barry Shein, ||Encore||
msf@prandtl.nas.nasa.gov (Michael S. Fischbein) (01/07/89)
In article <2629@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >In article <654@white.gcm>, dc@gcm (Dave Caswell) writes: >> If people have no reason to look at encrypted passowrds and it is easy to make >> sure they can't look, why not have hidden passwords? > >Because open passwords let users write utility programs that verify who you >are. If the password file is hidden, you need to provide a password >verification server. And, if you want compatability with the programs already written and those to be written with a view towards the existing documentation, you provide compatability with the getpwent(3) routines, and access to the encrypted passwords is trivial. Thus, to have a shadow passwd file you give up a significant amount of com- patability with existing documented routines. Perhaps making the crypt(3) call have some knowledge of the number of times it has been recently called and having it slow down would help. This requires the system's encryption routine to be publicly unknown, of course, otherwise the algorithm could simply be reimplemented more quickly. Rewriting crypt(3) would lose for people setting up new systems and trying to transfer passwords from old ones; a much rarer situation than trying to port programs. I'd guess the tradeoff involves how much non-vendor supplied (not just freeware) software you use that requires password verification, what sort of attacks you anticipate on the system, and how much effort you can put into customizing stuff. mike Michael Fischbein msf@prandtl.nas.nasa.gov ...!seismo!decuac!csmunix!icase!msf These are my opinions and not necessarily official views of any organization.
jfh@rpp386.Dallas.TX.US (John F. Haugh II) (01/07/89)
In article <900@eta.unix.ETA.COM> bstrand@woods.unix.eta.com (Brad Strand) writes: |The idea would be for the system to replace the "password:" prompt |with a prompt more like, "How about C?", where C is some reasonably |small (maybe 16-bit) random "Challenge" number generated by the system. |The user must then apply his/her pass-function to this particular C, |and enter the resulting F(C). Example: | | login: <bstrand> | How about 1204? <4819> | Welcome, Brad! ... etc. A similiar sort of program was posted to the net some time last year by Phil Karn [ KA9Q ]. It was V10i031 in comp.sources.unix and should be available from your nearest comp.sources.unix archive. -- John F. Haugh II +-Quote of the Week:------------------- VoiceNet: (214) 250-3311 Data: -6272 |"Now with 12 percent less fat than InterNet: jfh@rpp386.Dallas.TX.US | last years model ..." UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
bzs@Encore.COM (Barry Shein) (01/08/89)
Dennis Mumaugh writes (lots of points, most good, some irrelevant to the issue at hand like that some systems don't have root passwds which I fail to see how *any* system will protect against once allowed.) >8). Relying on the work factor for an encrytion for the major >protection is foolish. There will be a cracker who is smart >enough to figure out how to beat the encrytion. Remember that if >/bin/login or /bin/passwd is publicly readable on your system one >can reverse engineer the whole protection system. After which >optimize, optimize. A serious cracker will have serious help, a >non-serious one will try elsewhere. Here you've hit on the absolute, critical, nut of the problem. We completely disagree (although I don't think either of us can yet prove the other wrong) on this one point and everything else discussed can be reduced to this one disagreement. In fact, it's a presentation of tautological proof of the need for shadow password files (shadow password files are necessary to prevent decrypting of passwords because without them passwords can be decrypted.) I don't accept this a priori. I am willing to consider the need for a change in encryption algorithms used, and I certainly see a use for password changers which reject easy to crack choices (eg. anything short, of only lower case chars, in /usr/dict/words, equal to the login name, system name etc.) Such password checkers are not the only defense, if someone is absolutely determined to use a simple password (such as an anagram of their last name) which the checker doesn't check for and someone else happens to use that in their attack it doesn't much matter what method you use, so education is important also, regardless of any other consideration. With a last name like mine they could practically type in all the anagrams in a few hours thru the login program, if you narrow that down to CVC patterns even longish names become pretty easy (for example.) You can put the absolute best locks on your doors but if your staff fails to close those doors and lock those locks then it's futile. Basically, I claim you have just rested your argument on the proposition that such systems as RSA and other public-key data encryption methods are completely useless and fundamentally flawed, even in the casual sense (ie. without presupposing teraMIPS computers.) Is that a fair summary? Is that where you want to stand? -Barry Shein, ||Encore|| P.S. This is *NOT* a flame war or any such thing, I honestly believe this whole issue needs to be shaken out and this list is a fine place to do that, INMHBCO.
bzs@Encore.COM (Barry Shein) (01/08/89)
Marc Teitelbaum writes...well, first, quotes... In article <4546@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: > >Round and round, and you're not disturbed at the fact that you're now >... Uh, is this supposed to be a fair summary of my article? (quote quoted in entirety.) Anyhow... >The first problem I have with your argument is essentially this. You >assume that file system security is weak enough that an average >hacker can gain access to the shadow password file. I contend that >if the average hacker can accomplish this, then he doesn't *need* >to crack any passwords because he can *just* as easily gain access >to any other file in the filesystem. Excellent point, deserves an answer. Most importantly I claim that a shadow password file only requires READ access to the file system while cracking a password (particularly system passwords) gives one WRITE access to the system. We must distinguish those two concepts, particularly in this case since all we're claiming is that a shadow password affects the readability of password encryptions. In that context I make two claims: 1. That read access breaches are easier to come by than write access breaches and much harder to detect. The reason they're easier to come by is mere practice, I can't prove it. Programs which only read files seem to be less thoroughly checked for holes and I know of a few such programs which I've seen reported. The typical pattern is a program running priv'd which reports some sort of system or user status and can be made, via a symlink or hard link, to be fooled into reading a different file and dumping it to the user's terminal (for capture) or redirected to a file (same thing.) As a hypothetical example one could imagine linking a $HOME/.netrc to this /etc/shadow file and then the encryptions pouring out of a program trying to read the .netrc as syntax errors, that kind of thing. It's one of the oldest tricks in the book (I remember years ago on a Multics system someone getting a file for me, inadvertantly left unreadable [I had a note from the author telling me to come by for a tape of the program, he wasn't around] by simply including it in a mail file indirectly and mailing it to myself.) Those holes usually don't work for write access. 2. If you get write access to the file system you have to change something. Although it's a major problem and can be exploited mercilessly it can be generally checked for by compares with backup copies, how do you check for unauthorized reading? On the current system you can't (access times don't help since legitimate accesses keep updating that every few minutes anyhow.) You have absolutely no way of telling me at any point in time whether someone has walked away with a copy of the shadow file today. At best you can hem and haw and say it doesn't matter. You can tell me (assuming some sort of backup) whether someone changed the pw file today. I suppose the real problem I am alluding to is you've admitted a way to turn global read access into global write access as a target. I think we'd better off closing the original hole than simply moving it down a level in the hierarchy, temporarily. After all, if you don't believe you've left the danger present then why bother protecting it? So, the answer, put simply, is because read access can now get me write access. >The second problem with your argument is that you overlook Henry's >point that no security is perfect, just that the more secure >system makes it that much *harder* to break in. Puts up more road >blocks. Leaves more trails for the careless. - Your argument is >that the perceived security of shadow password files will make the >system administrator more complacent, therefore it's undesireable. Agreed, but my point is not that it makes the sysadmin complacent, it's that it makes the system DESIGNER complacent. Put another way, if you have a way planned that makes passwords secure even if someone (eg. a stupid employee) manages to walk out with a copy of your pw file then let's trashcan the shadow password file in the first place and just use that. If you don't then I have to claim that the system designers are in fact complacent (almost by definition) and my argument stands. Or, in one sentence, let's deal with the real problem and stop trying to sweep it under the rug. -Barry Shein, ||Encore||
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (01/09/89)
In article <669@brwa.inmos.co.uk> rob@inmos.co.uk (Robin Pickering) writes: -->In article <232@ibd.BRL.MIL> heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) writes: -->>Suppose, among the standard dot files in the home directory, there was to be -->>a new one: .case . The login program is to check this file, --> -->Why stop with case, why not specify a more general per-user password pre- -->munging mechanism. This seems quite an effective way to increase the -->password search space to any party without access to the private munging -->factor used. --> --> Rob Pickering Rob, You've won my approval! Mark -- |\/| | | | _ |< / \_(_(_)\_/ \______
whh@pbhya.PacBell.COM (Wilson Heydt) (01/10/89)
In article <900@eta.unix.ETA.COM>, bstrand@woods.unix.eta.com (Brad Strand) writes: > The recent discussions regarding Unix password security (and the lack > thereof) got me wondering about other authentification schemes. One > such scheme that I haven't seen mentioned here, is replacing the password > with a 'pass-function'. By that I mean that instead of having a > password such as "xyzzy", each user would have his/her own personal > function F, perhaps like > > F(C) = 4C + 3 > > The idea would be for the system to replace the "password:" prompt > with a prompt more like, "How about C?", where C is some reasonably > small (maybe 16-bit) random "Challenge" number generated by the system. > The user must then apply his/her pass-function to this particular C, > and enter the resulting F(C). Example: > > login: <bstrand> > How about 1204? <4819> > Welcome, Brad! ... etc. I've seen two implementations of this sort of scheme. They both use a physical device to do the function--thus avoiding the problem of users picking simple functions. (And also permitting turning access off easily at need.) The first one is called "Gordian Key" and the token is a gray block of plastic about 1-1/2 by 2-1/2 by 3/8 inches. It has 4 photodiodes on one end and a 6-character LCD in the top. The system generates the challenge code and displays it on the terminal both as text and as a pattern of @s to be read by the photodiodes. There is an auxilliary device available that has a keypad and a set of LEDs so the user can key the challenge and it generates the scan pattern for the key, instead of hold the key to the terminal screen. The other device is called "SecurId" and looks rather like a credit- card sized calculator. The passcode is continuously displayed. In both these systems the challenge and passcode change every 30 seconds and the key function is specific to the user. It is *supposed* to be impossible to take either of them apart without destroying critical parts of the circuitry. --Hal ========================================================================= Hal Heydt | "Hafnium plus Holmium is Analyst, Pacific*Bell | one-point-five, I think." 415-645-7708 | --Dr. Jane Robinson {att,bellcore,sun,ames,pyramid}!pacbell!pbhya!whh
jik@athena.mit.edu (Jonathan I. Kamens) (01/10/89)
In article <674@ihnet.ATT.COM> tjr@ihnet.ATT.COM (Tom Roberts) writes: >Analysis: The range of security exposures has been changed significantly; >you will no longer be open to password guessing attacks, because such attacks >will be using a dictionary, not your random password. Your exposure is now >similar to the exposures you routinely subject your house keys and credit >cards to. Is your computer account more valuable than your house or bank >account? With this method you also have a very good likelihood of detecting a >breach of your password (e.g. your wallet was stolen), and can take corrective >measures (change your password). There is one major problem (that i can see) with this scenario. If I have chosen a password on my own, one that I can remember easily, then the only time I think about it is when I type it when I login, and at that point it is completely invisible to me and to anyone else looking over my shoulder (unless they watch my fingers type it -- a good reason to type quickly and pick a password that can be typed quickly :-). However, if I select a complete random password and then write it down on a slip of paper which I keep in my wallet, then I'm not likely to remember the password (especially if I'm a casual user, which is what many of the people who don't select secure passwords are), so I have to take that paper out of my wallet and look at it every time I login. How long do you think it's going to be before someone surreptitiously glances over my shoulder when I take it out to look at it and therefore gets my password? >The only difficulty I know of in this method is that users may not protect >the paper as well as they protect their keys and credit cards. I do not >know how to address this problem. There is no question about this. People will *not* protect their password the way you are claiming they will. This has been proven time and time again. I consider it much more secure to have an easy-to-remember password in the computer than to have a hard-to-remember password in someone's wallet. Just my two cents worth.... Jonathan Kamens MIT Project Athena
dlm@cuuxb.ATT.COM (Dennis L. Mumaugh) (01/10/89)
In article <900@eta.unix.ETA.COM> bstrand@woods.unix.eta.com (Brad Strand) writes: >The recent discussions regarding Unix password security (and the lack >thereof) got me wondering about other authentification schemes. One >such scheme that I haven't seen mentioned here, is replacing the password >with a 'pass-function'. By that I mean that instead of having a >password such as "xyzzy", each user would have his/her own personal >function F, perhaps like > > F(C) = 4C + 3 > >The idea would be for the system to replace the "password:" prompt >with a prompt more like, "How about C?", where C is some reasonably >small (maybe 16-bit) random "Challenge" number generated by the system. >The user must then apply his/her pass-function to this particular C, >and enter the resulting F(C). Your idea is good except that most of the users will be mathematically illiterate. Hence their choice of function will be rather limited. A better ideas I have heard of a long time ago was that of challenge response using a sequence of words pre-established by the user: Computer: mumble You: zark Then: Computer: hurkle You: twongly After exhausting the challenges: Computer: mumble You: quark The major problem is that the list of challenge/response groups must be kept, and the computer has to remember each response for the last challenge. And whether for a given challenge what the correct response out of many it should be. Of course human factors being what they are most people won't remember which of the responses the challenge wants next so we have to accept any of the valid, but a monitor or person watching your typing may figure out what's going on soon enough. Thus the /etc/shadow might be: dlm:mumble;zark,quark,feeble/hurkle;twongly,ungly/snark;agony,fit: Of course one should still encrypt and hide the file. -- =Dennis L. Mumaugh Lisle, IL ...!{att,lll-crg}!cuuxb!dlm OR cuuxb!dlm@arpa.att.com
dlm@cuuxb.ATT.COM (Dennis L. Mumaugh) (01/10/89)
In article <4612@xenna.Encore.COM> bzs@Encore.COM (Barry Shein) writes: Dennis Mumaugh writes and Barry argues and then Basically, I claim you have just rested your argument on the proposition that such systems as RSA and other public-key data encryption methods are completely useless and fundamentally flawed, even in the casual sense (ie. without presupposing teraMIPS computers.) Is that a fair summary? Is that where you want to stand? No, this is NOT my position. The encryption used for passwords is not *fundamentally* flawed! It is restricted so that the work-factor is much too low. Work-factor is a cryptologic word that defines the amount of resources of a postulated type needed to break an encryption and either recover the plain text and/or the key. It assumes various factors such as message size, change of crypto variables and the technical means to do the breaking. In the case at hand, the V7 encryption was adequate at the time it was designed 10 years ago. With good password management methods it is adequate (barely) right now. It is currently within the state-of-the-art to break passwords by brute force using the current scheme. {Based on human nature and clever crackers.} The password encryption alogithm needs strenghtening! RSA or DES or any other encryption scheme will work if the key space is expanded much more. An 8-character password as currently implemented with UNIX is getting to be too short. Increasing the length of the password (and hence the encrypted result) will make it much harder to break. The salt is a specious argument. Its original purpose was to disguise the fact that a given user used the same pasword on different systems. Ken Thompson and Bob Morris made a hobby in the early day [1974-77] of cracking all the systems/passwords they could. In the LA area they discovered several people had accounts on diverse machines: RAND, UCLA, USC-ISI, etc. and it was easy to see if the passwords were the same on different machines. I agree with Barry that it is sometimes possible to trick programs to give read access to protect files: I know a couple of programs that will. But shadow passwords are an extra precaution, not the only precaution. Consider typical cracker like a burglar -- they are snatch and grab, get in and get out before you get caught. Consider breaking /etc/shadow being more like the house guest rummaging in your desk while you are sleeping or a house sitter while you are on vacation. In a properly secured system only authorized users will get logged-in. Hence the crackers are usually an authorized user. If the password is in a read-protected shadow, most amateur crackers will try other methods first. Unless they are really sophisticated or have a lot of time to break the system. In almost any system there are a lot easier ways to breakin rather that try to read /etc/shadow. Trojan horses and trapdoor programs provide a faster and more productive way. Few of the typical system administrators have cleaned-up their system so well that password cracking is the fastest way. Smart people use trusted programs for password changing and are always careful not to type stupid things like "chmod +r *" while in /etc. Inexperienced systems adminstrators are the most serious threat to a system's integrity second only to a complacent administrator. Of course the possibility that a shadow password file can give a false sense of security needs to be addressed. One could have a cron job to ensure that critical files are always kept secure -- nice place to attack the system though. One could also keep the password outside of the file system in a raw partition that is known to the system. The flaw there is how one does a back-up of the passwords [what if the disk gets corrupted?]. Implementing system calls for password change and password verify is a good start but then the bute force attack is just to have a C program feed the kernel a lot of stuff. In short for each attack there is a defense and for each defense there is an attack. Also the best computer security expert is an ex-cracker. The best cracker is one who has done software support! Short of physical security the only safe approach is to do everything possible and layer the defenses. But one must design the defenses so they add not merely inclusive or the protections. In reality a vigilant person ought to suspect penetration and think along the lines of damage assessment. -- =Dennis L. Mumaugh Lisle, IL ...!{att,lll-crg}!cuuxb!dlm OR cuuxb!dlm@arpa.att.com
gwyn@smoke.BRL.MIL (Doug Gwyn ) (01/10/89)
In article <8705@bloom-beacon.MIT.EDU> jik@athena.mit.edu (Jonathan I. Kamens) writes: >How long do you think it's going to be before someone surreptitiously >glances over my shoulder when I take it out to look at it and >therefore gets my password? As you mentioned, but apparently didn't take seriously, they are likely to watch you type your password, which is easier than peeking at the paper. I don't think having to refer to the paper is appreciably less secure than having to enter the password. The problem lies in GUARDING the paper. For example, do you burn or shred it when discarding it? Worse yet, many users write the password on their deskpad calendars or pull-out shelves, for "convenience". That make the password available to anyone who wanders by while the desk is unattended. No matter how much you tell users not to do this, so long as the password is one they cannot easily remember sooner or later some of them are going to compromise it this way. Your personal use of paper in your wallet is not the worst security problem in such an environment.
jik@athena.mit.edu (Jonathan I. Kamens) (01/10/89)
In article <9326@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes: >No matter how much you tell users not to do this, so long as the >password is one they cannot easily remember sooner or later some >of them are going to compromise it this way. Your personal use of >paper in your wallet is not the worst security problem in such an >environment. I think we're sort of agreeing with each other :-). We both agree that the use of passwords that are hard to remember causes a decrease in security. I feel this way (and I think you will agree with my reasoning) for the following reasons: 1. A harder to remember password is typed more slowly by the user. When a password is typed more slowly, it is easier to read what the user is typing off of his fingers as he types it. 2. A harder to remember password is written down by the user. Forcing the user to write down his/her password is a problem because no matter where he writes it down and how securely he treats that piece of paper (or whatever), it is still more likely that someone will see it and get his password. Furthermore, users are known not to be careful (as you pointed out), so it is more likely that the password will be written down in an insecure location (taped to the terminal, pull-out desk, etc.) than that it will be written in a secure location. There is a third reason why hard-to-remember passwords are a problem: 3. Users will forget hard-to-remember passwords more often and/or lose the paper on which the password is written, so system administrators will have to put up with people coming to them and asking, "Can you change my password to something simple because I forgot what it is?" much more often. So, are we arguing the same side, or what? Jonathan Kamens MIT Project Athena
gwyn@smoke.BRL.MIL (Doug Gwyn ) (01/11/89)
In article <2362@cuuxb.ATT.COM> dlm@cuuxb.UUCP (Dennis L. Mumaugh) writes: >The password encryption alogithm needs strenghtening! RSA or DES >or any other encryption scheme will work if the key space is >expanded much more. That's too generous -- the cryptosystem must also be inherently "strong". Certainly if the key space is small enough, exhaustive search is possible, but the converse is not necessarily true! In reality, crackers are as unlikely to cryptanalyze the password encryption system as burglars are to pick your lock. They will use force instead.
astieber@csd4.milw.wisc.edu (Anthony J Stieber) (01/11/89)
How about this: Each account has several passwords only one is active at a time. On each login the next password (or phrase) is activated. An alternative would be that at logout a password would randomly be chossen and message refering to that password would be printed for the user. The advantage to this is that a user would know the moment they tried to login that some one has used their account (unless all passwords were broken).
heilpern@ibd.BRL.MIL (Mark A. Heilpern ) (01/11/89)
In article <329@csd4.milw.wisc.edu> astieber@csd4.milw.wisc.edu (Anthony J Stieber) writes: .>How about this: .> Each account has several passwords only one is active .> at a time. On each login the next password (or phrase) .> is activated. An alternative would be that at logout .> a password would randomly be chossen and message .> refering to that password would be printed for the .> user. The advantage to this is that a user would .> know the moment they tried to login that some one .> has used their account (unless all passwords were .> broken). Too many people are complaining that their users can not remember 'complicated' passwords like "bad!memory", so how can we expect them to remember what the computer said (eluded) their next password will be? Also, when it came time to change the password, would he have to change all of them, or just the one last used? -- |\/| | | | _ |< / \_(_(_)\_/ \______
flint@gistdev.UUCP (01/12/89)
I really don't see why the encrytion can't allow you to use longer phrases as your password: When limited to 8 characters, you have to do weird things to it (include punctuation, strange vowel combinations, etc.) to make it secure because if you just type in an 8 character English language word it is too easy to crack it. People can remember phrases just as easily as words: if my password could be "The quick brown fox Jumped over the lazy dog" I could type it quickly so onlookers couldn't match it, I could remember it a lot easier than "qw12;Vwe", and with that length I could get a secure result: all I have to remember is the phrase and one or two quirks like that the J is capitalized.
astieber@csd4.milw.wisc.edu (Anthony J Stieber) (01/12/89)
In article <244@ibd.BRL.MIL> heilpern@brl.arpa (Mark A. Heilpern (IBD) <heilpern>) writes: >In article <329@csd4.milw.wisc.edu> astieber@csd4.milw.wisc.edu (Anthony J Stieber) writes: >.>How about this: >.> Each account has several passwords only one is active >.> at a time. On each login the next password (or phrase) >.> is activated. An alternative would be that at logout >.> a password would randomly be chossen and message >.> refering to that password would be printed for the >.> user. The advantage to this is that a user would >.> know the moment they tried to login that some one >.> has used their account (unless all passwords were >.> broken). > > >Too many people are complaining that their users can not remember >'complicated' passwords like "bad!memory", so how can we expect them to >remember what the computer said (eluded) their next password will be? >Also, when it came time to change the password, would he have to change >all of them, or just the one last used? Well, if remembering is a problem, the first method can be used. Each password is used in turn. The passwords themselves might be an easily rememberd phrase. One problem that I see now is that this will only keep out intruders over the long term. Most problems occur however, with the very first illicit login. For maximum security each password would have to be changed one at a time on each login. If this were not done, an intruder could just successfully login once then attempt to change each password one at a time. A less secure way would be to require all passwords to be changed by typing them all as a single string to replace them with another string containing the new passwords. The latter method would be the easiest mnemonicly. Of course all of this could be worthless. ...comments? -- Tony Stieber astieber@csd4.milw.wisc.edu Postscript programmers do it on the sheets.
roth@macom1.UUCP (Dennis Paul Roth) (01/13/89)
In article <8705@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes: ( I deleted some stuff - DPR ) > so I have > to take that paper out of my wallet and look at it every time I login. > How long do you think it's going to be before someone surreptitiously > glances over my shoulder when I take it out to look at it and > therefore gets my password? That's a security problem of a different sort. Now your talking about some one at the job site, in your office, looking over your shoulder. There is no protection against an insider. An insider doesn't need to steal your password, he can steal your backup tapes or printouts. The insider may already have an account on the computer and doesn't need your account. In high security installations the most serious security breaches come not from outsiders breaking in but from insiders selling out! If you can't trust the people you work with your working with the wrong people. -- Dennis Roth ...grebyn!macom1!roth Centel Federal Systems roth@macom1.UUCP 11400 Commerce Park Drive Reston, VA 22091-1506 A posting a day keeps the boredom away. 703-758-7000
roth@macom1.UUCP (Dennis Paul Roth) (01/13/89)
In article <329@csd4.milw.wisc.edu>, astieber@csd4.milw.wisc.edu (Anthony J Stieber) writes: > How about this: > Each account has several passwords only one is active > at a time. On each login the next password (or phrase) > is activated. An alternative would be that at logout > a password would randomly be chossen and message > refering to that password would be printed for the > user. (stuff deleted - DPR ) Naw, I don't like this idea at all. Too much memory power is required from the user. There is no way I'm going to remember which password in the sequence of passwords I used last. I'll end up having to try them all. I can see myself now, talking to some irate customer over the phone and trying time after time to get logged on so I can get at the information he needs. Logins failing and me not knowing if it was because I typed in the wrong password in the sequence, or the right password with a typo. If we make the login procedure tough enough we'll have the ultimate in security, all the info nice and safe because no one can get logged on to get at it! -- Dennis Roth ...grebyn!macom1!roth Centel Federal Systems roth@macom1.UUCP 11400 Commerce Park Drive Reston, VA 22091-1506 703-758-7000
tim@scsmo1.UUCP (01/15/89)
The idea of a pass phrase is nice but I'm not going to start hacking on my system to impliment it until I see some proof that it is better. Currently on my system I have: passwords must be at least 6 char. passwords must have a non alpha char. using this I have about 400,000 passwords for the typical user. Must users will pick a password like pencil1. They pick a digit (typicaly 1) and a word. I figure 20,000 words * 20 digit combinations = 400,000 passwords. Now if I were to use phrases I would bet that at least one passphrase would be "mary had a little lamb." If I saw that a user typed "little" it would be easy to to guess. I have asked users to come up with a pass phrase and most will come up with something predictable. So far the common ones are "mary had a ..." "Soil Conservation Service" and "I don't want to type this much" I think that all it would take to break this approach is to log the phrases and make users change them weekly. You would have a nice big list to crypt for craking purposes. The only ideas that I have seen that I think will be a great improvment will change the salt perturb table in a machine independant way. (like prompt the sysop for a key when setting up or use the serial no.) Or check the time between keystrrokes. This won't work over dialup lines if you set the timeing at work but how about more than one dataset. I have seen an example of useing a timed passwd() and it works, I could not get it to accept the correct password and the only one that could was the one who set it. -tim@scsmo1.uucp tim hogard usda-scs