I've been thinking about building a web-based keysigning robot. Mostly I want to do this to dip my toes back into working with PGP after quite a few years of ignoring it. The robot I have in mind would simply do email verification.

Is this kind of thing useful for building a stronger PGP Web of Trust?

  • what do you mean by "useful"? – mikeazo Jan 28 '14 at 15:47
  • Useful in that a key could be said to belong to an email address if its signed by the robot. I'm not trying to prove anything other than that. – James Moore Jan 28 '14 at 21:13

The theory of the Web of Trust is that participants act as local certification authorities, verifying the correspondence between public keys and identities. Guarantees can be obtained from chains of signatures on keys based on the following heuristic: presumably, an attacker could corrupt or deceive some users, but not all. So if you can build many chains of signatures, from a key you trust a priori (your own key) down to the key you want to validate, and all these chains go through distinct intermediate keys, then all the involved presumed manual verification somehow add up: if you have 12 such chains, then, the attacker (who tries to impersonate a user) would have had to bribe or fool at least 12 distinct people to achieve such a picture.

Whether this heuristic validation is sufficient is open to debate (personally I don't find it anywhere near decent, as far as security is concerned). However, the core principle is that any act of key signature contributes to the overall security only insofar as the corresponding identity verification is robust against corruption.

In the case of your robot, the robot would merely verify control of an email address. Unfortunately, emails are not a secure system; in fact, PGP has been invented precisely because emails are not secure. When you use PGP, you assume that possible attackers can read and fake emails at will; that's the very reason why you use PGP. In that context, basing the safety of the key-to-id signatures on emails seems unwise. Or, said otherwise: the contribution of the signatures produced by your robot to the overall "validation guarantee" ought to be considered to be very low. It does not hurt per se, but it won't help a lot.

(Or, rather, it may hurt if people begin to trust such signatures for more than what the actually provide.)

|improve this answer|||||
  • I accepted your answer because I believe it thoughtfully answers my question. I should have clarified that the Robot would send an encrypted email to the address to at least ensure that the mailbox and key are under the control of the same person. – James Moore Jan 28 '14 at 21:04

There already is such a system: PGP.com's keyserver is verifying e-mail addresses before accepting them, and then signs your key.

The meaning of such a signature is debatable, as Tom Leek already described. OpenPGP disconnects the trust in the mail (or whatever messaging) system from the trust in someone's identity, a signing robot would not help in achieving this. Yet it might be helpful to find someone's key, given you already know his mail address and want some kind of automatic lookup. Finding a key there could be used as an entry point for finding a trust path, and at least (somewhat) prevents people from uploading fake keys (search the keyservers for president@whitehouse.gov).

There are some more relevant signing authorities in the OpenPGP web of trust (depending whether you trust them, of course): CAcert (a CAcert assurance is usually much more intense then some signing party ID check, I'd put more trust in CAcert than a "normal" signature) and especially in Germany Heise (a technology publishing company). I'm pretty sure there are some more relevant CAs.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.