[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Names in Proxy Certificate
All:
Please excuse my previous posting with this subject. I got interrupted
while composing the note, and sent it when I wanted to save it and work on
it some more. I hope I have done a better job this time.
In draft-ietf-pkix-proxy-01, section 6.4, the authors talk about end entity
names. Mostly the specification talks about an approach that was
rejected. Finally, I think that the conclusion is that the parent of the
proxy certificate contains the real identity information. Please correct
me if I am misreading the text (attached below for simplicity).
If I have it right, then have a few concerns.
First, in PKIX, we require that all issuers have a subject DN. So, empty
DNs cannot be used in the long-term certificates if proxy certificates are
to be associated with them. Further, the proxy certificate needs to
include a subject DN if proxy certificates are permitted to issue
subordinate proxy certificates.
Second, in PKIX, we allow attribute certificates to be associated with
subject DN or issuer/serial. Wouldn't it be useful for authorizations in
attribute certificates issued against the long-term certificate to apply to
the proxy certificates as well? This seems possible if the attribute
certificate uses the subject DN and the proxy certificates also contain
this same DN.
Russ
TEXT FROM THE DRAFT ...
6.4 Carrying Along the End Entity Subject
Another suggestion was to include the subject of the signing EEC as
an informational field in the PC. This would allow an authorizing
process to use only information in the final PC in the chain to
determine identity, and not need to walk the chain in order to find
out the subject (or subjectAltName) of the EEC that the PC is
derived from.
This approach was rejected for the following reasons:
* It would be easy to spoof this informational field. For example,
a PC with an informational subject of "Steve" could be used to
create a PC with an informational subject set to "Doug". This
leaves us with two alternatives:
* We can augment the path validation to check that this
informational field of the PC is the same as in the signing PC
or EEC. But this is not desirable, as it complicates the path
validation.
* But if we do not validate this field, we cannot trust the
contents of this informational field. So then there is no
point in including this informational field.
* Upon closer examination, there is a lot of information in the
certificate chain that may be needed during authorization, such
as the number of levels of delegation, the CA (or multiple levels
of CAs) who signed the original EEC, the constraints and keyUsage
values of the signing EEC, possibly Certificate Policies
associated with CAs or IAs. All of these require essentially the
same amount of work as retrieving the subject of the EEC that
signed the PC. So why threat the EEC subject specially by
including it in an information field?
In the end, just including the EEC subject name does not seem to be
sufficiently useful to justify the addition of another field and the
work of verifying that name during the path validation.
Therefore, to determine the identity of a PC for authorization
purposes, the subject of the EEC must be retrieved directly from the
EEC in the signing chain. This approach also has the beneficial
side effect of further stressing that a Proxy Certificate has no
identity of its own, but rather inherits it from its signing EEC.