Comment Authentication Prototype
I’ve built a prototype of the comment signature system discussed earlier. The prototype consists of an authentication server which anyone can register with and support on this blog for verifying signatures. So far it seems to work.
To gain the ability to sign comments:
- Add the following HTML to the head section of your homepage/weblog:
<link rel="sigserver" href="http://simon.incutio.com/auth/confirm" /> - Create a comment authorisation account.
- Log in to your authorisation account and add the bookmarklet it provides you with to your browser.
- You can now sign a comment on this site (and any others that support the prototype) using the bookmarklet. You must activate it while looking at the entry page containing the ’Add Comment’ form. The site will do the rest. Note that the bookmarklet will fill in the name, email and url fields on the form, saving you the hassle.
To add support for comment authentication to your own blog (assuming it uses PHP):
- Grab this file: sig-confirm.inc.php. It contains a function which can be used to confirm a signature. It requires IXR, which you can download from here.
- Make some minor modifications to your ’add comment’ form, to make it compatible with the bookmarklet. You need to assign ID attributes to the input fields for name, email and URL of ’commentFormName’, ’commentFormEmail’ and ’commentFormURL’ respectively. You also need to add a hidden field like this one:
<input type="hidden" name="signature" id="commentSignature" value="" /> - Modify the code that processes the add comment form. If ’signature’ is not an empty string, the comment has been signed so confirm the signature by calling the confirmSig() function (documentation of the arguments is included in the sig-confirm.inc.php file). If the function returns true, flag the comment as signed. I suggest doing this by saving the signature variable along with the rest of the comment.
- When displaying comments, be sure to visually indicate comments that are “signed”.
The system is decentralised, so if you want to host your own authentication server rather than relying on mine feel free to grab the PHP code (warning: it’s a bit of a mess) and use it as a starting point.
This is more of a proof of concept than anything else, so feedback and suggestions would be very welcome.
Incidentally, this isn’t the first time this problem has been tackled. See here and here for details of a system that uses PGP to sign and verify comments.
Simon Willison - 24th July 2003 15:36 - #
Now this is triumph of shoot first, ask questions later! After reading Sam Ruby's post was pondering the MS Passport / Liberty Alliance like implications... Still pondering...
The main issue for me is how to do this without one server becoming the central point for authentication, partly for when the server goes down and also to prevent any one person/group owning the network. Perhaps there needs to be some concept of a "domain" which is a group of authentication servers (that "trust" each other) but that implies "domain servers" which know about auth servers within each domain.
If this could be hooked up with the phpBBs / vBulletins out there, suddenly it's looking very significant
Harry Fuecks - 24th July 2003 16:01 - #
Harry Fuecks - 24th July 2003 16:02 - #
Simon Willison - 24th July 2003 16:11 - #
Harry Fuecks - 24th July 2003 16:14 - #
Sam Ruby - 24th July 2003 16:42 - #
Simon Willison - 24th July 2003 16:46 - #
Simon Willison - 24th July 2003 16:48 - #
edmz - 24th July 2003 16:51 - #
Jesper - 24th July 2003 18:39 - #
Jesper - 24th July 2003 18:41 - #
michel v - 24th July 2003 21:47 - #
Moz Firebird's JS console throws this error:
Error: missing ; before statement
Source File: http://simon.incutio.com/auth/bookmarklet
No URL!
And your comment form should support the br tag, IMHO. And not cry that the XHTML is not well-formed when I try to use a non-breaking space. ;)
michel v - 24th July 2003 21:58 - #
Simon: No luck, same "No URL error" with Firebird.
edmz: this is what I'd favor. It is like a TrackBack except that instead of writing a post on your weblog, it sends your prose to the site which adds it to the comments with a treatment that says this comment comes from your site.
I admire Simon for putting a prototype in such a short time. I wish I knew Perl to hack MT and prototype the TB-like comment I envisionned.
François - 24th July 2003 23:09 - #
Simon, how do I sign in back to your authentication server?
I'm trying to test the bookmarklet with IE/Mac (not that I'd change my browser of choice just for a bookmarlet ;-) but I want to try) but it complains that I need to sign in first.
François - 25th July 2003 11:17 - #
zlog - 25th July 2003 12:55 - #
Gary F - 25th July 2003 13:28 - #
Jordan - 25th July 2003 14:59 - #
Jordan - 25th July 2003 15:06 - #
François - 25th July 2003 15:40 - #
Francois - 25th July 2003 15:42 - #
Jordan - 25th July 2003 16:45 - #
Francois PLANQUE - 26th July 2003 11:28 - #
Wayne Burkett - 28th July 2003 05:07 - #
Jesper - 29th July 2003 14:57 - #
François - 1st September 2003 12:29 - #
Pawel - 17th March 2004 18:30 - #
Aaman - 9th June 2005 14:05 - #
zimbatm - 14th October 2005 12:03 - #