7Internet Engineering Task Force (IETF)                      M. Kucherawy
 
8Request for Comments: 7372                                September 2014
 
10Category: Standards Track
 
14                   Email Authentication Status Codes
 
18   This document registers code points to allow status codes to be
 
19   returned to an email client to indicate that a message is being
 
20   rejected or deferred specifically because of email authentication
 
23   This document updates RFC 7208, since some of the code points
 
24   registered replace the ones recommended for use in that document.
 
28   This is an Internet Standards Track document.
 
30   This document is a product of the Internet Engineering Task Force
 
31   (IETF).  It represents the consensus of the IETF community.  It has
 
32   received public review and has been approved for publication by the
 
33   Internet Engineering Steering Group (IESG).  Further information on
 
34   Internet Standards is available in Section 2 of RFC 5741.
 
36   Information about the current status of this document, any errata,
 
37   and how to provide feedback on it may be obtained at
 
38   http://www.rfc-editor.org/info/rfc7372.
 
42   Copyright (c) 2014 IETF Trust and the persons identified as the
 
43   document authors.  All rights reserved.
 
45   This document is subject to BCP 78 and the IETF Trust's Legal
 
46   Provisions Relating to IETF Documents
 
47   (http://trustee.ietf.org/license-info) in effect on the date of
 
48   publication of this document.  Please review these documents
 
49   carefully, as they describe your rights and restrictions with respect
 
50   to this document.  Code Components extracted from this document must
 
51   include Simplified BSD License text as described in Section 4.e of
 
52   the Trust Legal Provisions and are provided without warranty as
 
53   described in the Simplified BSD License.
 
58Kucherawy                    Standards Track                    [Page 1]
 
60RFC 7372                 Email Auth Status Codes          September 2014
 
65   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
 
66   2.  Key Words . . . . . . . . . . . . . . . . . . . . . . . . . .   2
 
67   3.  New Enhanced Status Codes . . . . . . . . . . . . . . . . . .   3
 
68     3.1.  DKIM Failure Codes  . . . . . . . . . . . . . . . . . . .   3
 
69     3.2.  SPF Failure Codes . . . . . . . . . . . . . . . . . . . .   4
 
70     3.3.  Reverse DNS Failure Code  . . . . . . . . . . . . . . . .   5
 
71     3.4.  Multiple Authentication Failures Code . . . . . . . . . .   5
 
72   4.  General Considerations  . . . . . . . . . . . . . . . . . . .   5
 
73   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
 
74   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
 
75   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   7
 
76   Appendix A.  Acknowledgments  . . . . . . . . . . . . . . . . . .   8
 
80   [RFC3463] introduced Enhanced Mail System Status Codes, and [RFC5248]
 
81   created an IANA registry for these.
 
83   [RFC6376] and [RFC7208] introduced, respectively, DomainKeys
 
84   Identified Mail (DKIM) and Sender Policy Framework (SPF), two
 
85   protocols for conducting message authentication.  Another common
 
86   email acceptance test is the reverse Domain Name System (DNS) check
 
87   on an email client's IP address, as described in Section 3 of
 
90   The current set of enhanced status codes does not include any code
 
91   for indicating that a message is being rejected or deferred due to
 
92   local policy reasons related to any of these mechanisms.  This is
 
93   potentially useful information to agents that need more than
 
94   rudimentary handling information about the reason a message was
 
95   rejected on receipt.  This document introduces enhanced status codes
 
96   for reporting those cases to clients.
 
98   Section 3.2 updates [RFC7208], as new enhanced status codes relevant
 
99   to that specification are being registered and recommended for use.
 
103   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
104   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
 
105   "OPTIONAL" in this document are to be interpreted as described in
 
114Kucherawy                    Standards Track                    [Page 2]
 
116RFC 7372                 Email Auth Status Codes          September 2014
 
1193.  New Enhanced Status Codes
 
121   The new enhanced status codes are defined in the following
 
1243.1.  DKIM Failure Codes
 
126   In the code point definitions below, the following definitions are
 
129   passing:  A signature is "passing" if the basic DKIM verification
 
130      algorithm, as defined in [RFC6376], succeeds.
 
132   acceptable:  A signature is "acceptable" if it satisfies all locally
 
133      defined requirements (if any) in addition to passing the basic
 
134      DKIM verification algorithm (e.g., certain header fields are
 
135      included in the signed content, no partial signatures, etc.).
 
138      Sample Text:        No passing DKIM signature found
 
139      Associated basic status code:  550
 
140      Description:        This status code is returned when a message
 
141                          did not contain any passing DKIM
 
142                          signatures.  (This violates the
 
143                          advice of Section 6.1 of RFC 6376.)
 
144      Reference:          [RFC7372]; [RFC6376]
 
145      Submitter:          M. Kucherawy
 
146      Change controller:  IESG
 
149      Sample Text:        No acceptable DKIM signature found
 
150      Associated basic status code:  550
 
151      Description:        This status code is returned when a message
 
152                          contains one or more passing DKIM signatures,
 
153                          but none are acceptable.  (This violates the
 
154                          advice of Section 6.1 of RFC 6376.)
 
155      Reference:          [RFC7372]; [RFC6376]
 
156      Submitter:          M. Kucherawy
 
157      Change controller:  IESG
 
170Kucherawy                    Standards Track                    [Page 3]
 
172RFC 7372                 Email Auth Status Codes          September 2014
 
176      Sample Text:        No valid author-matched DKIM signature found
 
177      Associated basic status code:  550
 
178      Description:        This status code is returned when a message
 
179                          contains one or more passing DKIM
 
180                          signatures, but none are acceptable because
 
181                          none have an identifier(s)
 
182                          that matches the author address(es) found in
 
183                          the From header field.  This is a special
 
184                          case of X.7.21. (This violates the advice
 
185                          of Section 6.1 of RFC 6376.)
 
186      Reference:          [RFC7372]; [RFC6376]
 
187      Submitter:          M. Kucherawy
 
188      Change controller:  IESG
 
1903.2.  SPF Failure Codes
 
193      Sample Text:        SPF validation failed
 
194      Associated basic status code:  550
 
195      Description:        This status code is returned when a message
 
196                          completed an SPF check that produced a
 
197                          "fail" result, contrary to local policy
 
198                          requirements.  Used in place of 5.7.1, as
 
199                          described in Section 8.4 of RFC 7208.
 
200      Reference:          [RFC7372]; [RFC7208]
 
201      Submitter:          M. Kucherawy
 
202      Change controller:  IESG
 
205      Sample Text:        SPF validation error
 
206      Associated basic status code:  451/550
 
207      Description:        This status code is returned when evaluation
 
208                          of SPF relative to an arriving message
 
209                          resulted in an error.  Used in place of
 
210                          4.4.3 or 5.5.2, as described in Sections
 
211                          8.6 and 8.7 of RFC 7208.
 
212      Reference:          [RFC7372]; [RFC7208]
 
213      Submitter:          M. Kucherawy
 
214      Change controller:  IESG
 
226Kucherawy                    Standards Track                    [Page 4]
 
228RFC 7372                 Email Auth Status Codes          September 2014
 
2313.3.  Reverse DNS Failure Code
 
234      Sample Text:        Reverse DNS validation failed
 
235      Associated basic status code:  550
 
236      Description:        This status code is returned when an SMTP
 
237                          client's IP address failed a reverse DNS
 
238                          validation check, contrary to local policy
 
240      Reference:          [RFC7372]; Section 3 of [RFC7001]
 
241      Submitter:          M. Kucherawy
 
242      Change controller:  IESG
 
2443.4.  Multiple Authentication Failures Code
 
247      Sample Text:        Multiple authentication checks failed
 
248      Associated basic status code:  550
 
249      Description:        This status code is returned when a message
 
250                          failed more than one message authentication
 
251                          check, contrary to local policy requirements.
 
252                          The particular mechanisms that failed are not
 
255      Submitter:          M. Kucherawy
 
256      Change controller:  IESG
 
2584.  General Considerations
 
260   By the nature of the Simple Mail Transfer Protocol (SMTP), only one
 
261   enhanced status code can be returned for a given exchange between
 
262   client and server.  However, an operator might decide to defer or
 
263   reject a message for a plurality of reasons.  Clients receiving these
 
264   codes need to consider that the failure reflected by one of these
 
265   status codes might not reflect the only reason, or the most important
 
266   reason, for non-acceptance of the message or command.
 
268   It is important to note that Section 6.1 of [RFC6376] discourages
 
269   special treatment of messages bearing no valid DKIM signature.  There
 
270   are some operators that disregard this advice, a few of which go so
 
271   far as to require a valid Author Domain Signature (that is, one
 
272   matching the domain(s) in the From header field) in order to accept
 
273   the message.  Moreover, some nascent technologies built atop SPF and
 
274   DKIM depend on such authentications.  This work does not endorse
 
275   configurations that violate DKIM's recommendations but rather
 
276   acknowledges that they do exist and merely seeks to provide for
 
277   improved interoperability with such operators.
 
282Kucherawy                    Standards Track                    [Page 5]
 
284RFC 7372                 Email Auth Status Codes          September 2014
 
287   A specific use case for these codes is mailing list software, which
 
288   processes rejections in order to remove from the subscriber set those
 
289   addresses that are no longer valid.  There is a need in that case to
 
290   distinguish authentication failures from indications that the
 
291   recipient address is no longer valid.
 
293   If a receiving server performs multiple authentication checks and
 
294   more than one of them fails, thus warranting rejection of the
 
295   message, the SMTP server SHOULD use the code that indicates multiple
 
296   methods failed rather than only reporting the first one that failed.
 
297   It may be the case that one method is always expected to fail; thus,
 
298   returning that method's specific code is not information useful to
 
301   The reverse IP DNS check is defined in Section 3 of [RFC7001].
 
303   Any message authentication or policy enforcement technologies
 
304   developed in the future should also include registration of their own
 
305   enhanced status codes so that this kind of specific reporting is
 
306   available to operators that wish to use them.
 
3085.  Security Considerations
 
310   Use of these codes reveals local policy with respect to email
 
311   authentication, which can be useful information to actors attempting
 
312   to deliver undesired mail.  It should be noted that there is no
 
313   specific obligation to use these codes; if an operator wishes not to
 
314   reveal this aspect of local policy, it can continue using a generic
 
315   result code such as 5.7.7, 5.7.1, or even 5.7.0.
 
3176.  IANA Considerations
 
319   Registration of new enhanced status codes, for addition to the
 
320   Enumerated Status Codes sub-registry of the SMTP Enhanced Status
 
321   Codes Registry, can be found in Section 3.
 
338Kucherawy                    Standards Track                    [Page 6]
 
340RFC 7372                 Email Auth Status Codes          September 2014
 
3437.  Normative References
 
345   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
 
346              Requirement Levels", BCP 14, RFC 2119, March 1997.
 
348   [RFC3463]  Vaudreuil, G., "Enhanced Mail System Status Codes", RFC
 
351   [RFC5248]  Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced
 
352              Mail System Status Codes", BCP 138, RFC 5248, June 2008.
 
354   [RFC6376]  Crocker, D., Hansen, T., and M. Kucherawy, "DomainKeys
 
355              Identified Mail (DKIM) Signatures", STD 76, RFC 6376,
 
358   [RFC7001]  Kucherawy, M., "Message Header Field for Indicating
 
359              Message Authentication Status", RFC 7001, September 2013.
 
361   [RFC7208]  Kitterman, S., "Sender Policy Framework (SPF) for
 
362              Authorizing Use of Domains in Email, Version 1", RFC 7208,
 
394Kucherawy                    Standards Track                    [Page 7]
 
396RFC 7372                 Email Auth Status Codes          September 2014
 
399Appendix A.  Acknowledgments
 
401   Claudio Allocchio, Dave Crocker, Ned Freed, Arnt Gulbrandsen, Scott
 
402   Kitterman, Barry Leiba, Alexey Melnikov, S. Moonesamy, Hector Santos,
 
403   and Stephen Turnbull contributed to this work.
 
409   San Francisco, CA  94127
 
412   EMail: superuser@gmail.com
 
450Kucherawy                    Standards Track                    [Page 8]