Encrypting Webpages and Posts with GPG and FireGPG
Thursday, July 3, 2008
Just recently FireGPG released their 0.5 version which along with other bug fixes and feature additions, includes the ability to automatically reading inline GPG/PGP key blocks from websites. This perfectly fits into an idea I was thinking about a few weeks ago.
UPDATE 7/14/08: FireGPG's newest version supports symmetrical encryption and line breaks making it even easier to do what I'm talking about.
The idea is that using FireGPG you can encrypt your posts to public web pages, forums, wikis, and even MySpace (if you still use that) so that only you, or whomever possesses the private key can decrypt.
For example, say you have a very private message that you and your friend would like to share but you want to make sure no one can read it while you are writing it and that no one can read it after you've posted it. You generate a key for your posts and then you send your friend the private key, and she decrypts it but no one else can. Not even the owner of the website.
Why would you want to do this?
- It's an alternative to SSL if you don't have the ability to set it up (forums, blog comments) [There are other alternatives I've seen done with Javascript but most of them site security flaws]
- Way of keeping private posts private even from server owners
- Encryption is fun!
Why would you not do this
This is a last stretch effort and by no means is it a perfect solution. In fact, the public key encryption just does not fit in with this but I haven't found many general encryption plug-ins to encrypt a message with great confidence. Plus it doesn't give you control of revoking the key if it gets stolen. Do not use this as a serious solution but an example of what someone COULD do.
One of the requests at FireGPG is that they can support symmetric encryption which would work much better in this situation. Until then, this still works pretty well.
Install GPG
http://www.gnupg.org/download/index.en.html
I'm really not going to go through the process of installing on your system because it's very easy. Use the site's documentation.
Generate a GPG Key For Your Usage
You can always use your GUI of choice to do this but from command line here's the easiest way:
Follow through the steps to create your key.
Install FireGPG
Install FireGPG from here - http://getfiregpg.org/install.html
Encrypt Your Posts:
After FireGPG is installed, you now have a FireGPG menu option when you select a block of text and right-click. So the process is this:
- Write the post or whatever you're sending to a site
- Select the entire text before submitting
- Right click and select the FireGPG menu option
- Click Encrypt
- Select the key that you created above and click OK
This will create an encrypted version of your post ready for you to submit.
Decrypting Websites
When you want to view an encrypted post, FireGPG automatically sees it and prompts you to decrypt it. If you have tons and tons of posts, it's going to be very annoying to decrypt every message but it woudl work.
Granting Access
The last part is just giving the private key to those who should be able to see your posts. One obvious way would be this:
- export the private key
- encrypt it with your friend's public key
- email it to him or her
External Links:
http://getfiregpg.org/ - FireGPG Firefox plugin
http://www.gnupg.org/ - GPG website
http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html - GPG HOWTO manuals
Labels: alternative to ssl, encryption, firefox, FireGPG, gpg
Just recently FireGPG released their 0.5 version which along with other bug fixes and feature additions, includes the ability to automatically reading inline GPG/PGP key blocks from websites. This perfectly fits into an idea I was thinking about a few weeks ago.
UPDATE 7/14/08: FireGPG's newest version supports symmetrical encryption and line breaks making it even easier to do what I'm talking about.
The idea is that using FireGPG you can encrypt your posts to public web pages, forums, wikis, and even MySpace (if you still use that) so that only you, or whomever possesses the private key can decrypt.
For example, say you have a very private message that you and your friend would like to share but you want to make sure no one can read it while you are writing it and that no one can read it after you've posted it. You generate a key for your posts and then you send your friend the private key, and she decrypts it but no one else can. Not even the owner of the website.
Why would you want to do this?
- It's an alternative to SSL if you don't have the ability to set it up (forums, blog comments) [There are other alternatives I've seen done with Javascript but most of them site security flaws]
- Way of keeping private posts private even from server owners
- Encryption is fun!
Why would you not do this
This is a last stretch effort and by no means is it a perfect solution. In fact, the public key encryption just does not fit in with this but I haven't found many general encryption plug-ins to encrypt a message with great confidence. Plus it doesn't give you control of revoking the key if it gets stolen. Do not use this as a serious solution but an example of what someone COULD do.
One of the requests at FireGPG is that they can support symmetric encryption which would work much better in this situation. Until then, this still works pretty well.
Install GPG
http://www.gnupg.org/download/index.en.html
I'm really not going to go through the process of installing on your system because it's very easy. Use the site's documentation.
Generate a GPG Key For Your Usage
You can always use your GUI of choice to do this but from command line here's the easiest way:Follow through the steps to create your key.
Install FireGPG
Install FireGPG from here - http://getfiregpg.org/install.htmlEncrypt Your Posts:
After FireGPG is installed, you now have a FireGPG menu option when you select a block of text and right-click. So the process is this:- Write the post or whatever you're sending to a site
- Select the entire text before submitting
- Right click and select the FireGPG menu option
- Click Encrypt
- Select the key that you created above and click OK
Decrypting Websites
When you want to view an encrypted post, FireGPG automatically sees it and prompts you to decrypt it. If you have tons and tons of posts, it's going to be very annoying to decrypt every message but it woudl work.
Granting Access
The last part is just giving the private key to those who should be able to see your posts. One obvious way would be this:
- export the private key
- encrypt it with your friend's public key
- email it to him or her
External Links:
http://getfiregpg.org/ - FireGPG Firefox pluginhttp://www.gnupg.org/ - GPG website
http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html - GPG HOWTO manuals
Labels: alternative to ssl, encryption, firefox, FireGPG, gpg