1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<pre>Internet Engineering Task Force (IETF) J. Levine
Request for Comments: 8616 Taughannock Networks
Updates: <a href="./rfc6376">6376</a>, <a href="./rfc7208">7208</a>, <a href="./rfc7489">7489</a> June 2019
Category: Standards Track
ISSN: 2070-1721
<span class="h1">Email Authentication for Internationalized Mail</span>
Abstract
Sender Policy Framework (SPF) (<a href="./rfc7208">RFC 7208</a>), DomainKeys Identified Mail
(DKIM) (<a href="./rfc6376">RFC 6376</a>), and Domain-based Message Authentication,
Reporting, and Conformance (DMARC) (<a href="./rfc7489">RFC 7489</a>) 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 <a href="./rfc7841#section-2">Section 2 of RFC 7841</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="https://www.rfc-editor.org/info/rfc8616">https://www.rfc-editor.org/info/rfc8616</a>.
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="https://trustee.ietf.org/license-info">https://trustee.ietf.org/license-info</a>) 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.
<span class="grey">Levine Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc8616">RFC 8616</a> EAI Authentication June 2019</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2">2</a>. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-3">3</a>. General Principles . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-4">4</a>. SPF and Internationalized Mail . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-5">5</a>. DKIM and Internationalized Mail . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-6">6</a>. DMARC and Internationalized Mail . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-7">7</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-8">8</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-9">9</a>. Normative References . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
SPF [<a href="./rfc7208" title=""Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1"">RFC7208</a>], DKIM [<a href="./rfc6376" title=""DomainKeys Identified Mail (DKIM) Signatures"">RFC6376</a>], and DMARC [<a href="./rfc7489" title=""Domain-based Message Authentication, Reporting, and Conformance (DMARC)"">RFC7489</a>] 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
[<a href="./rfc5890" title=""Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework"">RFC5890</a>] in message header fields, SMTP sessions, and the DNS.
Internationalized mail [<a href="./rfc6530" title=""Overview and Framework for Internationalized Email"">RFC6530</a>] (generally called "EAI" for Email
Address Internationalization) allows U-labels in SMTP sessions
[<a href="./rfc6531" title=""SMTP Extension for Internationalized Email"">RFC6531</a>] and message header fields [<a href="./rfc6532" title=""Internationalized Email Headers"">RFC6532</a>].
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.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Definitions</span>
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
<a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>] [<a href="./rfc8174" title=""Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"">RFC8174</a>] when, and only when, they appear in all
capitals, as shown here.
<span class="grey">Levine Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc8616">RFC 8616</a> EAI Authentication June 2019</span>
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.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. General Principles</span>
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 [<a href="./rfc5891" title=""Internationalized Domain Names in Applications (IDNA): Protocol"">RFC5891</a>].
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. SPF and Internationalized Mail</span>
SPF [<a href="./rfc7208" title=""Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1"">RFC7208</a>] 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 <a href="./rfc7208#section-3">Section 3 of [RFC7208]</a>, and
those used in the macro expansion of domain-spec, described in
<a href="#section-7">Section 7</a>. <a href="./rfc7208#section-4.3">Section 4.3 of [RFC7208]</a> 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.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. DKIM and Internationalized Mail</span>
DKIM [<a href="./rfc6376" title=""DomainKeys Identified Mail (DKIM) Signatures"">RFC6376</a>] specifies a mail header field that contains a
cryptographic message signature and a DNS record that contains the
validation key.
<span class="grey">Levine Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc8616">RFC 8616</a> EAI Authentication June 2019</span>
<a href="./rfc6376#section-2.11">Section 2.11 of [RFC6376]</a> 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 [<a href="./rfc5234" title=""Augmented BNF for Syntax Specifications: ABNF"">RFC5234</a>] for dkim-safe-char in those messages is replaced by
the following, adding non-ASCII UTF-8 characters from [<a href="./rfc3629" title=""UTF-8, a transformation format of ISO 10646"">RFC3629</a>]:
dkim-safe-char = %x21-3A / %x3C / %x3E-7E /
UTF8-2 / UTF8-3 / UTF8-4
; '!' - ':', '<', '>' - '~', non-ASCII
UTF8-2 = <Defined in <a href="./rfc3629#section-4">Section 4 of RFC 3629</a>>
UTF8-3 = <Defined in <a href="./rfc3629#section-4">Section 4 of RFC 3629</a>>
UTF8-4 = <Defined in <a href="./rfc3629#section-4">Section 4 of RFC 3629</a>>
<a href="./rfc6376#section-3.5">Section 3.5 of [RFC6376]</a> 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
[<a href="./rfc6532" title=""Internationalized Email Headers"">RFC6532</a>], 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
<a href="./rfc6532#section-3.2">Section 3.2 of [RFC6532]</a>. When computing or verifying the hash in a
DKIM signature as described in <a href="./rfc6376#section-3.7">Section 3.7 of [RFC6376]</a>, the hash
MUST use the domain name in the format it occurs in the header field.
<a href="./rfc6376#section-3.4.2">Section 3.4.2 of [RFC6376]</a> describes relaxed header canonicalization.
Its first step converts all header field names from uppercase to
lowercase. Field names are restricted to printable ASCII (see
<a href="./rfc5322#section-3.6.8">[RFC5322], Section 3.6.8</a>), so this case conversion remains ASCII case
conversion.
DKIM key records, described in <a href="./rfc6376#section-3.6.1">Section 3.6.1 of [RFC6376]</a>, do not
contain domain names, so there is no change to their specification.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. DMARC and Internationalized Mail</span>
DMARC [<a href="./rfc7489" title=""Domain-based Message Authentication, Reporting, and Conformance (DMARC)"">RFC7489</a>] defines a policy language that domain owners can
specify for the domain of the address in an <a href="./rfc5322">RFC5322</a>.From header
field.
<a href="./rfc7489#section-6.6.1">Section 6.6.1 of [RFC7489]</a> specifies, somewhat imprecisely, how IDNs
in the <a href="./rfc5322">RFC5322</a>.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. <a href="./rfc7489#section-7.1">Section 7.1 of [RFC7489]</a> is
<span class="grey">Levine Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc8616">RFC 8616</a> EAI Authentication June 2019</span>
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 <a href="#section-6.3">6.3</a> and <a href="#section-7.1">7.1</a> of [<a href="./rfc7489" title=""Domain-based Message Authentication, Reporting, and Conformance (DMARC)"">RFC7489</a>],
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.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. IANA Considerations</span>
This document has no IANA actions.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Security Considerations</span>
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.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>,
DOI 10.17487/RFC2119, March 1997,
<<a href="https://www.rfc-editor.org/info/rfc2119">https://www.rfc-editor.org/info/rfc2119</a>>.
[<a id="ref-RFC3629">RFC3629</a>] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, <a href="./rfc3629">RFC 3629</a>, DOI 10.17487/RFC3629, November
2003, <<a href="https://www.rfc-editor.org/info/rfc3629">https://www.rfc-editor.org/info/rfc3629</a>>.
[<a id="ref-RFC5234">RFC5234</a>] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, <a href="./rfc5234">RFC 5234</a>,
DOI 10.17487/RFC5234, January 2008,
<<a href="https://www.rfc-editor.org/info/rfc5234">https://www.rfc-editor.org/info/rfc5234</a>>.
[<a id="ref-RFC5322">RFC5322</a>] Resnick, P., Ed., "Internet Message Format", <a href="./rfc5322">RFC 5322</a>,
DOI 10.17487/RFC5322, October 2008,
<<a href="https://www.rfc-editor.org/info/rfc5322">https://www.rfc-editor.org/info/rfc5322</a>>.
[<a id="ref-RFC5890">RFC5890</a>] Klensin, J., "Internationalized Domain Names for
Applications (IDNA): Definitions and Document Framework",
<a href="./rfc5890">RFC 5890</a>, DOI 10.17487/RFC5890, August 2010,
<<a href="https://www.rfc-editor.org/info/rfc5890">https://www.rfc-editor.org/info/rfc5890</a>>.
<span class="grey">Levine Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc8616">RFC 8616</a> EAI Authentication June 2019</span>
[<a id="ref-RFC5891">RFC5891</a>] Klensin, J., "Internationalized Domain Names in
Applications (IDNA): Protocol", <a href="./rfc5891">RFC 5891</a>,
DOI 10.17487/RFC5891, August 2010,
<<a href="https://www.rfc-editor.org/info/rfc5891">https://www.rfc-editor.org/info/rfc5891</a>>.
[<a id="ref-RFC6376">RFC6376</a>] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
"DomainKeys Identified Mail (DKIM) Signatures", STD 76,
<a href="./rfc6376">RFC 6376</a>, DOI 10.17487/RFC6376, September 2011,
<<a href="https://www.rfc-editor.org/info/rfc6376">https://www.rfc-editor.org/info/rfc6376</a>>.
[<a id="ref-RFC6530">RFC6530</a>] Klensin, J. and Y. Ko, "Overview and Framework for
Internationalized Email", <a href="./rfc6530">RFC 6530</a>, DOI 10.17487/RFC6530,
February 2012, <<a href="https://www.rfc-editor.org/info/rfc6530">https://www.rfc-editor.org/info/rfc6530</a>>.
[<a id="ref-RFC6531">RFC6531</a>] Yao, J. and W. Mao, "SMTP Extension for Internationalized
Email", <a href="./rfc6531">RFC 6531</a>, DOI 10.17487/RFC6531, February 2012,
<<a href="https://www.rfc-editor.org/info/rfc6531">https://www.rfc-editor.org/info/rfc6531</a>>.
[<a id="ref-RFC6532">RFC6532</a>] Yang, A., Steele, S., and N. Freed, "Internationalized
Email Headers", <a href="./rfc6532">RFC 6532</a>, DOI 10.17487/RFC6532, February
2012, <<a href="https://www.rfc-editor.org/info/rfc6532">https://www.rfc-editor.org/info/rfc6532</a>>.
[<a id="ref-RFC7208">RFC7208</a>] Kitterman, S., "Sender Policy Framework (SPF) for
Authorizing Use of Domains in Email, Version 1", <a href="./rfc7208">RFC 7208</a>,
DOI 10.17487/RFC7208, April 2014,
<<a href="https://www.rfc-editor.org/info/rfc7208">https://www.rfc-editor.org/info/rfc7208</a>>.
[<a id="ref-RFC7489">RFC7489</a>] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based
Message Authentication, Reporting, and Conformance
(DMARC)", <a href="./rfc7489">RFC 7489</a>, DOI 10.17487/RFC7489, March 2015,
<<a href="https://www.rfc-editor.org/info/rfc7489">https://www.rfc-editor.org/info/rfc7489</a>>.
[<a id="ref-RFC8174">RFC8174</a>] Leiba, B., "Ambiguity of Uppercase vs Lowercase in <a href="./rfc2119">RFC</a>
<a href="./rfc2119">2119</a> Key Words", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc8174">RFC 8174</a>, DOI 10.17487/RFC8174,
May 2017, <<a href="https://www.rfc-editor.org/info/rfc8174">https://www.rfc-editor.org/info/rfc8174</a>>.
Author's Address
John Levine
Taughannock Networks
PO Box 727
Trumansburg, NY 14886
United States of America
Email: standards@taugh.com
URI: <a href="http://jl.ly">http://jl.ly</a>
Levine Standards Track [Page 6]
</pre>
|