distributed identity for the cert-centric
Jens Alfke
jens at mooseyard.com
Thu Feb 2 21:17:49 UTC 2006
I've been talking with some people at work about YADIS, OpenID, LID,
etc. Some people come at "identity" from a more traditional PKI
mindset: they want to have a certificate to represent an identity,
use the public key in that cert for authentication, and use a
certificate-revocation-list protocol to periodically check its validity.
This is somewhat different from the approach taken by LID and,
especially, OpenID. I'm wondering how to bridge this. I'm by no means
an expert at security, crypto or distributed-identity, but that won't
stop me from offering some ideas. Stop me if I go off into the weeds:
0. (I'm using LID in this example because I know it uses key-pairs
and is pretty extensible. As far as I know, OpenID is keyless and is
aimed more specifically at web-based single-sign-on.)
1. A LID identity server already generates a key-pair and uses
signatures to respond to identity challenges.
2. The key-pair can easily be wrapped in a self-signed X.509 cert.
3. The cert can include a signed copy of the identity URL it's
associated with.
4. There can be (or perhaps already is) a LID profile to fetch such a
cert.
Given that, the mechanism for verifying such a cert (if you didn't
get it directly from the identity URL) would be to extract its URL,
use the LID protocol to fetch the current cert from that URL, and
compare the key. And rather than checking a revocation list, you just
periodically repeat that process. (The cert can be given a short
expiration time, to enforce this.)
In other words, to revoke your identity cert if your private key is
compromised, you just have your LID server generate a new key-pair. A
nice side effect is that as the holders of the old cert re-verify it,
they end up with a copy of the new, valid one.
A simple protocol like this might make it feasible to write a plug-in
that would add distributed-identity support to traditional cert-based
security implementations, not to mention making URL-centric
distributed identity more understandable and approachable by those
used to more traditional security mechanisms.
Does this seem reasonable?
--Jens
More information about the yadis
mailing list