[ietf-dkim] Proposal for specifying syntax and semantics for multiple signatures

Douglas Otis dotis at mail-abuse.org
Tue Apr 4 18:58:36 PDT 2006


On Apr 4, 2006, at 10:14 AM, Stephen Farrell wrote:
> Douglas Otis wrote:
>> On Apr 4, 2006, at 8:44 AM, Dave Crocker wrote:
>>> Douglas Otis wrote:
>>>>> Sorry, I still don't understand what the purpose or impact of  
>>>>> this attack is. Can you explain?
>>>>
>>>> An attack may be enabled by replaying a message compromised due  
>>>> to a weak hash, key, or canonicalization algorithm.
>>>
>>> You didn't answer his question (or, by derivation, mine.)
>>
>> DKIM can establish a trust relationship between the signing-domain  
>> and the recipient.  Being able to exploit that trust relationship  
>> can be used to both defraud the recipient, and damage the trust  
>> that might have been established by the signing-domain.  If there  
>> is an exploit that becomes a problem, both parties should be able  
>> to quickly upgrade and find protection.
>>
>> The message may have been a message a financial institution asking  
>> to check the account and offering a helpful login link.  The  
>> recipient might trust this link when lead to understand this  
>> domain signs their messages and that their MDA/MUA places non- 
>> compliant messages into their spam folder.
>
> Nor can I see what this has to do with removing one of a bunch of  
> signatures.

Conventional wisdom and practical experience suggests it is not  
readily practical to exploit the SHA-1 hash, at least not across  
major portions of a message.   Whether this weakness permits the  
alternation of a few characters within a message is unknown.  Even a  
small modification could permit exploits to take advantage of the  
trust established.  With email, bad actors may also have access to a  
corpus of valid messages, which might also alter the level of  
protection achieved.  Protocol semantics should assume failure  
scenarios.  There are possible failure modalities within the key  
algorithm and the canonicalization, although this is not to suggest  
these algorithms are readily exploitable today.  Simply imagine a  
future exploit is within the realm of possibilities.

While DKIM's great strength is the scalability of cryptographic  
algorithms requiring little interaction, protection does not extend  
to the message routing information.  Of course the ability to replay  
messages is a major risk factor.  Replay allows a single exploit to  
be magnified.  It is not practical to filter on the signature, as  
messages sent to a list may generate tens of thousands of messages  
with the same signature and From header.  : (

Also imagine in a few years messages will not be accepted by major  
ISPs without a DKIM signature.  By then every MUA and MTA handles  
messages according to their signing-domain.  At some point, people  
will once again consider links in their financial institution's  
messages to be safe to click.  While an expectation of trust is the  
goal of DKIM, trust also creates a target.

Imagine hidden domain names in links can be altered using a new  
inflection technique based upon a lossy property of the hash.  (This  
is only speculation.)

As reports of this exploit become known, financial institutions  
wishing to retain trust adopt a stronger function, but must place two  
signatures on their message to ensure acceptance.  Atlas their  
customers will not benefit from this improvement until all messages  
using the new algorithm are accepted and all messages using the older  
algorithm are refused.

---
To bridge the gap between exploit and universal transitioning to the  
new algorithm, there must be a means to determine whether a bad actor  
has issued a message sans the stronger algorithm.  Mark keys primary/ 
secondary.  Accept no message with only the secondary signature/key.   
If only the secondary algorithm is known by the verifier, security  
can be increased by also checking that the sender offers keys for  
this unknown algorithm.
---

Paul's idea seems more complex and is dubiously fragile.  The weaker  
algorithm must encompass the stronger unknown algorithm.  It makes no  
sense to have the stronger unknown algorithm encompass the weaker  
signature.  This strategy makes an assumption with respect to the  
nature of the exploit.  Using primary/secondary flags and consistent  
algorithm designations ensures a quick and orderly repair always  
remains practical.  That property does not seem assured by the scheme  
suggested by Paul.

-Doug


More information about the ietf-dkim mailing list