ietf-dkim
[Top] [All Lists]

Re: [ietf-dkim] DKIM on envelope level

2009-10-28 20:22:16
On 10/28/09 4:19 PM, Rolf E. Sonneveld wrote:
Hi,

excuse me if this has been discussed before; I was wondering whether
there has ever been discussion about the usefulness, possibilities,
caveats etc. of applying DKIM on the SMTP envelope level. I could not
find an exact reference in the archives of the list; the closest I could
find is a thread with subject "Signalling DKIM support before DATA" back
in August 2006. The idea I had in mind is somewhat different from what
was discussed in that thread: in August 2006 the discussion was about
signalling during the SMTP dialogue that the header of the
message-to-be-transmitted will carry a DKIM signature. What I'd like to
discuss (if this has not been done before) is about using DKIM to
authenticate the MAIL FROM address/domain.

Idea:

    1. SMTP client connects to SMTP server

    2. SMTP server sends banner

    3. SMTP client starts with EHLO

    4. SMTP server answers with list of EHLO keywords

       New: EHLO keyword DKIM, which consists of the word DKIM followed
       by a unique random sequence generated by SMTP server, e.g.
       250-DKIM 1F64GH996u3YzzXp

    5. If the SMTP client (Edge ADMD MTA) is owner of the MAIL FROM
       domain and detects DKIM SMTP extension support:
       SMTP client uses private DKIM key + MAIL FROM domain (or MAIL FROM
       complete address) + unique random sequence generated by the SMTP
       server and advertised with the DKIM EHLO keyword to generate a
       hash / signature

    6. SMTP client then sends 'MAIL FROM' with envelope From address +
       the above generated hash / signature
       This will require an extension to the MAIL FROM definition.
       Something like:

       MAIL FROM:<user(_at_)domainname>  DKIM=some_hash_value

    7. SMTP server will use sender's public DKIM key + Envelope From
       information + unique random sequence to verify this hash / signature

    8. If the verification fails: continue as if there had been no DKIM
       extension at all (just like the SMTP dialogue is done now)

    9. If the verification is succesful, the SMTP server can use the
       result for additional actions, along the lines of paragraphs 6.2
       and 6.3 of RFC4871. The advantage here is that we've not yet
       entered the DATA phase.


There are some variants possible like:

a) use MAIL FROM domain or MAIL FROM entire envelope From address
b) make it a per-recipient service, by applying this DKIM extension to
the RCPT TO, so selectively apply it for some RCPT TO addresses and do
not apply it to other RCPT TO addresses. Compute the hash / signature
over MAIL FROM + RCPT TO + Unique random sequence. This might introduce
some serious complications, not to speak of the extra CPU power required
to compute all those hashes (if there are many recipients in the SMTP
session)
c) as an alternative to the the unique random sequence, have the SMTP
server side publish a DKIM public key in DNS. Use public/private pair to
sign (SMTP client) and verify (SMTP server)

Is there a use case for b)?
Replay is not possible?
Has c) never been considered before?

I'm pretty sure these things must have been discussed before many times
and I don't want to go round in circles, so please tell me if this has
been discusses before.

I see quite clear a number of limitations to the above proposal:

     * the above will (if it works) only work for single-hop SMTP
       connections from one Edge ADMD MTA to another Edge ADMD MTA.
     * hence, the net result of the above is somewhat equivalent to what
       can be achieved by SPF. So is it worth the effort?
       Yet I'm curious to see what the differences with SPF are (there
       are some differences, as SPF is 'validating' IP addresses and DKIM
       in the above scenario is validating MAIL FROM) and whether the
       above has any advantages over SPF or not at all
     * when messages transfer multiple hops and/or are redistributed by a
       mailing list or forwarded (alumni), DKIM on the envelope level as
       described above will not work/help. Are there any figures about
       the percentage of all SMTP connections which are 'direct' versus
       'multi-hop'?
     * the above will require a new SMTP extension. This means it may
       take a long time before a significant part of all Edge MTA's will
       have implemented it, it they will ever implement it.

Review the draft:

http://www.ietf.org/id/draft-otis-dkim-tpa-label-03.txt

This draft describes a mechanism that is able to relate various message 
elements, such as Mail-From, SMTP client, DKIM signatures, and Author 
domain with different domains.  It was intended to be used to authorize 
third-party signing domains, but could also affirm Mail From addresses 
as well.

As outbound mail servers become more widely shared among various 
interests, being able to affirm mail by names used in various 
originating elements could offer greater assurance of message 
acceptance.  Provided of course the name is associated with good 
stewardship.  In other words, this could establish an alternative to 
reputations based upon IP addresses.

-Doug
_______________________________________________
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html