Hello, 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. There are specific use cases that I am interested in, where including the creation date in the fingerprint hash causes problems. If anyone is interested, I can describe them in necessary detail. > 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. I believe you mis-interpreted Jon's suggestion. He was suggesting to treat the fingerprint field as a free-form string within the signature subpacket. Nothing more and nothing less. This makes the change future-proof without any of the problems that you mention above. Key servers must also eventually treat fingerprints as (possibly limited-length, but by no means fixed-length) strings. On the other hand, one can argue that there is no reason to move from 160-bit fingerprints, even if we change the algorithm of their calculation for v5 keys. Even if a different hash function is used. This would make transition a bit less painful, without any real compromises on security. > 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 think that there must be only ONE string called THE fingerprint of a certain public key. Even if the algorithm is included, it should be either included in the key itself indicating that for that particular key this particular algorithm must be used or even mandated by the standard for all keys until further revisions. I see no benefit in explicitly including any details of the algorithm used to obtain it into the fingerprint itself, though. Cheers, -- Daniel
Attachment:
signature.asc
Description: OpenPGP digital signature