mailing list archives
RE: Choosing unique passwords - how paranoid is too paranoid?
From: "Rivest, Philippe" <PRivest () transforce ca>
Date: Wed, 25 Jun 2008 11:17:50 -0400
You are by far the most instance password *lover* I have yet seen. You must
1- really good in maths
2- really love security
Listen, I understand the main issue, and the situation you are in is no good.
Having to do all those calculation for a password for EVERY system is very
You seem to rely too much on a password for security.
Your password could be sniffed, your session could be hijacked and theres a
lot more exploit than these (you may already know this).
I'm trying to take you to a place where passwords are a security means of
protecting a system no more. You have to remember that IDS, firewall and many
more system will limit access. (I know username + password may bypass a
firewall). But an ids may detect your un-usual presence at 2am.
A log review may also detect, this. A scheduled for your account could
prevent your access.. and so on.
Password needs to be very strong, but don't over freak on it ;)
Personally I would use a strong pass phrase, with very limited special
characters. For exemple:
Ireallydohatemondays -- 20 character long password, very easy and 1 upper
char. Add ! or #, $ in it if you please.
Merci / Thanks
Philippe Rivest, CEH
Vérificateur interne en sécurité de l'information
Courriel: Privest () transforce ca
Téléphone: (514) 331-4417
De : listbounce () securityfocus com [mailto:listbounce () securityfocus com] De la
part de Johann MacDonagh
Envoyé : 24 juin 2008 23:28
À : security-basics () securityfocus com
Objet : Choosing unique passwords - how paranoid is too paranoid?
I've recently began a full on password change process where I'm
increasing the security of passwords I use for various systems I use
(computer systems, websites, etc...). In the past I've only used a few
different passwords and hoped for the best. I'd like to start working
on a new system that allows me to create easy to remember passwords
for each unique system. I don't want to create completely random ones
and rely on a password manager, because I use these systems at home,
at work, and on my iPhone. They need to be something I can easily type.
So my first scheme involved coming up with a rather long base
password, choosing a 4 character acronym for each system, mixing it up
in a certain way, and inputting those jumbled characters in predefined
locations. This solved one issue:
1. If someone where to compromise one password, it's unlikely they
would be able to deduce the same pattern for other systems.
Then, I got paranoid. What if they had two passwords? The differences
could be found, and analyzing the 24 different permutations (4!) of
the differences could quickly find a pattern.
So, I modified it a little. I took the name of each system, padded and
mixed in yet *another* master password (this time much shorter), and
ran it through this (on OS X):
echo -n mypaddedstring | openssl dgst -md5 -binary | openssl enc -base64
and took the first few characters. I put that in a certain location of
my master password. The reason to use a hash function is pretty
obvious, and base64 allows me to add in additional bits to brute force
with the same number of keys.
This has worked out better. I've started using mnemonics to remember
each system's unique part. Muscle memory!
Now, I'm up against a wall. I can't possibly remember a different
password for *each* system. So I came up with the (final) idea of
classifying systems as high or low, depending on the problems a
compromise would create. For example, my registration on some random
forum is low, whereas my PGP passphrase is high.
I know this is looking like there will never be a question, but there
is. What does everyone think of this system? Would you classify sites
that hold somewhat private information (such as Amazon.com without any
saved payment methods) as high or low? Is there another way?
Let me close by saying that the day I can use a smarcard for 3 factor
authentication (PIN, physical access to card, and biometrics) to
access ALL systems (hey, web developers, you can ask for x.509 certs
you know!) is the day that I stop worrying about all this. Or should I
be worried about that too? :)