MS Employee Calls for No More Passwords
BobPaul writes "On his blog, Robert Hensing of the Microsoft PSS Security Team makes a really convincing argument for the abolishment of complicated passwords. He argues that precomputed hash tables, network sniffing, and programs like LoftCrack make passwords obsolete and dangerous in the windows environment. What does he recommend in their place? Passphrases: sentences and quotes that are easy to remember but may be more than 30 or 40 characters in length. With many companies requiring frequent password changes, (and we know exactly where that leads) this is a simple idea I'm surprised more people haven't been doing this more often."
What about biometrics? Passphrases are nothing more than longer passwords. I can see several things resulting from
converting to all passphrases. First, the person will probably use the same passphrase for everything because it's too difficult
to remember multiple passphrases. Second, it's difficult to remember passphrases! Phone numbers (In the US, at least) are limited to
10 digits because research shows the average person can only memorize 10 digits, as a result...we tend to write things down, or in the case of
data people are likely to store their passphrases in a central location that is still prone to theft/decryption.
Biometrics, on the other hand, requires that you only have your body present at the time! No special USB keys to lug around, no pieces of
paper with important passwords/phrases. This won't solve the problem of possible data interception when talking about remote
authentication--but every form of authentication is prone to such attacks when transmitted.
One thing I just read in my MCSE study book... Windows 2000 and up support 127-character passwords, but Windows NT, Windows 9x and Windows ME only support 14-characters in a password. A user who has a Windows password greater than 14 characters simply cannot using the older operating systems even if they otherwise should be able to.
Therefore, if you have any legacy systems to support, these password tips don't apply to you, and that's got to be part of the reason there hasn't been much of a movement to suggest that users use longer passwords.
One of the main obstacles to better security is that people are fundamentally lazy. Typing 30 or 40 characters is difficult to do, and it takes time, so people won't do it. Or if forced to do it, they will whine about it -- a lot.
I have convinced a majority of my friends & family to at least stop using dictionary words and names of pets. Instead, I have them pick some favorite line from a movie or book and then use the first letter of each word. It's easy to remember, so they don't stick it on the bottom of their keyboard. It also is not a word in the dictionary so at least Crack & friends can't be used to guess it.
For example, if one of my friends is a Dead Head, he might use "stlasom.oticbs" If you're a Dead Head you'll probably be able to guess the lyric. But you *won't* be able to find it in a dictionary.
Now replacing my brute force wordlists with "He's dead, Jim", "In soviet russia, passphrases validate YOU" and "passwords are for old korean people" will allow root access to 90% of the internet.
So when the user creates there password it will be: "This is my passphrase" instead of "password"
And I quote, "Open Sesame!"
When things get complex, multiply by the complex conjugate.
or
Make of that what you want, but:
Of course, I changed the password to something more politically correct before leaving the companies....
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
Would you leave you passphrase written down on every nearby surface?
Becuase your fingerprints will be all over unless you wear gloves all the time.
Other body parts aren't quite this extreame but still have similar weaknesses.
The headline to this story is an example of the kind of journalistic sensationalsism that is leading this country down the road to ruin and chaos. It gives the exciting implication that a Microsoft employee is proposing the abolition of the commonly-used password verification system and perhaps its replacement with some new and cutting edge technological method such as biometrics or one-way phrenosenticism.
Instead, the Microsoft employee is merely suggesting the use of longer passwords. I am shocked and appalled that a respectable forum such as Slashdot is stooping to "sexing up" its material in this manner.
this is a simple idea I'm surprised more people haven't been doing this more often.
;-)))
*yeah, right*
this "idea" is described in every single tutorial/howto/paper/note about password security. it's a good idea, i've been doing it for years, it has most likely been mentioned on slashdot countless times, but here we go again.
at times i forget why i am such an avid reader; it provides me with "stuff that matters" and makes me feel like i know more than all the others, from time to time
jethr0
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
Anyway, believe it or not, "ancient Unix systems" didn't use the same password machinery as what's in your Linux distribution.
What I'm listening to now on Pandora...
Bible dictionnary attack could work for a lot of passphrase if this kind of password were to become mainstream.
:) )
IMHO, passphrase would make it easier for a hacker to successfully hack a system. For example, myself:
- Make a google search for my name
- See that The White Stripes is among my favourite groups
- Add The White Stripes lyrics to the crack dictionnary
- Attack, and probably succeed (password = "Why can't you be nicer to me?").
The list of all quotes in imdb mustn't be THAT big. Thus "I will have my vengeance, in this life or the next" would be a bad password. (not to mention "whoa"
Of course, IANASB (security blogger), I could be wrong.
perception is reality
- the key could get lost? Can't say I like the idea of having to bring the user a new USB key each time he forgets it. - the key could get stolen? - the lazy users would keep the key in a drawer next to their PC?
1) it's just as easy (give or take the odd case where you're just able to sample a few bytes) to sniff a passphrase as a password
2) if most people's passphrases are made of dictionary words take from their active vocabularies, dictionary attacks are still very possible. If we figure a typical vocabulary of 25000 words and a six-word phase, hmmm, some quick math indicates we're in the range of a 14-character random alphanumeric+punctunation password -- not too bad. (Especially if you grant people bigger vocabularies....) But, suddenly, we're open to language-based attacks -- there's probably thesis project in here for someone to come up with good algorithms to narrow down the required attack dictionary.
it's l0phtcrack
Perhaps I'm too sleepy to think (I'm too sleepy to read the article), but precisely what is the difference?
A password is a string you know, a passphrase is a string you know.
One is probably longer than the other, big deal.
2, or 3, or 4 factor authorisation schemes are the only way forward. Like those used by some banks in, erm, Sweden ?
Or since it is Microsoft we are talking about:
[] Check this box to remember password
Liberals call everyone Nazis yet they are the closest thing to it.
Passphrases are just long passwords with (usually) low entropy. They still have the same problems... You have to have a separate passphrase for each account, and you have to trust the computer you're using not to log your keystrokes. I would much rather carry around a device that can authenticate me and never have to remember a password again.
Why don't we all just switch to USB tokens for authentication? You have one device that can authenticate you by generating an RSA signature without divulging any information that would allow someone else to pretend to be you. It amazes me that more people don't use these things. I've never used one, but have considered ordering one. Does anyone out there have experience with USB tokens? Is there a good model/brand to buy? Is it easy to get them to work with Linux and ssh? Do any brick-and-mortar stores sell them?
The company I work for has a password policy like this:
1. Must contain at least 8 characters
2. Must contain at least 2 lowercase letters
3. Must contain at least 2 capital letters
4. Must contain at least 2 numbers
Since a lot of people cant grok this we start to see passwords like 34erdfCV. If you are using a QWERTY keyboard take a look at that password and tell me whats wrong with it.
Since I saw this article in a MS Security newsletter I've started using passphrases. Here is an example of my Windows Server 2003 administrator login (local only, not going to help you). "Rent is due on the 5th". Now I see many comments already talking about how that is so much harder to type than "34erdfCV" but I beg to differ. For me at least it is much easier to type a coherent sentense than a bunch of random letters and numbers.
This password is not only easy to type, but it is very secure. I'm sure some mathematician is going to come down on my with a bunch of stats about how I'm wrong and what not but just the fact that the LM hash is not stored when you use a password larger than 14 characters helps significantly. Sure you can tell windows not to store a LM hash by editing the registry but do you really expect all employees of a mid size company to follow directions that start out like "Click Start, then Run. Type 'regedit' and click OK"?
Now of course this isn't going to defend you against the ol' linux bootdisk trick, or that awesome "NT Password Recovery" bootdisk, which is basically linux which allows you to overwrite the password, but thats what NTFS and encryption is for. And if you've got physical access all bets are off anyway. At least you know they wont be able to run a rainbow table lookup on your LM hash and figure it out in a few seconds.
Also, passphrases are easier to remember, harder to guess, harder to figure out by watching someone type them, and if your really that dense you can just pick up a book off your shelf, turn to a page, type in the first sentense and remember the book and page number.
And there is an added bonus to having a passphrase over 14 characters that you are all completely missing here. When the hot chick in accounting sees you keying in some enormously long password she will think your smart and savy and will want to have hot sex with you right there in the server room.
Well, maybe not the hot chick and sex part.
Now, what would be a good long slashdot post without a question for you to ponder. If you havent figured yet I'm the sysadmin at this company and am trying my hardest to find a way to "sell" this passphrase idea. It seems that the easiest thing to do in IT is configure complex servers and firewalls and support ID10T's. The hard part is "selling" common sense stuff like SSL and passphrases.
"You mean we're going to have to add an 's' to the end of 'http', do you really expect 100 people to change their bookmarks! They've been using those bookmarks all year!"
Insight from other admins very welcome.
Im dreaming ofa big bndwdth, That can resist the
Invent some source code static and dynamic analysis tools that help improve software quality as relates to security.
Passwords matter NOT AT ALL when you can just send a packet and get full admin access without any authentication step.
Who the hell else is better suited to innovate on security than Microsoft? We are to believe that they have 50,000 geniuses working there on groundbreaking amazing stuff... and the best thing they can come up with is a Java ripoff and a desktop search doodad? No. There are enough smart people there (or enough funds to create university research projects outside the softie-dome) to wow the world with some kickass new technology based on either genuinely new ideas, or old ideas that needed a lot of refinement to be usable on real code.
I suspect, though, that this is something they're unwilling to do because the design itself is inherently insecure, and securing it would mean breaking 99% of shipping apps. If that's true, it means that Bill's committment to security is just lip service. Please, Microsoft, break apps that use crappy backdoors. XP SP2 broke stuff to improve security, and that was the right decision. Apple had to do something similar with the Carbon transition (breaking old apps that correctly used well documented but ill-concieved APIs from the pre-OS X days). Microsoft could provide tools to help ISVs be compatible with a Longhorn "clean API" that doesn't let apps use deprecated, unsafe features from the bad old days of not caring about security.
Of course, they won't.
turning it off should be located in some obscure dialog box in some unrelated area
it should randomly set itself back to "remember password" without notifying you
the next upgrade will make it the default and change where it's stored
--
Except for that Indian guy in the next office who never misses a key. Should have been a pianist.
Yes, but there are phrases that are easily remembered yet are apocryphal even to those to whom they mean something. For instance "Dr. Lovibond and the frothy nipple of love" would probably mean nothing to anyone but myself and the one person that I was brewing beer with that day. On the other hand, he could shout "What's your passphrase?" across a crowded room,I could shout back "The frothy nipple band!", and I'd still defy anyone to guess what the passphrase was.
What does this button do...
I type the equal of thousands of sentences each day.
that he's an MS empoyee, because what he suggested is stupid. People's vocabularies are not that extensive, so passphrases are easier to crack than they seem.
Multifactor auth is the only cure. I wish there was something available to implement it besides smartcards. Something that doesn't require a smart card reader and works everywhere, preferably something wireless within a few feet. You could do three-factor auth, even. This "something", pin code and biometric (fingerprint). That would be pretty darn cool.
> Will Carrot Top go to jail?
Let's hope so!
subject - verb - object
(I like pizza).
Here's another:
adverb/adjective - object - verb
(Mean people suck).
The trick is finding the most common 3 word phrases (in English) and applying the basic grammatical rules you learned in school.
That guy didn't understand that passphrases/passwords are covered in cryptology under "authentication".
And any student of cryptology can tell you that PATTERNS are the problem.
With passphrases, there are too many GRAMMATICAL RULES and PATTERNS that make it simple to crack.
He focuses solely on the number of characters and never looks at how someone else would approach this to crack it.
Yep. I first learned about it in my forensics coursework.
...
For more information on this, this Google search produced some good sites explaining tihs.
Also, in just conducting that search, I learned that 2000 and XP is apparently immune from this particular problem, according to this site.
"With LM, password hashes were split into two separate 7-character hashes. This actually made passwords more vulnerable because a brute-force attack could be performed on each half of the password at the same time. So passwords that were 9 characters long were broken into one 7-character hash and one 2-character hash. Obviously, cracking a 2-character hash did not take long, and the 7-character portion could usually be cracked within hours. Often, the smaller portion could actually be used to assist in the cracking of the longer portion. Because of this, many security professionals determined that optimal password lengths were 7 or 14 characters, corresponding to the two 7-character hashes.
But things are different with newer versions of Windows. Windows 2000 and XP passwords can now be up to 127 characters in length and so 14 characters is no longer a limit. Furthermore, one little known fact discovered by Urity of SecurityFriday.com is that if a password is fifteen characters or longer, Windows does not even store the LanMan hash correctly. This actually protects you from brute-force attacks against the weak algorithm used in those hashes. If your password is 15 characters or longer, Windows stores the constant AAD3B435B51404EEAAD3B435B51404EE as your LM hash, which is equivalent to a null password. And since your password is obviously not null, attempts to crack that hash will fail.
With this in mind, going longer than 14 characters may be good advice. But if you want to enforce very long passwords using group policy or security templates, don't bother - neither will allow you to set a minimum password length greater than 14 characters."
*-*-*-*-*-*-*-*
"We are Linux. Resistance is measured in Ohms."
Microsoft calls for password replacement because of "precomputed hash tables"? This very amusing, because it is pretty much only Microsoft who is vulnerable to these attacks. Why? they store only the hash of the password. Because there is a (nearly) one-to-one correspondance between password and hash, attackers can build up tables of precomputed hashes and use these to directly look up the passwords.
Everybody else mixes random salt bytes into passwords prior to hashing. Unix was doing this over 20 years ago. Modern systems use long (16+ character) salts that make precomputed hash tables infeasible for many years to come.
Some platforms use a better system still, that makes it more difficult for password guessers now and well into the future.
The only intrinsic problem with passwords is that people choose dumb ones, but again this can easily be fixed with a little technology
Is systems with RSA keys that you swipe at the terminal, loads up your desktop (these are thin clients) and all applications necessary to do your job. It also lets you into everything you're authorized to access. This seems to be pretty secure IMO with the onus on the users to maintain physical security of their passcards and the company to make sure those who enter the building are who they are.
Changing passwords frequently and forcing users to choose new passwords as well having way too many passwords. I'm up to about 30 for the corporate network. Some I only use once in a while and they are generally expired when I do.
Come up with a tool to help users choose a quality password and have them change it less frequently. OS X has a password strength indicator which is accessible from the change keychain password dialog box. Click the little i button next to the ? button. It will measure the quality of your password.
We are working on SSO - Single Sign On because the users swamped the outsourced help desk with thousands of extra calls every month due to passwords getting locked out. Most users have an average of 12-20 passwords with admins having many more.
SSO should reduce the number of passwords to 4-5. We will also be implementing something like an RSA hardware key at the same time, this gives you two distinct checks.
Personally, I like the idea of a USB based device that works like a smartcard. Plug it in and type a high quality pass-phrase and then you can access everything and never type another password. Time it out with the screensaver. Auto-lock everything if you unplug the USB device.
If the USB key is lost, replace it and invalidate the keys that were on it. Of course, this sucks if the device is lost and you are traveling.
IBM's running an ad with a biometric scanner built into their ThinkPad's. Now that's an idea, the user can't lose their USB key or RSA token that way, just the whole laptop!
Loftcrack, you said?
:)
Thanks.
___
It's the end of my comment as I know it and I feel fine.
I have just done a web enabled embedded microprocessor (telnet into it) but because it's on the internet I need to protect it somehow.
I use a passphrase such as "EDMONTONOILERSHOCKEYTEAM"
Now when you telnet to this device it answers you with a challenge of 15 random numbers displayed in three groups like this:
1 15 24 5 6
3 20 2 19 7
6 23 10 9 17
Now your response is 5 digits comprised of the character held in position X.
IE a valid response to the above challenge would be (picking group 1) IHMNT, of course you can respond to any group displayed on the screen.
This makes it hard for any keylogger device as the passphrase is never sent in it's entirety, only portions of it and if you were sniffing the traffic you dont know wich group of letters I am responding too.
This is good for a one time only password, if you talk to someone over the phone and want them to go in and do some tweaking you can give them the "password" and the password they just used will most likely not come up again so once they disconnect the system is once again secure.
Big drawback is you generally have to write the passphrase down in front of you so you can count what position the letters are in.
Well, he isn't actually a plagerist, but now that I've got your attention, I should point out the Phil Zimmerman has been advocating passphrases since the first version of PGP came out in the early nineties IIRC, and even he is probably not the first. I've certainly been using them for about that long wherever possible.
That won't stop Microsoft from taking credit for this "new, revolutionary idea in computer security," or the Microsoft apologists accusing everyone else from "copying Microsoft instead of innovating" when it becomes more common practice among everyone, some percentage of which will include Linux and OS X users. Nevermind the PAM modules supporting this have been around forever, or that pretty much anyone with half a brain using GnuPG or PGP has been doing this forever either.
The Future of Human Evolution: Autonomy
it's a lot easier to shoulder surf passwords when they are phrases, instead of random digits.
if I see
Xow XX thX time XXr aXX good meX to XXme to their coXXCCC's Xid, and I'm ken jennings, I can figure it out...
every day http://en.wikipedia.org/wiki/Special:Random
No matter how you slice it, a plain old brute force password cracker (like l0phtcrack) won't be made obsolete by this. It's sort of a trade-off, on one hand the password is longer, on the other hand, the majority of possible characters are going to be from a very short list of 26. Consider these points:
* As some already pointed out, sentences have a regular structure, where certain types of words go in certain places. That's a lot of predictibility. Almost every normal sentence begins with a capital letter... Uh oh.
* Sentences contain lots of spaces. Words in the English language are predominantly constructed of a very small group of letters; US TV viewers would know the normal suspects as those the contestants guess on the last round of Wheel of Fortune. Repetition is bad.
* Sorry, but sentence punctuation doesn't meet my requirements for possible permutations. Most sentences use only a period, and to a lesser extent, an apostrophe and maybe a comma. There are 29 non-alpha, non-numerical characters on my keyboard.
* My users have more than just a network logon, and not all of those programs accept long passphrases. There's an added possibility for confusion.
* Users are going to do things like forget which letters are capital (oh please - they're still confused by caps-lock), whether there is a comma in some space or not, and very likely lose their place with a long passphrase if they aren't expert typists. This creates frustration, and when users get frustrated, they do things like leave the machine logged on all day (even when they leave the room). And that creates headaches for me, because it's more likely that someone will sit at a logged-on machine than walk into my locked server room, log on as admin, and get a SAM or shadow-file dump off the server.
I like someone else's suggestion, although I don't recall who it was. Make the user type his new, complex password ten times. If I can memorize 20 complex passwords, my users can memorize one.
Fred
"A fool and his freedom are soon parted"
-RMS
Patents pending.
There isn't much of a difference between a ten-character password and a ten-word sentence except that the "character" set is larger, and not really by that much. Let me explain:
;)
The average adult has a vocabulary of about 20k words, and actually uses much less than that on a routine basis. Let's be really generous, though, and assume we are dealing with highly literate people with a vocabulary of, oh say, 65536 words.
What you just implemented is a 16-bit character set, and your ten-word phrase is computationally equivalent to a twenty-character password in the 8-bit extended ASCII set.
You can complicate things by making it case sensitive, but I have a feeling that would be more trouble than it's worth with the average end user, who can't be relied upon to handle consistent capitalization. (Scroll up and down through the comments for pertinent examples.)
But it actually gets worse than this. Whereas a ten-character password consisting of random characters has no internal structure, natural language phrases and sentences do. Consequently, if you want to build a brute force password cracker for phrase-based passwords, you can save yourself a lot of time by checking the set of grammatically correct phrases first. After all, "now is the time for all good men to come to the aid of their party" is a lot more likely to be someone's passphrase than "sniffle upchuck defenestrate furry therefore pretense macro recoil lemon beyond". It's no objection to say that a formal grammar for English won't match everyday use; you can just use something like the SEQUITUR algorithm to build an approximate real-world English grammar from Usenet postings, the Wikipedia database, or Google.
In other words, all this extra effort accomplished was to convert a ten-character password into something a bit less secure than a twenty-character password. Or, in the real world, where end users will be using things like five word passphrases, you get something roughly equivalent to a three-character password.
That this idea was proposed in the first place is a perfect example of mistaking data for its representation.
Proud member of the Weirdo-American community.
that humans are capable of using (that is, they can remember and type them) is approximately the same as the number of pass phrases because phrases contain common words. If every pass phrase was replaced by an abbreviation ("Mary had a little lamb 88aapzF" -> "marhalilmb88aapzF"), there would be a pretty low number of collisions, and abbreviations would be usable as short passwords that are just as good as the phrases they were derived from. Therefore this idea produces nothing but an increased amount of typing.
Contrary to the popular belief, there indeed is no God.
1: take 2 words
2: put them together
3: l337'ify it.
Example:
ViewSonic
\/][eW5()n|K
hard to crack, easy to remember.
It bothers me that few people seem to be appreciating that a 4 or 5 _word_ passphrase (as given as examples in the original article) really doesn't have much entropy at all.
Robert points out it contains capitalisation. Yes, the first letter of the first word of the sentence! And also that it contains punctuation - grammatically correct punctuation, thus so predictable as to hardly register!
He then goes on to claim how amazingly secure these 20 or so character long strings are. But in fact he's now counting in the wrong units - its number of words that matter, not characters. To crack his examples, all it takes is a different approach. It would take a dictionary (online? there's enough of them!) of common words and some simple grammatical rules and you could begin to brute force pass-phrases. And then it comes back to the old obscurity rules - made-up words, random punctuation, etc.
I admit it could work for a while, but if the world adopts this in a year's time there will be computer scientists (and linguists) the world over wowwing everyone by guessing their passwords.
Public key cryptography does not necessarily mean using hardware tokens. Key exchange protocols use public key algorithms without hardware tokens or public key infrastructure by seeding the key exchange algorithm with a password. If the client and the server's passwords match they have a strong shared secret for the session. If they don't - no information has leaked.
These methods are immune to sniffing and offline dictionary attacks and don't require long passphrases to be secure. You just need a password that can't be guessed in the number of attempts allowed by the server.
Examples of such protocols include Bellovin and Merritt's EKE and David Jablon's SPEKE. The Stanford SRP algorithm is related. These methods have been around since 1992. Unfortunately, all of them are patented and none of them is in widespread use. The patent status of SRP is unclear as it may infringe the EKE patent.
Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
You mean etching the fingerprints on those poor (but yummy) souls? My WTF-0-meter explodes at the very thought...
You can hold down the "B" button for continuous firing.
I'm sorry... but did a Microsoft employee just poopoo password security using the argument that rainbow tables make them obsolete? That's absolutely hilarious. Brute forcing of passwords using rainbow tables (e.g., rainbow crack) is only feasible today when passwords aren't salted. Microsoft's LanMan hash system doesn't bother salting (or doing a bunch of other things that would be wise from a security perspective). If Microsoft had bothered to implement a halfway decent password storage system, then their users wouldn't be nearly as susceptible to password cracking as they are today. There's a reason for salts and nonces, people!
By the way, for those of you managing WIndows networks, make sure that you turn off the LanMan hashing system. Disabling this will do a lot to prevent a compromise of one single system in your network from turning into a cascading compromise of everything. N.B., this is only practical when you don't have Win9x-based OSes on your network, but those don't really belong on a corporate network anyway (easier said than done, I know).
All this being said, you have to be careful to not go too far with password security. The bad guys always go for the weakest link in the chain. If the hash and password strength requirements are too difficult to reasonably break through off-line cracking, then the bad guys will just get the passwords through keyboard loggers or inserting trojan shims into your password and authentication systems. After all, grabbing the password hashes is only practical given administrator access, so you have to assume that a bad guy can install a keyboard logger, too.
If you ban passwords in favor of PKI smart cards, biometrics, SecurID, one-time-passwords, or the other really complicated and expensive solutions, you still haven't done a great deal. The folks advocating these systems are either ivory tower types with little foundation in operational reality, or marketing droids trying to sell you something. Once again, assuming a bad guy already has administrator access to a system, he can wait until you authenticate to another system, and then take control. Remember, you are not authenticating to the remote server, you are allowing your workstation to authenticate to it. If you assume a potentially compromised workstation, then your fancy shmancy authentication system that cost you a bundle to implement just became almost as useless as passwords.
If you want to keep the bad guys from stealing or subverting your authentication mechanisms, then you're going to have to prevent the bad guys from getting onto the systems in the first place, including all of the workstations. Looking at yet another monsterous list of critical vulnerabilities released last Tuesday from Microsoft, it's pretty clear to me that Microsoft hasn't done a great deal to prevent successful remote attacks when they sold their software in the first place.
I'm not sure why he was taking so many jabs at Linux. Well, okay... I know exactly why but this seemed especially odd to me since I have disallowed passwords on all my computers unless the user is sitting at the keyboard. And that is mainly because I haven't got X to work with one time passwords yet (besides... how would I calculate them without being able to run the program to generate one?).
I use s/key or opiekey (depending on OS) for ALL my remote logins. Both of these programs use a pass phrase but (even better) this pass phrase is never transmitted across the network... encrypted or not. What happens is the pass phrase is used to generate a one time pass phrase.
In practice it looks like this:
ssh localhost
otp-md5 498 la7365 ext
Password:
I then open another window: type in
opiekey 498 la7365 ext
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
type my passphrase at the prompt and it spits out:
GIG DIRE EGG HISS HUB COOK
I type that at the password prompt and go on my way (cut and paste between xterms is best here). Even if I was not using an encrypted protocol the password is useless once it is used. You can even hit enter once so the phrase will be echo'ed back to you on the screen so you don't mistype it. Doesn't matter if someone reads over your shoulder because GIG DIRE EGG HISS HUB COOK will never work again.
Next time my password might be:
KNEW LARD ARGO LARD BARE YOGA
Or whatever. The point is that it is a mixture of pass phrases with the ability to avoid sending your pass phrase over an untrusted connection. You can even print out a list of the next 10 pass phrases you will have so you can log in from a computer where you wouldn't trust it enough to run the opiekey program.
How exactly is this an insecure linux system, at least in regards to passwords?
lol, besides that... I think pass phrases are a good idea. Just a little anoying at first.
---
"Do not meddle in the affairs of sysadmins,
for they are subtle and quick to anger."
using any passwords with Microsoft products is futile. Passphrases cannot change that. Use any system designed with security in mind if you care.
Gummi bears defeat fingerprint sensors
Using passphrases does not add much more entropy, although they may be easier to remember. They are still prone to sniffing, 40chars can easily be packed in a single ethernet frame. Could some one tell Microsoft to use encrypted connections?
Users hate passwords, they hate typing them, and they hate having to remember things. They will always opt for whatever is easy. They will hate you if you set a lower limit of 30 characters, and their passphrase was 28.
Passwords or passphrases - same thing - will be chosen easy the more obstacles you place on the users: Requiring users to change password every three months will leave your systems less secure:
Users will choose easier passwords, and/or they will rotate just two different passwords. No security gained.
Further, in the race with a bruteforce attack, nothing is gained unless you change your password to one that has been tried.
In stead, as the administrator you have a head start in the race with the crackers. Go password cracking and require users to change their password when it has been cracked.
If password is cracked too quickly it should be followed by disiplinary actions as a compromise of security. Ofcourse the users must be informed beforehand of such proceedures.
Just my 5euro-cent contribution...
I currently use Keepass for remebering all my passwords. All I need to remember is 1 master password. Currently it is 16 charachters and includes more than just letters and numbers. I use it mainly for message board passwords, IM, email, websites, etc. Plus it's open source so you should be ok unless you have a keylogger installed.
UNIX used to keep the hashes publicly readable so non-privileged programs could check passwords (xlock), but this was abandoned years ago. On Kerberos, the password hashes are even stored on a separate authentication server.
Technically, the hashing is still done so that a privileged user would not be able to extract another user's password, but as in most machines the privileged user also has full access to everything else (in particular he could intercept the password in transmission) it does not matter much. In practice, when you can get at the authentication hashes you already have full access to the machine.
Also, dictionary attacks can be easily thwarted using the "salt", two bytes of random data that is added to the password before it is encrypted. So each password corresponds to thousands of hashes that you all have to store.
If you do not have the password hashes, the only way to break a password is trial-and-error, and most systems limit password entries to one every few seconds.
Network sniffing attacks are not limited by the length of the password, but by the length and complexity of the encryption keys which are randomly generated. Successful attacks on encrypted communications usually happen when these keys are chosen too short and not randon enough (WEP).
The truth is that even a simple password is relatively secure, and people touting complex password rules do so because they read 10 year old books.
Well, except if you use 20 year old software...
So whatever happened to the argument that using English language passphrases was a lousy idea because the average entropy of an English sentence is very low (I recall something like only a couple of bits per word, but it's a pretty weak recollection so don't quote me).
The worst part of the argument is that it also shows that the "take your favorite song lyric and substitute first letters for the words" password technique is lousy. ("Waltzing Matilda, Waltzing Matilda, Who'll come a Waltzing Matilda with me" = WM,WM.WcaWMwm?) On the one hand you have all those wonderful lyric servers to start with. Then you have that the words aren't randomly distributed in a sentence, and even if you're too impatient to crack words at a time, the distribution of letters of first words in the English language is also really stacked. (yes, I know not everyone out there speaks English, but if a cracker has targeted a site, they can make a fair guess at which language is being spoken most prevalently).