This conversation has been going back and forth now for a little while and
I'm not sure that adding my voice to the mix will help at all, but here
You wrote the following statement: "Because the documentation says that once a private key is known, all previous communications can now be decrypted." This statement is wildly confusing and is probably where most of the problems are coming from. Please consider it to be wrong. Long clarification follows.
There are are two ways to communicate in OpenVPN: "shared secret" and "TLS"
"Shared secret" is where both sides of the conversation have the exact same password. Shared secret communications can only be between two computers that share this one file, and losing the file allows all previous communications to be decrypted. OpenVPN operating in this manner effectively has one hand tied behind its back.
"TLS" assigns a PUBLIC and a PRIVATE key to each individual machine, so that they can identify themselves and secure the communications pipe. OpenVPN uses the private key to negotiate a kind of "shared secret" for communication between the machines. This shared secret changes once an hour, and losing either the private key or the shared secret will only allow you to decrypt at most an hours worth of traffic. This is perfect forward security, and you have it whenever you use TLS.
The TLS private key can OPTIONALLY be encrypted by a password. This allows you to "secure" the person using the machine as well as the machine itself. The machine authenticates itself by having a valid TLS private key, the person authenticates him/herself by being able to unlock the key.
Placing the password to the TLS private key in a file on the hard drive is being argued here as useless; the machine now has both pieces of the puzzle and the person using the machine doesn't need to know anything. It's equivalent, much simpler, and arguably more secure not to specify a password when you create the TLS private key in the first place.
Using a TLS private key without a password does not mean that you are suddenly using a simple shared secret encryption, you still have all the wonderful stuff that TLS has to offer. You have simply taken the human out of the picture, the computer is now trusted to establish and authenticate the connection on its own. If someone steals the machine, revoke that machine's certificate and move on.
----- Original Message ----- From: "Ray Lee" <ray-openvpn@xxxxxxxxxxxxx>
To: "Mathias Sundman" <mathias@xxxxxxxxxx>
Sent: Friday, January 14, 2005 3:48 PM
Subject: Re: [Openvpn-users] Re: "--askpass file" is evil!
On Sat, 2005-01-15 at 00:03 +0100, Mathias Sundman wrote:If they are headless, who is going to type the passphrase?