1368 straw-poll : (was: Re: [ietf-dkim] Deployment Non-Scenario 7: Cryptographic Upgrade and Downgrade Attacks)

Douglas Otis dotis at mail-abuse.org
Mon Feb 26 08:03:26 PST 2007


On Feb 26, 2007, at 7:32 AM, John Levine wrote:

>> Unless John, Jon, Dave, and Mike can assure the WG that current  
>> algorithms will always be sufficiently strong, and that a  
>> transition sufficiently swift, then a means for the _signer_ to  
>> apply different algorithms where one is "deprecated" should be  
>> possible.
>
> Let's say I am a signer, you are a receiver.  I publish a policy  
> that says "don't trust that old fashioned sha256 signature, just  
> the new rot13 one."  What should you do with that policy record?   
> Why should you do anything other than ignore it because it's stupid?

You receive a message where the signer has indicated that sha256 has  
been deprecated, or perhaps the original signature association scheme  
has been deprecated, or perhaps the canonicalization algorithm has  
been deprecated.  To permit a graceful transition, both the  
deprecated algorithm (whatever that might be) and some shiny new  
algorithm must now be included with the message.  Once your verifier  
adopts the shiny new algorithm, both you and the sender have obtained  
a higher level of protection not vulnerable to downgrade attack.   
This protection depends upon a means for the signer to assert which  
algorithm is deprecated, and what shiny new algorithm is being offered.

> More generally, I hear an implicit assumption in all of this that  
> senders know more about crypto than receivers do.  Why would that  
> be so?

SMTP is a store and forward protocol.  As such it is impossible to  
negotiate between signer and verifier the highest supported  
algorithm.  It is not possible for the verifier to assert what is  
deprecated.  This is where DKIM base is very much conceptually in  
error.  The verifier can only assert which algorithms are obsolete,  
but the signer is able to assert which algorithms are deprecated.   
The signer must lead the transition by providing an improved option.   
It is not possible for the verifier to offer an improved option.   
There is no method to negotiate such a verifier option.

>   Why shouldn't receivers use their own best judgement about what  
> hashes are adequately strong, and why should they believe  
> statements from random spammers about relative strengths of crypto  
> algorithms?

Without a means for the signer to assert which algorithms are  
deprecated, until the problematic algorithm can be obsoleted, a  
downgrade vulnerability will exist.  This period of this  
vulnerability will likely be measured in years.  Defining a way  
forward does not need to alter existing structures, but instead  
simply define how the signer can make the assertions when they are  
needed.

-Doug



More information about the ietf-dkim mailing list