rfc8314v1.txt   rfc8314.txt 
Internet Engineering Task Force (IETF) K. Moore Internet Engineering Task Force (IETF) K. Moore
Request for Comments: 8314 Windrock, Inc. Request for Comments: 8314 Windrock, Inc.
Updates: 1939, 2595, 3464, 3501, 5068, C. Newman Updates: 1939, 2595, 3501, 5068, 6186, C. Newman
6186, 6409 Oracle 6409 Oracle
Category: Standards Track January 2018 Category: Standards Track January 2018
ISSN: 2070-1721 ISSN: 2070-1721
Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) Cleartext Considered Obsolete: Use of Transport Layer Security (TLS)
for Email Submission and Access for Email Submission and Access
Abstract Abstract
This specification outlines current recommendations for the use of This specification outlines current recommendations for the use of
Transport Layer Security (TLS) to provide confidentiality of email Transport Layer Security (TLS) to provide confidentiality of email
traffic between a Mail User Agent (MUA) and a mail submission server traffic between a Mail User Agent (MUA) and a mail submission server
or mail access server. This document updates RFCs 1939, 2595, 3464, or mail access server. This document updates RFCs 1939, 2595, 3501,
3501, 5068, 6186, and 6409. 5068, 6186, and 6409.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
skipping to change at page 2, line 8 skipping to change at page 2, line 8
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 . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Terminology Used in This Document . . . . . . 3 1.1. How This Document Updates Previous RFCs . . . . . . . . . 3
3. Implicit TLS . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions and Terminology Used in This Document . . . . . . 4
3. Implicit TLS . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Implicit TLS for POP . . . . . . . . . . . . . . . . . . 5 3.1. Implicit TLS for POP . . . . . . . . . . . . . . . . . . 5
3.2. Implicit TLS for IMAP . . . . . . . . . . . . . . . . . . 5 3.2. Implicit TLS for IMAP . . . . . . . . . . . . . . . . . . 5
3.3. Implicit TLS for SMTP Submission . . . . . . . . . . . . 5 3.3. Implicit TLS for SMTP Submission . . . . . . . . . . . . 6
3.4. Implicit TLS Connection Closure for POP, IMAP, and SMTP 3.4. Implicit TLS Connection Closure for POP, IMAP, and SMTP
Submission . . . . . . . . . . . . . . . . . . . . . . . 6 Submission . . . . . . . . . . . . . . . . . . . . . . . 7
4. Use of TLS by Mail Access Services and Message Submission 4. Use of TLS by Mail Access Servers and Message Submission
Services . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Deprecation of Services Using Cleartext and TLS Versions 4.1. Deprecation of Services Using Cleartext and TLS Versions
Less Than 1.1 . . . . . . . . . . . . . . . . . . . . . . 8 Less Than 1.1 . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Mail Server Use of Client Certificate Authentication . . 9 4.2. Mail Server Use of Client Certificate Authentication . . 9
4.3. Recording TLS Cipher Suite in "Received" Header . . . . . 9 4.3. Recording TLS Ciphersuite in "Received" Header Field . . 9
4.4. TLS Server Certificate Requirements . . . . . . . . . . . 10 4.4. TLS Server Certificate Requirements . . . . . . . . . . . 10
4.5. Recommended DNS Records for Mail Protocol Servers . . . . 10 4.5. Recommended DNS Records for Mail Protocol Servers . . . . 11
4.5.1. MX Records . . . . . . . . . . . . . . . . . . . . . 10 4.5.1. MX Records . . . . . . . . . . . . . . . . . . . . . 11
4.5.2. SRV Records . . . . . . . . . . . . . . . . . . . . . 10 4.5.2. SRV Records . . . . . . . . . . . . . . . . . . . . . 11
4.5.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 11 4.5.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 11
4.5.4. TLSA Records . . . . . . . . . . . . . . . . . . . . 11 4.5.4. TLSA Records . . . . . . . . . . . . . . . . . . . . 11
4.6. Changes to Internet-Facing Servers . . . . . . . . . . . 11 4.6. Changes to Internet-Facing Servers . . . . . . . . . . . 11
5. Use of TLS by Mail User Agents . . . . . . . . . . . . . . . 11 5. Use of TLS by Mail User Agents . . . . . . . . . . . . . . . 11
5.1. Use of SRV Records in Establishing Configuration . . . . 12 5.1. Use of SRV Records in Establishing Configuration . . . . 13
5.2. Minimum Confidentiality Level . . . . . . . . . . . . . . 13 5.2. Minimum Confidentiality Level . . . . . . . . . . . . . . 14
5.3. Certificate Validation . . . . . . . . . . . . . . . . . 14 5.3. Certificate Validation . . . . . . . . . . . . . . . . . 15
5.4. Certificate Pinning . . . . . . . . . . . . . . . . . . . 15 5.4. Certificate Pinning . . . . . . . . . . . . . . . . . . . 15
5.5. Client Certificate Authentication . . . . . . . . . . . . 15 5.5. Client Certificate Authentication . . . . . . . . . . . . 16
6. Considerations Related to Antivirus/Antispam Software and 6. Considerations Related to Antivirus/Antispam Software and
Services . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Services . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
7.1. POP3S Port Registration Update . . . . . . . . . . . . . 17 7.1. POP3S Port Registration Update . . . . . . . . . . . . . 17
7.2. IMAPS Port Registration Update . . . . . . . . . . . . . 17 7.2. IMAPS Port Registration Update . . . . . . . . . . . . . 17
7.3. Submissions Port Registration . . . . . . . . . . . . . . 17 7.3. Submissions Port Registration . . . . . . . . . . . . . . 18
7.4. Additional Registered Clauses for "Received" Fields . . . 18 7.4. Additional Registered Clauses for "Received" Fields . . . 19
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.1. Normative References . . . . . . . . . . . . . . . . . . 19 9.1. Normative References . . . . . . . . . . . . . . . . . . 19
9.2. Informative References . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . 21
Appendix A. Design Considerations . . . . . . . . . . . . . . . 22 Appendix A. Design Considerations . . . . . . . . . . . . . . . 23
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 24 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
Software that provides email service via the Internet Message Access Software that provides email service via the Internet Message Access
Protocol (IMAP) [RFC3501], the Post Office Protocol (POP) [RFC1939], Protocol (IMAP) [RFC3501], the Post Office Protocol (POP) [RFC1939],
and/or Simple Mail Transfer Protocol (SMTP) Submission [RFC6409] and/or Simple Mail Transfer Protocol (SMTP) Submission [RFC6409]
usually has Transport Layer Security (TLS) [RFC5246] support but usually has Transport Layer Security (TLS) [RFC5246] support but
often does not use it in a way that maximizes end-user often does not use it in a way that maximizes end-user
confidentiality. This specification describes current confidentiality. This specification describes current
recommendations for the use of TLS in interactions between Mail User recommendations for the use of TLS in interactions between Mail User
skipping to change at page 3, line 42 skipping to change at page 3, line 42
This memo does not address the use of TLS with SMTP for message relay This memo does not address the use of TLS with SMTP for message relay
(where Message Submission [RFC6409] does not apply). Improving the (where Message Submission [RFC6409] does not apply). Improving the
use of TLS with SMTP for message relay requires a different approach. use of TLS with SMTP for message relay requires a different approach.
One approach to address that topic is described in [RFC7672]; another One approach to address that topic is described in [RFC7672]; another
is provided in [MTA-STS]. is provided in [MTA-STS].
The recommendations in this memo do not replace the functionality of, The recommendations in this memo do not replace the functionality of,
and are not intended as a substitute for, end-to-end encryption of and are not intended as a substitute for, end-to-end encryption of
electronic mail. electronic mail.
1.1. How This Document Updates Previous RFCs
This document updates POP (RFC 1939), IMAP (RFC 3501), and Submission
(RFC 6409, RFC 5068) in two ways:
1. By adding Implicit TLS ports as Standards Track ports for these
protocols as described in Section 3.
2. By updating TLS best practices that apply to these protocols as
described in Sections 4 and 5.
This document updates RFC 2595 by replacing Section 7 of RFC 2595
with the preference for Implicit TLS as described in Sections 1 and 3
of this document, as well as by updating TLS best practices that
apply to the protocols in RFC 2595 as described in Sections 4 and 5
of this document.
This document updates RFC 6186 as described herein, in Section 5.1.
2. Conventions and Terminology Used in This Document 2. Conventions and Terminology Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
The term "Implicit TLS" refers to the automatic negotiation of TLS The term "Implicit TLS" refers to the automatic negotiation of TLS
whenever a TCP connection is made on a particular TCP port that is whenever a TCP connection is made on a particular TCP port that is
used exclusively by that server for TLS connections. The term used exclusively by that server for TLS connections. The term
"Implicit TLS" is intended to contrast with the use of STARTTLS and "Implicit TLS" is intended to contrast with the use of STARTTLS and
similar commands in POP, IMAP, SMTP message submission, and other similar commands in POP, IMAP, SMTP Message Submission, and other
protocols, that are used by the client and the server to explicitly protocols, that are used by the client and the server to explicitly
negotiate TLS on an established cleartext TCP connection. negotiate TLS on an established cleartext TCP connection.
The term "Mail Access Services" includes POP, IMAP, and any other The term "Mail Access Server" refers to a server for POP, IMAP, and
protocol used to access or modify received messages, or to access or any other protocol used to access or modify received messages, or to
modify a mail user's account configuration. access or modify a mail user's account configuration.
The term "Mail Submission Service" refers to the use of the protocol The term "Mail Submission Server" refers to a server for the protocol
specified in [RFC6409] (or one of its predecessors or successors) for specified in [RFC6409] (or one of its predecessors or successors) for
submission of outgoing messages for delivery to recipients. submission of outgoing messages for delivery to recipients.
The term "Mail Service Provider" (or "MSP") refers to a provider of The term "Mail Service Provider" (or "MSP") refers to an operator of
Mail Access Services and/or Mail Submission Services. Mail Access Servers and/or Mail Submission Servers.
The term "Mail Account" refers to a user's identity with an MSP, that The term "Mail Account" refers to a user's identity with an MSP, that
user's authentication credentials, any user email that is stored by user's authentication credentials, any user email that is stored by
the MSP, and any other per-user configuration information maintained the MSP, and any other per-user configuration information maintained
by the MSP (for example, instructions for filtering spam). Most MUAs by the MSP (for example, instructions for filtering spam). Most MUAs
support the ability to access multiple Mail Accounts. support the ability to access multiple Mail Accounts.
For each account that an MUA accesses on its user's behalf, it must For each account that an MUA accesses on its user's behalf, it must
have the server names, ports, authentication credentials, and other have the server names, ports, authentication credentials, and other
configuration information specified by the user. This information, configuration information specified by the user. This information,
skipping to change at page 5, line 5 skipping to change at page 5, line 25
determines whether to issue a STARTTLS command based on server determines whether to issue a STARTTLS command based on server
capabilities and client configuration. If the client issues a capabilities and client configuration. If the client issues a
STARTTLS command, a TLS handshake follows that can upgrade the STARTTLS command, a TLS handshake follows that can upgrade the
connection. Although this mechanism has been deployed, an alternate connection. Although this mechanism has been deployed, an alternate
mechanism where TLS is negotiated immediately at connection start on mechanism where TLS is negotiated immediately at connection start on
a separate port (referred to in this document as "Implicit TLS") has a separate port (referred to in this document as "Implicit TLS") has
been deployed more successfully. To encourage more widespread use of been deployed more successfully. To encourage more widespread use of
TLS and to also encourage greater consistency regarding how TLS is TLS and to also encourage greater consistency regarding how TLS is
used, this specification now recommends the use of Implicit TLS for used, this specification now recommends the use of Implicit TLS for
POP, IMAP, SMTP Submission, and all other protocols used between an POP, IMAP, SMTP Submission, and all other protocols used between an
MUA and a mail service. MUA and an MSP.
3.1. Implicit TLS for POP 3.1. Implicit TLS for POP
When a TCP connection is established for the "pop3s" service (default When a TCP connection is established for the "pop3s" service (default
port 995), a TLS handshake begins immediately. Clients MUST port 995), a TLS handshake begins immediately. Clients MUST
implement the certificate validation mechanism described in implement the certificate validation mechanism described in
[RFC7817]. Once the TLS session is established, POP3 [RFC1939] [RFC7817]. Once the TLS session is established, POP3 [RFC1939]
protocol messages are exchanged as TLS application data for the protocol messages are exchanged as TLS application data for the
remainder of the TCP connection. After the server sends a +OK remainder of the TCP connection. After the server sends an +OK
greeting, the server and client MUST enter the AUTHORIZATION state, greeting, the server and client MUST enter the AUTHORIZATION state,
even if a client certificate was supplied during the TLS handshake. even if a client certificate was supplied during the TLS handshake.
See Sections 5.5 and 4.2 for additional information on client See Sections 5.5 and 4.2 for additional information on client
certificate authentication. See Section 7.1 for port registration certificate authentication. See Section 7.1 for port registration
information. information.
3.2. Implicit TLS for IMAP 3.2. Implicit TLS for IMAP
When a TCP connection is established for the "imaps" service (default When a TCP connection is established for the "imaps" service (default
port 993), a TLS handshake begins immediately. Clients MUST port 993), a TLS handshake begins immediately. Clients MUST
implement the certificate validation mechanism described in implement the certificate validation mechanism described in
[RFC7817]. Once the TLS session is established, IMAP [RFC3501] [RFC7817]. Once the TLS session is established, IMAP [RFC3501]
protocol messages are exchanged as TLS application data for the protocol messages are exchanged as TLS application data for the
remainder of the TCP connection. If a client certificate was remainder of the TCP connection. If a client certificate was
provided during the TLS handshake that the server finds acceptable, provided during the TLS handshake that the server finds acceptable,
the server MAY issue a PREAUTH greeting, in which case both the the server MAY issue a PREAUTH greeting, in which case both the
server and the client enter the AUTHENTICATED state. If the server server and the client enter the AUTHENTICATED state. If the server
issues an OK greeting, then both the server and the client enter the issues an +OK greeting, then both the server and the client enter the
NOT AUTHENTICATED state. NOT AUTHENTICATED state.
See Sections 5.5 and 4.2 for additional information on client See Sections 5.5 and 4.2 for additional information on client
certificate authentication. See Section 7.2 for port registration certificate authentication. See Section 7.2 for port registration
information. information.
3.3. Implicit TLS for SMTP Submission 3.3. Implicit TLS for SMTP Submission
When a TCP connection is established for the "submissions" service When a TCP connection is established for the "submissions" service
(default port 465), a TLS handshake begins immediately. Clients MUST (default port 465), a TLS handshake begins immediately. Clients MUST
implement the certificate validation mechanism described in implement the certificate validation mechanism described in
[RFC7817]. Once the TLS session is established, message submission [RFC7817]. Once the TLS session is established, Message Submission
protocol data [RFC6409] is exchanged as TLS application data for the protocol data [RFC6409] is exchanged as TLS application data for the
remainder of the TCP connection. (Note: The "submissions" service remainder of the TCP connection. (Note: The "submissions" service
name is defined in Section 7.3 of this document and follows the usual name is defined in Section 7.3 of this document and follows the usual
convention that the name of a service layered on top of Implicit TLS convention that the name of a service layered on top of Implicit TLS
consists of the name of the service as used without TLS, with an "s" consists of the name of the service as used without TLS, with an "s"
appended.) appended.)
The STARTTLS mechanism on port 587 is relatively widely deployed due The STARTTLS mechanism on port 587 is relatively widely deployed due
to the situation with port 465 (discussed in Section 7.3). This to the situation with port 465 (discussed in Section 7.3). This
differs from IMAP and POP services where Implicit TLS is more widely differs from IMAP and POP services where Implicit TLS is more widely
deployed on servers than STARTTLS. It is desirable to migrate core deployed on servers than STARTTLS. It is desirable to migrate core
protocols used by MUA software to Implicit TLS over time, for protocols used by MUA software to Implicit TLS over time, for
consistency as well as for the additional reasons discussed in consistency as well as for the additional reasons discussed in
Appendix A. However, to maximize the use of encryption for Appendix A. However, to maximize the use of encryption for
submission, it is desirable to support both mechanisms for Message submission, it is desirable to support both mechanisms for Message
Submission over TLS for a transition period of several years. As a Submission over TLS for a transition period of several years. As a
result, clients and servers SHOULD implement both STARTTLS on result, clients and servers SHOULD implement both STARTTLS on
skipping to change at page 6, line 19 skipping to change at page 6, line 39
consistency as well as for the additional reasons discussed in consistency as well as for the additional reasons discussed in
Appendix A. However, to maximize the use of encryption for Appendix A. However, to maximize the use of encryption for
submission, it is desirable to support both mechanisms for Message submission, it is desirable to support both mechanisms for Message
Submission over TLS for a transition period of several years. As a Submission over TLS for a transition period of several years. As a
result, clients and servers SHOULD implement both STARTTLS on result, clients and servers SHOULD implement both STARTTLS on
port 587 and Implicit TLS on port 465 for this transition period. port 587 and Implicit TLS on port 465 for this transition period.
Note that there is no significant difference between the security Note that there is no significant difference between the security
properties of STARTTLS on port 587 and Implicit TLS on port 465 if properties of STARTTLS on port 587 and Implicit TLS on port 465 if
the implementations are correct and if both the client and the server the implementations are correct and if both the client and the server
are configured to require successful negotiation of TLS prior to are configured to require successful negotiation of TLS prior to
message submission. Message Submission.
Note that the "submissions" port provides access to a Message Note that the "submissions" port provides access to a Message
Submission Agent (MSA) as defined in [RFC6409], so requirements and Submission Agent (MSA) as defined in [RFC6409], so requirements and
recommendations for MSAs in that document, including the requirement recommendations for MSAs in that document, including the requirement
to implement SMTP AUTH [RFC4954], also apply to the submissions port. to implement SMTP AUTH [RFC4954] and the requirements of Email
Submission Operations [RFC5068], also apply to the submissions port.
See Sections 5.5 and 4.2 for additional information on client See Sections 5.5 and 4.2 for additional information on client
certificate authentication. See Section 7.3 for port registration certificate authentication. See Section 7.3 for port registration
information. information.
3.4. Implicit TLS Connection Closure for POP, IMAP, and SMTP Submission 3.4. Implicit TLS Connection Closure for POP, IMAP, and SMTP Submission
When a client or server wishes to close the connection, it SHOULD When a client or server wishes to close the connection, it SHOULD
initiate the exchange of TLS close alerts before TCP connection initiate the exchange of TLS close alerts before TCP connection
termination. The client MAY, after sending a TLS close alert, termination. The client MAY, after sending a TLS close alert,
gracefully close the TCP connection (e.g., call the close() function gracefully close the TCP connection (e.g., call the close() function
on the TCP socket or otherwise issue a TCP CLOSE ([RFC793], on the TCP socket or otherwise issue a TCP CLOSE ([RFC793],
Section 3.5)) without waiting for a TLS response from the server. Section 3.5)) without waiting for a TLS response from the server.
4. Use of TLS by Mail Access Services and Message Submission Services 4. Use of TLS by Mail Access Servers and Message Submission Servers
The following requirements and recommendations apply to Mail Access The following requirements and recommendations apply to Mail Access
Services and Mail Submission Services: Servers and Mail Submission Servers, or, if indicated, to MSPs:
o MSPs that support POP, IMAP, and/or Message Submission MUST o MSPs that support POP, IMAP, and/or Message Submission MUST
support TLS access for those services. support TLS access for those protocol servers.
o Services other than POP, IMAP, and/or Message Submission provided o Servers provided by MSPs other than POP, IMAP, and/or Message
by MSPs SHOULD support TLS access and MUST support TLS access for Submission SHOULD support TLS access and MUST support TLS access
those services that support authentication via username and for those servers that support authentication via username and
password. password.
o MSPs that support POP, IMAP, and/or Message Submission SHOULD o MSPs that support POP, IMAP, and/or Message Submission SHOULD
provide and support instances of those services that use Implicit provide and support instances of those services that use Implicit
TLS. (See Section 3.) TLS. (See Section 3.)
o For compatibility with existing MUAs and existing MUA o For compatibility with existing MUAs and existing MUA
configurations, MSPs SHOULD also, in the near term, provide configurations, MSPs SHOULD also, in the near term, provide
instances of these services which support STARTTLS. This will instances of these services that support STARTTLS. This will
permit legacy MUAs to discover new availability of TLS capability permit legacy MUAs to discover new availability of TLS capability
on servers and may increase the use of TLS by such MUAs. However, on servers and may increase the use of TLS by such MUAs. However,
servers SHOULD NOT advertise STARTTLS if the use of the STARTTLS servers SHOULD NOT advertise STARTTLS if the use of the STARTTLS
command by a client is likely to fail (for example, if the server command by a client is likely to fail (for example, if the server
has no server certificate configured). has no server certificate configured).
o MSPs SHOULD advertise their Mail Access Services and Mail o MSPs SHOULD advertise their Mail Access Servers and Mail
Submission Services, using DNS SRV records according to [RFC6186]. Submission Servers, using DNS SRV records according to [RFC6186].
(In addition to making correct configuration easier for MUAs, this (In addition to making correct configuration easier for MUAs, this
provides a way by which MUAs can discover when an MSP begins to provides a way by which MUAs can discover when an MSP begins to
offer TLS-based services.) Services supporting TLS SHOULD be offer TLS-based services.) Servers supporting TLS SHOULD be
advertised in preference to cleartext services (if offered). In advertised in preference to cleartext servers (if offered). In
addition, services using Implicit TLS SHOULD be advertised in addition, servers using Implicit TLS SHOULD be advertised in
preference to services supporting STARTTLS (if offered). (See preference to servers supporting STARTTLS (if offered). (See also
also Section 4.5.) Section 4.5.)
o MSPs SHOULD deprecate the use of cleartext Mail Access Services o MSPs SHOULD deprecate the use of cleartext Mail Access Servers and
and Mail Submission Services as soon as practicable. (See Mail Submission Servers as soon as practicable. (See
Section 4.1.) Section 4.1.)
o MSPs currently supporting such use of cleartext SMTP (on port 25) o MSPs currently supporting such use of cleartext SMTP (on port 25)
as a means of message submission by their users (whether or not as a means of Message Submission by their users (whether or not
requiring authentication) SHOULD transition their users to using requiring authentication) SHOULD transition their users to using
TLS (either Implicit TLS or STARTTLS) as soon as practicable. TLS (either Implicit TLS or STARTTLS) as soon as practicable.
o Mail services MUST support TLS 1.2 or later. o Mail Access Servers and Mail Submission Servers MUST support
TLS 1.2 or later.
o All Mail services SHOULD implement the recommended TLS cipher o All Mail Access Servers and Mail Submission Servers SHOULD
suites described in [RFC7525] or a future BCP or Standards Track implement the recommended TLS ciphersuites described in [RFC7525]
revision of that document. or a future BCP or Standards Track revision of that document.
o As soon as practicable, mail services currently supporting Secure o As soon as practicable, MSPs currently supporting Secure Sockets
Sockets Layer (SSL) 2.x, SSL 3.0, or TLS 1.0 SHOULD transition Layer (SSL) 2.x, SSL 3.0, or TLS 1.0 SHOULD transition their users
their users to later versions of TLS and discontinue support for to TLS 1.1 or later and discontinue support for those earlier
those versions of SSL and TLS. versions of SSL and TLS.
o Mail Submission Servers accepting mail using TLS SHOULD include in o Mail Submission Servers accepting mail using TLS SHOULD include in
the Received field of the outgoing message the TLS ciphersuite of the Received field of the outgoing message the TLS ciphersuite of
the session in which the mail was received. (See Section 4.3.) the session in which the mail was received. (See Section 4.3.)
o All Mail services implementing TLS SHOULD log TLS cipher o All Mail Access Servers and Mail Submission Servers implementing
information along with any connection or authentication logs that TLS SHOULD log TLS cipher information along with any connection or
they maintain. authentication logs that they maintain.
Additional considerations and details appear below. Additional considerations and details appear below.
4.1. Deprecation of Services Using Cleartext and TLS Versions 4.1. Deprecation of Services Using Cleartext and TLS Versions
Less Than 1.1 Less Than 1.1
The specific means employed for deprecation of cleartext Mail Access The specific means employed for deprecation of cleartext Mail Access
Services and Mail Submission Services MAY vary from one MSP to the Servers and Mail Submission Servers MAY vary from one MSP to the next
next in light of their user communities' needs and constraints. For in light of their user communities' needs and constraints. For
example, an MSP MAY implement a gradual transition in which, over example, an MSP MAY implement a gradual transition in which, over
time, more and more users are forbidden to authenticate to cleartext time, more and more users are forbidden to authenticate to cleartext
instances of these services, thus encouraging those users to migrate instances of these servers, thus encouraging those users to migrate
to Implicit TLS. Access to cleartext services should eventually be to Implicit TLS. Access to cleartext servers should eventually be
either (a) disabled or (b) limited strictly for use by legacy systems either (a) disabled or (b) limited strictly for use by legacy systems
that cannot be upgraded. that cannot be upgraded.
After a user's ability to authenticate to a service using cleartext After a user's ability to authenticate to a server using cleartext is
is revoked, the server denying such access MUST NOT provide any revoked, the server denying such access MUST NOT provide any
indication over a cleartext channel of whether the user's indication over a cleartext channel of whether the user's
authentication credentials were valid. An attempt to authenticate as authentication credentials were valid. An attempt to authenticate as
such a user using either invalid credentials or valid credentials such a user using either invalid credentials or valid credentials
MUST both result in the same indication of access being denied. MUST both result in the same indication of access being denied.
Also, users previously authenticating with passwords sent as Also, users previously authenticating with passwords sent as
cleartext SHOULD be required to change those passwords when migrating cleartext SHOULD be required to change those passwords when migrating
to TLS, if the old passwords were likely to have been compromised. to TLS, if the old passwords were likely to have been compromised.
(For any large community of users using the public Internet to access (For any large community of users using the public Internet to access
mail without encryption, the compromise of at least some of those mail without encryption, the compromise of at least some of those
skipping to change at page 9, line 9 skipping to change at page 9, line 32
authentication used) may also risk exposure of the user's password authentication used) may also risk exposure of the user's password
over a channel that is known to not provide adequate confidentiality. over a channel that is known to not provide adequate confidentiality.
It is RECOMMENDED that new users be required to use TLS version 1.1 It is RECOMMENDED that new users be required to use TLS version 1.1
or greater from the start. However, an MSP may find it necessary to or greater from the start. However, an MSP may find it necessary to
make exceptions to accommodate some legacy systems that support only make exceptions to accommodate some legacy systems that support only
earlier versions of TLS or only cleartext. earlier versions of TLS or only cleartext.
4.2. Mail Server Use of Client Certificate Authentication 4.2. Mail Server Use of Client Certificate Authentication
Mail servers MAY implement client certificate authentication on the Mail Submission Servers and Mail Access Servers MAY implement client
Implicit TLS port. Servers MUST NOT request a client certificate certificate authentication on the Implicit TLS port. Such servers
during the TLS handshake unless the server is configured to accept MUST NOT request a client certificate during the TLS handshake unless
some client certificates as sufficient for authentication and the the server is configured to accept some client certificates as
server has the ability to determine a mail server authorization sufficient for authentication and the server has the ability to
identity matching such certificates. How to make this determination determine a mail server authorization identity matching such
is presently implementation specific. certificates. How to make this determination is presently
implementation specific.
If the server accepts the client's certificate as sufficient for If the server accepts the client's certificate as sufficient for
authorization, it MUST enable the Simple Authentication and Security authorization, it MUST enable the Simple Authentication and Security
Layer (SASL) EXTERNAL mechanism [RFC4422]. An IMAPS server MAY issue Layer (SASL) EXTERNAL mechanism [RFC4422]. An IMAPS server MAY issue
a PREAUTH greeting instead of enabling SASL EXTERNAL. a PREAUTH greeting instead of enabling SASL EXTERNAL.
4.3. Recording TLS Cipher Suite in "Received" Header 4.3. Recording TLS Ciphersuite in "Received" Header Field
The ESMTPS transmission type [RFC3848] provides trace information The ESMTPS transmission type [RFC3848] provides trace information
that can indicate that TLS was used when transferring mail. However, that can indicate that TLS was used when transferring mail. However,
TLS usage by itself is not a guarantee of confidentiality or TLS usage by itself is not a guarantee of confidentiality or
security. The TLS cipher suite provides additional information about security. The TLS ciphersuite provides additional information about
the level of security made available for a connection. This document the level of security made available for a connection. This section
defines a new SMTP "tls" Received header additional-registered-clause defines a new SMTP "tls" Received header additional-registered-clause
that is used to record the TLS cipher suite that was negotiated for that is used to record the TLS ciphersuite that was negotiated for
the connection. This clause SHOULD be included whenever a Submission the connection. This clause SHOULD be included whenever a Submission
server generates a Received header field for a message received via server generates a Received header field for a message received via
TLS. The value included in this additional clause SHOULD be the TLS. The value included in this additional clause SHOULD be the
registered cipher suite name (e.g., registered ciphersuite name (e.g.,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) included in the "TLS Cipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) included in the "TLS Cipher
Suite Registry". In the event that the implementation does not know Suite Registry". In the event that the implementation does not know
the name of the cipher suite (a situation that should be remedied the name of the ciphersuite (a situation that should be remedied
promptly), a four-digit hexadecimal cipher suite identifier MAY be promptly), a four-digit hexadecimal ciphersuite identifier MAY be
used. In addition, the Diffie-Hellman group name associated with the used. In addition, the Diffie-Hellman group name associated with the
ciphersuite MAY be included (when applicable and known) following the ciphersuite MAY be included (when applicable and known) following the
ciphersuite name. The ABNF for the field follows: ciphersuite name. The ABNF for the field follows:
tls-cipher-clause = CFWS "tls" FWS tls-cipher tls-cipher-clause = CFWS "tls" FWS tls-cipher
[ CFWS "group" FWS dh-group ] [ CFWS "group" FWS dh-group ]
tls-cipher = tls-cipher-name / tls-cipher-hex tls-cipher = tls-cipher-name / tls-cipher-hex
tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_") tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_")
; as registered in the IANA "TLS Cipher Suite Registry" ; as registered in the IANA "TLS Cipher Suite Registry"
; <http://www.iana.org/assignments/tls-parameters>
tls-cipher-hex = "0x" 4HEXDIG tls-cipher-hex = "0x" 4HEXDIG
dh-group = ALPHA *(ALPHA / DIGIT / "_" / "-") dh-group = ALPHA *(ALPHA / DIGIT / "_" / "-")
; as registered in the IANA "TLS Supported Groups Registry" ; as registered in the IANA "TLS Supported Groups Registry"
; <http://www.iana.org/assignments/tls-parameters>
4.4. TLS Server Certificate Requirements 4.4. TLS Server Certificate Requirements
MSPs MUST maintain valid server certificates for all servers. See MSPs MUST maintain valid server certificates for all servers. See
[RFC7817] for the recommendations and requirements necessary to [RFC7817] for the recommendations and requirements necessary to
achieve this. achieve this.
If a protocol server provides service for more than one mail domain, If a protocol server provides service for more than one mail domain,
it MAY use a separate IP address for each domain and/or a server it MAY use a separate IP address for each domain and/or a server
certificate that advertises multiple domains. This will generally be certificate that advertises multiple domains. This will generally be
skipping to change at page 11, line 23 skipping to change at page 11, line 42
4.5.4. TLSA Records 4.5.4. TLSA Records
MSPs SHOULD advertise TLSA records to provide an additional trust MSPs SHOULD advertise TLSA records to provide an additional trust
anchor for public keys used in TLS server certificates. However, anchor for public keys used in TLS server certificates. However,
TLSA records MUST NOT be advertised unless they are signed using TLSA records MUST NOT be advertised unless they are signed using
DNSSEC. DNSSEC.
4.6. Changes to Internet-Facing Servers 4.6. Changes to Internet-Facing Servers
When an MSP changes the Internet-facing servers providing mail access When an MSP changes the Internet-facing Mail Access Servers and Mail
and mail submission services, including SMTP-based spam/virus Submission Servers, including SMTP-based spam/virus filters, it is
filters, it is generally necessary to support the same and/or a newer generally necessary to support the same and/or a newer version of TLS
version of TLS and the same security directives that were previously and the same security directives that were previously advertised.
advertised.
5. Use of TLS by Mail User Agents 5. Use of TLS by Mail User Agents
The following requirements and recommendations apply to MUAs: The following requirements and recommendations apply to MUAs:
o MUAs SHOULD be capable of using DNS SRV records to discover Mail o MUAs SHOULD be capable of using DNS SRV records to discover Mail
Access Services and Mail Submission Services that are advertised Access Servers and Mail Submission Servers that are advertised by
by a MSP for an account being configured. Other means of an MSP for an account being configured. Other means of
discovering server configuration information (e.g., a database discovering server configuration information (e.g., a database
maintained by the MUA vendor) MAY also be supported. (See maintained by the MUA vendor) MAY also be supported. (See
Section 5.1 for more information.) Section 5.1 for more information.)
o MUAs SHOULD be configurable to require a minimum level of o MUAs SHOULD be configurable to require a minimum level of
confidentiality for any particular Mail Account and refuse to confidentiality for any particular Mail Account and refuse to
exchange information via any service associated with that Mail exchange information via any service associated with that Mail
Account if the session does not provide that minimum level of Account if the session does not provide that minimum level of
confidentiality. (See Section 5.2.) confidentiality. (See Section 5.2.)
skipping to change at page 12, line 29 skipping to change at page 12, line 47
MUST NOT indicate confidentiality for any connection that does not MUST NOT indicate confidentiality for any connection that does not
at least use TLS 1.1 with certificate verification and also meet at least use TLS 1.1 with certificate verification and also meet
the minimum confidentiality requirements associated with that the minimum confidentiality requirements associated with that
account. account.
o MUAs MUST implement TLS 1.2 [RFC5246] or later. Earlier TLS and o MUAs MUST implement TLS 1.2 [RFC5246] or later. Earlier TLS and
SSL versions MAY also be supported, so long as the MUA requires at SSL versions MAY also be supported, so long as the MUA requires at
least TLS 1.1 [RFC4346] when accessing accounts that are least TLS 1.1 [RFC4346] when accessing accounts that are
configured to impose minimum confidentiality requirements. configured to impose minimum confidentiality requirements.
o All MUAs SHOULD implement the recommended TLS cipher suites o All MUAs SHOULD implement the recommended TLS ciphersuites
described in [RFC7525] or a future BCP or Standards Track revision described in [RFC7525] or a future BCP or Standards Track revision
of that document. of that document.
o MUAs that are configured to not require minimum confidentiality o MUAs that are configured to not require minimum confidentiality
for one or more accounts SHOULD detect when TLS becomes available for one or more accounts SHOULD detect when TLS becomes available
on those accounts (using [RFC6186] or other means) and offer to on those accounts (using [RFC6186] or other means) and offer to
upgrade the account to require TLS. upgrade the account to require TLS.
Additional considerations and details appear below. Additional considerations and details appear below.
skipping to change at page 13, line 11 skipping to change at page 13, line 32
has explicitly requested reduced confidentiality. This will have the has explicitly requested reduced confidentiality. This will have the
effect of causing the MUA to default to ignoring advertised effect of causing the MUA to default to ignoring advertised
configurations that do not support TLS, even when those advertised configurations that do not support TLS, even when those advertised
configurations have a higher priority than other advertised configurations have a higher priority than other advertised
configurations. configurations.
When using configuration information per [RFC6186], MUAs SHOULD NOT When using configuration information per [RFC6186], MUAs SHOULD NOT
automatically establish new configurations that do not require TLS automatically establish new configurations that do not require TLS
for all servers, unless there are no advertised configurations using for all servers, unless there are no advertised configurations using
TLS. If such a configuration is chosen, prior to attempting to TLS. If such a configuration is chosen, prior to attempting to
authenticate to the server or use the server for message submission, authenticate to the server or use the server for Message Submission,
the MUA SHOULD warn the user that traffic to that server will not be the MUA SHOULD warn the user that traffic to that server will not be
encrypted and that it will therefore likely be intercepted by encrypted and that it will therefore likely be intercepted by
unauthorized parties. The specific wording is to be determined by unauthorized parties. The specific wording is to be determined by
the implementation, but it should adequately capture the sense of the implementation, but it should adequately capture the sense of
risk, given the widespread incidence of mass surveillance of email risk, given the widespread incidence of mass surveillance of email
traffic. traffic.
Similarly, an MUA MUST NOT attempt to "test" a particular mail Similarly, an MUA MUST NOT attempt to "test" a particular Mail
account configuration by submitting the user's authentication Account configuration by submitting the user's authentication
credentials to a server, unless a TLS session meeting minimum credentials to a server, unless a TLS session meeting minimum
confidentiality levels has been established with that server. If confidentiality levels has been established with that server. If
minimum confidentiality requirements have not been satisfied, the MUA minimum confidentiality requirements have not been satisfied, the MUA
must explicitly warn the user that his password may be exposed to must explicitly warn that the user's password may be exposed to
attackers before testing the new configuration. attackers before testing the new configuration.
When establishing a new configuration for connecting to an IMAP, POP, When establishing a new configuration for connecting to an IMAP, POP,
or SMTP submission server, based on SRV records, an MUA SHOULD verify or SMTP submission server, based on SRV records, an MUA SHOULD verify
that either (a) the SRV records are signed using DNSSEC or (b) the that either (a) the SRV records are signed using DNSSEC or (b) the
target Fully Qualified Domain Name (FQDN) of the SRV record matches target Fully Qualified Domain Name (FQDN) of the SRV record matches
the original server FQDN for which the SRV queries were made. If the the original server FQDN for which the SRV queries were made. If the
target FQDN is not in the queried domain, the MUA SHOULD verify with target FQDN is not in the queried domain, the MUA SHOULD verify with
the user that the SRV target FQDN is suitable for use, before the user that the SRV target FQDN is suitable for use, before
executing any connections to the host. (See Section 6 of [RFC6186].) executing any connections to the host. (See Section 6 of [RFC6186].)
skipping to change at page 13, line 49 skipping to change at page 14, line 21
records from time to time to determine if an MSP's server records from time to time to determine if an MSP's server
configuration has changed and alert the user if it appears that this configuration has changed and alert the user if it appears that this
has happened. This can also serve as a means to encourage users to has happened. This can also serve as a means to encourage users to
upgrade their configurations to require TLS if and when their MSPs upgrade their configurations to require TLS if and when their MSPs
support it. support it.
5.2. Minimum Confidentiality Level 5.2. Minimum Confidentiality Level
MUAs SHOULD, by default, require a minimum level of confidentiality MUAs SHOULD, by default, require a minimum level of confidentiality
for services accessed by each account. For MUAs supporting the for services accessed by each account. For MUAs supporting the
ability to access multiple mail accounts, this requirement SHOULD be ability to access multiple Mail Accounts, this requirement SHOULD be
configurable on a per-account basis. configurable on a per-account basis.
The default minimum expected level of confidentiality for all new The default minimum expected level of confidentiality for all new
accounts MUST require successful validation of the server's accounts MUST require successful validation of the server's
certificate and SHOULD require negotiation of TLS version 1.1 or certificate and SHOULD require negotiation of TLS version 1.1 or
greater. (Future revisions to this specification may raise these greater. (Future revisions to this specification may raise these
requirements or impose additional requirements to address newly requirements or impose additional requirements to address newly
discovered weaknesses in protocols or cryptographic algorithms.) discovered weaknesses in protocols or cryptographic algorithms.)
MUAs MAY permit the user to disable this minimum confidentiality MUAs MAY permit the user to disable this minimum confidentiality
requirement during initial account configuration or when subsequently requirement during initial account configuration or when subsequently
editing an account configuration but MUST warn users that such a editing an account configuration but MUST warn users that such a
configuration will not assure privacy for either passwords or configuration will not assure privacy for either passwords or
messages. messages.
An MUA that is configured to require a minimum level of An MUA that is configured to require a minimum level of
confidentiality for a mail account MUST NOT attempt to perform any confidentiality for a Mail Account MUST NOT attempt to perform any
operation other than capability discovery, or STARTTLS for servers operation other than capability discovery, or STARTTLS for servers
not using Implicit TLS, unless the minimum level of confidentiality not using Implicit TLS, unless the minimum level of confidentiality
is provided by that connection. is provided by that connection.
MUAs SHOULD NOT allow users to easily access or send mail via a MUAs SHOULD NOT allow users to easily access or send mail via a
connection, or authenticate to any service using a password, if that connection, or authenticate to any service using a password, if that
account is configured to impose minimum confidentiality requirements account is configured to impose minimum confidentiality requirements
and that connection does not meet all of those requirements. An and that connection does not meet all of those requirements. An
example of "easy access" would be to display a dialog informing the example of "easy access" would be to display a dialog informing the
user that the security requirements of the account were not met by user that the security requirements of the account were not met by
the connection but allowing the user to "click through" to send mail the connection but allowing the user to "click through" to send mail
or access the service anyway. Experience indicates that users or access the service anyway. Experience indicates that users
presented with such an option often "click through" without presented with such an option often "click through" without
understanding the risks that they're accepting by doing so. understanding the risks that they're accepting by doing so.
Furthermore, users who frequently find the need to "click through" to Furthermore, users who frequently find the need to "click through" to
use an insecure connection may become conditioned to do so as a use an insecure connection may become conditioned to do so as a
matter of habit, before considering whether the risks are reasonable matter of habit, before considering whether the risks are reasonable
in each specific instance. in each specific instance.
An MUA that is not configured to require a minimum level of An MUA that is not configured to require a minimum level of
confidentiality for a mail account SHOULD still attempt to connect to confidentiality for a Mail Account SHOULD still attempt to connect to
the services associated with that account using the most secure means the services associated with that account using the most secure means
available, e.g., by using Implicit TLS or STARTTLS. available, e.g., by using Implicit TLS or STARTTLS.
5.3. Certificate Validation 5.3. Certificate Validation
MUAs MUST validate TLS server certificates according to [RFC7817] and MUAs MUST validate TLS server certificates according to [RFC7817] and
PKIX [RFC5280]. PKIX [RFC5280].
MUAs MAY also support DNS-Based Authentication of Named Entities MUAs MAY also support DNS-Based Authentication of Named Entities
(DANE) [RFC6698] as a means of validating server certificates in (DANE) [RFC6698] as a means of validating server certificates in
order to meet minimum confidentiality requirements. order to meet minimum confidentiality requirements.
MUAs MAY support the use of certificate pinning but MUST NOT consider MUAs MAY support the use of certificate pinning but MUST NOT consider
a connection in which the server's authenticity relies on certificate a connection in which the server's authenticity relies on certificate
pinning as providing the minimum level of confidentiality. (See pinning as providing the minimum level of confidentiality. (See
Section 5.4.) Section 5.4.)
5.4. Certificate Pinning 5.4. Certificate Pinning
During account setup, the MUA will identify servers that provide During account setup, the MUA will identify servers that provide
account services such as mail access and mail submission (the account services such as mail access and mail submission (Section 5.1
previous section describes one way to do this). The certificates for describes one way to do this). The certificates for these servers
these servers are verified using the rules described in [RFC7817] and are verified using the rules described in [RFC7817] and PKIX
PKIX [RFC5280]. In the event that the certificate does not validate [RFC5280]. In the event that the certificate does not validate due
due to an expired certificate, a lack of an appropriate chain of to an expired certificate, a lack of an appropriate chain of trust,
trust, or a lack of an identifier match, the MUA MAY offer to create or a lack of an identifier match, the MUA MAY offer to create a
a persistent binding between that certificate and the saved hostname persistent binding between that certificate and the saved hostname
for the server, for use when accessing that account's servers. This for the server, for use when accessing that account's servers. This
is called "certificate pinning". is called "certificate pinning".
(Note: This use of the term "certificate pinning" means something (Note: This use of the term "certificate pinning" means something
subtly different than HTTP Public Key Pinning as described in subtly different than HTTP Public Key Pinning as described in
[RFC7469]. The dual use of the same term is confusing, but [RFC7469]. The dual use of the same term is confusing, but
unfortunately both uses are well established.) unfortunately both uses are well established.)
Certificate pinning is only appropriate during mail account setup and Certificate pinning is only appropriate during Mail Account setup and
MUST NOT be offered as an option in response to a failed certificate MUST NOT be offered as an option in response to a failed certificate
validation for an existing mail account. An MUA that allows validation for an existing Mail Account. An MUA that allows
certificate pinning MUST NOT allow a certificate pinned for one certificate pinning MUST NOT allow a certificate pinned for one
account to validate connections for other accounts. An MUA that account to validate connections for other accounts. An MUA that
allows certificate pinning MUST also allow a user to undo the allows certificate pinning MUST also allow a user to undo the
pinning, i.e., to revoke trust in a certificate that has previously pinning, i.e., to revoke trust in a certificate that has previously
been pinned. been pinned.
A pinned certificate is subject to a man-in-the-middle attack at A pinned certificate is subject to a man-in-the-middle attack at
account setup time and typically lacks a mechanism to automatically account setup time and typically lacks a mechanism to automatically
revoke or securely refresh the certificate. Note also that a man-in- revoke or securely refresh the certificate. Note also that a man-in-
the-middle attack at account setup time will expose the user's the-middle attack at account setup time will expose the user's
skipping to change at page 16, line 33 skipping to change at page 17, line 9
A client supporting client certificate authentication with Implicit A client supporting client certificate authentication with Implicit
TLS MUST implement the SASL EXTERNAL mechanism [RFC4422], using the TLS MUST implement the SASL EXTERNAL mechanism [RFC4422], using the
appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for
SMTP Submission [RFC4954], or AUTHENTICATE for IMAP [RFC3501]). SMTP Submission [RFC4954], or AUTHENTICATE for IMAP [RFC3501]).
6. Considerations Related to Antivirus/Antispam Software and Services 6. Considerations Related to Antivirus/Antispam Software and Services
There are multiple ways to connect an AVAS service (e.g., "Antivirus There are multiple ways to connect an AVAS service (e.g., "Antivirus
& Antispam") to a mail server. Some mechanisms, such as the de facto & Antispam") to a mail server. Some mechanisms, such as the de facto
filter protocol, are out of scope for this specification. However, "milter" protocol, are out of scope for this specification. However,
some services use an SMTP relay proxy that intercepts mail at the some services use an SMTP relay proxy that intercepts mail at the
application layer to perform a scan and proxy or forward to another application layer to perform a scan and proxy or forward to another
Mail Transfer Agent (MTA). Deploying AVAS services in this way can Mail Transfer Agent (MTA). Deploying AVAS services in this way can
cause many problems [RFC2979], including direct interference with cause many problems [RFC2979], including direct interference with
this specification, and other forms of confidentiality or security this specification, and other forms of confidentiality or security
reduction. An AVAS product or service is considered compatible with reduction. An AVAS product or service is considered compatible with
this specification if all IMAP, POP, and SMTP-related software this specification if all IMAP, POP, and SMTP-related software
(including proxies) it includes are compliant with this (including proxies) it includes are compliant with this
specification. specification.
skipping to change at page 18, line 4 skipping to change at page 18, line 33
Assignee: IESG <iesg@ietf.org> Assignee: IESG <iesg@ietf.org>
Contact: IETF Chair <chair@ietf.org> Contact: IETF Chair <chair@ietf.org>
Description: Message Submission over TLS protocol Description: Message Submission over TLS protocol
Reference: RFC 8314 Reference: RFC 8314
Port Number: 465 Port Number: 465
This is a one-time procedural exception to the rules in [RFC6335]. This is a one-time procedural exception to the rules in [RFC6335].
This requires explicit IESG approval and does not set a precedent. This requires explicit IESG approval and does not set a precedent.
Note: Since the purpose of this alternate usage assignment is to Note: Since the purpose of this alternate usage assignment is to
align with widespread existing practice and there is no known usage align with widespread existing practice and there is no known usage
of UDP port 465 for message submission over TLS, IANA has not of UDP port 465 for Message Submission over TLS, IANA has not
assigned an alternate usage of UDP port 465. assigned an alternate usage of UDP port 465.
Historically, port 465 was briefly registered as the "smtps" port. Historically, port 465 was briefly registered as the "smtps" port.
This registration made no sense, as the SMTP transport MX This registration made no sense, as the SMTP transport MX
infrastructure has no way to specify a port, so port 25 is always infrastructure has no way to specify a port, so port 25 is always
used. As a result, the registration was revoked and was subsequently used. As a result, the registration was revoked and was subsequently
reassigned to a different service. In hindsight, the "smtps" reassigned to a different service. In hindsight, the "smtps"
registration should have been renamed or reserved rather than registration should have been renamed or reserved rather than
revoked. Unfortunately, some widely deployed mail software revoked. Unfortunately, some widely deployed mail software
interpreted "smtps" as "submissions" [RFC6409] and used that port for interpreted "smtps" as "submissions" [RFC6409] and used that port for
email submission by default when an end user requested security email submission by default when an end user requested security
during account setup. If a new port is assigned for the submissions during account setup. If a new port is assigned for the submissions
service, either (a) email software will continue with unregistered service, either (a) email software will continue with unregistered
use of port 465 (leaving the port registry inaccurate relative to use of port 465 (leaving the port registry inaccurate relative to
de facto practice and wasting a well-known port) or (b) confusion de facto practice and wasting a well-known port) or (b) confusion
between the de facto and registered ports will cause harmful between the de facto and registered ports will cause harmful
interoperability problems that will deter the use of TLS for message interoperability problems that will deter the use of TLS for Message
submission. The authors of this document believe that both of these Submission. The authors of this document believe that both of these
outcomes are less desirable than a "wart" in the registry documenting outcomes are less desirable than a "wart" in the registry documenting
real-world usage of a port for two purposes. Although STARTTLS on real-world usage of a port for two purposes. Although STARTTLS on
port 587 has been deployed, it has not replaced the deployed use of port 587 has been deployed, it has not replaced the deployed use of
Implicit TLS submission on port 465. Implicit TLS submission on port 465.
7.4. Additional Registered Clauses for "Received" Fields 7.4. Additional Registered Clauses for "Received" Fields
Per the provisions in [RFC5321], IANA has added two additional- Per the provisions in [RFC5321], IANA has added two additional-
registered-clauses for Received fields as defined in Section 4.3 of registered-clauses for Received fields as defined in Section 4.3 of
this document: this document:
skipping to change at page 19, line 41 skipping to change at page 20, line 23
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements", Rose, "DNS Security Introduction and Requirements",
RFC 4033, DOI 10.17487/RFC4033, March 2005, RFC 4033, DOI 10.17487/RFC4033, March 2005,
<https://www.rfc-editor.org/info/rfc4033>. <https://www.rfc-editor.org/info/rfc4033>.
[RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol
(POP3) Simple Authentication and Security Layer (SASL) (POP3) Simple Authentication and Security Layer (SASL)
Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034, Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034,
July 2007, <https://www.rfc-editor.org/info/rfc5034>. July 2007, <https://www.rfc-editor.org/info/rfc5034>.
[RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T.
Finch, "Email Submission Operations: Access and
Accountability Requirements", BCP 134, RFC 5068,
DOI 10.17487/RFC5068, November 2007,
<https://www.rfc-editor.org/info/rfc5068>.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, Specifications: ABNF", STD 68, RFC 5234,
DOI 10.17487/RFC5234, January 2008, DOI 10.17487/RFC5234, January 2008,
<https://www.rfc-editor.org/info/rfc5234>. <https://www.rfc-editor.org/info/rfc5234>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, (TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008, DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/info/rfc5246>. <https://www.rfc-editor.org/info/rfc5246>.
skipping to change at page 21, line 15 skipping to change at page 21, line 37
[RFC793] Postel, J., "Transmission Control Protocol", STD 7, [RFC793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, DOI 10.17487/RFC0793, September 1981, RFC 793, DOI 10.17487/RFC0793, September 1981,
<https://www.rfc-editor.org/info/rfc793>. <https://www.rfc-editor.org/info/rfc793>.
[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>.
9.2. Informative References 9.2. Informative References
[CERT-555316]
CERT, "Vulnerability Note VU#555316: STARTTLS plaintext
command injection vulnerability", Carnegie Mellon
University Software Engineering Institute, September 2011,
<https://www.kb.cert.org/vuls/id/555316>.
[Email-TLS] [Email-TLS]
Moore, K., "Recommendations for use of TLS by Electronic Moore, K., "Recommendations for use of TLS by Electronic
Mail Access Protocols", Work in Progress, draft-moore- Mail Access Protocols", Work in Progress, draft-moore-
email-tls-00, October 2013. email-tls-00, October 2013.
[MTA-STS] Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., [MTA-STS] Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A.,
and J. Jones, "SMTP MTA Strict Transport Security (MTA- and J. Jones, "SMTP MTA Strict Transport Security (MTA-
STS)", Work in Progress, draft-ietf-uta-mta-sts-13, STS)", Work in Progress, draft-ietf-uta-mta-sts-13,
December 2017. December 2017.
skipping to change at page 22, line 10 skipping to change at page 22, line 37
[RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple
Authentication and Security Layer (SASL)", RFC 4422, Authentication and Security Layer (SASL)", RFC 4422,
DOI 10.17487/RFC4422, June 2006, DOI 10.17487/RFC4422, June 2006,
<https://www.rfc-editor.org/info/rfc4422>. <https://www.rfc-editor.org/info/rfc4422>.
[RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service [RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service
Extension for Authentication", RFC 4954, Extension for Authentication", RFC 4954,
DOI 10.17487/RFC4954, July 2007, DOI 10.17487/RFC4954, July 2007,
<https://www.rfc-editor.org/info/rfc4954>. <https://www.rfc-editor.org/info/rfc4954>.
[RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T.
Finch, "Email Submission Operations: Access and
Accountability Requirements", BCP 134, RFC 5068,
DOI 10.17487/RFC5068, November 2007,
<https://www.rfc-editor.org/info/rfc5068>.
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
DOI 10.17487/RFC5321, October 2008, DOI 10.17487/RFC5321, October 2008,
<https://www.rfc-editor.org/info/rfc5321>. <https://www.rfc-editor.org/info/rfc5321>.
[RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
Extensions: Extension Definitions", RFC 6066, Extensions: Extension Definitions", RFC 6066,
DOI 10.17487/RFC6066, January 2011, DOI 10.17487/RFC6066, January 2011,
<https://www.rfc-editor.org/info/rfc6066>. <https://www.rfc-editor.org/info/rfc6066>.
[RFC6125] Saint-Andre, P. and J. Hodges, "Representation and [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and
skipping to change at page 23, line 17 skipping to change at page 23, line 52
protocols always use TLS, leaving no need for a separate port for protocols always use TLS, leaving no need for a separate port for
cleartext operation except to support legacy clients while they cleartext operation except to support legacy clients while they
continue to be used. The separate-port model for TLS is inherently continue to be used. The separate-port model for TLS is inherently
simpler to implement, debug, and deploy. It also enables a "generic simpler to implement, debug, and deploy. It also enables a "generic
TLS load-balancer" that accepts secure client connections for TLS load-balancer" that accepts secure client connections for
arbitrary foo-over-TLS protocols and forwards them to a server that arbitrary foo-over-TLS protocols and forwards them to a server that
may or may not support TLS. Such load-balancers cause many problems may or may not support TLS. Such load-balancers cause many problems
because they violate the end-to-end principle and the server loses because they violate the end-to-end principle and the server loses
the ability to log security-relevant information about the client the ability to log security-relevant information about the client
unless the protocol is designed to forward that information (as this unless the protocol is designed to forward that information (as this
specification does for the cipher suite). However, they can result specification does for the ciphersuite). However, they can result in
in TLS deployment where it would not otherwise happen, which is a TLS deployment where it would not otherwise happen, which is a
sufficiently important goal that it overrides any problems. sufficiently important goal that it overrides any problems.
Although STARTTLS appears only slightly more complex than Although STARTTLS appears only slightly more complex than
separate-port TLS, we again learned the lesson that complexity is the separate-port TLS, we again learned the lesson that complexity is the
enemy of security in the form of the STARTTLS command injection enemy of security in the form of the STARTTLS command injection
vulnerability (CERT vulnerability ID #555316). Although there's vulnerability (Computer Emergency Readiness Team (CERT) vulnerability
nothing inherently wrong with STARTTLS, the fact that it resulted in ID #555316 [CERT-555316]). Although there's nothing inherently wrong
a common implementation error (made independently by multiple with STARTTLS, the fact that it resulted in a common implementation
implementers) suggests that it is a less secure architecture than error (made independently by multiple implementers) suggests that it
Implicit TLS. is a less secure architecture than Implicit TLS.
Section 7 of RFC 2595 critiques the separate-port approach to TLS. Section 7 of RFC 2595 critiques the separate-port approach to TLS.
The first bullet was a correct critique. There are proposals in the The first bullet was a correct critique. There are proposals in the
HTTP community to address that, and the use of SRV records as HTTP community to address that, and the use of SRV records as
described in RFC 6186 resolves that critique for email. The second described in RFC 6186 resolves that critique for email. The second
bullet is correct as well but is not very important because useful bullet is correct as well but is not very important because useful
deployment of security layers other than TLS in email is small enough deployment of security layers other than TLS in email is small enough
to be effectively irrelevant. (Also, it's less correct than it used to be effectively irrelevant. (Also, it's less correct than it used
to be because "export" ciphersuites are no longer supported in modern to be because "export" ciphersuites are no longer supported in modern
versions of TLS.) The third bullet is incorrect because it misses versions of TLS.) The third bullet is incorrect because it misses
the desirable option of "use and latch-on TLS if available". The the desirable option of "use TLS for all subsequent connections to
fourth bullet may be correct, but it is not a problem yet with this server once TLS is successfully negotiated". The fourth bullet
current port consumption rates. The fundamental error was may be correct, but it is not a problem yet with current port
prioritizing a perceived better design based on a mostly valid consumption rates. The fundamental error was prioritizing a
critique over real-world deployability. But getting security and perceived better design based on a mostly valid critique over real-
confidentiality facilities actually deployed is so important that it world deployability. But getting security and confidentiality
should trump design purity considerations. facilities actually deployed is so important that it should trump
design purity considerations.
Port 465 is presently used for two purposes: for submissions by a Port 465 is presently used for two purposes: for submissions by a
large number of clients and service providers and for the "urd" large number of clients and service providers and for the "urd"
protocol by one vendor. Actually documenting this current state is protocol by one vendor. Actually documenting this current state is
controversial, as discussed in the IANA Considerations section. controversial, as discussed in the IANA Considerations section.
However, there is no good alternative. Registering a new port for However, there is no good alternative. Registering a new port for
submissions when port 465 is already widely used for that purpose submissions when port 465 is already widely used for that purpose
will just create interoperability problems. Registering a port will just create interoperability problems. Registering a port
that's only used if advertised by an SRV record (RFC 6186) would not that's only used if advertised by an SRV record (RFC 6186) would not
create interoperability problems but would require all client create interoperability problems but would require all client
 End of changes. 69 change blocks. 
134 lines changed or deleted 166 lines changed or added

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