[kmf-discuss] DN/subjectAltName mapping to username
Nicolas Williams
Nicolas.Williams at sun.com
Fri Dec 21 10:41:02 PST 2007
On Thu, Dec 20, 2007 at 04:54:19PM -0500, Wyllys Ingersoll wrote:
> Yes, I agree. We need to figure out some sort of syntax for creating
> the mapping rules. One that can easily be expressed and interpreted
> dynamically. How does one derive a username from a standard SubjectName,
> for example?
Whatever the syntax, the choices don't seem trivial. There are too many
options, and it's not necessarily clear which ones we shouldn't bother
with (we'd need a lot of data on both, existing and planned PKI
deployments, as well as on CA software capabilities).
Here's a list of options that come to mind:
1) CN from DN of certs validated to some trust anchor (which might, and
probably should be the immediate issuing CA in all cases -- trust
anchors are per-policy, not global, and mapping options should be
also).
1a) Like (1) but with re-write rules like the ones in krb5.conf.
1b) CN from directoryName subjectAltName of certs validated to some
trust anchor. (I.e., like (1) but using DN SAN).
1c) Like (1b) but with re-write rules like the ones in krb5.conf.
2) Local part of rfc822Name subjectAltName of certs validated to some
trust anchor.
2a) Like (2) but with re-write rules like the ones in krb5.conf.
3) Directory lookup based on cert DN, rfc822Name, directoryName SAN,
and/or public key fingerprint.
3a) Local database lookup based on cert DN, rfc822Name, directoryName
SAN, and/or public key fingerprint.
4) Loadable plug-in SPI (for third party plug-ins) for mapping based on
all other SAN types (otherName, ediPartyName and registeredID).
Of these I think the best options for a first round would be:
- (2). Certs can have multiple SANs, including multiple rfc822Name
SANs, and it's not much to ask that CAs issue their users certs with
an rfc822Name SAN that is of the form <username>@<domain>.
- (3). Folks deploying PKIs can be expected to have LDAP directories
deployed as well. Asking them to add an indexed attribute for
mapping certs to user objects should be OK.
That's a pretty small and simple set of options to implement.
I'm down on these:
- (4). This is easy, but will anyone ever write such a plug-in and
will anyone deploy a CA that includes the right kind of otherName? I
doubt it.
- (1*). I find it hard to believe that users are being issued certs
with CN=<username>. I also find it hard to believe that folks will
be able to write reliable re-write rules for mapping DNs to
usernames.
- (3a). Local databases can be useful, but for large scale deployments
we need (3) before (3a).
- (2a). Re-write rules are difficult to get right, and depend on one
sticking to strict naming conventions. They may also be difficult to
implement.
Nico
--
More information about the kmf-discuss
mailing list