I would like to make three related suggestions for DKIM2:

1. Include MUAs as a "hops".

This could be explicitly stated, or the concept of a hop could just be broadly 
defined enough to include MUAs.

Although DKIM1 was not designed for MUAs to perform validation, DKIM2 makes 
this much more feasible. This would be beneficial for many MUAs who may want to 
enforce their own policies around DKIM.

2. Have separate hashes per MIME part.

This could still use a bit more fleshing out, but the general sketch of it 
would be that each leaf of the MIME tree would be hashed (in its transfer 
decoded form), and each multipart would be a hash of the MIME headers and 
hashes of their child parts. Basically, it would be a Merkle tree up to the 
top-level body hash. The individual part hashes would need to be added to the 
DKIM2 header, or possibly as another header.

This has a few benefits:
1. It allows MUAs to validate the DKIM signature for the MIME parts it cares 
about, without having to download all parts.
2. It saves forwarding hops some unnecessary computation. For example, if all 
you're doing is adding a footer, there's no need to rehash all the other parts 
(including large attachments, etc.).
3. It makes the diff algebra easier. For example, if some intermediate hop 
removes an attachment, they can easily annotate that as deleting a previously 
existing MIME part with some hash.

3. Encourage longer key retention in DNS.

I know the draft currently says that keys MUST exist in DNS for at least 2 
weeks, but—apart from an actual key revocation—it's not particularly harmful to 
leave the key there for longer.

In order to support receiving MUAs who want to do validation, it would be nice 
for the draft to say something like "keys MUST be available for at least two 
weeks, but SHOULD be available for at least six months".

- Phillip
_______________________________________________
Ietf-dkim mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to