draft-ietf-dmarc-eaiauth-05.txt   draft-ietf-dmarc-eaiauth-06.txt 
Network Working Group J. Levine Network Working Group J. Levine
Internet-Draft Taughannock Networks Internet-Draft Taughannock Networks
Updates: 6376, 7208, 7489 (if approved) April 5, 2019 Updates: 6376, 7208, 7489 (if approved) April 11, 2019
Intended status: Standards Track Intended status: Standards Track
Expires: October 7, 2019 Expires: October 13, 2019
E-mail Authentication for Internationalized Mail E-mail Authentication for Internationalized Mail
draft-ietf-dmarc-eaiauth-05 draft-ietf-dmarc-eaiauth-06
Abstract Abstract
SPF (RFC7208), DKIM (RFC6376), and DMARC (RFC7489) enable a domain SPF (RFC7208), DKIM (RFC6376), and DMARC (RFC7489) enable a domain
owner to publish e-mail authentication and policy information in the owner to publish e-mail authentication and policy information in the
DNS. In internationalized e-mail, domain names can occur both as DNS. In internationalized e-mail, domain names can occur both as
U-labels and A-labels. This specification updates the SPF, DKIM, and U-labels and A-labels. This specification updates the SPF, DKIM, and
DMARC specifications to clarify which form of internationalized DMARC specifications to clarify which form of internationalized
domain names to use in those specifications. domain names to use in those specifications.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 7, 2019. This Internet-Draft will expire on October 13, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. General principles . . . . . . . . . . . . . . . . . . . . . 3 3. General principles . . . . . . . . . . . . . . . . . . . . . 3
4. SPF and internationalized mail . . . . . . . . . . . . . . . 3 4. SPF and internationalized mail . . . . . . . . . . . . . . . 3
5. DKIM and internationalized mail . . . . . . . . . . . . . . . 4 5. DKIM and internationalized mail . . . . . . . . . . . . . . . 4
6. DMARC and internationalized mail . . . . . . . . . . . . . . 4 6. DMARC and internationalized mail . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. Security Considerations . . . . . . . . . . . . . . . . . . . 5
9. Normative References . . . . . . . . . . . . . . . . . . . . 5 9. Normative References . . . . . . . . . . . . . . . . . . . . 5
Appendix A. Change history . . . . . . . . . . . . . . . . . . . 6 Appendix A. Change history . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
SPF [RFC7208], DKIM [RFC6376], and DMARC [RFC7489] enable a domain SPF [RFC7208], DKIM [RFC6376], and DMARC [RFC7489] enable a domain
owner to publish e-mail authentication and policy information in the owner to publish e-mail authentication and policy information in the
DNS. SPF primarily publishes information about what host addresses DNS. SPF primarily publishes information about what host addresses
are authorized to send mail for a domain. DKIM places cryptographic are authorized to send mail for a domain. DKIM places cryptographic
signatures on e-mail messages, with the validation keys published in signatures on e-mail messages, with the validation keys published in
the DNS. DMARC publishes policy information related to the domain in the DNS. DMARC publishes policy information related to the domain in
the From: header of e-mail messages. the From: header field of e-mail messages.
In conventional e-mail, all domain names are ASCII in all contexts so In conventional e-mail, all domain names are ASCII in all contexts so
there is no question about the representation of the domain names. there is no question about the representation of the domain names.
All internationalized domain names are represented as A-labels All internationalized domain names are represented as A-labels
[RFC5890] in message headers, in SMTP sessions, and in the DNS. [RFC5890] in message header fields, in SMTP sessions, and in the DNS.
Internationalized mail [RFC6530] allows U-labels in SMTP sessions
[RFC6531] and in message headers [RFC6532]. Internationalized mail [RFC6530], (generally called EAI for E-mail
Address Internationalization), allows U-labels in SMTP sessions
[RFC6531] and in message header fields [RFC6532].
Every U-label is equivalent to an A-label, so in principle the choice Every U-label is equivalent to an A-label, so in principle the choice
of label format will not cause ambiguities. But in practice, of label format will not cause ambiguities. But in practice,
consistent use of label formats will make it more likely that mail consistent use of label formats will make it more likely that mail
senders' and receivers' code interoperates. senders' and receivers' code interoperates.
Internationalized mail also allows UTF-8 encoded Unicode characters Internationalized mail also allows UTF-8 encoded Unicode characters
in the local parts of mailbox names, which were historically only in the local parts of mailbox names, which were historically only
ASCII. ASCII.
skipping to change at page 3, line 16 skipping to change at page 3, line 22
The term IDN, for Internationalized Domain Name, refers to a domain The term IDN, for Internationalized Domain Name, refers to a domain
name containing either U-labels or A-labels. name containing either U-labels or A-labels.
Since DMARC is not currently a standards track protocol, this Since DMARC is not currently a standards track protocol, this
specification offers advice rather than requirements for DMARC. specification offers advice rather than requirements for DMARC.
3. General principles 3. General principles
In headers in EAI mail messages, domain names that were restricted to In headers in EAI mail messages, domain names that were restricted to
ASCII can now be U-labels, and mailbox local parts can be UTF-8. ASCII can be U-labels, and mailbox local parts can be UTF-8. Header
Header names and other text intended primarily to be interpreted by field names and other text intended primarily to be interpreted by
computers rather than read by people remains ASCII. computers rather than read by people remains ASCII.
Strings stored in DNS records remain ASCII since there is no way to 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 tell whether a client retrieving a DNS record expects an EAI or an
ASCII result. When a domain name found in a mail header includes ASCII result. When a domain name found in a mail header field
U-labels, those labels are translated to A-labels before being looked includes U-labels, those labels are translated to A-labels before
up in the DNS, as described in [RFC5891]. being looked up in the DNS, as described in [RFC5891].
4. SPF and internationalized mail 4. SPF and internationalized mail
SPF [RFC7208] uses two identities from the SMTP session, the host 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 name in the EHLO command, and the domain in the address in the MAIL
FROM command. Since the EHLO command precedes the server response FROM command. Since the EHLO command precedes the server response
that tells whether the server supports the SMTPUTF8 extension, an IDN that tells whether the server supports the SMTPUTF8 extension, an IDN
argument MUST be represented as an A-label. An IDN in MAIL FROM can host name MUST be represented as A-labels. An IDN in MAIL FROM can
be either U-labels or A-labels. be either U-labels or A-labels.
All U-labels MUST be converted to A-labels before being used for an All U-labels MUST be converted to A-labels before being used for an
SPF validation. This includes both the original DNS lookup, SPF validation. This includes both the original DNS lookup,
described in Section 3 of [RFC7208] and the macro expansion of described in Section 3 of [RFC7208] and the macro expansion of
domain-spec described in section 7. Section 4.3 of [RFC7208] states 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 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 unchanged since any SPF record can be used to authorize either EAI or
conventional mail. conventional mail.
SPF macros %{s} and %{l} expand the local-part of the sender's SPF macros %{s} and %{l} expand the local-part of the sender's
mailbox. If the local-part contains non-ASCII characters, terms that mailbox. If the local-part contains non-ASCII characters, terms that
include %{s} or %{l} do not match anything. (Note that unlike include %{s} or %{l} do not match anything, because non-ASCII local
U-labels in domains, there is no way to rewrite non-ASCII local parts parts cannot be used as the DNS labels the macros are intended to
into ASCII.) match. Since these macros are rarely used, this is unlikely to be an
issue in practice.
5. DKIM and internationalized mail 5. DKIM and internationalized mail
DKIM [RFC6376] specifies a message header that contains a DKIM [RFC6376] specifies a mail header field that contains a
cryptographic message signature and a DNS record that contains the cryptographic message signature and a DNS record that contains the
validation key. validation key.
Section 2.11 of [RFC6376] defines dkim-quoted-printable. Its Section 2.11 of [RFC6376] defines dkim-quoted-printable. Its
definition is modified in messages with internationalized headers so definition is modified in messages with internationalized header
that non-ASCII UTF-8 characters need not be quoted. The ABNF for fields so that non-ASCII UTF-8 characters need not be quoted. The
dkim-safe-char in those messages is replaced by the following, adding ABNF for dkim-safe-char in those messages is replaced by the
non-ASCII UTF-8 characters from [RFC3629]: following, adding non-ASCII UTF-8 characters from [RFC3629]:
dkim-safe-char = %x21-3A / %x3C / %x3E-7E / dkim-safe-char = %x21-3A / %x3C / %x3E-7E /
UTF8-2 / UTF8-3 / UTF8-4 UTF8-2 / UTF8-3 / UTF8-4
; '!' - ':', '<', '>' - '~', non-ASCII ; '!' - ':', '<', '>' - '~', non-ASCII
UTF8-2 = <Defined in Section 4 of RFC 3629> UTF8-2 = <Defined in Section 4 of RFC 3629>
UTF8-3 = <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> UTF8-4 = <Defined in Section 4 of RFC 3629>
Section 3.5 of [RFC6376] states that IDNs in the d=, i=, and s= tags Section 3.5 of [RFC6376] states that IDNs in the d=, i=, and s= tags
of a DKIM-Signature header MUST be encoded as A-labels. This rule is of a DKIM-Signature header field MUST be encoded as A-labels. This
relaxed only for internationalized messages headers [RFC6532] so IDNs rule is relaxed only for internationalized messages header fields
SHOULD be represented as U-labels. This provides improved [RFC6532] so IDNs SHOULD be represented as U-labels. This provides
consistency with other headers. (A-labels remain valid to allow a improved consistency with other header fields. (A-labels remain
transition from older software.) The set of allowable characters in valid to allow a transition from older software.) The set of
the local-part of an i= tag is extended in the same fashion as local allowable characters in the local-part of an i= tag is extended in
parts of e-mail addresses as described in section 3.2 of [RFC6532]. the same fashion as local parts of e-mail addresses as described in
When computing or verifying the hash in a DKIM signature as described section 3.2 of [RFC6532]. When computing or verifying the hash in a
in section 3.7, the hash MUST use the domain name in the format it DKIM signature as described in section 3.7, the hash MUST use the
occurs in the header. domain name in the format it occurs in the header field.
Section 3.4.2 of [RFC6376] describes relaxed header canonicalization. Section 3.4.2 of [RFC6376] describes relaxed header canonicalization.
Its first step converts all header field names from upper case to Its first step converts all header field names from upper case to
lower case. Field names are restricted to printable ASCII (see lower case. Field names are restricted to printable ASCII (see
[RFC5322] section 3.6.8) so this case conversion remains ASCII case [RFC5322] section 3.6.8) so this case conversion remains ASCII case
conversion. conversion.
DKIM key records, described in section 3.6.1, do not contain domain DKIM key records, described in section 3.6.1, do not contain domain
names, so there is no change to their specification. names, so there is no change to their specification.
6. DMARC and internationalized mail 6. DMARC and internationalized mail
DMARC [RFC7489] defines a policy language that domain owners can DMARC [RFC7489] defines a policy language that domain owners can
specify for the domain of the address in a RFC5322.From header. specify for the domain of the address in a RFC5322.From header field.
Section 6.6.1 specifies, somewhat imprecisely, how IDNs in the Section 6.6.1 specifies, somewhat imprecisely, how IDNs in the
RFC5322.From address domain are to be handled. That section is RFC5322.From address domain are to be handled. That section is
updated to say that all U-labels in the domain are converted to updated to say that all U-labels in the domain are converted to
A-labels before further processing. Section 7.1 is similarly updated A-labels before further processing. Section 7.1 is similarly updated
to say that all U-labels in domains being handled are converted to to say that all U-labels in domains being handled are converted to
A-labels before further processing. A-labels before further processing.
DMARC policy records, described in sections 6.3 and 7.1, can contain DMARC policy records, described in sections 6.3 and 7.1, can contain
e-mail addresses in the rua and ruf tags. Since a policy record can e-mail addresses in the rua and ruf tags. Since a policy record can
skipping to change at page 6, line 43 skipping to change at page 6, line 48
Message Authentication, Reporting, and Conformance Message Authentication, Reporting, and Conformance
(DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
<https://www.rfc-editor.org/info/rfc7489>. <https://www.rfc-editor.org/info/rfc7489>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Appendix A. Change history Appendix A. Change history
04 to 05 editorial nits 05 to 06 more editorial nits
04 to 05 editorial nits
03 to 04 remove dangling A-R reference, add more i18nish and 03 to 04 remove dangling A-R reference, add more i18nish and
security goodness security goodness
02 to 03 minor edits per Alexey 02 to 03 minor edits per Alexey
01 to 02 update references 01 to 02 update references
00 to 01 Relaxed canon, Typos 00 to 01 Relaxed canon, Typos
00 First WG version 00 First WG version
Author's Address Author's Address
John Levine John Levine
Taughannock Networks Taughannock Networks
PO Box 727 PO Box 727
Trumansburg, NY 14886 Trumansburg, NY 14886
Email: standards@taugh.com Email: standards@taugh.com
 End of changes. 19 change blocks. 
36 lines changed or deleted 41 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/