Hi,
I'm experimenting a little with openvpn. I guess I want to verify that my
understanding is correct now and see what people tend to do.
It seems that the basic authentication process is:
- create a CA
- create a key pair for each user, sign it with the CA and distribute the
private key to them
- openvpn checks if the connecting key is signed by our CA.
- openvpn (optionally) checks if the connecting key is not listed as a
revoked key
- some optional additional authentication may take place
I had initially assumed that the public key needed to be on the server to
verify the private key, but it seems like that's not important -- instead
the key being signed is what's important. I had initially imagined that by
deleting the public key off the server, you could disable the private key.
Instead, you revoke the key and a list of revoked keys is checked.
This means that one cannot easily enumerate the working keys in existence
-- you have to keep a list. So, it's possible for someone to get a key
signed and for you not have any way to know that it exists. This is a bit
uncomfortable.
Is my understanding correct?
Following on from that, what do people tend to do as best practice?
- tightly restrict access to the CA key? (presumably!)
- always put passphrases on created keys?
- keep that list of signed keys very carefully because it can't be
verified?
- use a second authentication mechanism so that a signed key isn't enough?
- set keys to have relatively short lifetimes (I think the easy-rsa
scripts set 10 years by default)
- something else?
Many thanks in advance for any suggestions,
Gavin
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!