1. Ensuring that the key belongs to the person you think it does.
2. Graceful changing of keys.
In theory you could do something like what I am proposing with GPG too. You could sign a public key with the previous private key or two. In practice, getting the keys to where you want them is a bit more complex.
As a point I made clear in my blog entry, I am not a fan of X509, because the impedance mismatch of anything OSI and TCP/IP is significant. However, it does a decent job, when combined with LDAP (another monster IMHO) of spelling out the general solutions to problems PKI's suffer. It is therefore a useful reference point and probably the best foundation to build a decent proof of concept on.
I think the problem is the one you're inadvertently recreating here: you're trying to imagine a system which is perfect amongst people who are always in isolation with each other and tries to make keys as perpetual as possible.
Consider the alternative: social keying. A system where the expectation is that you'll change keys frequently, taking advantage of day-to-day social interactions and the like to do so. I see a friend, our phones are in proximity - software takes advantage of this and generates and signs a new key.
Of course, this is where the whole "metadata" issue really crops up: those awesome secure keys, to work, still timestamp and identify you perfectly.
1. Ensuring that the key belongs to the person you think it does.
2. Graceful changing of keys.
In theory you could do something like what I am proposing with GPG too. You could sign a public key with the previous private key or two. In practice, getting the keys to where you want them is a bit more complex.
As a point I made clear in my blog entry, I am not a fan of X509, because the impedance mismatch of anything OSI and TCP/IP is significant. However, it does a decent job, when combined with LDAP (another monster IMHO) of spelling out the general solutions to problems PKI's suffer. It is therefore a useful reference point and probably the best foundation to build a decent proof of concept on.