D 2014-04-27T19:31:03.976 L keyrevokation P a96d4d87c4bffbcfab15965b1772b9ad30c33f24 U bernd W 2430
Key revocation usually is done with a signature of the lost key, i.e. both
the owner and the adversary can revoke a compromised key. However, the
important function in case of a revocation is declaring the successor key,
which reestablishs trust. To do that, you must actually proof that you are the
legitimate owner of the exposed secret key, so how do you do that? After
all, the adversary has stolen it!
Therefore, the requirements are as follows:
I keep s2 as offline copy (it's just 64 hex digits), and s as protected online copy in my device; s is subject to attacks and backdoors, and therefore at risk. To revoke a key, I publish p2, which the recipient can validate by p1*(p2)==p.
To sign a new key, I use s2 as signature key, i.e. the recipient can use the just published p2 to verify the transition to the replacement key. Of course, the new key also has a signature with s, the old key. The format of the revocation attribute is actually <new pubkeys: pnew, p1new><p2, sig using s2><sig using s>. Both signatures must have the same signing date, and a never expiration date (a revocation doesn't expire).
Z cf2b5a7bd55f9fd1b9ba82137677cf33