Jeff,
While I agree with your observation that it is important to be
able to identify the scepific key that was used to sign an object,
generally this is a secondary concern, after one identifies WHO
performed the signing. Once you know who, and assuming you know where
to look for certificates associated with that person, the problem of
figuring out which key is an iterative process. Using the IssuerUID
in the 1993 certificate can also provide a means of tracing back to a
specific certificate. In many instances, the appropriate certificate
may be carried with the signed object, making all of this moot. One
can argue that it is the responsibility of a user to acquire and
retain certificates (and CRLs) relevant to a later non-repuidation
claim, analogous to the way that we acquire and retain paper receipts
for many transactions today.
Now where are those matches and the lighter fluid for public
stake burnings ;-)? Jeff, are you serious in proposing that the
public key is the best index to use when searching for the signer of
an object? Names allow one to restrict searches to appropriate parts
of a global search space, e.g., along organizational lines, which is
how directories can be managed for organizations. If one were to
conduct searches based solely on the public key, where would you
begin? What would the database structure look like? Since the public
key of anyone, anywhere might fall into any numeric range, how would
one index this database, and still allow for distributed management?
Note that name-based searches, where the names are hierarchic, make
for easy (easier?) organization of a distributed database, where
portions are carved up and maintained by the organizations that "own"
the relevant portion of the name space. This is not a PEM issues, per
se, but a larger certificate issue.u suggest, but hashes are not
guaranteed to be unique since they are many to one mappings. Unless
the hash value is very big, it is just a heursitic.
In the more specific context of PEM, if we move the the 93
certificate format and make use of the IssuerUID field, then including
the certificate serial number there is one way to differentiate among
multiple keys used over time. The hash of the public key also would
work, as you suggest, but hashes are not guaranteed to be unique since
they are many to one mappings. Unless the hash value is very big, it
is just a heursitic. If the hash is very big, then why not go with
the serial number, which can grow to be as large as necessary but
which starts out small and which could change when the key changes?
Steve