tags:

views:

671

answers:

14

Pros:

  1. I can't remember "good" passwords anyway so remembering them is not an issue.
  2. they don't look like passwords
  3. they are darn near impossible to guess (128 bits of entropy)
  4. easy to generate (offloads the "good PRNG" problem)

Cons:

  1. ???

In particular; what about for passwords that computers enter like for databases logins on some setups.

+6  A: 

Con:

It would be nearly impossible to remember a 32-byte alpha numeric string.

Miyagi Coder
I can't remember my passwords any way. I let an e-Wallet or my browser handle them.
BCS
32 bytes, surely? Assuming you're writing them as hex. Which is pretty advisable, I would guess.
Samir Talwar
+1  A: 

Does anyone ever need to enter it as a password? Or do you want to use it as a one-time thing? Because seriously, no one wants to enter a GUID in a passwordfield. People have trouble enough as it is, entering WEP/WPA2 wifi network keys. And most of the time, those are one-timers.

@Miyagi: that's the most obvious con ofcourse. They'll have to write it down.

Cloud
+3  A: 

Con:

  • Some systems have limits on the maximum length of passwords. If you're only using hex digits this can limit your entropy to perhaps as little as 32 bits.
Greg Hewgill
A: 

No

John Rasch
Technically correct answer, but you need to provide a _reason_!
Arafangion
+12  A: 

Cons:

  1. You will write them down somewhere.
  2. You will probably email them, or write them down again if you need to tell anyone else.
  3. They may be too long for certain systems.
  4. They're practically impossible to memorize, so you might change them more frequently then desired.

So unless they're system passwords which change rarely, I doubt they are good passwords.

Bravax
See point 1 and comment to Miyagi Coder. I end up with those issues anyway.
BCS
So solve that issue - generate good passwords which you can remember - qu1ckr8dducck!
MrTelly
Agreed. Take the first letter of each word of a phrase, quote, or song lyric, and use that. For example "is this the real life, is this just fantasy, caught in a landslide" becomes ittrlitjfcial .. easy to remember for you, but a bit more difficult to crack. Add in a personal rule (capitilaze the 2nd letter, change the first a into a 4 or the first e into a 3, etc..) and you've got a great password! iTtrlitjfci4l
esac
+1  A: 

Technically they would be good passwords In real life, they would be horrible passwords

You would end up having to write down the passwords, use a password manager, or some other form to actually use the password... in a way moving the failure point from the password to another aspect.

Consider using passphrases. Sentences with substitutions for certain letters or other characters, and for numbers, typing them with the SHIFT, converting easy to remember numbers in to well defined character sequences.

For example bcs19850101bcs would be bcs!(*%)!)!bcs

The Unknown
Is that your birthday in the password? jk.
Chris Lively
even with a system like that, I'd still forget the phrase or soon run out of phrases I can expect to remember.
BCS
I'm willing to assume the physical security of my computer, so I'll ignore the issues of someone extracting the password form my password manager
BCS
maybe you should consider some treatment for memory loss then?
foljs
Not memory loss. More a failure of memory gain!
BCS
+1  A: 

I like my passwords strong and pronouncable (try one of the sites listed here for an online demo, be sure to pick a "v2" site to get the pronounciation-guide).

Joachim Sauer
That would help more if I could spell without a spellchecker :(
BCS
+14  A: 

One major con is that you don't necessarily have "128 bits of entropy" as stated in the original question.

Many GUID Algorithms have information embedded in them in predictable patterns, for exampe the MAC address of the computer, the date/time, or an incrementing sequence. Cryptanalysis of the WinAPI GUID has shown given the initial state one can predict up to next 250,000 GUIDs returned by the function UuidCreate

For example, I have about a 50% chance of guessing the first digit in the first position of the third group of digits since it will be either 1 (for V1 guids) or 4 (for V4 guids)

Source: http://en.wikipedia.org/wiki/Globally_Unique_Identifier

JohnFx
Good point. Now if only they can get the initial state off my computer 6 months ago. :)
BCS
Well, one way of doing that would be to reverse engineer it from their own password generated from that same computer and algorithm.
JohnFx
That would suggest that one should use the random variant doesn't it? Not quite 128 bits, but close, with good random number generator.
StaxMan
Actually it suggests just using a random string generator instead of trying to bolt it onto a GUID generator that was designed for a completely different purpose.
JohnFx
Very good points. GUIDs have been designed to be unique and not to be random and secure. There are quite different methods in place to create random data.
0xA3
+4  A: 

If you really want a secure password, consider a passphrase instead. A long passphrase is easily remembered, and very difficult to brute force.

Bayard Randel
See comment to "The Unknown"
BCS
Fair enough - I tend to use lyrics from favourite songs.Gah, my secret revealed! >.<
Bayard Randel
Not unless you known what kind of music you listen to.
BCS
+1  A: 

Cons:

  1. Password fields are not always long enough.
  2. More difficult to enter - you'd probably store the password in a program, not in your head. That's a bit of a security problem...

... pros:

  1. Nobody will be able to force your password out of you.

Big-random-number passwords have been done before. They're called OTPs, and are much more secure than what you're suggesting because they change over time, and tend to be generated by secure devices. Of course this is only relevant if you are designing a password system.

Artelius
Bad guy with big gun: Tell me your password!!! Me: 1CF92C3-CFD3-4a9.... No wait it's 5A6E6559-AC... Errr.. sorry, I don't remember!
BCS
Surely, in the "Bad guy with big gun" situation, you WANT to tell him your password... How useful is the data if you're dead?
Arafangion
I'll want to give him the password or be able to convince him I can't no matter what he does. OTOH I don't have any passwords worth buying the bullet for.
BCS
+1  A: 

If you want a secure password that you wish to leave to a password manager on a UNIX-like system, you're much better just pulling one from /dev/random and encoding it into something readable. for 128 bits of entropy you can use something simple like

head -c 16 /dev/random | openssl enc -a -e

which gives a password like 5eqIviKu4pFTqSPnYosVKg==

not unreasonably long, secure, random, suicide to try to remember.

Edit: added benefits of this method over UUID include extra security in the PRNG (/dev/random) and shorter passwords, similar shortfalls

cobbal
Fits better in PW field, but aside from that, about the same as a GUID. +1
BCS
That's rather close to GUID/UUID, since one of variants can be generated from random number. Slightly shorter (since base64 expresses 6 bits per char, standard UUID uses hex, 4 bits per char), but not very different.
StaxMan
A: 

Con: You can't retype it, which means you will have to copy and paste. If you have your password management program on your system, not really a problem. But if you end up on a system where you don't, just retyping the thing will be very difficult.

And then after you try a couple of times you get locked out ....

Life could get very annoying.

Even if you write it down, a good password is something you can type consistently without errors.

Yishai
+1  A: 

I recently wrote code to convert the first 64 bits of a checksum into a sequence of four English words. This makes a good checksum (much easier to remember than a hex mess), but I'm not sure I'd trust it as a password. If you're protecting something secure, you should use a strong password that you memorize and don't write down. If not, then any old password will do.

Norman Ramsey
A: 

I think what you actually want is a cryptographically-random number, not a GUID. GUIDs and UUIDs are not random -- as JohnFx said, they tend to incorporate discoverable values like the MAC address or current timestamp, in order to guarantee uniqueness.

Instead, you should look at whatever crypto API is available to you and find a source of high-entropy random numbers. Make sure the documentation promises the output is suitable for cryptography, not just a regular PRNG. For example, /dev/random on Unix systems is a good source. Then just unroll as many random bytes as you want.

Personally this seems a bit too hardcore. I'd rather generate strings that contain a bit less entropy per character, but are easier to type and remember. For example, there are several algorithms that combine random syllables to create pronounceable nonsense words; intersperse some digits and punctuation, and you've got a good password.

Jens Alfke
A MAC address might be a discoverable value, but I don't think a timestamp is. At most an attacker might be able to guess the day you generated the GUID (still fairly easy to prevent), but that still leaves 860 billion (UUID v1 uses .0001ms intervals) values to check. And many GUID generators use other seed sources that are impossible for an attacker to discover in practice--such as the "initial state" of the system.
Calvin
This is true to a degree, but cryptographers are paranoid and don't want their random numbers to have any hint of structure or predictability to them. (Netscape's first SSL implementation was cracked because it used the IP address and date/time as part of its RNG seed.)Don't misuse a UUID. Just use an API that was meant to produce really random numbers.
Jens Alfke