ietf-openpgp
[Top] [All Lists]

Re: including the entire fingerprint of the issuer in an OpenPGP certification

2011-01-18 16:17:03

On Jan 18, 2011, at 4:07 PM, Daniel Kahn Gillmor wrote:

On 01/18/2011 12:48 PM, Jon Callas wrote:
If we combine it with a hash-independent fingerprint -- e.g., first byte is 
an algorithm ID, others are the actual hash -- then we can put it in now and 
then run with it.

Daniel Nagy suggests that we also change the material being hashed in
the fingerprint (he wants to leave out the creation date).  If that
proposal ends up achieving consensus then your proposal here will need
further modification.

Does anyone feel strongly about Nagy's proposal, by the way?  i'm not
sure what the tradeoffs are.

Even without that concern, if we encourage super-flexible use like this,
user agents who wanted to use it to test for the presence of a given key
in an indexed keystore would need to index their keys with every
possible digest that might be used -- that seems excessive somehow.
(and unlikely that keyserver implementations would want a half-dozen
indexes, for that matter)  Wouldn't it be better to just implement it
for today's fingerprint, and then when a new fingerprint is agreed upon,
determine (by subpacket length maybe?) whether it's the new fingerprint
or the old one.  Compliant user agents would keep the two indexes around
until the v4 fingerprint goes away, and then drop the old one.

Alternately, we could embed the algorithm ID as you suggest, and SHOULD
people into generating them using only the consensus fingerprint
algorithms so that reasonable user agents only need to create indexes
over SHA1 (now) and SHA3 (whenever that happens).

I don't think we want people using other than the consensus fingerprint 
algorithms and methods.  I suggest we make the first byte a version field, 
which can be set to '4' today for the current fingerprint, '5' for v5 keys, 
etc.  I suppose we could skip that field and detect version based on size, but 
why use heuristics when we can know for sure with a version byte?

David

<Prev in Thread] Current Thread [Next in Thread>