"don't waste your time trying to tell anyone else what they should do when it comes to passwords"
Well that's ruined the comments for this article then.
It's World Password Day! And you know what that means: all the effort you've put into trying to persuade people to rethink how they do passwords turns to mush because some company sees a PR opportunity and floods social media with terrible advice. This year's award for Terrible Password Advice goes to the wireless industry's …
Proper Security? Face it 2-factor is anything but, we need 3-Factor asap!
BTW:
Don't take my word for it. El-Reg has been warning us about this for years:
-------------
http://www.theregister.co.uk/2017/05/08/banking_protection_survey/
https://www.theregister.co.uk/2017/05/03/hackers_fire_up_ss7_flaw/
http://www.theregister.co.uk/2016/03/08/natwest_mobile_hack/
http://www.theregister.co.uk/2015/12/30/krebs_paypal_hack_criticism/
Lets face it the biggest problem with the text-based 2FA is not someone hacking the phone company's network but that likelihood that a user is relying on their phone for both the web login AND the text message.
So that dual-use phone becomes a single point of security failure, more so given the piss-poor patching and updates for most Android phones (i.e. most phones in total).
So use text-based 2FA if you possibly can, but please don't do both one the one device!
Some good advice missing from this piece:
Yes, use a handful of real words, but misspell at least one of them.
"korrekthorsbatterystaple"
Capitalise some letters, but never the 1st of each word -- how about the 3rd?
"koRrekthoRsbaTterystAple"
Instead of having a password, memorize a simple password-generation rule which is based on the thing you're logging into.
E.g. "koRrekthoRsbaTtery"+[1st & 3rd letters of app name]+[[number of letters in app name]-2]
which for The Register would give:
"koRrekthoRsbaTteryte9"
This is just as easy to remember as a password while being different for every site or app you use.
Also, a good alternative to random dictionary words is to use the initials of a memorable sentence, which gives utter gibberish that's very easy to remember.
You're welcome.
After years of frustration I finally found a trick that my users can work with, but creates good passwords. Maybe it's too simple to seem legit. I dunno, but here goes again...
Base the password on an easily-remembered sentence. Easy example: "These aren't the droids you're looking for." Take the first two letters of each word, capitalize the first, add punctuation to the end. That gives:
Tharthdryolofo!!! It's not necessary to remember that mess of letters. Run through the sentence to yourself as you type. My least technical users can do this and love it.
Is it perfect? NO! Are there recognizable words to dictionary attack? NO! Can a user remember and use this near-random password? YES! It's the best compromise between random passwords and usability I've found.
Alternative mnemonic method: generate random letters, then make up the mnemonic to suit the letters, You'll have to write the password down in the first place - and maybe the mnemonic - but after a few repetitions it will stick.
I have to use systems that impose rules, and while I could maybe break those, instead I use this method:
Every password in the same format.
The format is 2x letters and 2 numbers, and the letters and numbers are random - not repeated - and the letters are consonants. The first letter is capitalled. This meet various system requirements of:
Contains letters and numbers
Contains upper and lower
Does not contain any English word
Repeated letters are quite a stupid rule although I suppose you want to block "passssssword" as a password (but, why, Register wants long passwords, that is long)
The password is constructed by taking random source and skipping any input that doesn't fit. If the source is letters, then A to J represents 1 to 0 (after 9) and K to T likewise.
The middle letters of words from a book yield: Hvnk5ypsb4
But pure random text is more consonanty.
Then convert the letters to a sentence like "Havink your pure sweet Bovril". Never mind the numbers - if the mnemonic brings back the password letters from memory, then, for me at least, the numbers come too.
Add ! at the end for a system that rejects a password without a non-alphanumeric symbol. B!@#$£rds.
@Squander Two - you're trying too hard here.
Just do the 'correct horse battery staple' with predictable non-alpha-numeric characters between each word, like: "correct-horse+battery/staple". To "change" your password, merely change the value and/or order of the non-printables, making it easy to remember, difficult to crack.
back in the day Compuserve issued passwords very similar to that concept, consisting of two unrelated words separated by a non-alpha-numeric, like "kettle?gear" [no that wasn't my password, but I still remember what it was, more than 20 years later].
Also a line from your favorite movie might work, with similar characters between words... "go-ahead+make!my/day?"
Or just use "1234" since your login & password will be stored unencrypted on a public server, and will thus rather sooner than later end up (with any other private information you provided) in one of the hacked passwords databases... What's the point of having a $20000 key when the door is made out of plywood?
1. Require a fixed-length password, so that it can be stored and retrieved efficiently.
2. Require a specific pattern of {lower-case letter}{upper-case letter}{number}{special character}
3. UNDER NO CIRCUMSTANCES ALLOW:
Spaces ( )
Quotes (')
Double-quotes (")
Ampersands (&)
Backslashes (\)
Forward Slashes (/)
ASCII control characters
Anything other than 7-bit ASCII printable characters (specifically ASA X3.4-1965, to maintain compatibility with IBM 2260s)
4. Determine the average amount of time to brute-force a password created using these rules, and require password changes at least twice as frequently*.
5. Require all employees to share their current passwords with their manager in case of emergency.
Problem solved!
* In fact, just require a password change every time a user logs in. Make sure to automatically lock that workstation when idle for over 1 minute!
By making it fixed length, doesn't that make it easier to attack?
Efficiency of retrieval shouldn't be the driver for passwords surely? If there's one thing that I detest it's processes/forms/systems/interactions that are designed to make it easier for the processing bod to work on.
I don't make her do that, she came up with the idea all by herself. Coz she's lousy at remembering passwords, a password manager is too hard for her, and me being a sysadmin at times, I'm used to looking after other peoples passwords, so what's a few more? So, when she remembers, she tells me her passwords and I store them in my password manager. It's the times she forgets that are a pain, then neither of us knows them.
"They are hardly likely to manage to get online in the first place, now are they?"
Yes, actually. Or are you forgetting EVERYTHING'S going online these days...including the bank (no more local branches), the benefits tracker, all the friends and family, and so on?
Maybe I'm missing something with password policies I've encountered online. If a user's password is stored as a salted bcrypt hash, which is presumably then of a fixed length, why do some policies then specifiy 10-18 characters in length? I've witnessed this a number of times and unless it is an arbitrary limit based upon computational resources to repeatedly hash something what point does such a low maximum length serve - I understand the minimum length requirement? I have other accounts where I've used random 30 characters and those sites don't care and just accept them.
Can someone in the know explain this phenomenon?
NAB bank password used to be only 8 chars long, but they didn't mention this and the input field would accept longer than 8 characters. It simply discarded anything after the 8th.
They only needed to fess up when they finally changed their system to be more secure and allow longer passwords. They then had to advise that anyone previously using a password longer than 8 chars, should only put the first 8 in or it would be rejected.
There's just been two articles about very popular sites writing passwords in plain text, so what's the point of the complexity when the website writes it out in plain text, stores it in plain text, and sometimes spafs it all to world+dog+gerbil because ... ah, what's the latest excuse for stupid, anyways?
Really, I don't trust the password managers, so I've been keeping password in a text file. The passwords just happen to be individually encrypted in AES256. Yes, they are random passwords.
But again, WTF is the point when assorted websites totally fail at their end to have any sense of security?
"There's just been two articles about very popular sites writing passwords in plain text, so what's the point of the complexity when the website writes it out in plain text, stores it in plain text, and sometimes spafs it all to world+dog+gerbil"
In both cases the suggestion is that the password is stored in hashed form but that a log grabbed the plain-text password before it was hashed. I didn't read up on the details of the first instance but the second was that the logs were internal so no splashed to world with or without dog but only to the sysadmin gerbils who had sufficient integrity to flag up the problem rather than try to hide it.
That is not sufficient reason to give up on complexity.
But logs don't grab passwords, the computers store them there because the programmers wrote logging statements putting them there!
Come to think of it, can you imagine a computer system where systems are individually sentient? "The logging system grabbed that info because it suffers from kleptomania, and it's also a hoarder." "I keep getting spam in my inbox because the mail system feels that my love life needs improvement." "The compiler has been taking hits off the bong again."
There was a time when everyone screeched "Don't write it down!" Well, why not? Ok putting up a large sign, for all to read, is clearly silly.
But everyone has spent their entire lives learning how to look after little bits of paper. It's called money. We all have special gadgets, devices and procedures for keeping paper safe. As a society we have been learning how to do so for centuries.
How often do El Reg publish an article about crim's breaking into houses or offices to rummage for bits of (non-currency) paper? How often are people mugged for the passwords in their wallet?
A challenge - here is a copy of my paper based password reminder:
A5dQ1 t6F2P0 e4e2G8
m23ZX 8GjK4 DeW4I
mIiL8 qb4V3 60A1a
Now hack my account! Which account? Exactly.
So where is the evidence to show any/all paper based solutions are terrible? (evidence, not opinion :P ) This has been an issue long enough for there to be evidence, so where is it?
One step further... My credit card pin code is just the last 4 digits of the card number. Or was it the 1st of each block? Or 1st,2nd,3rd,4th of successive blocks? Or was it that backwards?
But it's always just there, so I can't forget it when I need it.
Ah yes, I remember now, I used one card's number as the pin for the other (and vice versa) so that I can see it while the card is in the machine.
.
It's not really, but my point is that it's not a problem having a system if there are so many possible systems that nobody will be able to work it out.
For most people the vast majority of the systems and services we use depend on us having access to a particular email account – that is ultimately how we are authenticated – not through knowing a password, but through our ability to access the email account we registered with. I can forget all of my passwords and still have access to all my accounts by clicking 'forgot password' so long as I still have access to the registration email.
Knowing and protecting the password/access-rights to that email account is really really important – knowing the passwords to all the other accounts, ultimately, not so important.
Personally I try to use a strong but memorable password for my main email account (easier said than done of course) and store that password only in my brain. That way (assuming my email service provider hashes passwords) no plain-text of it should ever permanently exist anywhere in the Universe other than encoded in my neurons (unless someone exfiltrates it during a logon – which is of course possible for any password based system if either end-point is dodgy or there is a man-in-the-middle – but hey – nothing is perfect).
Also, I agree with some here that paper (as an aide memoire for strong but less essential passwords) should no longer be blanket ruled out.
I remember reading an interview a while back with one of Google's security bigwig admins – he said he always used strong passwords, a small number of which he memorised, but most of which... he recorded with the aid of a physical (paper) notebook.
Quelle horreur!
The threat landscape has changed: Malware and assorted hacks mean that the security of end-point devices and in some cases even data on servers might (in some scenarios at least) be rather worse on average than the security of a piece of paper (or several pieces of paper) stored physically in a building or on-person.
@Charles 9
I suspect you have been watching too many Hollywood films.
I'm talking about treating a bit of paper (with your password on) with the same care you would give £$1,000. Would you leave £$1,000 laying around for anyone to pick up? Are you that careless with your money?
Having a paper notebook in a safe place is a good situation for using a written record.
But what's a safe place?
At one extreme is the sticky note on your office computer's monitor. That's the total insecurity that prompts "Don't write your password down" rules.
Stupid users, it seems, prompt stupid rules. I think, with my personal situation, I'd be more worried about the other end of the chain. The Twitter example resembles other cock-ups I know of, and it could be an instance of poor management of programmers. Specifications and documentation are critical weaknesses.
Since when has biometric become sane? I open the door to a shop and forget to wipe my fingerprints off the door handle. I had better change my authentication token. I buy a snack and take my Halloween mask off to eat it. My face is now on CCTV recordings in all the surrounding buildings. The office buys a really expensive retinal scanner that checks for a pulse. A thief takes your eye and tries to fool the scanner by squashing the eyeball. Do you care if the scanner spots the problem?
Biometric must not be inflicted on people capable of remembering their passwords.
HSBC asked me a while ago if I wanted to adopt their shiny new voice-recognition system instead of my old password that has never ever been hacked. I said no and they asked why not. "Because I work in IT and know enough to know that it will fail," I said. It got hacked by a journalist imitating his brother's voice a few months later.
Thank God it was optional.
We try and set complicated passwords. Then we immediately tick the box allowing that site or app to share the data that we are trying to protect.
If the data needs securing how about not writing it into an app / website, then it doesn't need securing and then we can do without 99% of passwords.
The priority for websites shouldn't be passwords it should be data.
What's on a phone? Personal contacts, information about what we do and when we do it. We try and secure the phone by putting a password on it but the whole ideology of having a phone is dictated to by the manufacturers who make everything available to themselves by design.
Aren't we kidding ourselves about the importance of passwords?
Even when we take perfect precautions, big companies get hacked and all information is now out in the wild.
If the information we are securing is important then someone will insist that we give it to them and we oblige, whether it be government or commercial organisations.
Surely the problem of password needs to be dealt with by the people storing our data, not the user. After all, I can only lose my info, but big company can lose millions of people's info.
I recently did a factory reset on my Android phone. When it came to logging into my Google account (yeah, yeah) one of the special characters in my oh-so-secure password was not available on the phone keyboard!
<bof>
I remember the day when you only had one computer per household, and if you messed something up and couldn't get online to search for solutions you were properly stuffed!
</bof>
"I remember the day when you only had one computer per household, "
I remember a day when there where three computers for all the schools in the state. We had to share them. Luckily there where only two people in my school that knew what to do with a computer, me and my mate.
Make up a nonsense word that is long, sayable and has memory cues in it. The trick is in length (to resist brute forcing), nonsense (to resist dictionary attack, so don't spell things quite right) and memorability (else it's useless). It really isn't that hard. As everyone knows by now, bizarre mental images and associations make for great memory cues. Sexy, foody, alarming and colourful images and weird connections are the way to go. Don't exceed seven syllables, usually go for five or six.
slumcheripantitt
(mental image: a slum alleyway where a pretty girl balances on her bosom a frying pan with a single cherry in it—quite absurd but unforgettable)
rastoskelipiller
(dreadlocked skeleton turning into a caterpillar)
I could go on all day, but any of you and most other people could easily come up with memorable tosh like this with just a couple of minutes' thought at most.
You can always include some symbols and digits once you've made up your word, by replacing 'L' with '1', 'ate' with '8', 'o' with '0', 'for' with '4' etc etc, just making sure you see the word when you memorise it, to fix the replaced sequences or characters. If doing so, be careful not to exceed the 7 syllables while ensuring the password remains long.
A random password of 6 characters including symbols and digits is about three trillion*¹ times easier to break than a random password of 16 lower case alpha characters. Inclusion of symbols, digits and case is far less helpful than sheer length of a random sequence. Use of non-alpha is only useful for short passcodes or where you want to force people not to use words (but it doesn't work because then they just go and type 'pa55word' or 'myp&55', which take approximately nine shakes of a lamb's tail to crack).
A brute-force attack on either of my examples, even if it were able to try a million passwords per second, would still take on average well over half a billion years. (It would take nearly 1.4 bilion years to try every single option).
Remember: the dafter and more absurd the mental image, the more memorable it is and the less likely anyone is to guess it (and zero chance of a computer stumbling upon it).
Now you can change your bullet-proof password every week if you like!
*¹ Crudely, ( 26^16 ) is a far larger number than ( 50^6) —by a little under 2,800,000,000,000 times.
My compromise is a 6 number letter prefix that looks random but it isn't, followed by the site/app/game/service name. Apart from stupid sites with length limits or 'special' char limits it works well.
At work all systems are inconsistent, so it's easier to just face roll on the keyboard and reset it every time I use the service.
They're aware of it certainly. A random word is only worth 2 and a bit completely random characters in randomness. Dropping a few for the connections, EnslaveCanadaAndSpatulasExceptPinkOnes is roughly as strong as $Ggo4&P0dL^x;3
The problem with passwords is people. We've reached the limits people can cope with (actually reached and breached about 15yr ago).
But we're stuck with passwords for the foreseeable future.
The advice given out by NIST and NCSC is a little more complex than just set a long simple password and never change it. It also has requirement to monitor for password quality (so no 'passwordpassword') and also to monitor for compromise attempts. So to move away from the regular password changes need a bit of work and possibly money to be spent.
"But we're stuck with passwords for the foreseeable future."
I'm not so sure about that. I think it's time to write off passwords as a failed dead-end experiment, something that kinda-sorta works almost acceptably but will never get actually good, and move on to stand-alone semi-hardened hardware tokens that only ever authenticate you through a (NON-SYMMETRIC !) crypto exchange, never by "typing" static plaintext passwords. Software password apps on your desktop or phone simply just don't cut it - they are a single point of catastrophic failure that just tends to be too easy to compromise.
And I say "semi-hardened" because I'd prefer these tokens to have a modicum of direct physical attack resistance - not on the "read out the chip with a scanning-tunneling microscope" level (this is not supposed to be an anti-NSA wallet, you're on your own if you need that kind of protection), but certainly past the "look up on the internet how to defeat the no-read fuse bits on microcontroller xyz". I'm not against mil-hardened hardware if the budget allows it, but all I really want is something impossible to access unless you're at least either Weyland-Yutani or Batman. Something decidedly outside the reach of an individual, regardless how enthusiastic, and certainly not something someone ends up breaking with $250 worth of DIY kit.
While basically reduced to "something I own", these would still be millions of times more secure against typical modern threats that tend to be online in nature, not up-close and physical. A token that cannot be infected with malware, holding a secret that never leaves it should be basically impervious to such attacks. At the same time, while not a perfect solution, these could always be complemented with some sort of local unlock mechanism (on-token PIN/password input or something else) coupled with a self-destruct in case of failed brute-force attempts.
To be honest, the only open problem I see is the one of "unlocking" your token under direct scrutiny, without betraying your credentials (whatever they might be). When you're entering it potentially many times a day, you'd want to make sure it's not simply a 4-digit PIN anyone watching you could glance. And no, biometrics definitely won't cut it, especially against possible attackers able to see you who might be spending copious amounts of time around you anyway. I don't really have a good solution for that... yet.
"But we're stuck with passwords for the foreseeable future."
Not because we want to but because massive monolithic suppliers like NGA and Capita are not going to develop their ancient yet essential products to support new authentication processes. They barely cope with username/pwd as it is.
And the banks will do anything to avoid spending money as well. Fines will probably be cheaper than redeveloping their websites
"While basically reduced to "something I own", these would still be millions of times more secure against typical modern threats that tend to be online in nature, not up-close and physical. A token that cannot be infected with malware, holding a secret that never leaves it should be basically impervious to such attacks. At the same time, while not a perfect solution, these could always be complemented with some sort of local unlock mechanism (on-token PIN/password input or something else) coupled with a self-destruct in case of failed brute-force attempts."
I present to you the intractable First Contact Problem. Basically, how can Alice and Bob attest who they really are when they've never met before and have no one in common between them (so no Trent).
I posit that you cannot even trust hardware. What if it was subverted by a state-level agent without your knowledge? Or it could have flaws that someone finds (so it's not malware, just a Confused Deputy). And a secret that never leaves can't be used in an online transaction, and ANYTHING that goes online can be intercepted by a Man In The Middle.
Frankly, the Internet is IMPOSSIBLE to secure even decently against such attacks because it was never designed with attribution in mind. And without attribution, anyone can impersonate anyone else. You basically need a brand new Internet, one with ironclad attribution...which incidentally means practically NO anonymity.
"Frequent changes also eat up an enormous amount of resources"
There are a handful of sites I use which now require 6 monthly password changes and I've given up trying to remember passwords/password variants for them so I just go through the "forgotten password" process everytime I need to log in.
To me there are two different kinds of passwords scenarios
the first is where you are logging on to say your bank. anybody is very unlikely to guess your password because you only had three tries and then you are locked out and have to do a reset so in this scenario the password almost doesn't matter - no one is going to get it in 3 tries
The second scenario is where the person trying to get your password has access to the file containing the encrypted source of passwords or for example a Word document that is encrypted. in this case of course they have as many tries as they want and will typically run a password cracking program using a very fast computer and an even faster GPU.
In this case they will use a dictionary attack and so you should not use words for example 'my head is painted green' is only a 5 character password as it has 5 works
a simple way to choose a random password is to think of an obscure song or poem and use for example the first letters of each word in the first couple of lines of that song or poem as the password. Add a special character at the beginning or end or both if you want to
"for example 'my head is painted green' is only a 5 character password as it has 5 works".
I do not believe this is accurate. Five characters doesn't take a lot of breaking by brute force without using a dictionary. However your example is 20 characters and the first task of brute forcing for a dictionary attack is to work out how long each word is and also how long the total password is.
As far as I know dictionary attacks only work well against single words and well known phrases.
Ummm, no. I don't think xkcd ever argued that word-based passwords aren't vulnerable to dictionary attacks - but the point is that your "5 character" password isn't using "characters" like digits that can have 10 values at most or letters that can be one of 26 or so, but _words_ that can be any out of a dictionary of at least thousands if not more - and xkcd explicitly pointed that out. A numeric code that is composed of "5" parts that are 4-5 digits each is incomparably stronger than a code of... "5 digits". Any dictionary does nothing for you beyond that point - and you're not even guaranteed to be using the right one, worsening your chances exponentially with each additional language / dialect / list of argo terms / whatever you might need to also consider.
It is true that hackers use dictionaries, yes, but that doesn't make collections of random words easy to hack, as long as the hacker doesn't know where the breaks in the words are -- and why would they? "correcthorse" is easy to hack if you know that you're looking for 2 dictionary words and the first one's 7 and the second 5 letters long. Otherwise, it's just as good as any 12 characters. You can make it even tougher by chucking in a deliberate misspelling or two, though.
The Oxford English Dictionary has ~171,000 'active' words in it (it has an additional 41k obsolete words and some other types).
So, a 5 word phrase would have complexity of 171000^5, or a complexity of:
146,211,169,851,000,000,000,000,000
And this assumes that every letter is typed in in the same case, no mixed case.
A 10-character password using the printable characters usually found on an English-based QWERTY keyboard is, umm, roughly 49 keys, each with 2 characters, for 98 combinations.
So it'd be 98^10 which is a complexity of:
81,707,280,688,754,689,024
Which is significantly less complex than 5 random words.
You'd need a difficult to remember password of 14 random characters to exceed the difficulty of an easier to remember 5 random words password.
Of course, you may be able to increase the set of characters above 98 by using a larger UTF character set.
But then, you could increase the set of words by including non-english words, or using techniques others have discussed like misspellings, mixed case, replacing alphabetic characters with other characters, and so on.
Spanish has around 88k words, depending on how you count them (some sources say there are many more), German, again depending on how you count the words and which sources you use, has at the low end about 140,000, and another 100k or more for french.
So if we add those 4 dictionaries (English, Spanish, French and German) we've increased our word set to 469k, so:
469000^5 =
22,691,552,673,349,000,000,000,000,000 combinations.
(Hope I haven't screwed up the maths!)
And another thing - 2FA is great and all, but the bank I use it with sends a text message which is only valid for five minutes. The phone signal in my house is terrible, so every time I have to use this I end up leaning out of an upstairs window to receive the code, and then legging it back to my computer to use it. Assuming that it's been received in time anyway!
2FA is used by a very small percentage of the population.
Probably a small percentage of El Reg's readers.
As long as it stays that way, I am happy as that means criminals will stick to the low hanging fruit and I will be relatively safe.
I use the word 'relatively' as anyone who is really motivated can gain access - or point a gun at me and gain access, but I am not rich nor do I have any juicy secret emails etc - so chances are very much against it.
"Everyone agrees that using the word "password" for a password is pretty much the dumbest thing you can do."
Nope!
Inserting your sensitive body parts into a meat grinder beats that.
If you limit the scope of the conversation to IT things, then giving remote terminal access to some con artist who phones you up to tell you that your PC has a virus also beats that.
In both my examples you are definitely going to get hurt.
Using password as a password only means that you may get hurt.
How about this as the better option than using a weak password to a site you'll only log into a handful of times - assuming you don't want to clutter up your password manager with the trivial sites:
- Set a strong password when you create the account
- Use the website / service
- Forget the password
And next time you need to go back (months / years later if ever) just do a password reset.
No weak passwords and if it gets leaked as you use it nowhere else you're not bothered in the slightest!
=]
I was tempted to go along these lines with Virgin when the call center jockey was insisting I gave him my password to confirm my identity, but I eventually opted to terminate the conversation at this stage rather than continue a pointless discussion.
As posted upstream, how do you know how long the words are? How do you know there are only two words?
The only way this would work was if the site insisted that the password contained two words each of a known length. Which would, on the face of it, be a pretty dumb approach to security.
Edit: having said thst it would be interesting to see the math on breakability against a truly random string. However if you rule out punctuation and stuff, a two character password can only have roughly (32 * 32) options because of the limited number of different characters. However the number of available WORDS in a dictionary is enormously higher.
This is why you shouldn't capitalise the first letter of each word: as it creates a sign of where each word starts and ends, which could (conceivably) be cracked (though I personally don't see how). Capitalising the second or third or fourth letter of each word is fine, though.
See my post above.
However, the printable characters are at a minimum 98 if you are using just the ASCII character set:
qwertyuiopasdfghjklzxcvbnm
QWERTYUIOPASDFGHJKLZXCVBNM
`1234567890-=[]\;',./
~!@#$%^&*()_+{}|:"<>?
Which makes it 98*98 = 9,604 combinations.
However, there are, at a minimum 171,000 words in the English language. Therefore while yes, using 2 words from the dictionary is, in effect, using 'only' 2 characters, the size of the character set has expanded from 98 to 171,000, so 2 words would be
171000*171000 = 29,241,000,000 combinations.
You can also rotate the words one letter at a time to give variants:
BatteryCorrectHorseStaple
eBatteryCorrectHorseStapl
leBatteryCorrectHorseStap
etc.
The capitals may or may not indicate the start of words if you don't know how long the words are.
I seem to have potentially conflicting requirements,
Long complex password
Entered automatically (to avoid having to read and input a long random string)
Password store not vulnerable
Available across all platforms (3 OS types minimum, that is Android, Windows, Linux) and fully synchronised
Can be used on machines owned by trusted friends (I do a small amount of free maintenance)
This implies that it must be on each device - I have {counts} at least 11 devices I use fairly regularly. Howevet this implies storing the passwords on the Internet to form a single target.
What would be good would be a secure device I could carry with me which could interface with any of the target devices. However not all devices have a working USB port, or bluetooth, or WiFi so I think I would need a (secure) stub on each computer dowloadable from the Internet plus a multi-interface on my security device which can pair with the stub over a range of different connections. This gives me a personal store with some physical security and no global Internet presence. Still vulnerable to flaws/backdoors in the stub plus coercion on me, but the risk seems lower. Anything like this around?
Sounds feasible with KeePass:
- Long complex password: password complexity is highly customizable for each account
- Entered automatically: you can enable AutoType, with little config required
- Password store not vulnerable: it has been endorsed by several security agencies (https://keepass.info/ratings.html)
- Available across all platforms: yes
The trickiest part is access from your various locations. If you can make your secure device appear like a local file via your stub, your problem is sorted. Otherwise, ruling out USB stick and cloud storage, I'd suggest keeping the main datastore on a NAS in your home that you can access and sync from every device. You may want to look at the backup and sync plugins for more options.
@FrogsAndChips
> - Password store not vulnerable: it has been endorsed by several security agencies (https://keepass.info/ratings.html)
That does not mean the password store is not vulnerable.
It doesn't mean it will never be hacked in the future, that would require them to be prescient, or that someone hasn't already hacked it, which would require omniscience. Neither of which ability any sane security organisation would claim.
it is not vulnerable as far as those people know.
"The pronounceable words approach is better if you want to remember the password and type it in. But it would be undermined if huge numbers of people weren't also using numbers and symbols in their passwords."
That's not actually true. What matters is ultimately the number of possible combinations that need to be guessed. The advantage of words is that there are an awful lot of them, and we're able to remember phrases with lots of them strung together. Even if every person in the world changed to only ever use whole, correctly spelled English words all in lowercase, it's still trivial to create a password much stronger than random symbols can manage. Just think how many songs you know the words to, how many film and book quotes you can remember, and so on. A password consisting of the first line or two of a song is far stronger than one made up of a random assortment of 20 symbols even if the attacker knows it's 10 or 20 real words, and it's orders of magnitude stronger again if they don't know that.
Social engineering is a potential problem, but not really any more so than it already is. If you're stupid enough to use the tag line from the latest Hollywood blockbuster as your password then it's going to be easier to guess, but the sort of person who would do that is probably using password1 to start with so it's not going to make things any worse. Otherwise, even using a quote from your favourite childhood book is essentially impossible to attack for the usual scenario of someone trawling through a big pile of credentials stolen from a big site, since obviously they have no way to know who you are at all, let along the ability to guess what your favourite book might be.
Most websites won't let you use a quote because they will consider it too long or not complex enough (no digits or special chars). But quotes are good to protect your password manager datastore.
'maryhadalittlelamb' is easy to pwn because:
- it is not very long
- it is all lowercase
- it's not a quote but a title
- it is a very popular song
I use a quote for the master password of my password manager, but:
- it is much longer, with original case and punctuation
- the song is not that famous outside the circle of the artist's fans
- the quote doesn't contain the title, is not part of the chorus or the first lines of the song
- I've removed a few random chars
Good luck coming up with the same passphrase.
Ok, I scanned the comments and didn't see any postings of my main beef with passwords. EVERY BLOODY SITE think it's vital you have one for their site. Really. I don't care if someone accesses my grocery store's site and steals my shopping list or digital coupons. My world would not end if someone posted under my name on a news site (who would? I am a non-controversial old guy and nothing posted online intimidates me). If someone is so hungary they want to steal my loyalty tokens for a free sandwich at a local Subway, God bless them and go in peace.
Even shopping sites. No one is interested in items I've put in my wish list. The ONLY time security is important is on the payment/shipping page. But my credit card comes with sufficient security features provided the shopping site does NOT store that information and make it available without re-entering. Yeah, it makes check-out faster if I don't have to enter the info each time, but then I would have to maintain a password for the site. Not much difference.
How about this: sites give us the option to have a password, and we assume responsibility if we opt out. If we opt out, no personal information will be available on-line. If you want access to that area, THEN you go through a verification process.
My password strength on my financial accounts would be very strong (my brokerage account password is fourteen alpha-numeric characters long, with no sequential group forming a word.). Given the option, I would likely have nominal passwords, like 'me', just to keep out strays, on inconsequential sites, and it would be the same password on many sites.
Don't think spying. Think smear campaigns where people sully your social image (there are those who will do it simply for the evulz) and social engineering where they glean enough information to stage a greater attack...maybe even of a physical nature (cyberstalking into physical stalking has happened).
Given the proximity of Password Day to May the 4th, I do believe that the best password advice possible to give on this merry day is to use the password "Star Wars!" Surely no hacker could be un-geek enough to dare violate the sanctity thereof. And may The Force(TM) be with you!
I've been here before, I'm sure of it.
Caveats and qualifications abound and I'm prepared to accept that the maths is beyond me and it's possible that the xkcd approach is sufficient but my forays into computational linguistics over the three decades of my fascination with A.I. lead me to suspect that there is some realm of mathematics beyond my ken that means that using real words is still a weaker approach than the one I learned from Bruce Schneier (something to do with Stochastics, possibly) - I further figure that if it's good enough for him, it's good enough for the likes of me and I ain't arguing.
So, just to make the point, yet again (sigh): If you're going to use a password, make it long (as explained above) and complex (complexity helps). You can make this memorable as well by following Schneier's instructions as follows:
Take a core phrase that doesn’t vary and is easily remembered—not a song lyric or famous quotation though, nor something from a book, but some phrase you make up yourself.
You then add an extension to it that is unique to each site/service you use.
For example: This is my very own, secret, core passphrase and the unique extension for this site is: my Register forums password
Take the first letter of each word and any punctuation: Timvo,s,cpatueftsi:mRfp
Substitute ‘l337’ style: 71mv0,5,cp47u3f751:mRfp
It’s 23 characters long (which is the single most significant hindrance to cracking it), contains a combination of alphanumerics and ‘special’ characters (punctuation), is unique to you, becomes a simple matter of muscle memory recall in a short time and is less demanding cognitively, because all that actually need be remembered for each site/service is the unique (and short) extension (which the site/service you are using will remind you of), can’t be cracked by a brute force dictionary attack in any language.
There have been a number of attempt to improve over this approach—and from biometrics to password managers, all have failed one way or another to do so in any manner that outweighs their weaknesses - as yet, the single most secure approach there is is still a password and, as yet, the most secure password is the one that exists only in your head.
No, I'm not interested in debating this any further; it was done to death on the above linked thread and, as I've said, I'm prepared to accept that maybe my intuition is ill founded and the xkcd approach is just as secure. It's just that, as a psychologist, I have to say I guarantee you that not only is the cognitive load of trying to remember twenty-three random words considerably greater than that of Schneier's approach but even remembering a story that ties them together is horribly prone to errors in recall and could well result in failures such as the incorrect colour of the batterypoweredhorse'sstable (or was it the batteredwhore'stable?) - moreover, how many stories explaining twenty-three random word sequences are you going to be able to keep in mind before you either have to stop using any more services, start re-using the same password or else get them mixed up and locked out of one or more of them?
So, there you go: Bruce Schneier's approach is good enough for me - it might be for you too.
"It’s 23 characters long (which is the single most significant hindrance to cracking it), contains a combination of alphanumerics and ‘special’ characters (punctuation), is unique to you, becomes a simple matter of muscle memory recall in a short time and is less demanding cognitively, because all that actually need be remembered for each site/service is the unique (and short) extension (which the site/service you are using will remind you of), can’t be cracked by a brute force dictionary attack in any language."
Until you get the sites mixed up and use the wrong extension for the wrong site. Plus, if a malware attacker cracks one site and gets your password, they can start getting clued in to your system. Two hits to the same base make it much more likely to be found out, at which point the extension is the only thing they need to figure out.
I get a bit annoyed that I have a strong process for handling all my personal passwords that matter, then I go to work and get lectured about password security, and forced to change it every 30 days. With no tools or assistance, what do they expect? It would be much easier to crack my work accounts than my reddit account.
-- methods for passwords, then we are all more secure. Because if crims don't know which method is being used, we are all better off.
Anyway. I have a cloud account (not USA, not MS, not Google, Dropbox, et al) in which resides an encrypted password file and not much else. I can remember the username/password pair for the cloud account, and the encryption key for the file. I cannot, however, remember my (main personal) email password. Damned thing is too long and too random.
I just wiped and reinstalled the OS (Ubuntu Studio) on this old Thinkpad, and I'm traveling. Good thing I can remember just enough to get in to the cloud account, and copy-paste my other, weirdo passwords from the password keeper, eh? Especially for the sites which are established with fake identities and special-purpose email accounts. The details of which my aging brain cannot hold onto either. ("I grow old, I will wear my trousers rolled.")
Anyone's detailed advice about constructing passwords is almost always bad advice for anyone else. If I try to follow one of the methods which others find salubrious -- song lyrics mixed with Roman numerals, every letter corresponding to the Fibonacci sequence replaced with sequential digits of PI, or whatever -- OK, I'll just get confused and lose it all. Wake in a gutter in Sri Lanka with one kidney missing, probably.
Let's all arrive at decently secure but different methods of doing it. "That'll put a spoke in their wheel!"
Wow two pages from theReg on #PasswordDay, Don't forget proximity Bluetooth or WiFi.
So sorry Register but you missed the fact that Microsoft and others want to remove passwords entirely from then internet. or you just whipped past it.
It is true thought so it was worth the rant. Do change your password, especially if the company you're accessing has been hacked lately. Having a password that changes often makes it harder to detect if someone has hacked you account and is locking you out. Not changing your password allows spy agencies have access to your account, not only is your own countries spy agencies but just about all the others.
You could also do the sticky note on the monitor or the password minder with the backdoor in it.
But all that passwords are worth is to keep you kids out of your computer until they turn 10 yrs old.
Or your colleagues that are too drunk at the office Christmas party too recall the backdoor method of access.
"So sorry Register but you missed the fact that Microsoft and others want to remove passwords entirely from then internet. or you just whipped past it."
Not so much that as we could stand to find some alternative system to passwords for situations where people have such bad memories they can't be called upon to "know" anything.
"It is true thought so it was worth the rant. Do change your password, especially if the company you're accessing has been hacked lately. "
If you have reason to suspect you've been intruded, then changing passwords would be but one step of a comprehensive security audit. Reason being that the first thing an intruder would do once inside is to establish a persistent beachhead in case that access does get cut off. APT hackers aren't stupid. As for spy agencies, they're more than likely to take you on from the inside since insiders will always be the trickiest hack threat to defeat: seeing as it's basically a betrayal of trust. Basically, if they REALLY want in, barring some ultra-draconinan regime, they'll get in by simply employing better and better impersonators (since no security system in the world can thwart the perfect impersonator, things scale from that extreme).
The ANZ bank in Australia had an TV advert about their bank. it showed a male employee taking a woman (probably his girlfriend) into the high security area of the bank, he went through fingerprint and eyeball scanners, and a multitude of other security devices, past a room with customers getting their eyes pecked out by Falcon the system for detection of improper access, only to fail at the keypad to gain access to the glass windowed room, and so then had to bang upon the window for his insider colleague to let him and his friend in.
It said it all on security.
This post has been deleted by its author
Account lockouts do very little to stop brute force, an attacker isn't going to try thousands of passwords against a single account - they're going to try "Password1" against thousands of accounts as this has a far greater chance of success, and systems which lock based on account will do nothing to stop this attack despite the fact that thousands of attempts to login to different accounts is clearly a malicious activity that should be detected.
Not only that, but locking accounts makes it very easy for someone malicious to intentionally lock accounts, causing severe inconvenience and disruption.
You need to develop a sensible strategy like exponential backoff and detecting anomalous behaviour like the above, not just blindly lock accounts.
Pronounceable passwords of the CorrectHorseBatteryStable variety have the benefit of being much easier to use if you don't have copy and paste available. Especially if the keyboard you are using makes it hard to access symbols, or even numbers. I can type several correctly-spelt English words quicker than I can type a sequence of random characters, even if the words have a greater total length. I type for a living, and most people type at least quick enough to send text messages.
It's wrong to say these passwords would be undermined if other people don't use symbols. Go read the XKCD again, and pay attention to the numbers. Each word adds 11 bits of entropy. That means it uses a dictionary of 2048 words. You get that much entropy regardless of what other people do, and regardless of whether you include spaces or capitals at word boundaries, and regardless of whether the attacker knows the dictionary. (It surprises me how many people cite the comic without understanding this point.) If you need more than 44 bits, use more words and/or pick them from a larger dictionary.
Which highlights another advantage of using correctly-spelt English words: you can calculate exactly how much entropy you have, and it doesn't depend on security by obscurity. All the schemes based on songs or substitutions or whatever, you really have no idea how secure they actually are. And because you know how much entropy, if you need to add a number or something to satisfy someone else's arbitrary password rules, you can just stick a 1 on the end. You won't make it less secure by doing so.
The main catch is that you need to pick your words from a dictionary with a genuine random method. Don't use the first words you think of, or the name of the first thing you see when you look out of the window, because you don't know how much entropy that gives you. Ideally use diceware or similar.
But then you hit the same problem you do with random letters: if they're truly random, then you're trying to play a word-association game with say "which" and "when" or other pairings for which a mental association is difficult to formulate. And that's just one site for someone with a decent memory (which is why I always retort with "donkeyenginepaperclipwrong" for people with BAD memories such that the word associations themselves become distorted). Now start adding more and more sites to this anagram stew and it's easy to see how you can mix up one mnemonic for another until it's all alphabet soup in your head. I have to put up with people with bad memories on a regular basis, yet they're still expected to go online on a regular basis to do basic management of their affairs.