    Internet Engineering Task Force (IETF)                         J. Levine
    Request for Comments: 8616                          Taughannock Networks
    Updates: 6376, 7208, 7489                                      June 2019
    Category: Standards Track
    ISSN: 2070-1721

                Email Authentication for Internationalized Mail

    Abstract

       Sender Policy Framework (SPF) (RFC 7208), DomainKeys Identified Mail
       (DKIM) (RFC 6376), and Domain-based Message Authentication,
       Reporting, and Conformance (DMARC) (RFC 7489) enable a domain owner
       to publish email authentication and policy information in the DNS.
       In internationalized email, domain names can occur both as U-labels
       and A-labels.  This specification updates the SPF, DKIM, and DMARC
       specifications to clarify which form of internationalized domain
       names to use in those specifications.

    Status of This Memo

       This is an Internet Standards Track document.

       This document is a product of the Internet Engineering Task Force
       (IETF).  It represents the consensus of the IETF community.  It has
       received public review and has been approved for publication by the
       Internet Engineering Steering Group (IESG).  Further information on
       Internet Standards is available in Section 2 of RFC 7841.

       Information about the current status of this document, any errata,
       and how to provide feedback on it may be obtained at
       https://www.rfc-editor.org/info/rfc8616.

    Copyright Notice

       Copyright (c) 2019 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
       (https://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.

    Levine                       Standards Track                    [Page 1]

    RFC 8616                   EAI Authentication                  June 2019

    Table of Contents

       1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
       2.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .   2
       3.  General Principles  . . . . . . . . . . . . . . . . . . . . .   3
       4.  SPF and Internationalized Mail  . . . . . . . . . . . . . . .   3
       5.  DKIM and Internationalized Mail . . . . . . . . . . . . . . .   3
       6.  DMARC and Internationalized Mail  . . . . . . . . . . . . . .   4
       7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
       8.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
       9.  Normative References  . . . . . . . . . . . . . . . . . . . .   5
       Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   6

    1.  Introduction

       SPF [RFC7208], DKIM [RFC6376], and DMARC [RFC7489] enable a domain
       owner to publish email authentication and policy information in the
       DNS.  SPF primarily publishes information about what host addresses
       are authorized to send mail for a domain.  DKIM places cryptographic
       signatures on email messages, with the validation keys published in
       the DNS.  DMARC publishes policy information related to the domain in
       the From: header field of email messages.

       In conventional email, all domain names are ASCII in all contexts, so
       there is no question about the representation of the domain names.
       All internationalized domain names are represented as A-labels
       [RFC5890] in message header fields, SMTP sessions, and the DNS.

       Internationalized mail [RFC6530] (generally called "EAI" for Email
       Address Internationalization) allows U-labels in SMTP sessions
       [RFC6531] and message header fields [RFC6532].

       Every U-label is equivalent to an A-label, so in principle, the
       choice of label format will not cause ambiguities.  But in practice,
       consistent use of label formats will make it more likely that code
       for mail senders and receivers interoperates.

       Internationalized mail also allows UTF-8-encoded Unicode characters
       in the local parts of mailbox names, which were historically only
       ASCII.

    2.  Definitions

       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
       "OPTIONAL" in this document are to be interpreted as described in
       BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
       capitals, as shown here.

    Levine                       Standards Track                    [Page 2]

    RFC 8616                   EAI Authentication                  June 2019

       The term "IDN", for Internationalized Domain Name, refers to a domain
       name containing either U-labels or A-labels.

       Since DMARC is not currently a Standards Track protocol, this
       specification offers advice rather than requirements for DMARC.

    3.  General Principles

       In headers in EAI mail messages, domain names that were restricted to
       ASCII can be U-labels, and mailbox local parts can be UTF-8.  Header
       field names and other text intended primarily to be interpreted by
       computers rather than read by people remains ASCII.

       Strings stored in DNS records remain ASCII since there is no way to
       tell whether a client retrieving a DNS record expects an EAI or an
       ASCII result.  When a domain name found in a mail header field
       includes U-labels, those labels are translated to A-labels before
       being looked up in the DNS, as described in [RFC5891].

    4.  SPF and Internationalized Mail

       SPF [RFC7208] uses two identities from the SMTP session: the host
       name in the EHLO command and the domain in the address in the MAIL
       FROM command.  Since the EHLO command precedes the server response
       that tells whether the server supports the SMTPUTF8 extension, an IDN
       host name MUST be represented as A-labels.  An IDN in MAIL FROM can
       be either U-labels or A-labels.

       All U-labels MUST be converted to A-labels before being used for an
       SPF validation.  This includes both the labels in the name used for
       the original DNS lookup, described in Section 3 of [RFC7208], and
       those used in the macro expansion of domain-spec, described in
       Section 7.  Section 4.3 of [RFC7208] states that all IDNs in an SPF
       DNS record MUST be A-labels; this rule is unchanged since any SPF
       record can be used to authorize either EAI or conventional mail.

       SPF macros %{s} and %{l} expand the local part of the sender's
       mailbox.  If the local part contains non-ASCII characters, terms that
       include %{s} or %{l} do not match anything, because non-ASCII local
       parts cannot be used as the DNS labels the macros are intended to
       match.  Since these macros are rarely used, this is unlikely to be an
       issue in practice.

    5.  DKIM and Internationalized Mail

       DKIM [RFC6376] specifies a mail header field that contains a
       cryptographic message signature and a DNS record that contains the
       validation key.

    Levine                       Standards Track                    [Page 3]

    RFC 8616                   EAI Authentication                  June 2019

       Section 2.11 of [RFC6376] defines dkim-quoted-printable.  Its
       definition is modified in messages with internationalized header
       fields so that non-ASCII UTF-8 characters need not be quoted.  The
       ABNF [RFC5234] for dkim-safe-char in those messages is replaced by
       the following, adding non-ASCII UTF-8 characters from [RFC3629]:

       dkim-safe-char        =  %x21-3A / %x3C / %x3E-7E /
                                           UTF8-2 / UTF8-3 / UTF8-4
                                ; '!' - ':', '<', '>' - '~', non-ASCII

       UTF8-2                = <Defined in Section 4 of RFC 3629>

       UTF8-3                = <Defined in Section 4 of RFC 3629>

       UTF8-4                = <Defined in Section 4 of RFC 3629>

       Section 3.5 of [RFC6376] states that IDNs in the d=, i=, and s= tags
       of a DKIM-Signature header field MUST be encoded as A-labels.  This
       rule is relaxed only for internationalized message header fields
       [RFC6532], so IDNs SHOULD be represented as U-labels.  This provides
       improved consistency with other header fields.  (A-labels remain
       valid to allow a transition from older software.)  The set of
       allowable characters in the local part of an i= tag is extended in
       the same fashion as local parts of email addresses as described in
       Section 3.2 of [RFC6532].  When computing or verifying the hash in a
       DKIM signature as described in Section 3.7 of [RFC6376], the hash
       MUST use the domain name in the format it occurs in the header field.

       Section 3.4.2 of [RFC6376] describes relaxed header canonicalization.
       Its first step converts all header field names from uppercase to
       lowercase.  Field names are restricted to printable ASCII (see
       [RFC5322], Section 3.6.8), so this case conversion remains ASCII case
       conversion.

       DKIM key records, described in Section 3.6.1 of [RFC6376], do not
       contain domain names, so there is no change to their specification.

    6.  DMARC and Internationalized Mail

       DMARC [RFC7489] defines a policy language that domain owners can
       specify for the domain of the address in an RFC5322.From header
       field.

       Section 6.6.1 of [RFC7489] specifies, somewhat imprecisely, how IDNs
       in the RFC5322.From address domain are to be handled.  That section
       is updated to say that all U-labels in the domain are converted to
       A-labels before further processing.  Section 7.1 of [RFC7489] is

    Levine                       Standards Track                    [Page 4]

    RFC 8616                   EAI Authentication                  June 2019

       similarly updated to say that all U-labels in domains being handled
       are converted to A-labels before further processing.

       DMARC policy records, described in Sections 6.3 and 7.1 of [RFC7489],
       can contain email addresses in the "rua" and "ruf" tags.  Since a
       policy record can be used for both internationalized and conventional
       mail, those addresses still have to be conventional addresses, not
       internationalized addresses.

    7.  IANA Considerations

       This document has no IANA actions.

    8.  Security Considerations

       Email is subject to a vast range of threats and abuses.  This
       document attempts to slightly mitigate some of them but does not, as
       far as the author knows, add any new ones.  The updates to SPF, DKIM,
       and DMARC are intended to allow the respective specifications to work
       as reliably on internationalized mail as they do on ASCII mail, so
       that applications that use them, such as some kinds of mail filters
       that catch spam and phish, can work more reliably on
       internationalized mail.

    9.  Normative References

       [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
                  Requirement Levels", BCP 14, RFC 2119,
                  DOI 10.17487/RFC2119, March 1997,
                  <https://www.rfc-editor.org/info/rfc2119>.

       [RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
                  10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November
                  2003, <https://www.rfc-editor.org/info/rfc3629>.

       [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
                  Specifications: ABNF", STD 68, RFC 5234,
                  DOI 10.17487/RFC5234, January 2008,
                  <https://www.rfc-editor.org/info/rfc5234>.

       [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
                  DOI 10.17487/RFC5322, October 2008,
                  <https://www.rfc-editor.org/info/rfc5322>.

       [RFC5890]  Klensin, J., "Internationalized Domain Names for
                  Applications (IDNA): Definitions and Document Framework",
                  RFC 5890, DOI 10.17487/RFC5890, August 2010,
                  <https://www.rfc-editor.org/info/rfc5890>.

    Levine                       Standards Track                    [Page 5]

    RFC 8616                   EAI Authentication                  June 2019

       [RFC5891]  Klensin, J., "Internationalized Domain Names in
                  Applications (IDNA): Protocol", RFC 5891,
                  DOI 10.17487/RFC5891, August 2010,
                  <https://www.rfc-editor.org/info/rfc5891>.

       [RFC6376]  Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
                  "DomainKeys Identified Mail (DKIM) Signatures", STD 76,
                  RFC 6376, DOI 10.17487/RFC6376, September 2011,
                  <https://www.rfc-editor.org/info/rfc6376>.

       [RFC6530]  Klensin, J. and Y. Ko, "Overview and Framework for
                  Internationalized Email", RFC 6530, DOI 10.17487/RFC6530,
                  February 2012, <https://www.rfc-editor.org/info/rfc6530>.

       [RFC6531]  Yao, J. and W. Mao, "SMTP Extension for Internationalized
                  Email", RFC 6531, DOI 10.17487/RFC6531, February 2012,
                  <https://www.rfc-editor.org/info/rfc6531>.

       [RFC6532]  Yang, A., Steele, S., and N. Freed, "Internationalized
                  Email Headers", RFC 6532, DOI 10.17487/RFC6532, February
                  2012, <https://www.rfc-editor.org/info/rfc6532>.

       [RFC7208]  Kitterman, S., "Sender Policy Framework (SPF) for
                  Authorizing Use of Domains in Email, Version 1", RFC 7208,
                  DOI 10.17487/RFC7208, April 2014,
                  <https://www.rfc-editor.org/info/rfc7208>.

       [RFC7489]  Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based
                  Message Authentication, Reporting, and Conformance
                  (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
                  <https://www.rfc-editor.org/info/rfc7489>.

       [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
                  2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
                  May 2017, <https://www.rfc-editor.org/info/rfc8174>.

    Author's Address

       John Levine
       Taughannock Networks
       PO Box 727
       Trumansburg, NY  14886
       United States of America

       Email: standards@taugh.com
       URI:   http://jl.ly

    Levine                       Standards Track                    [Page 6]