Musings (original) (raw)
**Note:**These pages make extensive use of the latest XHTML and CSS Standards. They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in Mozilla. My best suggestion (and you will thank me when surfing an ever-increasing number of sites on the web which have been crafted to use the new standards) is to upgrade to the latest version of your browser. If that's not possible, consider moving to the Standards-compliant and open-source Mozilla browser.
February 28, 2004
PGP-Signed Comments
On the internet, nobody knows you’re a dog.
In one way, that’s great. If you want to be anonymous, there’s plenty of scope for it on the internet. Even when you post comments on this blog and I ask you for an email address and/or a URL of your website, nothing prevents you from entering totally bogus ones.
On the other hand, say you’ve already established something of an online identity, perhaps through your own web site, or as a frequent commenter at this or some other blog(s). What prevents someone else from coming along and posting a comment here, leaving your name and your website’s URL to identify himself? Put another way, how can readers determine the authenticity of comments left here?
Let me pause to say what I mean by ‘authenticity.’ Most readers of this blog have never met you, personally. They know you through your comments, and perhaps through your own web site. What they would like to know is that the person who authored the comment in question is the same person who authored those other comments and who runs that web site1.
Well, now there’s a way to reassure them. If you have a PGP public key (if you don’t, create one for yourself), put a link to it in the <head>
section of your web page:
<link rel="pgpkey" type="application/pgp-keys" href="http://yoursite.com/path/to/yourkey.asc" />
Then you can
- Compose and preview your comment as before.
- Edit it, as needed, and preview again.
- When you’re satisfied with the final form of the comment, use GPGDropThing (for MacOSX) or GPGShell (for Windows) or your favourite PGP tool to clear-sign the text in the comment-entry box. Paste the clear-signed comment into the comment-entry box, replacing the unsigned version.
- Click PREVIEW once again, and then click on POST.
To outward appearances, your comment will look no different than before. The only difference will be a clickable link to “verify” the comment.
If you, or another reader, clicks on it, your key is fetched from the URL specified in the link on your web site, and is used to verify that you — and you alone — composed the comment. The key is cached locally, so subsequent verifications of the signature will be nearly instantaneous. The raw, clear-signed comment is available, so paranoid readers can check the signature themselves — provided they have your public key.
I’d been thinking about implementing this for a while, and even went through the hideously-complicated process of installing Crypt::OpenPGP
on MacOSX. Fortunately, Krishnan Srijith did the rest of the heavy lifting and wrote a MovableType plugin. I added a few of my own tweaks and … there we are.
Update (3/3/2004): Automatic fetching of PGP keys, as described above is enabled now. In my and Srijith’s limited testing, it seems to work well. But please let me know if you encounter problems.
Update (3/5/2004): I’ve posted some more thoughts on PGP-signed comments.
1 This is a little different from the exigencies of verifying the identity of the author of an email, which is the traditional use of PGP signatures. There, the PGP “Web-of-Trust” model works fairly well. Here, it doesn’t necessarily work so well, a point elaborated on in greater detail by Phil Ringnalda.
Posted by distler at February 28, 2004 2:40 PM
TrackBack URL for this Entry: https://golem.ph.utexas.edu/cgi-bin/MT-3.0/dxy-tb.fcgi/320
- Book List —Feb 24, 2004
- Don’t GET it! —Feb 21, 2004
- itex2MML Plugin Update —Jan 16, 2004
- :hover Craft —Jan 04, 2004
- Acronym Patch Update —Dec 20, 2003
- The Few, the Proud —Dec 11, 2003
- More MT Spam Vulnerabilities —Nov 23, 2003
- Updates —Oct 29, 2003
Re: PGP-Signed Comments
Though I’m not quite as sure as I once was that we absolutely can’t use the keyservers. I’m getting the feeling that it’s quite within spec to use the various levels of signature in any way you like, as long as you
- Explain yourself at your embedded Policy URL
- Are willing to be frowned upon
So from my current understanding, if we all simply said that we would sign any key we retrieve from either a commenter’s URL or a URL in a signed comment’s PGP comment at class \0x12 (“Casual certification of a User ID and Public Key packet. The issuer of this certification has done some casual verification of the claim of identity.”), then we could quite often use the keyservers rather than getting the key from a website, while manually verifying signatures. If I see a signed comment from someone new to me, but the key I get from the keyserver says that you and Srijith have both signed it, I’ll call that good enough. Of course we’ll probably piss off the rest of the WoT community, who seem to feel that anything less that two pieces of photo ID means you’re probably an alien, or the NSA, but so be it.
Re: PGP-Signed Comments
Quiet true. But then, even after the verification tools are ready, for a blog owner like me, who cannot install Crypt::OpenPGP, verification will still be a dream :)
BTW, what do you use to query the keyserver to fetch the public key of the commenter? The email address? I hope not, because I do not enter a plain spam-friendly email address to the blog comments. Or do you use just use the keyid?
Re: PGP-Signed Comments
I have to say, Jacques, that’s pretty amazing. Need I say it? You’re a genius.
P.S. This post was not really made by Jacques Distler. It was made by me, Harold J. Johnson, of VoyagerRadio. I can be reached at Harold@VoyagerRadio.com.
Read the post Coverage of PGP commenting idea
Weblog: TriNetre - The Third Eye
Excerpt: Some good coverage and discussion on the idea of PGP signing comment posts: PGP-Signed Comments - A good introduction by Jacuqes Distler on why comments should be signed. Notes...
Tracked: March 5, 2004 8:49 PM
Re: PGP-Signed Comments
I went through a lot of trouble getting comments verified.
The problem was Mac OS X is encoding special characters in UTF-8, and GPG usually is configured to sign using charset utf8 as well. But when I copy and paste the signed comment to MTs comment text area and submit it, a silent conversion to ISO-8859-1 is done. The Umlauts (which in my case I am using when writing German) still look the same, but the signature has become broken.
When I copy the raw comment back to GPGDropThing and verify the signature, it verifies alright (as it just has been converted back to UTF-8 for displaying on Mac OS X), but the serverside verification done by the OpenPGPComment plugin is being done against the ISO-8859-1 encoded comment and thus fails having a bad signature.
I seems to require some knowledge on side of the commenter to handle encoding problems like this.
(BTW: Mailprograms ship around this kind of problem by converting the message to quoted printable prior to signing the message.)
Read the post Server-side signature verification in OpenPGPComment
Weblog: TriNetre - The Third Eye
Excerpt: With the release of version 1.4, OpenPGPComment now has the ability to perform automatic server-side verification of PGP/GPG signed comments. Do upgrade if you like this feature. Thanks goes...
Tracked: March 9, 2004 9:20 PM
Read the post Comment authentication
Weblog: Curiosity is bliss
Excerpt: How do you authenticate when posting comments? How do you follow up on comments you posted? Simon's comment authentication via url ownership Simon Willison designed and prototyped a nice solution to authenticate yourself by a url (say your blog's addre...
Tracked: April 9, 2004 5:08 PM
Read the post Microsoft Passport 101
Weblog: Curiosity is bliss
Excerpt: ...a simple explanation of the Passport web authentication protocol......
Tracked: April 22, 2004 11:55 AM
Read the post Full Disclosure
Weblog: Musings
Excerpt: A serious MovableType security vulnerability.
Tracked: January 18, 2007 10:02 PM
Re: PGP-Signed Comments
I’m having some trouble with PGP signed comments. The blog software
seems to be going to the correct URL to find my public key
(http://tqft.net/key), but then reports:
==========================================
Key not in ring. Fetching…
Going to find author’s pubkey URL from his homepage http://tqft.net/
Going to get the public key from http://tqft.net/key
Bad signature!
Error verifying signature: Could not find public key with KeyID
6831e9b2915df007.
==========================================
I’m not sure what’s wrong; I’m fairly certain I’m signing the message
with that same key. If anyone would like to try to debug this for me,
you can start simply by checking the PGP sig on this message!
Re: PGP-Signed Comments
Nice to see some implementations, i will be playing with this too
(does this work with keyserverlookups? lets see)
Re: PGP-Signed Comments
PGP signed comments could solve a lot of problems but I guess that less then 1% of all Internet users know what PGP actually is.
If this does not work as a black box, PGP will be used only by a small group of users.
Re: PGP-Signed Comments
I’ve started PGP-signing all my comments on the n-category cafe, mostly because that way other people can view the source, but I do also like the idea of verifying the identity of posters.
However, now that I’m a co-host of the cafe, I receive email about all comments on one of my posts. For signed comments, these emails include the signature data, but it doesn’t verify correctly. I think this is because the comment text inside the signature block has been line-wrapped with hard returns, so it’s not the same as the original text that was signed.
Re: PGP-Signed Comments
Is this in anyway related to OpenID? This is kind of old and I think OpenID has now kind of replaced this. Maybe OpenID uses this.
Re: PGP-Signed Comments
Is this blog post the closest thing there is to a spec for rel=pgpkey
?