Tag Info

Hot answers tagged

352

I think the most important part of this comic, even if it were to get the math wrong (which it didn't), is visually emphasizing that there are two equally important aspects to selecting a strong password (or actually, a password policy, in general): Difficulty to guess Difficulty to remember Or, in other words: The computer aspect The human aspect ...


174

The two passwords, based on rumkin.com's password strength checker: Tr0ub4dor&3 Length: 11 Strength: Reasonable - This password is fairly secure cryptographically and skilled hackers may need some good computing power to crack it. (Depends greatly on implementation!) Entropy: 51.8 bits Charset Size: 72 characters and correct ...


157

Edit: there seems to lack a thorough explanation of the mathematics in this comic (at least not as detailed as it could be), so here it is. The little boxes in the comic represent entropy in a logarithmic scale, i.e. "bits". Each box means one extra bit of entropy. Entropy is a measure of the average cost of hitting the right password in a brute force ...


44

"Not considering brute force" - that's exactly what these tools measure. Obviously they dont try social engineering, or trying to discover if it's the user's first girlfriend's dog's birthday. The attacker might know that, but these tools don't. What they do measure is simply the difficulty for a bruteforcing tool to crack it. Not even the entropy of the ...


36

Microsoft already has done something like this with their product key alphabet. They selected a subset of characters that are distinctive, and excluded characters that could lead to either confusion or offensive words. The 24 used are: 2346789BCDFGHJKMPQRTVWXY The 12 unused are: 015AEILNOSUZ The hyphen character is used to separate five character groups, ...


32

I agree that length is often preferable to complexity. But I think the controversy is less around that, and more around how much entropy you want to have. The comic says that a "plausible attack" is 1000 guesses/second: "Plausible attack on a weak remote web service. Yes, cracking a stolen hash is faster, but it's not what the average user should ...


26

Because, as LinkedIn and other recent password leakages reveal, still the most common passwords for websites are "password", "god", "123456", etc. So you can brute-force with really short list of most common passwords. Still, you can just ban those passwords, or require long password - as possible combinations grow exponentially with the length, and ...


24

I think most of the answers here are missing the point. The final frame is talking about ease of memorization. correct horse battery staple (typed from memory!!) eliminates the fundamental danger of password security -- The Post-IT note. Using the first password, I've got a Post-IT note in my wallet (if I'm smart) or in my desk drawer (if I'm dumb) ...


22

Ahem. Depending on what this password is to be used for, I would recommend a technique recommended even by crypto-great Bruce Schneier: Write it down. That's right - get yourself a REEAAAHEEELLYYY complex random password that you cannot remember, and WRITE IT DOWN. Of course, write it someplace safe, not attached to outside of your laptop that the ...


22

I like to use the Shift your fingers method. Take an easy passphrase like 'stackoverflow', move your fingers 1 character to right as you type and you get 'dysvlpbtg;pe' which is a lot harder to guess or crack. Although this works fairly well its best to add a few other twists to this like a memorable number and some special characters to make it a really ...


20

To add to Avid's excellent answer, the other key messages of the comic are: the appropriate way to calculate the entropy of a password generation algorithm is to calculate the entropy of its inputs, not to calculate the apparent entropy of its outputs (as rumkin.com, grc.com etc. do) minor algorithm variations such as "1337-5p34k" substitutions and ...


20

No. A salt is simply supposed to be unique so that you can't use an attack (such as rainbow tables) that computes a password hash once and uses that result against multiple password hashes. If you're interested in making reversing the hash impossible without some secret knowledge, then append a site-specific password to the provided password (in addition to ...


18

I love xkcd and agree with his basic point -- passphrases are great for adding entropy, but think he low balled the entropy on the first password. Let's go through it: Random dictionary word. xkcd: 16 bits, Me: 16 bits. A random word from a dictionary with ~65000 words is lg(65000) ~ 16. Very reasonable Adding in capitalization. xkcd: 1 bit, Me: 0 ...


18

The issue is still, sadly, a human one. Will pushing users to alphanumeric + punctuation passwords be safer, or longer passwords? If you tell them to user alpha + numbers, they will write their name + birthday. If you tell them to use also use punctuation, they will replace an "a" with "@", or something similarly predictable. If you tell them "use four ...


17

Both OpenJDK and Sun read from /dev/urandom, not /dev/random, at least on the machine where I tested (OpenJDK JRE 6b27 and Sun JRE 6.26 on Debian squeeze amd64). For some reason, they both open /dev/random as well but never read from it. So the blog articles you read either were mistaken or applied to a different version from mine (and, apparently, yours). ...


16

Identical system images will generate different data when pulling from their randomness pool unless you're working a very sterile setup to move them along synchronously one clock cycle at a time. Activity in the system affects the randomness pool based on events including hardware interrupts. Reality says that disk drives, network cards, and the moment you ...


15

You wrote (emphasis mine): The higher the number of application-specific passwords the higher the chances are of a brute force attack succeeding. These passwords have a fixed length and don't contain numbers or symbols, which make them more susceptible to brute force attacks than a password with unknown length containing letters, numbers and ...


14

"Entropy" is a measure of what some data element could have been. We say that we have n bits of entropy in a bunch of bits if those bits could have, collectively, assumed 2n distinct values with uniform probability (there is a whole lot of complexity which hides under the "uniform" term). To make a cryptographically secure PRNG, you have to: Gather enough ...


14

Looking at the XKCD comic, and at examples of real world passwords, we see that most users have passwords much much weaker than the XKCD example. A bunch of users will do exactly as the first panel says - they'll take a dictionary word, capitalise the first letter, do some gentle substituting, then add a number and symbol to the end. That's quite bad, ...


14

Not sure can it be of any help to you, but once I managed to describe entropy to a child. After I said that entropy is a measure of chaos in system (to a group of people), a 12 (year more or less) year old said he doesn't understand me. I replied with - "Well, when your room is untidy, entropy is high. But when you clean your room, entropy is low - ...


14

It entirely depends on your attack model. A 16-character word is likely to resist brute-force, but might fail immediately against dictionary attacks. How do you define the strength of that password? There's no single answer. With the scheme you mentioned, a brute-force attack would be largely infeasible assuming your password is long enough. Even then, it's ...


14

Reading bytes from a device can be troublesome (you have to account for syscall specificities, e.g. interrupted system calls) and can potentially be inefficient if reading many small chunks (a syscall has a non-negligible overhead). A custom software PRNG, seeded with bytes from /dev/urandom, gives more control over performance. (Also, there might be a bit ...


13

Good answers so far, but I would like to suggest another possibility: pass phrases. As StackOverflow's own Jeff Atwood suggests, if you aren't prohibited by technical limitations, you might consider allowing and suggesting pass phrases. You could enforce them, but that would probably alienate some users on most sites. Due to their length, they can be ...


13

Bruce Schneier has a couple of interesting articles on password policies. Real world passwords - covering password length, complexity and common passwords. Password advice - some do's and don'ts including: DO use a password manager DO change passwords frequently. I change mine every six months... Don't reuse old passwords. DON'T use ...


13

I am not sure how "i am going to have lunch tonight" is dictionary vulnerable, its a seven word phrase. Where "th1$.v4l" is a two word phrase with a character join, and character substitution something that password crackers have dealt with since forever it seems. A few password testers use cracklib+ajax like tests with a small rule base to weed out your ...


13

You're worried that because the passphrase uses dictionary words, it might be easier to crack than something that must be brute-forced. tl;dr: This is a valid theoretical worry, but right now it's not a practical concern. "I am going to have lunch tonight" is a five word phrase using words out of the most common 5000 in the English language. Naively, ...


13

5 Diceware words = 77765 = 28430288029929701376 possible equiprobable passphrases. 9 random characters = 949 = 572994802228616704 possible equiprobable passwords. The 5 Diceware words are 49.617 times better than the 9 random characters. On the other hand, 10 random characters would be almost twice as good as the 5 Diceware words (but the Diceware words ...


13

I posted an answer that explains this on another question, which should give give you a good background to all the major security concerns around password storage. To answer your question more directly - a salt: must be unique. should be unpredictable. should be unknown to potential attackers. The problem with schemes like H(pass + username) is that the ...


13

If you are to abide by CWE-521: Weak Password Requirements. Then all passwords must have a min and max password length. There are two reasons for limiting the password size. For one, hashing a large amount of data can cause significant resource consumption on behalf of the server and would be an easy target for Denial of Service. Especially if the ...



Only top voted, non community-wiki answers of a minimum length are eligible