rfc8689xml2.original.xml   rfc8689.xml 
<?xml version="1.0" encoding="US-ASCII"?> <?xml version='1.0' encoding='US-ASCII'?>
<!-- This template is for creating an Internet Draft using xml2rfc, <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!-- [rfced] updated by Chris /08/29/19 -->
<!ENTITY RFC2033 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.2033.xml">
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.2119.xml">
<!ENTITY RFC3461 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.3461.xml">
<!ENTITY RFC4033 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.4033.xml">
<!ENTITY RFC4034 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.4034.xml">
<!ENTITY RFC4035 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.4035.xml">
<!ENTITY RFC4880 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.4880.xml">
<!ENTITY RFC5228 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5228.xml">
<!ENTITY RFC5234 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5234.xml">
<!ENTITY RFC5248 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5248.xml">
<!ENTITY RFC5321 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5321.xml">
<!ENTITY RFC5322 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5322.xml">
<!ENTITY RFC5598 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.5598.xml">
<!ENTITY RFC3207 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.3207.xml">
<!ENTITY RFC6125 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.6125.xml">
<!ENTITY RFC6409 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.6409.xml">
<!ENTITY RFC7525 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.7525.xml">
<!ENTITY RFC7672 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.7672.xml">
<!ENTITY RFC1939 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.1939.xml">
<!ENTITY RFC3501 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.3501.xml">
<!ENTITY RFC8174 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.8174.xml">
<!ENTITY RFC8314 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.8314.xml">
<!ENTITY RFC8461 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.8461.xml">
<!ENTITY RFC8551 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC
.8551.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds
might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc submissionType="IETF" category="std" consensus="yes" number="XXXX" ipr="tru
st200902">
<!-- category values: std, bcp, info, exp, and historic
ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902
,
or pre5378Trust200902
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<title>SMTP Require TLS Option</title>
<!-- add 'role="editor"' below for the editors if appropriate -->
<author fullname="Jim Fenton" initials="J.L."
surname="Fenton">
<organization>Altmode Networks</organization>
<address>
<postal>
<street> </street>
<city>Los Altos</city>
<region>California</region>
<code>94024</code>
<country>USA</country>
</postal>
<email>fenton@bluepopcorn.net</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<date year="2019" month="August" />
<!-- If the month and year are both specified and are the current ones, xml2r
fc will fill
in the current day for you. If only the current year is specified, xml2r
fc will fill
in the current day and month for you. If the year is not the current one
, it is
necessary to specify at least a month (xml2rfc assumes day="1" if not sp
ecified for the
purpose of calculating the expiry date). With drafts it is normally suf
ficient to
specify just the year. -->
<!-- Meta-data Declarations -->
<area>General</area>
<workgroup>Internet Engineering Task Force</workgroup>
<!-- WG name at the upperleft corner of the doc,
IETF is fine for individual submissions.
If this element is not present, the default is "Network Working Group",
which is used by the RFC Editor as a nod to the history of the IETF. -->
<keyword>SMTP</keyword> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF"
category="std" consensus="true" number="8689" ipr="trust200902"
obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true"
sortRefs="true" version="3" docName="draft-ietf-uta-smtp-require-tls-09">
<!-- Keywords will be incorporated into HTML output <!-- xml2rfc v2v3 conversion 2.30.0 -->
files in a meta tag but they have no effect on text or nroff <front>
output. If you submit your draft to the RFC Editor, the <title>SMTP Require TLS Option</title>
keywords will be used for the search engine. --> <seriesInfo name="RFC" value="8689"/>
<abstract> <author fullname="Jim Fenton" initials="J." surname="Fenton">
<t>The SMTP STARTTLS option, used in negotiating transport-level <organization>Altmode Networks</organization>
<address>
<postal>
<street> </street>
<city>Los Altos</city>
<region>California</region>
<code>94024</code>
<country>United States of America</country>
</postal>
<email>fenton@bluepopcorn.net</email>
</address>
</author>
<date year="2019" month="November"/>
<area>General</area>
<workgroup>Internet Engineering Task Force</workgroup>
<keyword>SMTP</keyword>
<abstract>
<t>The SMTP STARTTLS option, used in negotiating transport-level
encryption of SMTP connections, is not as useful from a security encryption of SMTP connections, is not as useful from a security
standpoint as it might be because of its opportunistic nature; standpoint as it might be because of its opportunistic nature;
message delivery is, by default, prioritized over security. This message delivery is, by default, prioritized over security. This
document describes an SMTP service extension, REQUIRETLS, and document describes an SMTP service extension, REQUIRETLS, and
message header field, TLS-Required. If the REQUIRETLS option or a message header field, TLS-Required. If the REQUIRETLS option or
TLS-Required message header field is used when sending a message, TLS-Required message header field is used when sending a message,
it asserts a request on the part of the message sender to it asserts a request on the part of the message sender to
override the default negotiation of TLS, either by requiring that override the default negotiation of TLS, either by requiring that
TLS be negotiated when the message is relayed, or by requesting TLS be negotiated when the message is relayed or by requesting
that recipient-side policy mechanisms such as MTA-STS and DANE be that recipient-side policy mechanisms such as MTA-STS and DNS-Based
Authentication of Named Entities (DANE) be
ignored when relaying a message for which security is ignored when relaying a message for which security is
unimportant.</t> unimportant.</t>
</abstract> </abstract>
</front>
</front> <middle>
<section numbered="true" toc="default">
<middle> <name>Introduction</name>
<section title="Introduction"> <t>The <xref target="RFC5321" format="default">SMTP</xref> <xref target="R
<t>The <xref target="RFC5321">SMTP</xref> <xref FC3207" format="default">STARTTLS service extension</xref> provides a
target="RFC3207">STARTTLS service extension</xref> provides a
means by which an SMTP server and client can establish a means by which an SMTP server and client can establish a
Transport Layer Security (TLS) protected session for the Transport Layer Security (TLS) protected session for the
transmission of email messages. By default, TLS is used only upon transmission of email messages. By default, TLS is used only upon
mutual agreement (successful negotiation) of STARTTLS between the mutual agreement (successful negotiation) of STARTTLS between the
client and server; if this is not possible, the message is sent client and server; if this is not possible, the message is sent
without transport encryption. Furthermore, it is common practice without transport encryption. Furthermore, it is common practice
for the client to negotiate TLS even if the SMTP server's for the client to negotiate TLS even if the SMTP server's
certificate is invalid.</t> certificate is invalid.</t>
<t>Policy mechanisms such as <xref target="RFC7672" format="default">DANE<
<t>Policy mechanisms such as <xref target="RFC7672">DANE</xref> /xref>
and <xref target="RFC8461">MTA-STS</xref> may and <xref target="RFC8461" format="default">MTA-STS</xref> may
impose requirements for the use of TLS for email destined for impose requirements for the use of TLS for email destined for
some domains. However, such policies do not allow the sender to some domains. However, such policies do not allow the sender to
specify which messages are more sensitive and require specify which messages are more sensitive and require
transport-level encryption, and which ones are less sensitive and transport-level encryption and which ones are less sensitive and
ought to be relayed even if TLS cannot be negotiated ought to be relayed even if TLS cannot be negotiated
successfully.</t> successfully.</t>
<t>The default opportunistic nature of SMTP TLS enables several <t>The default opportunistic nature of SMTP TLS enables several
"on the wire" attacks on SMTP security between MTAs. These on-the-wire attacks on SMTP security between MTAs. These
include passive eavesdropping on connections for which TLS is not include passive eavesdropping on connections for which TLS is not
used, interference in the SMTP protocol to prevent TLS from being used, interference in the SMTP protocol to prevent TLS from being
negotiated (presumably accompanied by eavesdropping), and insertion negotiated (presumably accompanied by eavesdropping), and insertion
of a man-in-the-middle attacker exploiting the lack of of a man-in-the-middle attacker exploiting the lack of
server authentication by the client. Attacks are described server authentication by the client. Attacks are described
in more detail in the Security Considerations section of this in more detail in the <xref target="Security" format="title" /> section
of this
document.</t> document.</t>
<t>REQUIRETLS consists of two mechanisms: an SMTP service
<t>REQUIRETLS consists of two mechanisms: an SMTP service
extension and a message header field. The service extension is extension and a message header field. The service extension is
used to specify that a given message sent during a particular session used to specify that a given message sent during a particular session
MUST be sent over a TLS-protected session with specified security <bcp14>MUST</bcp14> be sent over a TLS-protected session with specified sec urity
characteristics. It also requires that the SMTP server advertise characteristics. It also requires that the SMTP server advertise
that it supports REQUIRETLS, in effect promising that it that it supports REQUIRETLS, in effect promising that it
will honor the requirement to enforce TLS transmission and will honor the requirement to enforce TLS transmission and
REQUIRETLS support for onward transmission of those messages.</t> REQUIRETLS support for onward transmission of those messages.</t>
<t>The TLS-Required message header field is used to convey a
<t>The TLS-Required message header field is used to convey a
request to ignore recipient-side policy mechanisms such as request to ignore recipient-side policy mechanisms such as
MTA-STS and DANE, thereby prioritizing delivery over ability to MTA-STS and DANE, thereby prioritizing delivery over ability to
negotiate TLS. Unlike the service extension, the TLS-Required negotiate TLS. Unlike the service extension, the TLS-Required
header field allows the message to transit through one or more header field allows the message to transit through one or more
MTAs that do not support REQUIRETLS.</t> MTAs that do not support REQUIRETLS.</t>
<section numbered="true" toc="default">
<section title="Requirements Language"> <name>Requirements Language</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", <t>
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
interpreted as described in BCP 14 <xref target="RFC2119" /> NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
<xref target="RFC8174" /> when, and only when, they appear in "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
all capitals, as shown here.</t> "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
to be interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/>
<t>The formal syntax uses the Augmented Backus-Naur Form (ABNF) <xref target="RFC8174"/> when, and only when, they appear in all capitals,
<xref target="RFC5234" /> including the core rules defined in as shown here.
</t>
<t>The formal syntax uses the Augmented Backus-Naur Form (ABNF)
<xref target="RFC5234" format="default"/>, including the core rules defin
ed in
Appendix B of that document.</t> Appendix B of that document.</t>
</section> </section>
</section> </section>
<section anchor="service_extension" numbered="true" toc="default">
<section anchor="service_extension" title="The REQUIRETLS Service Extension"> <name>The REQUIRETLS Service Extension</name>
<t><list style="numbers">
<t>The textual name of the extension is "Require TLS".</t>
<t>The EHLO keyword value associated with this extension is
"REQUIRETLS".</t>
<t>No additional SMTP verbs are defined by this extension.</t> <t>The REQUIRETLS SMTP service extension has the following characteristics:</t>
<t>One optional parameter ("REQUIRETLS") is added to the MAIL <ol spacing="normal" type="1">
<li>The textual name of the extension is "Require TLS".</li>
<li>The EHLO keyword value associated with this extension is
"REQUIRETLS".</li>
<li>No additional SMTP verbs are defined by this extension.</li>
<li>One optional parameter ("REQUIRETLS") is added to the MAIL
FROM command by this extension. No value is associated with FROM command by this extension. No value is associated with
this parameter.</t> this parameter.</li>
<li>The maximum length of a MAIL FROM command line is increased
<t>The maximum length of a MAIL FROM command line is increased
by 11 octets by the possible addition of a space and the by 11 octets by the possible addition of a space and the
REQUIRETLS keyword.</t> REQUIRETLS keyword.</li>
<li>One new SMTP status code is defined by this extension to
<t>One new SMTP status code is defined by this extension to
convey an error condition resulting from failure of the client to convey an error condition resulting from failure of the client to
send to a server not also supporting send data to a server that does not also support
the REQUIRETLS extension.</t> the REQUIRETLS extension.</li>
<li>The REQUIRETLS extension is valid for message relay <xref target="RF
<t>The REQUIRETLS extension is valid for message relay <xref C5321" format="default"/>, submission <xref target="RFC6409" format="default"/>,
target="RFC5321"></xref>, submission <xref and the Local Mail Transfer Protocol
target="RFC6409"></xref>, and the Local Mail Transfer Protocol (LMTP) <xref target="RFC2033" format="default"/>.</li>
(LMTP) <xref target="RFC2033"></xref></t> <li>
<t>The ABNF syntax for the MAIL FROM parameter is as follows:
<t>The ABNF syntax for the MAIL FROM parameter is as follows: </t>
<figure> <sourcecode type="abnf"><![CDATA[
<artwork> requiretls-param = "REQUIRETLS"
requiretls-param = "REQUIRETLS" ; where requiretls-param is an instance of an
; where requiretls-param is an instance of an ; esmtp-param used in Mail-parameters in
; esmtp-param used in Mail-parameters in ; RFC 5321, Section 4.1.2. There is no esmtp-value
; RFC 5321 Section 4.1.2. There is no esmtp-value ; associated with requiretls-param. ]]></sourcecode>
; associated with requiretls-param. </li>
</artwork> </ol>
</figure> <t>In order to specify REQUIRETLS treatment for a given message,
</t> the REQUIRETLS option is specified in the MAIL FROM command when
</list></t> that message is transmitted. This option <bcp14>MUST</bcp14> only be specif
ied in the
<t>In order to specify REQUIRETLS treatment for a given message,
the REQUIRETLS option is specified on the MAIL FROM command when
that message is transmitted. This option MUST only be specified in the
context of an SMTP session meeting the security requirements of context of an SMTP session meeting the security requirements of
REQUIRETLS: REQUIRETLS:
<list style="symbols"> </t>
<t>The session itself MUST employ TLS transmission.</t> <ul spacing="normal">
<t>If the SMTP server to which the message is being transmitted <li>The session itself <bcp14>MUST</bcp14> employ TLS transmission.</li>
<li>If the SMTP server to which the message is being transmitted
is identified through an MX record lookup, its name is identified through an MX record lookup, its name
MUST be validated via a DNSSEC signature on the recipient <bcp14>MUST</bcp14> be validated via a DNSSEC signature on the recipient
domain's MX record, or the MX hostname MUST be domain's MX record, or the MX hostname <bcp14>MUST</bcp14> be
validated by an MTA-STS policy as described in Section 4.1 of validated by an MTA-STS policy as described in <xref target="RFC8461"
<xref target="RFC8461">RFC&nbsp;8461</xref>. DNSSEC is defined sectionFormat="of" section="4.1" />. DNSSEC is defined
in <xref target="RFC4033">RFC&nbsp;4033</xref>, in <xref target="RFC4033" format="default" />,
<xref target="RFC4034">RFC&nbsp;4034</xref>, and <xref target="RFC4034" format="default" />, and
<xref target="RFC4035">RFC&nbsp;4035</xref>.</t> <xref target="RFC4035" format="default" />.</li>
<t>The certificate presented by the SMTP server MUST either
verify successfully in a trust chain leading to a certificate
trusted by the SMTP client or it MUST verify successfully using
DANE as specified in <xref
target="RFC7672">RFC&nbsp;7672</xref>. For trust chains, the
choice of trusted (root) certificates is at the discretion of
the SMTP client.</t>
<t>Following the negotiation of STARTTLS, the SMTP server MUST
advertise in the subsequent EHLO response that it supports REQUIRETLS.</t
>
</list>
</t>
</section>
<section anchor="header_field" title="The TLS-Required Header Field">
<t>One new message header field <xref target="RFC5322" />, <li>The certificate presented by the SMTP server either <bcp14>MUST</bcp
14>
be verified successfully by a trust chain leading to a certificate
trusted by the SMTP client, or it <bcp14>MUST</bcp14> be verified success
fully using
DANE, as specified in <xref target="RFC7672" format="default" />. For tru
st chains, the
choice of trusted (root) certificates is at the discretion of
the SMTP client.</li>
<li>Following the negotiation of STARTTLS, the SMTP server <bcp14>MUST</
bcp14>
advertise in the subsequent EHLO response that it supports REQUIRETLS.</l
i>
</ul>
</section>
<section anchor="header_field" numbered="true" toc="default">
<name>The TLS-Required Header Field</name>
<t>One new message header field <xref target="RFC5322" format="default"/>,
TLS-Required, is defined by this TLS-Required, is defined by this
specification. It is used for messages for which the originator specification. It is used for messages for which the originator
requests that recipient requests that the recipient
TLS policy (including <xref target="RFC8461">MTA-STS</xref> and TLS policy (including <xref target="RFC8461" format="default">MTA-STS</xref
<xref target="RFC7672">DANE</xref>) be ignored. This might be > and
<xref target="RFC7672" format="default">DANE</xref>) be ignored. This might
be
done, for example, to report a misconfigured mail server, such as done, for example, to report a misconfigured mail server, such as
an expired TLS certificate.</t> an expired TLS certificate.</t>
<t>The TLS-Required header field has a single <bcp14>REQUIRED</bcp14> para
<t>The TLS-Required header field has a single REQUIRED parameter:</t> meter:</t>
<ul spacing="normal">
<t><list style="symbols"> <li>No - The SMTP client <bcp14>SHOULD</bcp14> attempt to send the messa
<t>No - The SMTP client SHOULD attempt to send the message ge
regardless of its ability to negotiate STARTTLS with the SMTP regardless of its ability to negotiate STARTTLS with the SMTP
server, ignoring policy-based mechanisms (including MTA-STS and server, ignoring policy-based mechanisms (including MTA-STS and
DANE), if any, asserted by DANE), if any, asserted by
the recipient domain. Nevertheless, the client SHOULD negotiate the recipient domain. Nevertheless, the client <bcp14>SHOULD</bcp14> negot
STARTTLS with the server if available.</t> iate
</list></t> STARTTLS with the server if available.</li>
</ul>
<t>More than one instance of the TLS-Required header field MUST <t>More than one instance of the TLS-Required header field <bcp14>MUST
NOT appear in a given message.</t> NOT</bcp14> appear in a given message.</t>
<t>The ABNF syntax for the TLS-Required header field is as
<t>The ABNF syntax for the TLS-Required header field is as
follows:</t> follows:</t>
<figure> <sourcecode type="abnf"><![CDATA[
<artwork> requiretls-field = "TLS-Required:" [FWS] "No" CRLF
requiretls-field = "TLS-Required:" [FWS] "No" CRLF ; where requiretls-field in an instance of an
; where requiretls-field in an instance of an ; optional-field defined in RFC 5322, Section 3.6.8.
; optional-field defined in RFC 5322 Section FWS = <as defined in RFC 5322>
; 3.6.8. CRLF = <as defined in RFC 5322> ]]></sourcecode>
FWS = &lt;as defined in RFC 5322> </section>
CRLF = &lt;as defined in RFC 5322> <section anchor="semantics" numbered="true" toc="default">
</artwork> <name>REQUIRETLS Semantics</name>
</figure> <section anchor="receipt" numbered="true" toc="default">
<name>REQUIRETLS Receipt Requirements</name>
</section> <t>Upon receipt of the REQUIRETLS option on a MAIL FROM command
during the receipt of a message, an SMTP server <bcp14>MUST</bcp14> tag t
<section anchor="semantics" title="REQUIRETLS Semantics"> hat
<section anchor="receipt" title="REQUIRETLS Receipt Requirements">
<t>Upon receipt of the REQUIRETLS option on a MAIL FROM command
during the receipt of a message, an SMTP server MUST tag that
message as needing REQUIRETLS handling.</t> message as needing REQUIRETLS handling.</t>
<t>Upon receipt of a message not specifying the REQUIRETLS
<t>Upon receipt of a message not specifying the REQUIRETLS
option on its MAIL FROM command but containing the TLS-Required option on its MAIL FROM command but containing the TLS-Required
header field in its message header, an SMTP server implementing header field in its message header, an SMTP server implementing
this specification MUST tag that message with the option this specification <bcp14>MUST</bcp14> tag that message with the option
specified in the TLS-Required header field. If the REQUIRETLS specified in the TLS-Required header field. If the REQUIRETLS
MAIL FROM parameter is specified, the TLS-Required header field MAIL FROM parameter is specified, the TLS-Required header field
MUST be ignored but MAY be included in onward relay of the <bcp14>MUST</bcp14> be ignored but <bcp14>MAY</bcp14> be included in the onward relay of the
message.</t> message.</t>
<t>The manner in which the above tagging takes place is
<t>The manner in which the above tagging takes place is implementation dependent. If the message is being locally
implementation-dependent. If the message is being locally
aliased and redistributed to multiple addresses, all instances aliased and redistributed to multiple addresses, all instances
of the message MUST be tagged in the same manner.</t> of the message <bcp14>MUST</bcp14> be tagged in the same manner.</t>
</section> </section>
<section anchor="sender" numbered="true" toc="default">
<section anchor="sender" title="REQUIRETLS Sender Requirements"> <name>REQUIRETLS Sender Requirements</name>
<section anchor="yestls" title="Sending with TLS Required"> <section anchor="yestls" numbered="true" toc="default">
<t>When sending a message tagged as requiring TLS for which the <name>Sending with TLS Required</name>
<t>When sending a message tagged as requiring TLS for which the
MAIL FROM return-path is not empty (an empty MAIL FROM MAIL FROM return-path is not empty (an empty MAIL FROM
return-path indicating a bounce message), the sending return-path indicating a bounce message), the sending
(client) MTA MUST: (client) MTA <bcp14>MUST</bcp14>:
<list style="numbers">
<t>Look up the SMTP server to which the message is to be sent
as described in <xref target="RFC5321"></xref> Section
5.1.</t>
<t>If the server lookup is accomplished via the recipient </t>
<ol spacing="normal" type="1">
<li>Look up the SMTP server to which the message is to be sent,
as described in <xref target="RFC5321" sectionFormat="comma"
section="5.1" />.</li>
<li>If the server lookup is accomplished via the recipient
domain's MX record (the usual case) and is not accompanied by a valid domain's MX record (the usual case) and is not accompanied by a valid
DNSSEC signature, the client MUST also validate the SMTP DNSSEC signature, the client <bcp14>MUST</bcp14> also validate the SMTP
server name using MTA-STS as described in server name using MTA-STS, as described in
<xref target="RFC8461">RFC&nbsp;8461</xref> Section 4.1.</t> <xref target="RFC8461" sectionFormat="comma" section="4.1"/>.</li>
<li>Open an SMTP session with the peer SMTP server using the
<t>Open an SMTP session with the peer SMTP server using the EHLO verb.</li>
EHLO verb.</t> <li>Establish a TLS-protected SMTP session with its peer SMTP
<t>Establish a TLS-protected SMTP session with its peer SMTP
server and authenticate the server's certificate as specified server and authenticate the server's certificate as specified
in <xref target="RFC6125"></xref> or <xref in <xref target="RFC6125" format="default"/> or <xref target="RFC7672" f
target="RFC7672"></xref> as applicable. The hostname from the ormat="default"/>, as applicable. The hostname from the
MX record lookup (or the domain name in the absence of an MX MX record lookup (or the domain name in the absence of an MX
record where an A record is used directly) MUST match the DNS-ID record where an A record is used directly) <bcp14>MUST</bcp14> match the DNS-
or CN-ID of the certificate presented by the server.</t> ID
or CN-ID of the certificate presented by the server.</li>
<t>Ensure that the response to the subsequent EHLO following <li>Ensure that the response to the subsequent EHLO following
establishment of the TLS protection advertises the REQUIRETLS establishment of the TLS protection advertises the REQUIRETLS
capability.</t> capability.</li>
</ol>
</list></t> <t>The SMTP client <bcp14>SHOULD</bcp14> follow the recommendations in
<xref target="RFC7525" format="default"/> or its successor with respect to
<t>The SMTP client SHOULD follow the recommendations in <xref
target="RFC7525"></xref> or its successor with respect to
negotiation of the TLS session.</t> negotiation of the TLS session.</t>
<t>If any of the above steps fail, the client MUST issue a QUIT <t>If any of the above steps fail, the client <bcp14>MUST</bcp14> issu e a QUIT
to the server and repeat steps 2-5 with each host on the to the server and repeat steps 2-5 with each host on the
recipient domain's list of MX hosts in an attempt to find a recipient domain's list of MX hosts in an attempt to find a
mail path that meets the sender's requirements. The client MAY mail path that meets the sender's requirements. The client <bcp14>MAY</bc
send other, unprotected, messages to that server if it has any p14>
prior to issuing the QUIT. If there are no more MX hosts, the send other, unprotected messages to that server if it has any
client MUST NOT transmit the message to the domain. </t> such messages prior to issuing the QUIT. If there are no more MX hosts, t
he
<t>Following such a failure, the SMTP client MUST send a client <bcp14>MUST NOT</bcp14> transmit the message to the domain. </t>
<t>Following such a failure, the SMTP client <bcp14>MUST</bcp14> send
a
non-delivery notification to the reverse-path of the failed non-delivery notification to the reverse-path of the failed
message as described in section 3.6 of <xref target="RFC5321" />. The message, as described in <xref target="RFC5321"
following <xref target="RFC5248">status codes</xref> SHOULD be used: sectionFormat="of" section="3.6"/>. The
following <xref target="RFC5248" format="default">status codes</xref> <bc
<list style="symbols"> p14>SHOULD</bcp14> be used:
<t>REQUIRETLS not supported by server: 5.7.YYY REQUIRETLS </t>
needed</t>
<t>Unable to establish TLS-protected SMTP session: 5.7.10
Encryption needed</t>
</list></t>
<t>Refer to <xref target="errors" /> for further requirements regarding <ul spacing="normal">
<li>REQUIRETLS not supported by server: 5.7.30 REQUIRETLS
support required</li>
<li>Unable to establish TLS-protected SMTP session: 5.7.10
Encryption needed</li>
</ul>
<t>Refer to <xref target="errors" format="default"/> for further requi
rements regarding
non-delivery messages.</t> non-delivery messages.</t>
<t>If all REQUIRETLS requirements have been met, transmit the
<t>If all REQUIRETLS requirements have been met, transmit the
message, issuing the REQUIRETLS option on the MAIL FROM command message, issuing the REQUIRETLS option on the MAIL FROM command
with the required option(s), if any.</t> with the required option(s), if any.</t>
</section>
</section> <section anchor="maytls" numbered="true" toc="default">
<section anchor="maytls" title="Sending with TLS Optional"> <name>Sending with TLS Optional</name>
<t>Messages tagged TLS-Required: No are handled as <t>Messages tagged "TLS-Required: No" are handled as
follows. When sending such a message, the sending (client) follows. When sending such a message, the sending (client)
MTA MUST: MTA <bcp14>MUST</bcp14>:
<list style="symbols"> </t>
<t>Look up the SMTP server to which the message is to be <ul spacing="normal">
sent as described in <xref target="RFC5321"></xref> Section <li>Look up the SMTP server to which the message is to be
5.1.</t> sent, as described in <xref target="RFC5321" sectionFormat="comma" sec
tion="5.1"/>.</li>
<t>Open an SMTP session with the peer SMTP server using the <li>Open an SMTP session with the peer SMTP server using the
EHLO verb. Attempt to negotiate STARTTLS if possible, and EHLO verb. Attempt to negotiate STARTTLS if possible, and
follow any policy published by the recipient domain, but do follow any policy published by the recipient domain, but do
not fail if this is unsuccessful.</t> not fail if this is unsuccessful.</li>
</ul>
</list> <t>Some SMTP servers may be configured to require STARTTLS
</t>
<t>Some SMTP servers may be configured to require STARTTLS
connections as a matter of policy and not accept messages in connections as a matter of policy and not accept messages in
the absence of STARTTLS. A non-delivery notification MUST be the absence of STARTTLS. A non-delivery notification <bcp14>MUST</bcp14> be
returned to the sender if message relay fails due to an returned to the sender if message relay fails due to an
inability to negotiate STARTTLS when required by the inability to negotiate STARTTLS when required by the
server.</t> server.</t>
<t>Since messages tagged with "TLS-Required: No" will sometimes
<t>Since messages tagged with TLS-Required: No will sometimes
be sent to SMTP servers not supporting REQUIRETLS, that be sent to SMTP servers not supporting REQUIRETLS, that
option will not be uniformly observed by all SMTP relay option will not be uniformly observed by all SMTP relay
hops.</t> hops.</t>
</section>
</section>
<section anchor="submission" numbered="true" toc="default">
<name>REQUIRETLS Submission</name>
</section> <t>A Mail User Agent (MUA) or other agent making the initial introductio
n of a
</section>
<section anchor="submission" title="REQUIRETLS Submission">
<t>An MUA or other agent making the initial introduction of a
message has the option to decide whether to require TLS. If message has the option to decide whether to require TLS. If
TLS is to be required, it MUST do so by negotiating STARTTLS TLS is to be required, it <bcp14>MUST</bcp14> do so by negotiating STARTT
and REQUIRETLS and include the REQUIRETLS option on the MAIL LS
and REQUIRETLS and including the REQUIRETLS option on the MAIL
FROM command, as is done for message relay.</t> FROM command, as is done for message relay.</t>
<t>When TLS is not to be required, the sender <bcp14>MUST</bcp14> includ
<t>When TLS is not to be required, the sender MUST include the e the
TLS-Required header field in the message. SMTP servers TLS-Required header field in the message. SMTP servers
implementing this specification MUST interpret this header implementing this specification <bcp14>MUST</bcp14> interpret this header
field as described in <xref target="receipt" />.</t> field as described in <xref target="receipt" format="default"/>.</t>
<t>In either case, the decision whether to specify REQUIRETLS
<t>In either case, the decision whether to specify REQUIRETLS <bcp14>MAY</bcp14> be done based on a user interface selection or based o
MAY be done based on a user interface selection or based on a n a
ruleset or other policy. The manner in which the decision to ruleset or other policy. The manner in which the decision to
require TLS is made is implementation-dependent and is beyond require TLS is made is implementation dependent and is beyond
the scope of this specification.</t> the scope of this specification.</t>
</section> </section>
<section anchor="delivery" numbered="true" toc="default">
<section anchor="delivery" title="Delivery of REQUIRETLS messages"> <name>Delivery of REQUIRETLS messages</name>
<t>Messages are usually retrieved by end users using protocols <t>Messages are usually retrieved by end users using protocols
other than SMTP such as <xref target="RFC3501">IMAP</xref>, other than SMTP such as <xref target="RFC3501" format="default">IMAP</xre
<xref target="RFC1939">POP</xref>, or web mail systems. Mail f>,
delivery agents supporting the REQUIRETLS SMTP option SHOULD <xref target="RFC1939" format="default">POP</xref>, or Web mail systems.
observe the guidelines in <xref target="RFC8314" />.</t> Mail
</section> delivery agents supporting the REQUIRETLS SMTP option <bcp14>SHOULD</bcp1
</section> 4>
observe the guidelines in <xref target="RFC8314" format="default"/>.</t>
<section anchor="errors" title="Non-delivery message handling"> </section>
</section>
<section anchor="errors" numbered="true" toc="default">
<name>Non-delivery Message Handling</name>
<t>Non-delivery ("bounce") messages usually contain important <t>Non-delivery ("bounce") messages usually contain important
metadata about the message to which they refer, including the metadata about the message to which they refer, including the
original message header. They therefore MUST be protected in original message header. They therefore <bcp14>MUST</bcp14> be protected
the same manner as the original message. All non-delivery in
messages resulting from messages with the REQUIRETLS SMTP the same manner as the original message.
option, whether resulting from a REQUIRETLS error or some All non-delivery messages resulting from messages with the REQUIRETLS SMTP
other, MUST also specify the REQUIRETLS SMTP option unless option, whether resulting from a REQUIRETLS error or some other issue, <bcp14
redacted as described below.</t> >MUST</bcp14>
also specify the REQUIRETLS SMTP option unless redacted as described below.
<t>The path from the origination of an error bounce message </t>
<t>The path from the origination of an error bounce message
back to the MAIL FROM address may not share the same REQUIRETLS back to the MAIL FROM address may not share the same REQUIRETLS
support as the forward path. Therefore, users requiring TLS are support as the forward path. Therefore, users requiring TLS are
advised to make sure that they are capable of receiving mail advised to make sure that they are capable of receiving mail
using REQUIRETLS as well. Otherwise, such non-delivery messages using REQUIRETLS as well. Otherwise, such non-delivery messages
will be lost.</t> will be lost.</t>
<t>If a REQUIRETLS message is bounced, the server <bcp14>MUST</bcp14> beha
<t>If a REQUIRETLS message is bounced, the server MUST behave ve
as if RET=HDRS was present as described in <xref as if RET=HDRS was present, as described in <xref target="RFC3461" format
target="RFC3461"></xref>. If both RET=FULL and REQUIRETLS are ="default"/>. If both RET=FULL and REQUIRETLS are
present, the RET=FULL MUST be disregarded. The SMTP client for a present, the RET=FULL <bcp14>MUST</bcp14> be disregarded. The SMTP client
for a
REQUIRETLS bounce message uses an empty MAIL FROM REQUIRETLS bounce message uses an empty MAIL FROM
return-path as required by <xref target="RFC5321"></xref>. When return-path, as required by <xref target="RFC5321" format="default"/>. Wh en
the MAIL FROM return-path is empty, the REQUIRETLS parameter the MAIL FROM return-path is empty, the REQUIRETLS parameter
SHOULD NOT cause a bounce message to be discarded even if the <bcp14>SHOULD NOT</bcp14> cause a bounce message to be discarded even if the
next-hop relay does not advertise REQUIRETLS.</t> next-hop relay does not advertise REQUIRETLS.</t>
<t>Senders of messages requiring TLS are advised to consider
<t>Senders of messages requiring TLS are advised to consider
the possibility that bounce messages will be lost as a result the possibility that bounce messages will be lost as a result
of REQUIRETLS return path failure, and that some information of REQUIRETLS return path failure and that some information
could be leaked if a bounce message is not able to be could be leaked if a bounce message is not able to be
transmitted with REQUIRETLS.</t> transmitted with REQUIRETLS.</t>
</section> </section>
<section anchor="reorigination" numbered="true" toc="default">
<section anchor="reorigination" title="Reorigination considerations"> <name>Reorigination Considerations</name>
<t>In a number of situations, a <xref target="RFC5598" format="default">me
<t>In a number of situations, a <xref target="RFC5598">mediator</xref> diator</xref>
originates a new message as a result of an incoming message. These originates a new message as a result of an incoming message. These
situations include, but are not limited to, mailing lists (including situations include but are not limited to mailing lists (including
administrative traffic such as message approval requests), administrative traffic such as message approval requests),
<xref target="RFC5228">Sieve</xref>, "vacation" responders, and other <xref target="RFC5228" format="default">Sieve</xref>, "vacation" responder s, and other
filters to which incoming filters to which incoming
messages may be piped. These newly originated messages may essentially messages may be piped. These newly originated messages may essentially
be copies of the incoming message, such as with a forwarding service be copies of the incoming message, such as with a forwarding service
or a mailing list expander. In other cases, such as with a vacation or a mailing list expander. In other cases, such as with a vacation
message or a delivery notification, they will be different but might message or a delivery notification, they will be different but might
contain parts of the original message or other information for which contain parts of the original message or other information for which
the original message sender wants to influence the requirement to use the original message sender wants to influence the requirement to use
TLS transmission.</t> TLS transmission.</t>
<t>Mediators that reoriginate messages should apply REQUIRETLS requirement s <t>Mediators that reoriginate messages should apply REQUIRETLS requirement s
in incoming messages (both requiring TLS transmission and requesting in incoming messages (both requiring TLS transmission and requesting
that TLS not be required) to the reoriginated messages to the extent that TLS not be required) to the reoriginated messages to the extent
feasible. A limitation to this might be that for a message requiring feasible. A limitation to this might be that for a message requiring
TLS, redistribution to multiple addresses while retaining the TLS TLS, redistribution to multiple addresses while retaining the TLS
requirement could result in the message not being delivered to some of requirement could result in the message not being delivered to some of
the intended recipients.</t> the intended recipients.</t>
<t>User-side mediators (such as use of Sieve rules on a user agent) <t>User-side mediators (such as use of Sieve rules on a user agent)
typically do not have access to the SMTP details, and therefore may typically do not have access to the SMTP details and therefore may
not be aware of the REQUIRETLS requirement on a delivered message. not be aware of the REQUIRETLS requirement on a delivered message.
Recipients that expect sensitive traffic should avoid the use of Recipients that expect sensitive traffic should avoid the use of
user-side mediators. Alternatively, if operationally feasible (such as whe n user-side mediators. Alternatively, if operationally feasible (such as whe n
forwarding to a specific, known address), they should apply REQUIRETLS forwarding to a specific, known address), they should apply REQUIRETLS
to all reoriginated messages that do not contain the "TLS-Required: No" he ader to all reoriginated messages that do not contain the "TLS-Required: No" he ader
field.</t> field.</t>
</section>
</section> <section anchor="IANA" numbered="true" toc="default">
<name>IANA Considerations</name>
<!-- Possibly a 'Contributors' section ... --> <t>Per this document, IANA has added
the following keyword to the "SMTP Service Extensions" subregistry of the
<section anchor="IANA" title="IANA Considerations"> <xref target="MailParams" format="default">"Mail Parameters" registry</xre
<t>If published as an RFC, this draft requests the addition of f>:</t>
the following keyword to the <xref target="MailParams">SMTP
Service Extensions Registry</xref>:</t>
<figure align="left"><artwork align="left">
Textual name: Require TLS
EHLO keyword value: REQUIRETLS
Syntax and parameters: (no parameters)
Additional SMTP verbs: none
MAIL and RCPT parameters: REQUIRETLS parameter on MAIL
Behavior: Use of the REQUIRETLS parameter on the
MAIL verb causes that message to require
the use of TLS and tagging with
REQUIRETLS for all onward relay.
Command length increment: 11 characters
</artwork></figure>
<t>If published as an RFC, this draft requests the addition of an
entry to the <xref
target="SMTPStatusCodes">Simple Mail Transfer Protocol (SMTP) Enhanced Stat
us
Codes Registry</xref>:</t>
<figure align="left"><artwork align="left">
Code: 5.7.YYY
Sample Text: REQUIRETLS support required
Associated basic status code: 550
Description: This indicates that the message was not
able to be forwarded because it was
received with a REQUIRETLS requirement
and none of the SMTP servers to which
the message should be forwarded provide
this support.
Reference: (this document)
Submitter: J. Fenton
Change controller: IESG
</artwork></figure>
<t>If published as an RFC, this draft requests the addition of
an entry to the <xref
target="PermMessageHeaderFields">Permanent Message Header Field
Names Registry</xref>:</t>
<figure align="left"><artwork align="left">
Header field name: TLS-Required
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document: (this document)
</artwork></figure>
<t>This section is to be updated for publication by
the RFC Editor.</t>
</section>
<section anchor="Security" title="Security Considerations"> <ul empty="true"><li>
<t>The purpose of REQUIRETLS is to give the originator of a <dl newline="false" spacing="compact" indent="30">
<dt>EHLO Keyword:</dt><dd>REQUIRETLS</dd>
<dt>Description:</dt><dd>Require TLS</dd>
<dt>Syntax and parameters:</dt><dd>(no parameters)</dd>
<dt>Additional SMTP verbs:</dt><dd>none</dd>
<dt>MAIL and RCPT parameters:</dt><dd>REQUIRETLS parameter on MAIL</dd>
<dt>Behavior:</dt><dd>Use of the REQUIRETLS parameter on the MAIL verb causes
that message to require the use of TLS and tagging with REQUIRETLS for all onwar
d relay.</dd>
<dt>Command length increment:</dt><dd>11 characters</dd>
</dl>
</li>
</ul>
<t>Per this document, IANA has added an
entry to the "Enumerated Status Codes" subregistry of the <xref target="SMT
PStatusCodes" format="default">"Simple Mail Transfer Protocol (SMTP) Enhanced St
atus
Codes Registry"</xref>:</t>
<ul empty="true"><li>
<dl newline="false" spacing="compact" indent="30">
<dt>Code:</dt><dd>X.7.30</dd>
<dt>Sample Text:</dt><dd>REQUIRETLS support required</dd>
<dt>Associated basic status code:</dt><dd>550</dd>
<dt>Description:</dt><dd>This indicates that the message was not able to be
forwarded because it was received with a REQUIRETLS requirement and none of
the SMTP servers to which the message should be forwarded provide this support.<
/dd>
<dt>Reference:</dt><dd>RFC 8689</dd>
<dt>Submitter:</dt><dd>J. Fenton</dd>
<dt>Change Controller:</dt><dd>IESG</dd>
</dl>
</li>
</ul>
<t>Per this document, IANA has added
an entry to the "Permanent Message Header Field
Names" subregistry of the <xref target="MessageHeaders"
format="default">"Message Headers" registry</xref> as follows:</t>
<ul empty="true"><li>
<dl newline="false" spacing="compact" indent="30">
<dt>Header field name:</dt><dd>TLS-Required</dd>
<dt>Applicable protocol:</dt><dd>mail</dd>
<dt>Status:</dt><dd>standard</dd>
<dt>Author/change controller:</dt><dd>IETF</dd>
<dt>Specification document:</dt><dd>RFC 8689</dd>
</dl>
</li>
</ul>
</section>
<section anchor="Security" numbered="true" toc="default">
<name>Security Considerations</name>
<t>The purpose of REQUIRETLS is to give the originator of a
message control over the security of email they send, either by message control over the security of email they send, either by
conveying an expectation that it will be transmitted in an conveying an expectation that it will be transmitted in an
encrypted form "over the wire" or explicitly that transport encrypted form over the wire or explicitly indicating that transport
encryption is not required if it cannot be successfully encryption is not required if it cannot be successfully
negotiated.</t> negotiated.</t>
<t>The following considerations apply to the REQUIRETLS service
<t>The following considerations apply to the REQUIRETLS service
extension but not the TLS-Required header field, since messages extension but not the TLS-Required header field, since messages
specifying the header field are less concerned with transport specifying the header field are less concerned with transport
security.</t> security.</t>
<section anchor="Passive" numbered="true" toc="default">
<section anchor="Passive" title="Passive attacks"> <name>Passive Attacks</name>
<t>REQUIRETLS is generally effective against passive <t>REQUIRETLS is generally effective against passive
attackers who are merely trying to eavesdrop on an SMTP attackers who are merely trying to eavesdrop on an SMTP
exchange between an SMTP client and server. This assumes, of exchange between an SMTP client and server. This assumes, of
course, the cryptographic integrity of the TLS connection course, the cryptographic integrity of the TLS connection
being used.</t> being used.</t>
</section> </section>
<section anchor="Active" numbered="true" toc="default">
<section anchor="Active" title="Active attacks"> <name>Active Attacks</name>
<t>Active attacks against TLS-encrypted SMTP connections can
<t>Active attacks against TLS encrypted SMTP connections can
take many forms. One such attack is to interfere in the take many forms. One such attack is to interfere in the
negotiation by changing the STARTTLS command to something negotiation by changing the STARTTLS command to something
illegal such as XXXXXXXX. This causes TLS negotiation to fail illegal such as XXXXXXXX. This causes TLS negotiation to fail
and messages to be sent in the clear, where they can be and messages to be sent in the clear, where they can be
intercepted. REQUIRETLS detects the failure of STARTTLS and intercepted. REQUIRETLS detects the failure of STARTTLS and
declines to send the message rather than send it declines to send the message rather than send it
insecurely.</t> insecurely.</t>
<t>A second form of attack is a man-in-the-middle attack
<t>A second form of attack is a man-in-the-middle attack
where the attacker terminates the TLS connection rather than where the attacker terminates the TLS connection rather than
the intended SMTP server. This is possible when, as is the intended SMTP server. This is possible when, as is
commonly the case, the SMTP client either does not verify the commonly the case, the SMTP client either does not verify the
server's certificate or establishes the connection even when server's certificate or establishes the connection even when
the verification fails. REQUIRETLS requires successful the verification fails. REQUIRETLS requires successful
certificate validation before sending the message.</t> certificate validation before sending the message.</t>
<t>Another active attack involves the spoofing of DNS MX
<t>Another active attack involves the spoofing of DNS MX records of the recipient domain. An attacker with this
records of the recipient domain. An attacker having this
capability could potentially cause the message to be redirected to a mai l capability could potentially cause the message to be redirected to a mai l
server under the attacker's own control, which would server under the attacker's own control, which would
presumably have a valid certificate. REQUIRETLS requires that presumably have a valid certificate. REQUIRETLS requires that
the recipient domain's MX record lookup be validated either the recipient domain's MX record lookup be validated either
using DNSSEC or via a published MTA-STS policy that specifies using DNSSEC or via a published MTA-STS policy that specifies
the acceptable SMTP server hostname(s) for the recipient domain.</t> the acceptable SMTP server hostname(s) for the recipient domain.</t>
</section>
</section> <section anchor="badactor" numbered="true" toc="default">
<name>Bad-Actor MTAs</name>
<section anchor="badactor" title="Bad Actor MTAs"> <t>A bad-actor MTA along the message transmission path could
<t>A bad-actor MTA along the message transmission path could
misrepresent its support of REQUIRETLS and/or actively strip misrepresent its support of REQUIRETLS and/or actively strip
REQUIRETLS tags from messages it handles. However, since REQUIRETLS tags from messages it handles. However, since
intermediate MTAs are already trusted with the cleartext of intermediate MTAs are already trusted with the cleartext of
messages they handle, and are not part of the threat model messages they handle, and are not part of the threat model
for transport-layer security, they are also not part of the for transport-layer security, they are also not part of the
threat model for REQUIRETLS.</t> threat model for REQUIRETLS.</t>
<t>It should be reemphasized that since SMTP TLS is a
<t>It should be reemphasized that since SMTP TLS is a
transport-layer security protocol, messages sent using transport-layer security protocol, messages sent using
REQUIRETLS are not encrypted end-to-end and are visible to REQUIRETLS are not encrypted end-to-end and are visible to
MTAs that are part of the message delivery path. Messages MTAs that are part of the message delivery path. Messages
containing sensitive information that MTAs should not have containing sensitive information that MTAs should not have
access to MUST be sent using end-to-end content encryption access to <bcp14>MUST</bcp14> be sent using end-to-end content encryptio
such as <xref target="RFC4880">OpenPGP</xref> or <xref n
target="RFC8551">S/MIME</xref>.</t> such as <xref target="RFC4880" format="default">OpenPGP</xref> or <xref
</section> target="RFC8551" format="default">S/MIME</xref>.</t>
</section>
<section anchor="conflicts" title="Policy Conflicts"> <section anchor="conflicts" numbered="true" toc="default">
<name>Policy Conflicts</name>
<t>In some cases, the use of the TLS-Required header field may conflict <t>In some cases, the use of the TLS-Required header field may conflict
with a recipient domain policy expressed through the <xref with a recipient domain policy expressed through the <xref target="RFC7672" form
target="RFC7672">DANE</xref> or <xref target="RFC8461">MTA-STS</xref> protocols. at="default">DANE</xref> or <xref target="RFC8461" format="default">MTA-STS</xre
f> protocols.
Although these protocols encourage the use of TLS transport by advertising Although these protocols encourage the use of TLS transport by advertising
availability of TLS, the use of "TLS-Required: No" header field represents an the availability of TLS, the use of the "TLS-Required: No" header field represen ts an
explicit decision on the part of the sender not to require the use of TLS, such explicit decision on the part of the sender not to require the use of TLS, such
as to overcome a configuration error. The recipient domain has the ultimate as to overcome a configuration error. The recipient domain has the ultimate
ability to require TLS by not accepting messages when STARTTLS has not been ability to require TLS by not accepting messages when STARTTLS has not been
negotiated; otherwise, "TLS-Required: No" is effectively directing the client negotiated; otherwise, "TLS-Required: No" is effectively directing the client
MTA to behave as if it does not support DANE nor MTA-STS.</t> MTA to behave as if it does not support DANE or MTA-STS.</t>
</section> </section>
</section> </section>
</middle>
<back>
<references>
<name>References</name>
<references>
<name>Normative References</name>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.2119.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.3207.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.4033.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.4034.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.4035.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.3461.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.5234.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.5248.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.5321.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.5322.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.6125.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.7525.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.7672.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8174.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8314.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8461.xml"/>
<section anchor="acknowledgements" title="Acknowledgements"> <reference anchor="MailParams" target="http://www.iana.org/assignments/m
<t>The author would like to acknowledge many helpful suggestions ail-parameters">
on the ietf-smtp and uta mailing lists, in particular those of <front>
Viktor Dukhovni, Chris Newman, Tony Finch, Jeremy Harris, Arvel <title>Mail Parameters</title>
Hathcock, John Klensin, Barry Leiba, John Levine, Rolf Sonneveld, <author>
and Per Thorsheim.</t> <organization>IANA</organization>
</author>
</section> </front>
</reference>
<section anchor="history" title="Revision History">
<t>To be removed by RFC Editor upon publication as an RFC.</t>
<section title="Changes since -08 Draft">
<t>Additional changes in response to IESG review:</t>
<t><list style="symbols">
<t>Unify wording describing TLS-Required in Appendix A.2.</t>
<t>Add specifics on verification of mail server hostnames with
certificates.</t>
<t>Wording tweak in 4.3 to emphasize optional nature of REQUIRETLS.</t>
<t>Update S/MIME reference from RFC 5751 to 8551</t>
</list></t></section>
<section title="Changes since -07 Draft">
<t>Changes in response to IESG review and IETF Last Call comments:</t>
<t><list style="symbols">
<t>Change associated status code for 5.7.YYY from 530 to
550.</t>
<t>Correct textual name of extension in IANA Considerations
for consistency with the rest of the document.</t>
<t>Remove special handling of bounce messages in Section
4.1.</t>
<t>Change name of header field from RequireTLS to
TLS-Required and make capitalization of parameter
consistent.</t>
<t>Remove mention of transforming RET=FULL to RET=HDRS on
relay in Section 5.</t>
<t>Replace Section 6 dealing with mailing lists with a more
general section on reorigination by mediators.</t>
<t>Add security considerations section on policy conflicts.</t>
</list></t>
</section>
<section title="Changes since -06 Draft">
<t>Various changes in response to AD review:</t>
<t><list style="symbols">
<t>Reference RFC 7525 for TLS negotiation
recommendations.</t>
<t>Make reference to requested 5.7.YYY error code
consistent.</t>
<t>Clarify applicability to LMTP and submission.</t>
<t>Provide ABNF for syntax of SMTP option and header field
and examples in Appendix A.</t>
<t>Correct use of normative language in Section 5.</t>
<t>Clarify case where REQUIRETLS option is used on bounce
messages.</t>
<t>Improve Security Requirements wording to be inclusive of
both SMTP option and header field.</t>
</list></t>
</section>
<section title="Changes since -05 Draft">
<t>Corrected IANA Permanent Message Header Fields Registry
request.</t>
</section>
<section title="Changes since -04 Draft">
<t>Require validation of SMTP server hostname via DNSSEC or
MTA-STS policy when TLS is required.</t>
</section>
<section title="Changes since -03 Draft">
<t>Working Group Last Call changes, including:</t>
<t><list style="symbols">
<t>Correct reference for SMTP DANE</t>
<t>Clarify that RequireTLS: NO applies to both MTA-STS and
DANE policies</t>
<t>Correct newly-defined status codes</t>
<t>Update MTA-STS references to RFC</t>
</list></t>
</section>
<section title="Changes since -02 Draft">
<t><list style="symbols">
<t>More complete documentation for IANA registration requests.</t>
<t>Changed bounce handling to use RET parameters of <xref
target="RFC3461"></xref>, along with slightly more liberal transmission of
bounces even if REQUIRETLS can't be negotiated.</t>
</list></t>
</section>
<section title="Changes since -01 Draft">
<t><list style="symbols">
<t>Converted DEEP references to RFC 8314.</t>
<t>Removed REQUIRETLS options: CHAIN, DANE, and DNSSEC.</t>
<t>Editorial corrections, notably making the header field
name consistent (RequireTLS rather than Require-TLS).</t>
</list></t>
</section>
<section title="Changes since -00 Draft">
<t><list style="symbols">
<t>Created new header field, Require-TLS, for use by "NO"
option.</t>
<t>Removed "NO" option from SMTP service extension.</t>
<t>Recommend DEEP requirements for delivery of messages
requiring TLS.</t>
<t>Assorted copy edits</t>
</list></t>
</section>
<section title="Changes since fenton-03 Draft">
<t><list style="symbols">
<t>Wording improvements from Rolf Sonneveld review 22 July
2017</t>
<t>A few copy edits</t>
<t>Conversion from individual to UTA WG draft</t>
</list></t>
</section>
<section title="Changes Since -02 Draft">
<t><list style="symbols">
<t>Incorporation of "MAY TLS" functionality as
REQUIRETLS=NO per suggestion on UTA WG mailing list.</t>
<t>Additional guidance on bounce messages</t>
</list></t>
</section>
<section title="Changes Since -01 Draft">
<t><list style="symbols">
<t>Specified retries when multiple MX hosts exist for a
given domain.</t>
<t>Clarified generation of non-delivery messages</t>
<t>Specified requirements for application of REQUIRETLS to mail forwar
ders
and mailing lists.</t>
<t>Clarified DNSSEC requirements to include MX lookup only.</t>
<t>Corrected terminology regarding message retrieval
vs. delivery.</t>
<t>Changed category to standards track.</t>
</list></t>
</section>
<section title="Changes Since -00 Draft">
<t><list style="symbols">
<t>Conversion of REQUIRETLS from an SMTP verb to a MAIL FROM
parameter to better associate REQUIRETLS requirements with
transmission of individual messages.</t>
<t>Addition of an option to require DNSSEC lookup of the
remote mail server, since this affects the common name of the
certificate that is presented.</t>
<t>Clarified the wording to more clearly state that TLS
sessions must be established and not simply that STARTTLS is
negotiated.</t>
<t>Introduced need for minimum encryption standards (key
lengths and algorithms)</t>
<t>Substantially rewritten Security Considerations section</t>
</list></t>
</section>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries from the citation libraries
:
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (
as shown)
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml
"?> here
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.x
ml")
Both are cited textually in the same manner: by using xref elements.
If you use the PI option, xml2rfc will, by default, try to find included fil
es in the same
directory as the including file. You can also define the XML_LIBRARY environ
ment variable
with a value containing a set of directories to search. These can be either
in the local
filing system or remote ones accessed by http (http://domain/dir/... ).-->
<references title="Normative References">
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2
119.xml"?-->
&RFC2119;
&RFC3207;
&RFC4033;
&RFC4034;
&RFC4035;
&RFC3461;
&RFC5234;
&RFC5248;
&RFC5321;
&RFC5322;
&RFC6125;
&RFC7525;
&RFC7672;
&RFC8174;
&RFC8314;
&RFC8461;
<!-- [rfced] [MailParams] This URL is correct -->
<reference anchor="MailParams"
target="http://www.iana.org/assignments/mail-parameters">
<front>
<title>IANA Mail Parameters</title>
<author>
<organization>Internet Assigned Numbers Authority (IANA)</organizatio
n>
</author>
<date year="2007" />
</front>
</reference>
<!-- [rfced] [SMTPStatusCodes] This URL is correct -->
<reference anchor="SMTPStatusCodes" <reference anchor="SMTPStatusCodes" target="https://www.iana.org/assignm
target="http://www.iana.org/assignments/smtp-enhanced-status-cod ents/smtp-enhanced-status-codes">
es"> <front>
<front> <title>Simple Mail Transfer Protocol (SMTP) Enhanced Status
<title>Simple Mail Transfer Protocol (SMTP) Enhanced Status
Codes Registry</title> Codes Registry</title>
<author>
<organization>IANA</organization>
</author>
</front>
</reference>
<author> <reference anchor="MessageHeaders" target="https://www.iana.org/assignme
<organization>Internet Assigned Numbers Authority (IANA)</organizatio nts/message-headers">
n> <front>
</author> <title>Permanent Message Header Field Names</title>
<author>
<date year="2008" /> <organization>IANA</organization>
</front> </author>
</reference> </front>
</reference>
<!-- [rfced] [PermMessageHeaderFields] This URL is correct --> </references>
<references>
<reference anchor="PermMessageHeaderFields" <name>Informative References</name>
target="https://www.iana.org/assignments/message-headers/message <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
-headers.xhtml#perm-headers"> ence.RFC.1939.xml"/>
<front> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
<title>Permanent Message Header Field Names Registry</title> ence.RFC.2033.xml"/>
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
<author> ence.RFC.3501.xml"/>
<organization>Internet Assigned Numbers Authority (IANA)</organizatio <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
n> ence.RFC.4880.xml"/>
</author> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.5228.xml"/>
<date year="2004" /> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
</front> ence.RFC.5598.xml"/>
</reference> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.6409.xml"/>
</references> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer
ence.RFC.8551.xml"/>
<references title="Informative References"> </references>
<!-- Here we use entities that we defined at the beginning. --> </references>
&RFC1939;
&RFC2033;
&RFC3501;
&RFC4880;
&RFC5228;
&RFC5598;
&RFC6409;
&RFC8551;
</references>
<section title="Examples"> <section numbered="true" toc="default">
<t>This section is informative.</t> <name>Examples</name>
<section title="REQUIRETLS SMTP Option"> <t>This section is informative.</t>
<t>The TLS-Required SMTP option is used to express the intent of <section numbered="true" toc="default">
the sender that the associated message be relayed using TLS. In <name>REQUIRETLS SMTP Option</name>
the following example, lines beginning with C: are transmitted <t>The TLS-Required SMTP option is used to express the intention of
from the SMTP client to the server, and lines beginning with S: the sender to have the associated message relayed using TLS. In
the following example, lines beginning with "C:" are transmitted
from the SMTP client to the server, and lines beginning with "S:"
are transmitted in the opposite direction.</t> are transmitted in the opposite direction.</t>
<figure> <artwork name="" type="" align="left" alt=""><![CDATA[
<artwork>
S: 220 mail.example.net ESMTP S: 220 mail.example.net ESMTP
C: EHLO mail.example.org C: EHLO mail.example.org
S: 250-mail.example.net Hello example.org [192.0.2.1] S: 250-mail.example.net Hello example.org [192.0.2.1]
S: 250-SIZE 52428800 S: 250-SIZE 52428800
S: 250-8BITMIME S: 250-8BITMIME
S: 250-PIPELINING S: 250-PIPELINING
S: 250-STARTTLS S: 250-STARTTLS
S: 250 HELP S: 250 HELP
C: STARTTLS C: STARTTLS
S: TLS go ahead S: TLS go ahead
]]></artwork>
<t>(at this point TLS negotiation takes place. The remainder of this
session occurs within TLS.)</t>
(at this point TLS negotiation takes place. The remainder of this <artwork name="" type="" align="left" alt=""><![CDATA[
session occurs within TLS.)
S: 220 mail.example.net ESMTP S: 220 mail.example.net ESMTP
C: EHLO mail.example.org C: EHLO mail.example.org
S: 250-mail.example.net Hello example.org [192.0.2.1] S: 250-mail.example.net Hello example.org [192.0.2.1]
S: 250-SIZE 52428800 S: 250-SIZE 52428800
S: 250-8BITMIME S: 250-8BITMIME
S: 250-PIPELINING S: 250-PIPELINING
S: 250-REQUIRETLS S: 250-REQUIRETLS
S: 250 HELP S: 250 HELP
C: MAIL FROM:&lt;roger@example.org> REQUIRETLS C: MAIL FROM:<roger@example.org> REQUIRETLS
S: 250 OK S: 250 OK
C: RCPT TO:&lt;editor@example.net> C: RCPT TO:<editor@example.net>
S: 250 Accepted S: 250 Accepted
C: DATA C: DATA
S: 354 Enter message, ending with "." on a line by itself S: 354 Enter message, ending with "." on a line by itself
]]></artwork>
(message follows) <t>(message follows)</t>
<artwork name="" type="" align="left" alt=""><![CDATA[
C: . C: .
S: 250 OK S: 250 OK
C: QUIT C: QUIT
</artwork> ]]></artwork>
</figure> </section>
</section> <section numbered="true" toc="default">
<section title="TLS-Required Header Field"> <name>TLS-Required Header Field</name>
<t>The TLS-Required header field is used when the sender requests <t>The TLS-Required header field is used when the sender requests
that the mail system not heed a default policy of the recipient that the mail system not heed a default policy of the recipient
domain requiring TLS. It might be used, for example, to allow domain requiring TLS. It might be used, for example, to allow
problems with the recipient domain's TLS certificate to be problems with the recipient domain's TLS certificate to be
reported:</t> reported:</t>
<figure> <artwork name="" type="" align="left" alt=""><![CDATA[
<artwork> From: Roger Reporter <roger@example.org>
From: Roger Reporter &lt;roger@example.org> To: Andy Admin <admin@example.com>
To: Andy Admin &lt;admin@example.com>
Subject: Certificate problem? Subject: Certificate problem?
TLS-Required: No TLS-Required: No
Date: Fri, 18 Jan 2019 10:26:55 -0800 Date: Fri, 18 Jan 2019 10:26:55 -0800
Message-ID: &lt;5c421a6f79c0e_d153ff8286d45c468473@mail.example.org> Message-ID: <5c421a6f79c0e_d153ff8286d45c468473@mail.example.org>
Andy, there seems to be a problem with the TLS certificate Andy, there seems to be a problem with the TLS certificate
on your mail server. Are you aware of this? on your mail server. Are you aware of this?
Roger Roger ]]></artwork>
</artwork> </section>
</figure> </section>
</section>
</section> <section anchor="acknowledgements" numbered="false" toc="default">
</back> <name>Acknowledgements</name>
<t>
The author would like to acknowledge many helpful suggestions on the
ietf-smtp and uta mailing lists, in particular those of Viktor Dukhovni,
Tony Finch, Jeremy Harris, Arvel Hathcock, John Klensin, Barry Leiba, John
Levine, Chris Newman, Rolf Sonneveld, and Per Thorsheim.
</t>
</section>
</back>
</rfc> </rfc>
 End of changes. 103 change blocks. 
832 lines changed or deleted 510 lines changed or added

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