On Feb 17, 2011, at 6:56 PM, Ian G wrote:
On 18/02/11 6:12 AM, David Shaw wrote:
...
In terms of the issue that originally started this thread, the proposal to
include and compare the complete fingerprint resolves this attack as well
(slightly better in this case, in fact, since a V3 fingerprint can't even
accidentally collide with a V4 one).
...
That said, however, (and switching over to implementation thoughts here)
given how easy it is to make a V3 DEADBEEF key that collides with a real V4
key, I wonder if it would also be useful for implementations to simply
refuse (or at least give the option to refuse) to import any V3 keys. That
might not have been feasible 10 years ago, but nowadays, I suspect most
people would not even notice. Standards-wise, that is fine as 4880 does not
require V3 (discourages it, in fact: MUST NOT create, and only MAY accept).
Two thoughts. One is that we're not only dealing with code, we're also
dealing with data:
* People have stored files encrypted to V3 keys (this is to conflate storage
security with transport security, but that was common thinking in PGP world).
* typically, people have expected things like digital signatures
masquerading as human signatures to survive a long time.
* some standards require 30 years of technology lifetime.
So those (few, I suspect) people who actually need V3 capability can switch it
back on again. This isn't really a standards question, as 4880 doesn't mandate
V3 support. Any implementation that wants to add a knob to turn it on or off
is free to do that.
In the meantime, we cut off a extremely easy denial of service attack.
David