MARF Working Group                                          M. Kucherawy
Internet-Draft                                                 Cloudmark
Intended status: Standards Track                        January 23, 2012
Expires: July 26, 2012


                Extensions to DKIM for Failure Reporting
                   draft-ietf-marf-dkim-reporting-04

Abstract

   This memo presents extensions to the DomainKeys Identified Mail
   (DKIM) specification to allow for detailed reporting of message
   authentication failures in an on-demand fashion.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 26, 2012.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





Kucherawy                 Expires July 26, 2012                 [Page 1]


Internet-Draft          DKIM Reporting Extensions           January 2012


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1.  Keywords . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.2.  Imported Definitions . . . . . . . . . . . . . . . . . . .  4
   3.  Optional Reporting Address for DKIM  . . . . . . . . . . . . .  5
   4.  Optional Reporting Address for DKIM-ADSP . . . . . . . . . . .  7
   5.  Requested Reports  . . . . . . . . . . . . . . . . . . . . . .  9
     5.1.  Requested Reports for DKIM Failures  . . . . . . . . . . .  9
     5.2.  Requested Reports for DKIM ADSP Failures . . . . . . . . .  9
   6.  Report Generation  . . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  Report Format  . . . . . . . . . . . . . . . . . . . . . . 10
     6.2.  Envelope Sender Selection  . . . . . . . . . . . . . . . . 10
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
     7.1.  DKIM Signature Tag Registration  . . . . . . . . . . . . . 11
     7.2.  DKIM ADSP Tag Registration . . . . . . . . . . . . . . . . 11
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
     8.1.  Inherited Considerations . . . . . . . . . . . . . . . . . 12
     8.2.  Forgeries  . . . . . . . . . . . . . . . . . . . . . . . . 12
     8.3.  Amplification Attacks  . . . . . . . . . . . . . . . . . . 12
     8.4.  Automatic Generation . . . . . . . . . . . . . . . . . . . 12
     8.5.  Reporting Multiple Incidents . . . . . . . . . . . . . . . 13
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 14
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 14
   Appendix A.  Acknowledgements  . . . . . . . . . . . . . . . . . . 15
   Appendix B.  Examples  . . . . . . . . . . . . . . . . . . . . . . 16
     B.1.  Example Use of DKIM Signature Extension Tags . . . . . . . 16
     B.2.  Example Use of DKIM ADSP Extension Tags  . . . . . . . . . 16
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18




















Kucherawy                 Expires July 26, 2012                 [Page 2]


Internet-Draft          DKIM Reporting Extensions           January 2012


1.  Introduction

   [DKIM] introduced a mechanism for message signing and authentication.
   It uses digital signing to associate a domain name with a message in
   a reliable (i.e. not forgeable) manner.  The output is a verified
   domain name that can then be subjected to some sort of evaluation
   process (e.g., advertised sender policy, comparison to a known-good
   list, submission to a reputation service, etc.).

   Deployers of message authentication technologies are increasingly
   seeking visibility into DKIM verification failures and conformance
   failures involving the published signing practices (e.g., [ADSP]) of
   an Administrative Mail Domain (ADMD; see [EMAIL-ARCH]).

   This document extends [DKIM] and [ADSP] to add an optional reporting
   address and some reporting parameters.



































Kucherawy                 Expires July 26, 2012                 [Page 3]


Internet-Draft          DKIM Reporting Extensions           January 2012


2.  Definitions

2.1.  Keywords

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [KEYWORDS].

2.2.  Imported Definitions

   The ABNF token "qp-section" is imported from [MIME].

   The base64 encoding method is defined in [MIME].






































Kucherawy                 Expires July 26, 2012                 [Page 4]


Internet-Draft          DKIM Reporting Extensions           January 2012


3.  Optional Reporting Address for DKIM

   A domain name owner employing [DKIM] for e-mail signing and
   authentication might want to know when signatures in use by specific
   keys are not successfully verifying.  Currently there is no such
   mechanism defined.

   This document adds the following optional "tags" (as defined in
   [DKIM]) to the DKIM-Signature header fields, using the form defined
   in that specification:

   r= Reporting Address (plain-text; OPTIONAL; no default).  The value
      MUST be a dkim-quoted-printable string containing the local-part
      of an e-mail address to which a report SHOULD be sent when mail
      bearing this signature fails verification for one of the reasons
      enumerated below.  The value MUST be interpreted as a local-part
      only.  To construct the actual address to which the report is
      sent, the verifier simply appends to this value an "@" followed by
      the domain found in the "d=" tag of the signature whose validation
      failed.  Therefore, a signer making use of this extension tag MUST
      ensure that an email address thus constructed can receive reports
      generated as described in Section 6.

      ABNF:

       sig-r-tag = %x72 *WSP "=" *WSP qp-section

   ro=  Requested Reports (plain-text; OPTIONAL; default is "all").  The
      value MUST be a colon-separated list of tokens representing those
      conditions under which a report is desired.  See Section 5.1 for a
      list of valid tags.

      ABNF:

       sig-ro-type = ( "all" / "s" / "v" / "x" )
       sig-ro-tag = %x72 %x6f *WSP "=" *WSP sig-ro-type
                    *WSP 0* ( ":" *WSP sig-ro-type )

   rp=  Requested Report Percentage (plain-text; OPTIONAL; default is
      "100").  The value is a single integer value from 0 to 100
      inclusive that indicates what percentage of incidents of signature
      authentication failures, selected at random, should cause reports
      to be generated.  The report generator SHOULD NOT issue reports
      for more than the requested percentage of incidents.  Report
      generators MAY make use of the "Incidents:" field in [ARF] to
      indicate that there are more reportable incidents than there are
      reports.




Kucherawy                 Expires July 26, 2012                 [Page 5]


Internet-Draft          DKIM Reporting Extensions           January 2012


      ABNF:

       sig-ri-tag = %x72 %x69 *WSP "=" *WSP 1*12DIGIT "/" 1*12DIGIT

   rs=  Requested SMTP Error String (text; OPTIONAL; no default).  The
      value is a dkim-quoted-printable string the signing domain
      requests be included in [SMTP] error strings if messages are
      rejected during a single SMTP session.

      ABNF:

       sig-rs-tag = %x72 %x73 *WSP "=" qp-section

   In the absence of an "r=" tag, all other tags listed above MUST be
   ignored.




































Kucherawy                 Expires July 26, 2012                 [Page 6]


Internet-Draft          DKIM Reporting Extensions           January 2012


4.  Optional Reporting Address for DKIM-ADSP

   There also exist cases in which a domain name owner employing [ADSP]
   for announcing signing practises with DKIM may want to know when
   messages are received without valid author domain signatures.
   Currently there is no such mechanism defined.

   This document adds the following optional "tags" (as defined in
   [ADSP]) to the DKIM ADSP records, using the form defined in that
   specification:

   r= Reporting Address (plain-text; OPTIONAL; no default).  The value
      MUST be a dkim-quoted-printable string containing the local-part
      of an e-mail address to which a report SHOULD be sent when mail
      claiming to be from this domain failed the verification algorithm
      described in [ADSP], in particular because a message arrived
      without a signature that validates, which contradicts what the
      ADSP record claims.  The value MUST be interpreted as a local-part
      only.  To construct the actual address to which the report is
      sent, the verifier simply appends to this value an "@" followed by
      the domain whose policy was queried in order to evaluate the
      sender's ADSP, i.e., the one taken from the RFC5322.From domain of
      the message under evaluation.  Therefore, a signer making use of
      this extension tag MUST ensure that an email address thus
      constructed can receive reports generated as described in
      Section 6.

      ABNF:

       adsp-r-tag = %x72 *WSP "=" qp-section

   rp=  Requested Report Percentage (plain-text; OPTIONAL; default is
      "100").  The value is a single integer value from 0 to 100
      inclusive that indicates what percentage of incidents of ADSP
      evaluation failures, selected at random, should cause reports to
      be generated.  The report generator SHOULD NOT issue reports for
      more than the requested percentage of incidents.  Report
      generators MAY make use of the "Incidents:" field in [ARF] to
      indicate that there are more reportable incidents than there are
      reports.

      ABNF:

       adsp-ri-tag = %x72 %x69 *WSP "=" *WSP
                     1*12DIGIT "/" 1*12DIGIT






Kucherawy                 Expires July 26, 2012                 [Page 7]


Internet-Draft          DKIM Reporting Extensions           January 2012


   ro=  Requested Reports (plain-text; OPTIONAL; default is "all").  The
      value MUST be a colon-separated list of tokens representing those
      conditions under which a report is desired.  See Section 5.2 for a
      list of valid tags.

      ABNF:

       adsp-ro-type = ( "all" / "s" / "u" )
       adsp-ro-tag = %x72 %x6f *WSP "=" *WSP adsp-ro-type
                     *WSP 0* ( ":" *WSP adsp-ro-type )

   rs=  Requested SMTP Error String (plain-text; OPTIONAL; no default).
      The value is a string the signing domain requests be included in
      [SMTP] error strings when messages are rejected during a single
      SMTP session.

      ABNF:

       adsp-rs-tag = %x72 %x73 *WSP "=" qp-section

   In the absence of an "r=" tag, all other tags listed above MUST be
   ignored.





























Kucherawy                 Expires July 26, 2012                 [Page 8]


Internet-Draft          DKIM Reporting Extensions           January 2012


5.  Requested Reports

   This memo also includes, as the "ro" tags defined above, the means by
   which the signer can request reports for specific circumstances of
   interest.  Verifiers MUST NOT generate reports for incidents that do
   not match a requested report, and MUST ignore requests for reports
   not included in this these lists.

5.1.  Requested Reports for DKIM Failures

   The following report requests are defined for DKIM keys:

   all  All reports are requested.

   s  Reports are requested for signature or key syntax errors.

   v  Reports are requested for signature verification failures or body
      hash mismatches.

   x  Reports are requested for signatures rejected by the verifier
      because the expiration time has passed.

5.2.  Requested Reports for DKIM ADSP Failures

   The following report requests are defined for ADSP records:

   all  All reports are requested.

   s  Reports are requested for messages that have a valid [DKIM]
      signature but do not match the published [ADSP] policy.

   u  Reports are requested for messages that have no valid [DKIM]
      signature and do not match the published [ADSP] policy.


















Kucherawy                 Expires July 26, 2012                 [Page 9]


Internet-Draft          DKIM Reporting Extensions           January 2012


6.  Report Generation

   This section describes the process for generating and sending reports
   in accordance with the request of the signer and/or sender as
   described above.

6.1.  Report Format

   All reports generated as a result of requests contained in these
   extension parameters MUST be generated in compliance with [ARF] and
   its extension specific to this work, [I-D.MARF-AUTHFAILURE-REPORT].

6.2.  Envelope Sender Selection

   In the case of transmitted reports in the form of a new message
   (versus rejections during an [SMTP] session), it is necessary to
   construct the message so as to avoid amplification attacks,
   deliberate or otherwise.  Thus, per Section 2 of [DSN], the envelope
   sender address of the report SHOULD be chosen to ensure that no
   delivery status reports will be issued in response to the report
   itself, and MUST be chosen so that these reports will not generate
   mail loops.  Whenever an [SMTP] transaction is used to send a report,
   the MAIL FROM command MUST use a NULL return address, i.e.  "MAIL
   FROM:<>".



























Kucherawy                 Expires July 26, 2012                [Page 10]


Internet-Draft          DKIM Reporting Extensions           January 2012


7.  IANA Considerations

   As required by [IANA-CONSIDERATIONS], this section contains registry
   information for the new [DKIM] key tags, and the new [ADSP] tags.

7.1.  DKIM Signature Tag Registration

   IANA is requested to update the DKIM Signature Tag Specification
   Registry to include the following new items:

                 +------+-----------------+---------+
                 | TYPE | REFERENCE       | STATUS  |
                 +------+-----------------+---------+
                 | r    | (this document) | current |
                 | ro   | (this document) | current |
                 | rp   | (this document) | current |
                 | rs   | (this document) | current |
                 +------+-----------------+---------+

7.2.  DKIM ADSP Tag Registration

   IANA is requested to update the DKIM ADSP Tag Specification Registry
   to include the following new items:

                 +------+-----------------+---------+
                 | TYPE | REFERENCE       | STATUS  |
                 +------+-----------------+---------+
                 | r    | (this document) | current |
                 | ro   | (this document) | current |
                 | rp   | (this document) | current |
                 | rs   | (this document) | current |
                 +------+-----------------+---------+



















Kucherawy                 Expires July 26, 2012                [Page 11]


Internet-Draft          DKIM Reporting Extensions           January 2012


8.  Security Considerations

   Security issues with respect to these reports are similar to those
   found in [DSN].

8.1.  Inherited Considerations

   Implementers are advised to consider the Security Considerations
   sections of [DKIM] and [ADSP].

8.2.  Forgeries

   These reports may be forged as easily as ordinary Internet electronic
   mail.  User agents and automatic mail handling facilities (such as
   mail distribution list exploders) that wish to make automatic use of
   reports of any kind should take appropriate precautions to minimize
   the potential damage from denial-of-service attacks.

   Security threats related to forged reports include the sending of:

   a.  A falsified authentication failure notification when the message
       was in fact delivered to the indicated recipient;

   b.  Falsified signature information, such as selector, domain, etc.

   Perhaps the simplest means of mitigating this threat is to assert
   that these reports should themselves be signed with something like
   DKIM.  On the other hand, if there's a problem with the DKIM
   infrastructure at the verifier, signing DKIM failure reports may
   produce reports that aren't trusted or even accepted by their
   intended recipients.

8.3.  Amplification Attacks

   Failure to compile with the normative statements in Section 6.2 can
   lead to amplification denial-of-service attacks.  See that section
   for details.

8.4.  Automatic Generation

   Automatic generation of these reports by verifying agents can cause a
   denial-of-service attack when a large volume of e-mail is sent that
   causes authentication failures for whatever reason.

   Limiting the rate of generation of these messages may be appropriate
   but threatens to inhibit the distribution of important and possibly
   time-sensitive information.




Kucherawy                 Expires July 26, 2012                [Page 12]


Internet-Draft          DKIM Reporting Extensions           January 2012


   In general ARF feedback loop terms, it is suggested that report
   generators only create these (or any) ARF reports after an out-of-
   band arrangement has been made between two parties.  This mechanism
   then becomes a way to adjust parameters of an authorized abuse report
   feedback loop that is configured and activated by private agreement
   rather than starting to send them automatically based solely on data
   found in the DKIM signatures, which could have been fraudulently
   inserted.

8.5.  Reporting Multiple Incidents

   If it is known that a particular host generates abuse reports upon
   certain incidents, an attacker could forge a high volume of messages
   that will trigger such a report.  The recipient of the report could
   then be innundated with reports.  This could easily be extended to a
   distributed denial-of-service attack by finding a number of report-
   generating servers.

   The incident count referenced in [ARF] provides a limited form of
   mitigation.  The host generating reports may elect to send reports
   only periodically, with each report representing a number of
   identical or near-identical incidents.  One might even do something
   inverse-exponentially, sending reports for each of the first ten
   incidents, then every tenth incident up to 100, then every 100th
   incident up to 1000, etc. until some period of relative quiet after
   which the limitation resets.

   The use of this for "near-identical" incidents in particular causes a
   degradation in reporting quality, however.  If for example a large
   number of pieces of spam arrive from one attacker, a reporting agent
   may decide only to send a report about a fraction of those messages.
   While this averts a flood of reports to a system administrator, the
   precise details of each incident are similarly not sent.


















Kucherawy                 Expires July 26, 2012                [Page 13]


Internet-Draft          DKIM Reporting Extensions           January 2012


9.  References

9.1.  Normative References

   [ADSP]     Allman, E., Delany, M., Fenton, J., and J. Levine, "DKIM
              Sender Signing Practises", RFC 5617, August 2009.

   [ARF]      Shafranovich, Y., Levine, J., and M. Kucherawy, "An
              Extensible Format for Email Feedback Reports", RFC 5965,
              August 2010.

   [DKIM]     Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
              "DomainKeys Identified Mail (DKIM) Signatures", RFC 6376,
              September 2011.

   [EMAIL-ARCH]
              Crocker, D., "Internet Mail Architecture", RFC 5598,
              October 2008.

   [I-D.MARF-AUTHFAILURE-REPORT]
              Fontana, H., "Authentication Failure Reporting using the
              Abuse Report Format",
              I-D draft-ietf-marf-authfailure-report, January 2012.

   [IANA-CONSIDERATIONS]
              Alvestrand, H. and T. Narten, "Guidelines for Writing an
              IANA Considerations Section in RFCs", RFC 5226, May 2008.

   [KEYWORDS]
              Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", RFC 2119, March 1997.

   [MIME]     Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part One: Format of Internet Message
              Bodies", RFC 2045, November 1996.

   [SMTP]     Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
              October 2008.

9.2.  Informative References

   [DSN]      Moore, K. and G. Vaudreuil, "An Extensible Message Format
              for Delivery Status Notifications", RFC 3464,
              January 2003.







Kucherawy                 Expires July 26, 2012                [Page 14]


Internet-Draft          DKIM Reporting Extensions           January 2012


Appendix A.  Acknowledgements

   The authors wish to acknowledge the following for their review and
   constructive criticism of this proposal: Steve Atkins, Monica Chew,
   Dave Crocker, Tim Draegen, Frank Ellermann, JD Falk, and John Levine.














































Kucherawy                 Expires July 26, 2012                [Page 15]


Internet-Draft          DKIM Reporting Extensions           January 2012


Appendix B.  Examples

   This section contains examples of the use of each of the extensions
   defined by this memo.

B.1.  Example Use of DKIM Signature Extension Tags

   A DKIM-Signature field including use of the extensions defined by
   this memo:

       DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
               d=example.com; s=jan2012;
               r=dkim-errors; ro=v:x;
               h=from:to:subject:date:message-id;
               bh=YJAYwiNdc3wMh6TD8FjVhtmxaHYHo7Z/06kHQYvQ4tQ=;
               b=jHF3tpgqr6nH/icHKIqFK2IJPtCLF0CRJaz2Hj1Y8yNwTJ
                 IMYIZtLccho3ymGF2GYqvTl2nP/cn4dH+55rH5pqkWNnuJ
                 R9z54CFcanoKKcl9wOZzK9i5KxM0DTzfs0r8

   Example 1: DKIM-Signature field using these extensions

   This example DKIM-Signature field contains the following data in
   addition to the basic DKIM signature data:

   o  Reports about signature evaluation failures should be send to the
      address "dkim-errors" at the signer's domain;

   o  Only reports about signature verification failures and expired
      signatures should be generated.

B.2.  Example Use of DKIM ADSP Extension Tags

   A DKIM ADSP record including use of the extensions defined by this
   memo:

       dkim=all; r=dkim-adsp-errors; ro=u

   Example 2: DKIM ADSP record using these extensions

   This example ADSP record makes the following assertions:

   o  The sending domain (i.e. the one that is advertising this policy)
      signs all mail it sends;

   o  Reports about ADSP evaluation failures should be send to the
      address "dkim-adsp-errors" at the sender's domain;





Kucherawy                 Expires July 26, 2012                [Page 16]


Internet-Draft          DKIM Reporting Extensions           January 2012


   o  Only reports about unsigned messages should be generated.


















































Kucherawy                 Expires July 26, 2012                [Page 17]


Internet-Draft          DKIM Reporting Extensions           January 2012


Author's Address

   Murray S. Kucherawy
   Cloudmark
   128 King St., 2nd Floor
   San Francisco, CA  94107
   US

   Phone: +1 415 946 3800
   Email: msk@cloudmark.com









































Kucherawy                 Expires July 26, 2012                [Page 18]