I've just started to use GPG and created a public key. It is kind of pointless if no-one knows about it. How should I distribute it? Should I post it on my profile on Facebook and LinkedIn? How about my blog? What are the risks?
|
|
You are best to distribute your key is using one of the key servers that are available such as http://keyserver.ubuntu.com:11371/, http://pgp.mit.edu/ and https://keyserver.pgp.com. If you use seahorse (default key manager under Ubuntu) it automatically syncs your keys to one of these servers. Users can then lookup your key using your email address or keyid. If you wanted to post your public key on Facebook, LinkedIn or your blog you can either upload the key to your server or just link to the page for your key on one of the keyservers above. Personally I would upload it to one of the keyservers and link to it as its easier to keep up-to-date in one place instead of having the file in loads of different locations. You could also share your keyid with people and then they can receive your key using 'gpg --recv-keys'. For example my public key. There are no risks to my knowledge associated with publishing your public key. |
|||||||||
|
|
There is no risk of exposing your private key, or invalidating your public key, by publishing your public key in the ways you and @Mark described. As @pboin stated, it is designed to be available to the world. However, there is another issue at hand... One of the core purposes of having and publishing your public key (indeed, this is probably THE MAIN purpose), is to authenticate yourself to other users, enable them to verify authenticity of any messages or data you sign, and protect/encrypt data for your eyes only. When using the X.509 / PKI model, there is always somebody trusted that vouches for you. E.g. a well-known Certificate Authority (trusted because the browser vendors vetted them, and added their root certificate to the Trusted Roots Store in the browser) verified your identity, and signed your publickey/certificate. Thus, anyone who wants to verify you are who you say you are, can simply check the signature, and then check out the identity of whoever is vouching for you (and then repeat until finding the well-known trusted root CA). However, in the PGP model, there is usually no central, trusted authority (though current versions DO allow this). Instead, PGP is based on the web-of-trust model, wherein if you trust someone, they can vouch in turn for someone else's identity. Regardless, just putting your public key out there does not help anyone verify your identity, nor ensure that encrypted messages will be viewable by the correct person only. What you CAN do:
Aaaaall that aside, it really depends on what this pk is for - if it's just to wow your mother, then dont bother with all that :) |
|||||||||
|
|
A general solution is to upload it to a keyserver. Another good idea might be to make an entry at Biglumber. This helps to get in contact with other people and maybe to sign each other keys. Furthermore you should have a look into your inbox and look for contacts who already sign their emails. You could send them an informal mail, that you now have a key and point them to a resource. A blog entry about your key is also fine. You should provide a link to download your key. If you use signatures in your mail, you can point to your new key and of course sign every mail. Remind that you can't delete your key after it is uploaded to a keyserver (and distributed amongst them). Of course, you can revoke it. Furthermore it is assumed that spammers look for those email addresses and send you some "nice offers". When you do keysignings and upload the new signatures, the signature reveals where you've been at a specific date. |
|||||
|
|
Be aware, any email-address on your key will be shown on public webinterfaces. I get a lot of spam on the email on my key, so it did not put my current email address on the key. |
|||
|
|
|
The simple answer to your "distribution" question is that you should use whatever method works conveniently for you and your intended recipients, and meets your needs in terms of privacy. E.g. a keyserver can conveniently be used for distributing to many recipients, but as ubi notes a typical keyserver exposes the uid (which typically has your email address) to spammers for all time. The much harder question is how does your recipient verify that they got the right key for you, rather than something forged which facilitates an attack? You may want to exchange a fingerprint of the key with the other person "out-of-band", e.g. over the phone. Or you can rely on the "web of trust": a chain of signatures of people you trust for the purpose. See these questions for more tips: |
|||
|
|
|
For distribution, it really depends on your audience. The optimist in me hopes that people will be eager to use my key to encrypt messages and check my signatures. The reality is that managing it has been a non-problem. I've done very well by offering it on my blog and on request. As for the risks, it's designed to be readily available to the world. Focus those concerns on safeguarding the private key. Put a password around it, and guard it carefully. |
|||
|
|