idnits 2.17.1 draft-ietf-uta-email-deep-11.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 4 characters in excess of 72. -- The draft header indicates that this document updates RFC5068, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC2595, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC3501, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC1939, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC3464, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC1939, updated by this document, for RFC5378 checks: 1995-05-15) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 25, 2017) is 2343 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC8174' is mentioned on line 138, but not defined ** Obsolete normative reference: RFC 793 (Obsoleted by RFC 9293) ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-28) exists of draft-ietf-tls-tls13-21 == Outdated reference: A later version (-21) exists of draft-ietf-uta-mta-sts-09 -- Obsolete informational reference (is this intentional?): RFC 4346 (Obsoleted by RFC 5246) -- Obsolete informational reference (is this intentional?): RFC 6125 (Obsoleted by RFC 9525) Summary: 5 errors (**), 0 flaws (~~), 4 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Moore 3 Internet-Draft Windrock, Inc. 4 Updates: 1939, 2595, 3464, 3501, 5068, C. Newman 5 6186, 6409 (if approved) Oracle 6 Intended status: Standards Track November 25, 2017 7 Expires: May 29, 2018 9 Cleartext Considered Obsolete: Use of TLS for Email Submission and 10 Access 11 draft-ietf-uta-email-deep-11 13 Abstract 15 This specification outlines current recommendations for the use of 16 Transport Layer Security (TLS) to provide confidentiality of email 17 traffic between a mail user agent (MUA) and a mail submission or mail 18 access server. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on May 29, 2018. 37 Copyright Notice 39 Copyright (c) 2017 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Conventions and Terminology Used in This Document . . . . . . 3 56 3. Implicit TLS . . . . . . . . . . . . . . . . . . . . . . . . 4 57 3.1. Implicit TLS for POP . . . . . . . . . . . . . . . . . . 5 58 3.2. Implicit TLS for IMAP . . . . . . . . . . . . . . . . . . 5 59 3.3. Implicit TLS for SMTP Submission . . . . . . . . . . . . 5 60 3.4. Implicit TLS Connection Closure for POP, IMAP and SMTP 61 Submission . . . . . . . . . . . . . . . . . . . . . . . 6 62 4. Use of TLS by Mail Access Services and 63 Message Submission Services . . . . . . . . . . . . . . . . . 6 64 4.1. Deprecation of Services Using Cleartext and TLS Versions 65 < 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 8 66 4.2. Mail Server Use of Client Certificate Authentication . . 9 67 4.3. Recording TLS Cipher Suite in Received Header . . . . . . 9 68 4.4. TLS Server Certificate Requirements . . . . . . . . . . . 10 69 4.5. Recommended DNS records for mail protocol servers . . . . 10 70 4.5.1. MX records . . . . . . . . . . . . . . . . . . . . . 10 71 4.5.2. SRV records . . . . . . . . . . . . . . . . . . . . . 10 72 4.5.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 10 73 4.5.4. TLSA records . . . . . . . . . . . . . . . . . . . . 11 74 4.6. Changes to Internet Facing Servers . . . . . . . . . . . 11 75 5. Use of TLS by Mail User Agents . . . . . . . . . . . . . . . 11 76 5.1. Use of SRV records in Establishing Configuration . . . . 12 77 5.2. Minimum Confidentiality Level . . . . . . . . . . . . . . 13 78 5.3. Certificiate Validation . . . . . . . . . . . . . . . . . 14 79 5.4. Certificate Pinning . . . . . . . . . . . . . . . . . . . 15 80 5.5. Client Certificate Authentication . . . . . . . . . . . . 15 81 6. Considerations related to Anti-Virus/Anti-Spam Software and 82 Services . . . . . . . . . . . . . . . . . . . . . . . . . . 16 83 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 84 7.1. POP3S Port Registration Update . . . . . . . . . . . . . 17 85 7.2. IMAPS Port Registration Update . . . . . . . . . . . . . 17 86 7.3. Submissions Port Registration . . . . . . . . . . . . . . 18 87 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19 88 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 89 9.1. Normative References . . . . . . . . . . . . . . . . . . 19 90 9.2. Informative References . . . . . . . . . . . . . . . . . 21 91 Appendix A. Design Considerations . . . . . . . . . . . . . . . 22 92 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 24 93 Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 29 94 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 96 1. Introduction 98 Software that provides email service via Internet Message Access 99 Protocol (IMAP) [RFC3501], Post Office Protocol (POP) [RFC1939] and/ 100 or Simple Mail Transfer Protocol (SMTP) Submission [RFC6409] usually 101 has Transport Layer Security (TLS) [RFC5246] support but often does 102 not use it in a way that maximizes end-user confidentiality. This 103 specification describes current recommendations for the use of TLS in 104 interactions between Mail User Agents and Mail Access Services, and 105 between Mail User Agents and Mail Submission Services. 107 In brief, this memo now recommends that: 109 o TLS version 1.2 or greater be used for all traffic between mail 110 user agents (MUAs) and mail submission servers, and also between 111 MUAs and mail access servers. 113 o MUAs and mail service providers discourage use of cleartext 114 protocols for mail access and mail submission, and deprecate use 115 of cleartext protocols for these purposes as soon as practicable. 117 o Use of "Implicit TLS" on ports reserved for that purpose, in 118 preference to STARTTLS on a port that otherwise supports 119 cleartext. 121 This memo does not address use of TLS with SMTP for message relay 122 (where Message Submission [RFC6409] does not apply). Improved use of 123 TLS with SMTP for message relay requires a different approach. One 124 approach to address that topic is described in [RFC7672]; another is 125 in [I-D.ietf-uta-mta-sts]. 127 The recommendations in this memo do not replace the functionality of, 128 and are not intended as a substitute for, end-to-end encryption of 129 electronic mail. 131 2. Conventions and Terminology Used in This Document 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 135 "OPTIONAL" in this document are to be interpreted as described in BCP 136 14 [RFC2119] [RFC8174] when, and only when, they appear in all 137 capitals, as shown here. 139 The term "Implicit TLS" refers to the automatic negotiation of TLS 140 whenever a TCP connection is made on a particular TCP port that is 141 used exclusively by that server for TLS connections. The term 142 "Implicit TLS" is intended to contrast with use of STARTTLS and 143 similar commands in POP, IMAP, SMTP message submission, and other 144 protocols, that are used by client and server to explicitly negotiate 145 TLS on an established cleartext TCP connection. 147 The term "Mail Access Services" includes POP, IMAP and any other 148 protocol used to access or modify received messages, or to access or 149 modify a mail user's account configuration. 151 "Mail Submission Service" refers to the use of the protocol specified 152 in [RFC6409] (or one of its predecessors or successors) for 153 submission of outgoing messages for delivery to recipients. 155 The term "Mail Service Provider" (MSP) refers to a provider of Mail 156 Access Services and/or Mail Submission Services. 158 The term "Mail Account" refers to a user's identity with a Mail 159 Service Provider, that user's authentication credentials, any user 160 email that is stored by the MSP, and any other per-user configuration 161 information maintained by the MSP (for example, spam filtering 162 instructions). Most Mail User Agents (MUAs) support the ability to 163 access multiple Mail Accounts. 165 For each account that an MUA accesses on its user's behalf, it must 166 have the server names, ports, authentication credentials, and other 167 configuration information specified by the user. This information 168 which is used by the MUA is referred to as "Mail Account 169 Configuration" 171 This specification expresses syntax using the Augmented Backus-Naur 172 Form (ABNF) as described in [RFC5234], including the core rules in 173 Appendix B and rules from [RFC5322]. 175 3. Implicit TLS 177 Previous standards for use of email protocols with TLS used the 178 STARTTLS mechanism: [RFC2595], [RFC3207], and [RFC3501]. With 179 STARTTLS, the client establishes a cleartext application session and 180 determines whether to issue a STARTTLS command based on server 181 capabilities and client configuration. If the client issues a 182 STARTTLS command, a TLS handshake follows that can upgrade the 183 connection. While this mechanism has been deployed, an alternate 184 mechanism where TLS is negotiated immediately at connection start on 185 a separate port (referred to in this document as "Implicit TLS") has 186 been deployed more successfully. To encourage more widespread use of 187 TLS, and to encourage a greater consistency for how TLS is used, this 188 specification now recommends use of Implicit TLS for POP, IMAP, SMTP 189 Submission, and all other protocols used between a Mail User Agent 190 and a mail service. 192 3.1. Implicit TLS for POP 194 When a TCP connection is established for the "pop3s" service (default 195 port 995), a TLS handshake begins immediately. Clients MUST 196 implement the certificate validation mechanism described in 197 [RFC7817]. Once the TLS session is established, POP3 [RFC1939] 198 protocol messages are exchanged as TLS application data for the 199 remainder of the TCP connection. After the server sends a +OK 200 greeting, the server and client MUST enter AUTHORIZATION state, even 201 if a client certificate was supplied during the TLS handshake. 203 See Section 5.5 and Section 4.2 for additional information on client 204 certificate authentication. See Section 7.1 for port registration 205 information. 207 3.2. Implicit TLS for IMAP 209 When a TCP connection is established for the "imaps" service (default 210 port 993), a TLS handshake begins immediately. Clients MUST 211 implement the certificate validation mechanism described in 212 [RFC7817]. Once the TLS session is established, IMAP [RFC3501] 213 protocol messages are exchanged as TLS application data for the 214 remainder of the TCP connection. If a client certificate was 215 provided during the TLS handshake that the server finds acceptable, 216 the server MAY issue a PREAUTH greeting in which case both the server 217 and client enter AUTHENTICATED state. If the server issues an OK 218 greeting then both server and client enter NOT AUTHENTICATED state. 220 See Section 5.5 and Section 4.2 for additional information on client 221 certificate authentication. See Section 7.1 and Section 7.2 for port 222 registration information. 224 3.3. Implicit TLS for SMTP Submission 226 When a TCP connection is established for the "submissions" service 227 (default port 465), a TLS handshake begins immediately. Clients MUST 228 implement the certificate validation mechanism described in 229 [RFC7817]. Once a TLS session is established, message submission 230 protocol data [RFC6409] is exchanged as TLS application data for the 231 remainder of the TCP connection. (Note: the "submissions" service 232 name is defined in section 10.3 of this document, and follows the 233 usual convention that the name of a service layered on top of 234 Implicit TLS consists of the name of the service as used without TLS, 235 with an "s" appended.) 237 The STARTTLS mechanism on port 587 is relatively widely deployed due 238 to the situation with port 465 (discussed in Section 7.3). This 239 differs from IMAP and POP services where Implicit TLS is more widely 240 deployed on servers than STARTTLS. It is desirable to migrate core 241 protocols used by MUA software to Implicit TLS over time for 242 consistency as well as the additional reasons discussed in 243 Appendix A. However, to maximize use of encryption for submission it 244 is desirable to support both mechanisms for Message Submission over 245 TLS for a transition period of several years. As a result, clients 246 and servers SHOULD implement both STARTTLS on port 587 and Implicit 247 TLS on port 465 for this transition period. Note that there is no 248 significant difference between the security properties of STARTTLS on 249 port 587 and Implicit TLS on port 465 if the implementations are 250 correct and both client and server are configured to require 251 successful negotiation of TLS prior to message submission. 253 Note that the "submissions" port provides access to a Mail Submission 254 Agent (MSA) as defined in [RFC6409] so requirements and 255 recommendations for MSAs in that document apply to the submissions 256 port, including the requirement to implement SMTP AUTH [RFC4954]. 258 See Section 5.5 and Section 4.2 for additional information on client 259 certificate authentication. See Section 7.3 for port registration 260 information. 262 3.4. Implicit TLS Connection Closure for POP, IMAP and SMTP Submission 264 When a client or server wishes to close the connection, it SHOULD 265 initiate the exchange of TLS close alerts before TCP connection 266 termination. The client MAY, after sending a TLS close alert, 267 gracefully close the TCP connection (e.g. call the close() function 268 on the TCP socket or otherwise issue a TCP CLOSE ([RFC0793] section 269 3.5) without waiting for a TLS response from the server. 271 4. Use of TLS by Mail Access Services and Message Submission Services 273 The following requirements and recommendations apply to Mail Access 274 Services and Mail Submission Services: 276 o Mail Service Providers (MSPs) that support POP, IMAP, and/or 277 Message Submission, MUST support TLS access for those services. 279 o Other services than POP, IMAP and/or Message Submission provided 280 by MSPs SHOULD support TLS access, and MUST support TLS access for 281 those services which support authentication via username and 282 password. 284 o MSPs that support POP, IMAP, and/or Message Submission, SHOULD 285 provide and support instances of those services which use Implicit 286 TLS. (See Section 3.) 288 o For compatibility with existing MUAs and existing MUA 289 configurations, MSPs SHOULD also, in the near term, provide 290 instances of these services which support STARTTLS. This will 291 permit legacy MUAs to discover new availability of TLS capability 292 on servers, and may increase use of TLS by such MUAs. However, 293 servers SHOULD NOT advertise STARTTLS if use of the STARTTLS 294 command by a client is likely to fail (for example, if the server 295 has no server certificate configured.) 297 o MSPs SHOULD advertise their Mail Access Services and Mail 298 Submission Services using DNS SRV records according to [RFC6186]. 299 (In addition to making correct configuration easier for MUAs, this 300 provides a way by which MUAs can discover when an MSP begins to 301 offer TLS-based services.) Services supporting TLS SHOULD be 302 advertised in preference to cleartext services (if offered). In 303 addition, services using Implicit TLS SHOULD be advertised in 304 preference to services supporting STARTTLS (if offered). (See 305 also Section 4.5.) 307 o MSPs SHOULD deprecate use of cleartext Mail Access Services and 308 Mail Submission Services as soon as practicable. (See 309 Section 4.1.) 311 o MSPs currently supporting such use of cleartext SMTP (on port 25) 312 as a means of message submission by their users (whether or not 313 requiring authentication) SHOULD transition their users to using 314 TLS (either Implicit TLS or STARTTLS) as soon as practicable. 316 o Mail services MUST support TLS 1.2 or later. 318 o All Mail services SHOULD implement the recommended TLS cipher 319 suites described in [RFC7525] or a future BCP or standards track 320 revision of that document. 322 o Mail services currently supporting SSL 2.x, SSL 3.0, or TLS 1.0 323 SHOULD transition their users to later versions of TLS, and 324 discontinue support for those versions of SSL and TLS, as soon as 325 practicable. 327 o Mail Submission Servers accepting mail using TLS SHOULD include 328 the TLS ciphersuite of the session in which the mail was received, 329 in the Received field of the outgoing message. (See Section 4.3.) 331 o All Mail services implementing TLS SHOULD log TLS cipher 332 information along with any connection or authentication logs that 333 they maintain. 335 Additional considerations and details appear below. 337 4.1. Deprecation of Services Using Cleartext and TLS Versions < 1.1 339 The specific means employed for deprecation of cleartext Mail Access 340 Services and Mail Submission Services MAY vary from one MSP to the 341 next in light of their user communities' needs and constraints. For 342 example, an MSP MAY implement a gradual transition in which, over 343 time, more and more users are forbidden to authenticate to cleartext 344 instances of these services, thus encouraging those users to migrate 345 to Implicit TLS. Access to cleartext services should eventually be 346 either disabled, or limited strictly for use by legacy systems which 347 cannot be upgraded. 349 After a user's ability to authenticate to a service using cleartext 350 is revoked, the server denying such access MUST NOT provide any 351 indication over a cleartext channel of whether the user's 352 authentication credentials were valid. An attempt to authenticate as 353 such a user using either invalid credentials or valid credentials 354 MUST both result in the same indication of access being denied. 356 Also, users previously authenticating with passwords sent as 357 cleartext SHOULD be required to change those passwords when migrating 358 to TLS, if the old passwords were likely to have been compromised. 359 (For any large community of users using public Internet to access 360 mail without encryption, compromise of at least some of those 361 passwords should be assumed.) 363 Transition of users from SSL or TLS 1.0 to later versions of TLS MAY 364 be accomplished by a means similar to that described above. There 365 are multiple ways to accomplish this. One way is for the server to 366 refuse a ClientHello message from any client sending a 367 ClientHello.version field corresponding to any version of SSL or TLS 368 1.0. Another way is for the server to accept ClientHello messages 369 from some client versions that it does not wish to support, but later 370 refuse to allow the user to authenticate. The latter method may 371 provide a better indication to the user of the reason for the failure 372 but (depending on the protocol and method of authentication used) may 373 also risk exposure of the user's password over an channel which is 374 known to not provide adequate confidentiality. 376 It is RECOMMENDED that new users be required to use TLS version 1.1 377 or greater from the start. However an MSP may find it necessary to 378 make exceptions to accommodate some legacy systems which support only 379 earlier versions of TLS, or only cleartext. 381 4.2. Mail Server Use of Client Certificate Authentication 383 Mail servers MAY implement client certificate authentication on the 384 Implicit TLS port. Servers MUST NOT request a client certificate 385 during the TLS handshake unless the server is configured to accept 386 some client certificates as sufficient for authentication and the 387 server has the ability to determine a mail server authorization 388 identity matching such certificates. How to make this determination 389 is presently implementation specific. 391 If the server accepts the client's certificate as sufficient for 392 authorization, it MUST enable the SASL EXTERNAL [RFC4422] mechanism. 393 An IMAPS server MAY issue a PREAUTH greeting instead of enabling SASL 394 EXTERNAL. 396 4.3. Recording TLS Cipher Suite in Received Header 398 The ESMTPS transmission type [RFC3848] provides trace information 399 that can indicate TLS was used when transferring mail. However, TLS 400 usage by itself is not a guarantee of confidentiality or security. 401 The TLS cipher suite provides additional information about the level 402 of security made available for a connection. This defines a new SMTP 403 "tls" Received header additional-registered-clause that is used to 404 record the TLS cipher suite that was negotiated for the connection. 405 This clause SHOULD be included whenever a Submission server generates 406 a Received header field for a message received via TLS. The value 407 included in this additional clause SHOULD be the registered cipher 408 suite name (e.g., TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) included in 409 the TLS cipher suite registry. In the event the implementation does 410 not know the name of the cipher suite (a situation that should be 411 remedied promptly), a four-digit hexadecimal cipher suite identifier 412 MAY be used. In addition, the Diffie-Hellman group name associated 413 with the ciphersuite MAY be included (when applicable and known) 414 following the ciphersuite name. The ABNF for the field follows: 416 tls-cipher-clause = CFWS "tls" FWS tls-cipher [ FWS "group" FWS dh-group ] 418 tls-cipher = tls-cipher-name / tls-cipher-hex 420 tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_") 421 ; as registered in IANA cipher suite registry 423 tls-cipher-hex = "0x" 4HEXDIG 425 dh-group = ALPHA *(ALPHA / DIGIT / "_" / "-") 426 ; as registered in IANA TLS Supported Groups Registry 427 4.4. TLS Server Certificate Requirements 429 MSPs MUST maintain valid server certificates for all servers. See 430 [RFC7817] for the recommendations and requirements necessary to 431 achieve this. 433 If a protocol server provides service for more than one mail domain, 434 it MAY use a separate IP address for each domain and/or a server 435 certificate that advertises multiple domains. This will generally be 436 necessary unless and until it is acceptable to impose the constraint 437 that the server and all clients support the Server Name Indication 438 extension to TLS [RFC6066]. Mail servers supporting SNI need to 439 support the post-SRV hostname to interoperate with MUAs that have not 440 implemented RFC 6186. For more discussion of this problem, see 441 section 5.1 of [RFC7817]. 443 4.5. Recommended DNS records for mail protocol servers 445 This section discusses not only the DNS records that are recommended, 446 but also implications of DNS records for server configuration and TLS 447 server certificates. 449 4.5.1. MX records 451 It is recommended that MSPs advertise MX records for handling of 452 inbound mail (instead of relying entirely on A or AAAA records), and 453 that those MX records be signed using DNSSEC [RFC4033]. This is 454 mentioned here only for completeness, as handling of inbound mail is 455 out of scope for this document. 457 4.5.2. SRV records 459 MSPs SHOULD advertise SRV records to aid MUAs in determination of 460 proper configuration of servers, per the instructions in [RFC6186]. 462 MSPs SHOULD advertise servers that support Implicit TLS in preference 463 to those which support cleartext and/or STARTTLS operation. 465 4.5.3. DNSSEC 467 All DNS records advertised by an MSP as a means of aiding clients in 468 communicating with the MSP's servers, SHOULD be signed using DNSSEC 469 if and when the parent DNS zone supports doing so. 471 4.5.4. TLSA records 473 MSPs SHOULD advertise TLSA records to provide an additional trust 474 anchor for public keys used in TLS server certificates. However, 475 TLSA records MUST NOT be advertised unless they are signed using 476 DNSSEC. 478 4.6. Changes to Internet Facing Servers 480 When an MSP changes the Internet Facing Servers providing mail access 481 and mail submission services, including SMTP-based spam/virus 482 filters, it is generally necessary to support the same and/or a newer 483 version of TLS and the same security directives that were previously 484 advertised. 486 5. Use of TLS by Mail User Agents 488 The following requirements and recommendations apply to Mail User 489 Agents: 491 o MUAs SHOULD be capable of using DNS SRV records to discover Mail 492 Access Services and Mail Submission Services that are advertised 493 by a MSP for an account being configured. Other means of 494 discovering server configuration information (e.g. a database 495 maintained by the MUA vendor) MAY also be supported. (See 496 Section 5.1 for more information.) 498 o MUAs SHOULD be configurable to require a minimum level of 499 confidentiality for any particular Mail Account, and refuse to 500 exchange information via any service associated with that Mail 501 Account if the session does not provide that minimum level of 502 confidentiality. (See Section 5.2.) 504 o MUAs MUST NOT treat a session as meeting a minimum level of 505 confidentiality if the server's TLS certificate cannot be 506 validated. (See Section 5.3.) 508 o MUAs MAY impose other minimum confidentiality requirements in the 509 future, e.g. in order to discourage use of TLS versions or 510 cryptographic algorithms in which weaknesses have been discovered. 512 o MUAs SHOULD provide a prominent indication of the level of 513 confidentiality associated with an account configuration that is 514 appropriate for the user interface (for example, a "lock" icon or 515 changed background color for a visual interface, or some sort of 516 audible indication for an audio user interface), at appropriate 517 times and/or locations in order to inform the user of the 518 confidentiality of the communications associated with that 519 account. For example, this might be done whenever (a) prompting 520 the user for authentication credentials, (b) the user is composing 521 mail that will be sent to a particular submission server, (c) a 522 list of accounts is displayed (particularly if the user can select 523 from that list to read mail), or (d) the user is requesting to 524 view or update any configuration data that will be stored on a 525 remote server. If, however, an MUA provides such an indication, 526 it MUST NOT indicate confidentiality for any connection that does 527 not at least use TLS 1.1 with certificate verification and also 528 meet the minimum confidentiality requirements associated with that 529 account. 531 o MUAs MUST implement TLS 1.2 [RFC5246] or later. Earlier TLS and 532 SSL versions MAY also be supported so long as the MUA requires at 533 least TLS 1.1 [RFC4346] when accessing accounts that are 534 configured to impose minimum confidentiality requirements. 536 o All MUAs SHOULD implement the recommended TLS cipher suites 537 described in [RFC7525] or a future BCP or standards track revision 538 of that document. 540 o MUAs that are configured to not require minimum confidentiality 541 for one or more accounts SHOULD detect when TLS becomes available 542 on those accounts (using [RFC6186] or other means), and offer to 543 upgrade the account to require TLS. 545 Additional considerations and details appear below. 547 5.1. Use of SRV records in Establishing Configuration 549 This section updates [RFC6186] by changing the preference rules and 550 adding a new SRV service label _submissions._tcp to refer to Message 551 Submission with Implicit TLS. 553 User-configurable MUAs SHOULD support use of [RFC6186] for account 554 setup. However, when using configuration information obtained by 555 this method, MUAs SHOULD ignore advertised services that do not 556 satisfy minimum confidentiality requirements, unless the user has 557 explicitly requested reduced confidentiality. This will have the 558 effect of causing the MUA to default to ignoring advertised 559 configurations that do not support TLS, even when those advertised 560 configurations have a higher priority than other advertised 561 configurations. 563 When using [RFC6186] configuration information, Mail User Agents 564 SHOULD NOT automatically establish new configurations that do not 565 require TLS for all servers, unless there are no advertised 566 configurations using TLS. If such a configuration is chosen, prior 567 to attempting to authenticate to the server or use the server for 568 message submission, the MUA SHOULD warn the user that traffic to that 569 server will not be encrypted and that it will therefore likely be 570 intercepted by unauthorized parties. The specific wording is to be 571 determined by the implementation, but it should adequately capture 572 the sense of risk given the widespread incidence of mass surveillance 573 of email traffic. 575 Similarly, a MUA MUST NOT attempt to "test" a particular mail account 576 configuration by submitting the user's authentication credentials to 577 a server, unless a TLS session meeting minimum confidentiality levels 578 has been established with that server. If minimum confidentiality 579 requirements have not been satisfied, the MUA must explicitly warn 580 the user that his password may be exposed to attackers before testing 581 the new configuration. 583 When establishing a new configuration for connecting to an IMAP, POP, 584 or SMTP submission server, based on SRV records, an MUA SHOULD either 585 verify that the SRV records are signed using DNSSEC, or that the 586 target FQDN of the SRV record matches the original server FQDN for 587 which the SRV queries were made. If the target FQDN is not in the 588 queried domain, the MUA SHOULD verify with the user that the SRV 589 target FQDN is suitable for use, before executing any connections to 590 the host. (See [RFC6186] section 6). 592 An MUA MUST NOT consult SRV records to determine which servers to use 593 on every connection attempt, unless those SRV records are signed by 594 DNSSEC and have a valid signature. However, an MUA MAY consult SRV 595 records from time to time to determine if an MSP's server 596 configuration has changed, and alert the user if it appears that this 597 has happened. This can also serve as a means to encourage users to 598 upgrade their configurations to require TLS if and when their MSPs 599 support it. 601 5.2. Minimum Confidentiality Level 603 MUAs SHOULD, by default, require a minimum level of confidentiality 604 for services accessed by each account. For MUAs supporting the 605 ability to access multiple mail accounts, this requirement SHOULD be 606 configurable on a per-account basis. 608 The default minimum expected level of confidentiality for all new 609 accounts MUST require successful validation of the server's 610 certificate and SHOULD require negotiation of TLS version 1.1 or 611 greater. (Future revisions to this specification may raise these 612 requirements or impose additional requirements to address newly- 613 discovered weaknesses in protocols or cryptographic algorithms.) 614 MUAs MAY permit the user to disable this minimum confidentiality 615 requirement during initial account configuration, or subsequently 616 editing an account configuration, but MUST warn users that such a 617 configuration will not assure privacy for either passwords or 618 messages. 620 An MUA which is configured to require a minimum level of 621 confidentiality for a mail account MUST NOT attempt to perform any 622 operation other than capability discovery, or STARTTLS for servers 623 not using Implicit TLS, unless the minimum level of confidentiality 624 is provided by that connection. 626 MUAs SHOULD NOT allow users to easily access or send mail via an 627 connection, or authenticate to any service using a password, if that 628 account is configured to impose minimum confidentiality requirements 629 and that connection does not meet all of those requirements. An 630 example of "easily access" would be to display a dialog informing the 631 user that the security requirements of the account were not met by 632 the connection, but allowing the user to "click through" to send mail 633 or access the service anyway. Experience indicates that users 634 presented with such an option often "click through" without 635 understanding the risks that they're accepting by doing so. 636 Furthermore, users who frequently find the need to "click through" to 637 use an insecure connection may become conditioned to do so as a 638 matter of habit, before considering whether the risks are reasonable 639 in each specific instance. 641 An MUA which is not configured to require a minimum level of 642 confidentiality for a mail account SHOULD still attempt to connect to 643 the services associated with that account using the most secure means 644 available, e.g. by using Implicit TLS or STARTTLS. 646 5.3. Certificiate Validation 648 MUAs MUST validate TLS server certificates according to [RFC7817] and 649 PKIX [RFC5280]. 651 MUAs MAY also support DANE [RFC6698] as a means of validating server 652 certificates in order to meet minimum confidentiality requirements. 654 MUAs MAY support use of certificate pinning but MUST NOT consider a 655 connection in which the server's authenticity relies on certificate 656 pinning, as providing the minimum level of confidentiality. (See 657 Section 5.4.) 659 5.4. Certificate Pinning 661 During account setup, the MUA will identify servers that provide 662 account services such as mail access and mail submission (the 663 previous section describes one way to do this). The certificates for 664 these servers are verified using the rules described in [RFC7817] and 665 PKIX [RFC5280]. In the event the certificate does not validate due 666 to an expired certificate, lack of appropriate chain of trust, or 667 lack of identifier match, the MUA MAY offer to create a persistent 668 binding between that certificate and the saved host name for the 669 server, for use when accessing that account's servers. This is 670 called certificate pinning. 672 (Note: This use of the term "certificate pinning" means something 673 subtly different than "HTTP Public Key Pinning" [RFC7469]. The dual 674 use of the same term is confusing, but unfortunately both uses are 675 well-established.) 677 Certificate pinning is only appropriate during mail account setup and 678 MUST NOT be offered as an option in response to a failed certificate 679 validation for an existing mail account. An MUA that allows 680 certificate pinning MUST NOT allow a certificate pinned for one 681 account to validate connections for other accounts. An MUA that 682 allows certificate pinning MUST also allow a user to undo the 683 pinning, i.e. to revoke trust in a certificate that has previously 684 been pinned. 686 A pinned certificate is subject to a man-in-the-middle attack at 687 account setup time, and typically lacks a mechanism to automatically 688 revoke or securely refresh the certificate. Note also that a man-in- 689 the-middle attack at account setup time will expose the user's 690 password to the attacker (if a password is used). Therefore use of a 691 pinned certificate does not meet the requirement for a minimum 692 confidentiality level, and an MUA MUST NOT indicate to the user that 693 the such confidentiality is provided. Additional advice on 694 certificate pinning is present in [RFC6125]. 696 5.5. Client Certificate Authentication 698 MUAs MAY implement client certificate authentication on the Implicit 699 TLS port. An MUA MUST NOT provide a client certificate during the 700 TLS handshake unless the server requests one and the MUA has been 701 authorized to use that client certificate with that account. Having 702 the end-user explicitly configure a client certificate for use with a 703 given account is sufficient to meet this requirement. However, 704 installing a client certificate for use with one account MUST NOT 705 automatically authorize use of that certificate with other accounts. 706 This is not intended to prohibit site-specific authorization 707 mechanisms, such as a site-administrator-controlled mechanism to 708 authorize use of a client certificate with a given account, or a 709 domain-name matching mechanism. 711 Note: The requirement that the server request a certificate is just a 712 restatement of the TLS protocol rules, e.g. [RFC5246] section 7.4.6. 713 The requirement that the client not send a certificate not known to 714 be acceptable to the server is pragmatic in multiple ways: the 715 current TLS protocol provides no way for the client to know which of 716 potentially multiple certificates it should use; also, when the 717 client sends a certificate it is potentially disclosing its identity 718 (or its user's identity) to both the server and to any party with 719 access to the transmission medium, perhaps unnecessarily and for no 720 useful purpose. 722 A client supporting client certificate authentication with Implicit 723 TLS MUST implement the SASL EXTERNAL [RFC4422] mechanism using the 724 appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for 725 SMTP Submission [RFC4954], AUTHENTICATE for IMAP [RFC3501]). 727 6. Considerations related to Anti-Virus/Anti-Spam Software and Services 729 There are multiple ways to connect an Anti-Virus and/or Anti-Spam 730 (AVAS) service to a mail server. Some mechanisms, such as the de- 731 facto milter protocol, are out of scope for this specification. 732 However, some services use an SMTP relay proxy that intercepts mail 733 at the application layer to perform a scan and proxy or forward to 734 another MTA. Deploying AVAS services in this way can cause many 735 problems [RFC2979] including direct interference with this 736 specification, and other forms of confidentiality or security 737 reduction. An AVAS product or service is considered compatible with 738 this specification if all IMAP, POP and SMTP-related software 739 (including proxies) it includes are compliant with this 740 specification. 742 Note that end-to-end email encryption prevents AVAS software and 743 services from using email content as part of a spam or virus 744 assessment. Furthermore, while a minimum confidentiality level can 745 prevent a man-in-the-middle from introducing spam or virus content 746 between the MUA and Submission server, it does not prevent other 747 forms of client or account compromise. Use of AVAS services for 748 submitted email therefore remains necessary. 750 7. IANA Considerations 751 7.1. POP3S Port Registration Update 753 IANA is asked to update the registration of the TCP well-known port 754 995, and also UDP well-known port 995, using the following templates 755 ([RFC6335]): 757 Service Name: pop3s 758 Transport Protocol: TCP 759 Assignee: IETF 760 Contact: IESG 761 Description: POP3 over TLS protocol 762 Reference: RFC XXXX (this document once published) 763 Port Number: 995 765 Service Name: pop3s 766 Transport Protocol: UDP 767 Assignee: IETF 768 Contact: IESG 769 Description: POP3 over TLS protocol 770 Reference: RFC XXXX (this document once published) 771 Port Number: 995 773 7.2. IMAPS Port Registration Update 775 IANA is asked to update the registration of the TCP well-known port 776 993, and also UDP well-known port 993, using the following templates 777 ([RFC6335]): 779 Service Name: imaps 780 Transport Protocol: TCP 781 Assignee: IETF 782 Contact: IESG 783 Description: IMAP over TLS protocol 784 Reference: RFC XXXX (this document once published) 785 Port Number: 993 787 Service Name: imaps 788 Transport Protocol: UDP 789 Assignee: IETF 790 Contact: IESG 791 Description: IMAP over TLS protocol 792 Reference: RFC XXXX (this document once published) 793 Port Number: 993 795 Note: the updates to the UDP port assignments preserve the pre- 796 existing alignment in which both TCP and UDP ports were allocated to 797 the same protocols (in this case POP3+TLS and IMAP4+TLS) even though 798 there is no specification for using either protocol over UDP. This 799 seems undesirable as it wastes UDP port assignments. However, it is 800 not within the scope of this document to revisit old conventions for 801 port assignments. 803 7.3. Submissions Port Registration 805 IANA is asked to assign an alternate usage of TCP port 465 in 806 addition to the current assignment using the following template 807 ([RFC6335]): 809 Service Name: submissions 810 Transport Protocol: TCP 811 Assignee: IETF 812 Contact: IESG 813 Description: Message Submission over TLS protocol 814 Reference: RFC XXXX (this document once published) 815 Port Number: 465 817 This is a one-time procedural exception to the rules in RFC 6335. 818 This requires explicit IESG approval and does not set a precedent. 819 Note: Since the purpose of this alternate usage assignment is to 820 align with widespread existing practice, and there is no known usage 821 of UDP port 465 for message submission over TLS, IANA is not being 822 asked to assign an alternate usage of UDP port 465. 824 Historically, port 465 was briefly registered as the "smtps" port. 825 This registration made no sense as the SMTP transport MX 826 infrastructure has no way to specify a port, so port 25 is always 827 used. As a result, the registration was revoked and was subsequently 828 reassigned to a different service. In hindsight, the "smtps" 829 registration should have been renamed or reserved rather than 830 revoked. Unfortunately, some widely deployed mail software 831 interpreted "smtps" as "submissions" [RFC6409] and used that port for 832 email submission by default when an end-user requests security during 833 account setup. If a new port is assigned for the submissions 834 service, email software will either continue with unregistered use of 835 port 465 (leaving the port registry inaccurate relative to de-facto 836 practice and wasting a well-known port), or confusion between the de- 837 facto and registered ports will cause harmful interoperability 838 problems that will deter use of TLS for message submission. The 839 authors believe both of these outcomes are less desirable than a wart 840 in the registry documenting real-world usage of a port for two 841 purposes. Although STARTTLS-on-port-587 has deployed, it has not 842 replaced deployed use of Implicit TLS submission on port 465. 844 8. Security Considerations 846 This entire document is about security considerations. In general, 847 this is targeted to improve mail confidentiality and to mitigate 848 threats external to the email system such as network-level snooping 849 or interception; this is not intended to mitigate active attackers 850 who have compromised service provider systems. 852 Implementers should be aware that use of client certificates with TLS 853 1.2 reveals the user's identity to any party with ability to read 854 packets from the transmission medium, and therefore may compromise 855 the user's privacy. There seems to be no easy fix with TLS 1.2 or 856 earlier versions other than to avoid presenting client certificates 857 except when there is explicit authorization to do so. TLS 1.3 858 [I-D.ietf-tls-tls13] appears to reduce the privacy risk somewhat. 860 9. References 862 9.1. Normative References 864 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, 865 RFC 793, DOI 10.17487/RFC0793, September 1981, 866 . 868 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 869 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 870 . 872 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 873 Requirement Levels", BCP 14, RFC 2119, 874 DOI 10.17487/RFC2119, March 1997, 875 . 877 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 878 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 879 February 2002, . 881 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 882 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 883 . 885 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 886 Rose, "DNS Security Introduction and Requirements", 887 RFC 4033, DOI 10.17487/RFC4033, March 2005, 888 . 890 [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol 891 (POP3) Simple Authentication and Security Layer (SASL) 892 Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034, 893 July 2007, . 895 [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T. 896 Finch, "Email Submission Operations: Access and 897 Accountability Requirements", BCP 134, RFC 5068, 898 DOI 10.17487/RFC5068, November 2007, 899 . 901 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 902 Specifications: ABNF", STD 68, RFC 5234, 903 DOI 10.17487/RFC5234, January 2008, 904 . 906 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 907 (TLS) Protocol Version 1.2", RFC 5246, 908 DOI 10.17487/RFC5246, August 2008, 909 . 911 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 912 Housley, R., and W. Polk, "Internet X.509 Public Key 913 Infrastructure Certificate and Certificate Revocation List 914 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 915 . 917 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 918 DOI 10.17487/RFC5322, October 2008, 919 . 921 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email 922 Submission/Access Services", RFC 6186, 923 DOI 10.17487/RFC6186, March 2011, 924 . 926 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 927 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 928 . 930 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 931 of Named Entities (DANE) Transport Layer Security (TLS) 932 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 933 2012, . 935 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 936 "Recommendations for Secure Use of Transport Layer 937 Security (TLS) and Datagram Transport Layer Security 938 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 939 2015, . 941 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via 942 Opportunistic DNS-Based Authentication of Named Entities 943 (DANE) Transport Layer Security (TLS)", RFC 7672, 944 DOI 10.17487/RFC7672, October 2015, 945 . 947 [RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) 948 Server Identity Check Procedure for Email-Related 949 Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, 950 . 952 9.2. Informative References 954 [I-D.ietf-tls-tls13] 955 Rescorla, E., "The Transport Layer Security (TLS) Protocol 956 Version 1.3", draft-ietf-tls-tls13-21 (work in progress), 957 July 2017. 959 [I-D.ietf-uta-mta-sts] 960 Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., 961 and J. Jones, "SMTP MTA Strict Transport Security (MTA- 962 STS)", draft-ietf-uta-mta-sts-09 (work in progress), 963 September 2017. 965 [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", 966 RFC 2595, DOI 10.17487/RFC2595, June 1999, 967 . 969 [RFC2979] Freed, N., "Behavior of and Requirements for Internet 970 Firewalls", RFC 2979, DOI 10.17487/RFC2979, October 2000, 971 . 973 [RFC3848] Newman, C., "ESMTP and LMTP Transmission Types 974 Registration", RFC 3848, DOI 10.17487/RFC3848, July 2004, 975 . 977 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security 978 (TLS) Protocol Version 1.1", RFC 4346, 979 DOI 10.17487/RFC4346, April 2006, 980 . 982 [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple 983 Authentication and Security Layer (SASL)", RFC 4422, 984 DOI 10.17487/RFC4422, June 2006, 985 . 987 [RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service 988 Extension for Authentication", RFC 4954, 989 DOI 10.17487/RFC4954, July 2007, 990 . 992 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) 993 Extensions: Extension Definitions", RFC 6066, 994 DOI 10.17487/RFC6066, January 2011, 995 . 997 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 998 Verification of Domain-Based Application Service Identity 999 within Internet Public Key Infrastructure Using X.509 1000 (PKIX) Certificates in the Context of Transport Layer 1001 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 1002 2011, . 1004 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 1005 Cheshire, "Internet Assigned Numbers Authority (IANA) 1006 Procedures for the Management of the Service Name and 1007 Transport Protocol Port Number Registry", BCP 165, 1008 RFC 6335, DOI 10.17487/RFC6335, August 2011, 1009 . 1011 [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning 1012 Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April 1013 2015, . 1015 Appendix A. Design Considerations 1017 This section is not normative. 1019 The first version of this was written independently from draft-moore- 1020 email-tls-00.txt; subsequent versions merge ideas from both drafts. 1022 One author of this document was also the author of RFC 2595 that 1023 became the standard for TLS usage with POP and IMAP, and the other 1024 author was perhaps the first to propose that idea. In hindsight both 1025 authors now believe that that approach was a mistake. At this point 1026 the authors believe that while anything that makes it easier to 1027 deploy TLS is good, the desirable end state is that these protocols 1028 always use TLS, leaving no need for a separate port for cleartext 1029 operation except to support legacy clients while they continue to be 1030 used. The separate port model for TLS is inherently simpler to 1031 implement, debug and deploy. It also enables a "generic TLS load- 1032 balancer" that accepts secure client connections for arbitrary foo- 1033 over-TLS protocols and forwards them to a server that may or may not 1034 support TLS. Such load-balancers cause many problems because they 1035 violate the end-to-end principle and the server loses the ability to 1036 log security-relevant information about the client unless the 1037 protocol is designed to forward that information (as this 1038 specification does for the cipher suite). However, they can result 1039 in TLS deployment where it would not otherwise happen which is a 1040 sufficiently important goal that it overrides the problems. 1042 Although STARTTLS appears only slightly more complex than separate- 1043 port TLS, we again learned the lesson that complexity is the enemy of 1044 security in the form of the STARTTLS command injection vulnerability 1045 (CERT vulnerability ID #555316). Although there's nothing inherently 1046 wrong with STARTTLS, the fact it resulted in a common implementation 1047 error (made independently by multiple implementers) suggests it is a 1048 less secure architecture than Implicit TLS. 1050 Section 7 of RFC 2595 critiques the separate-port approach to TLS. 1051 The first bullet was a correct critique. There are proposals in the 1052 http community to address that, and use of SRV records as described 1053 in RFC 6186 resolves that critique for email. The second bullet is 1054 correct as well, but not very important because useful deployment of 1055 security layers other than TLS in email is small enough to be 1056 effectively irrelevant. (Also it's less correct than it used to be 1057 because "export" ciphersuites are no longer supported in modern 1058 versions of TLS.) The third bullet is incorrect because it misses 1059 the desirable option of "use and latch-on TLS if available". The 1060 fourth bullet may be correct, but is not a problem yet with current 1061 port consumption rates. The fundamental error was prioritizing a 1062 perceived better design based on a mostly valid critique over real- 1063 world deployability. But getting security and confidentiality 1064 facilities actually deployed is so important it should trump design 1065 purity considerations. 1067 Port 465 is presently used for two purposes: for submissions by a 1068 large number of clients and service providers and for the "urd" 1069 protocol by one vendor. Actually documenting this current state is 1070 controversial as discussed in the IANA considerations section. 1071 However, there is no good alternative. Registering a new port for 1072 submissions when port 465 is widely used for that purpose already 1073 will just create interoperability problems. Registering a port 1074 that's only used if advertised by an SRV record (RFC 6186) would not 1075 create interoperability problems but would require all client and 1076 server deployments and software to change significantly which is 1077 contrary to the goal of promoting more TLS use. Encouraging use of 1078 STARTTLS on port 587 would not create interoperability problems, but 1079 is unlikely to have impact on current undocumented use of port 465 1080 and makes the guidance in this document less consistent. The 1081 remaining option is to document the current state of the world and 1082 support future use of port 465 for submission as this increases 1083 consistency and ease-of-deployment for TLS email submission. 1085 Appendix B. Change Log 1087 Changes since draft-ietf-uta-email-deep-07: 1089 o After discussion with the WG in Prague, removed BCP language and 1090 once again made unambiguous that this is intended as a standards- 1091 track document. 1093 o Server implementations now MUST implement TLS 1.2, consistent with 1094 RFC 7525. MUAs may still consider a TLS 1.1 session as meeting 1095 minimum confidentiality requirements. 1097 o MSPs now MUST support TLS for POP, IMAP, Submission, and any other 1098 services that use username/password authentication. 1100 o Added text to clarify the purpose of recommending that MSPs use 1101 DNS SRV records to advertise services. 1103 o Changed text about MUAs not blindly trusting unsigned SRV records, 1104 to instead restate RFC 6186 requirements. 1106 Changes since draft-ietf-uta-email-deep-06: 1108 o On the recommendation of one of the co-chairs and some working 1109 group members, rewrote document with the intended status of BCP. 1110 This involved removing a great deal of text that consisted 1111 essentially of new protocol specification, especially the STS 1112 features, on the theory that a BCP should base its recommendations 1113 on current practice, and that new protocol features should be 1114 subject to the interoperability test requirements associated with 1115 normal standards-track documents. 1117 Changes since draft-ietf-uta-email-deep-05: 1119 o Clarify throughout that the confidentiality assurance level 1120 associated with a mail account is a minimum level; attempt to 1121 distinguish this from the current confidentiality level provided 1122 by a connection between client and server. 1124 o Change naming for confidentiality assurance levels: instead of 1125 "high" or "no" confidence, assign numbers 1 and 0 to them 1126 respectively. This because it seems likely that in the not-too- 1127 distant future, what was defined in -05 as "high" confidence will 1128 be considered insufficient, and calling that "high" confidence 1129 will become misleading. For example, relying entirely on a list 1130 of trusted CAs to validate server certificates from arbitrary 1131 parties, appears to be less and less reliable in practice at 1132 thwarting MITM attacks. 1134 o Clarify that if some services associated with a mail account don't 1135 meet the minimum confidentiality assurance level assigned to that 1136 account, other services that do meet that minimum confidentiality 1137 assurance level may continue to be used. 1139 o Clarify that successful negotiation of at least TLS version 1.1 is 1140 required as a condition of meeting confidentiality assurance level 1141 1. 1143 o Clarify that validation of a server certificate using either DANE 1144 or PKIX is sufficient to meet the certificate validation 1145 requirement of confidentiality assurance level 1. 1147 o Clarify that minimum confidentiality assurance levels are separate 1148 from security directives, and that the requirements of both 1149 mechanisms must be met. 1151 o Explicitly cite an example that a security directive of tls- 1152 version=1.2 won't be saved if the currently negotiated tls-version 1153 is 1.1. (This example already appeared a bit later in the text, 1154 but for author KM it seemed to make the mechanism clearer to use 1155 this example earlier.) 1157 o Clarify some protocol examples as to whether PKIX or DANE was used 1158 to verify a server's certificate. 1160 o Remove most references to DEEP as the conversion from DEEP to MUA- 1161 STS seemed incomplete, but kept the DEEP command for use in POP3 1162 on the assumption that author CN wanted it that way. 1164 o Removed most references to "latch" and derivative words. 1166 o Added pkix+dane as a value for the tls-cert directive, to indicate 1167 (from a server) that both PKIX and DANE validation will be 1168 supported, or (from a client) that both PKIX and DANE were used to 1169 validate a certificate. Also clarified what each of any, pkix, 1170 dane, and pkix+dane mean when advertised by a server and in 1171 particular that tls-cert=any provides no assurance of future PKIX 1172 verifiability in contrast to tls-cert=pkix or tls-cert=pkix+dane. 1173 It seemed important to support the ability to evolve to using 1174 multiple trust anchors for certificate validation, but also to 1175 allow servers to have the option to migrate from PKIX to DANE if 1176 that made sense for them. This change seemed less disruptive than 1177 either defining additional directives, or allowing multiple 1178 instances of the same directive with different values to appear in 1179 the same advertisement. 1181 o Clarify interaction of this specification with anti-virus / anti- 1182 spam mechanisms. 1184 Changes since draft-ietf-uta-email-deep-04: 1186 o Swap sections 5.1 and 5.3 ("Email Security Tags" and "Server DEEP 1187 Status") as that order may aid understanding of the model. Also 1188 rewrote parts of these two sections to try to make the model 1189 clearer. 1191 o Add text about versioning of security tags to make the model 1192 clearer. 1194 o Add example of security tag upgrade. 1196 o Convert remaining mention of TLS 1.0 to TLS 1.1. 1198 o Change document title from DEEP to MUA STS to align with SMTP 1199 relay STS. 1201 * Slight updates to abstract and introductions. 1203 * Rename security latches/tags to security directives. 1205 * Rename server DEEP status to STS policy. 1207 * Change syntax to use directive-style HSTS syntax. 1209 o Make HSTS reference normative. 1211 o Remove SMTP DSN header as that belongs in SMTP relay STS document. 1213 Changes since draft-ietf-uta-email-deep-03: 1215 o Add more references to ietf-uta-email-tls-certs in implementation 1216 requirements section. 1218 o Replace primary reference to RFC 6125 with ietf-uta-email-tls- 1219 certs, so move RFC 6125 to informative list for this 1220 specification. 1222 Changes since draft-ietf-uta-email-deep-02: 1224 o Make reference to design considerations explicit rather than 1225 "elsewhere in this document". 1227 o Change provider requirement so SMTP submission services are 1228 separate from SMTP MTA services as opposed to the previous 1229 phrasing that required the servers be separate (which is too 1230 restrictive). 1232 o Update DANE SMTP reference 1234 Changes since draft-ietf-uta-email-deep-01: 1236 o Change text in tls11 and tls12 registrations to clarify 1237 certificate rules, including additional PKIX and DANE references. 1239 o Change from tls10 to tls11 (including reference) as the minimum. 1241 o Fix typo in example 5. 1243 o Remove open issues section; enough time has passed so not worth 1244 waiting for more input. 1246 Changes since draft-ietf-uta-email-deep-00: 1248 o Update and clarify abstract 1250 o use term confidentiality instead of privacy in most cases. 1252 o update open issues to request input for missing text. 1254 o move certificate pinning sub-section to account setup section and 1255 attempt to define it more precisely. 1257 o Add note about end-to-end encryption in AVAS section. 1259 o swap order of DNSSEC and TLSA sub-sections. 1261 o change meaning of 'tls10' and 'tls12' latches to require 1262 certificate validation. 1264 o Replace cipher suite advice with reference to RFC 7525. Change 1265 examples to use TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 as cipher 1266 suite. 1268 o Add text to update IMAP, POP3 and Message Submission standards 1269 with newer TLS advice. 1271 o Add clearer text in introduction that this does not cover SMTP 1272 relay. 1274 o Update references to uta-tls-certs. 1276 o Add paragraph to Implicit TLS for SMTP Submission section 1277 recommending that STARTTLS also be implemented. 1279 Changes since draft-newman-email-deep-02: 1281 o Changed "privacy assurance" to "confidentiality assurance" 1283 o Changed "low privacy assurance" to "no confidentiality assurance" 1285 o Attempt to improve definition of confidentiality assurance level. 1287 o Add SHOULD indicate when MUA is showing list of mail accounts. 1289 o Add SHOULD NOT latch tls10, tls12 tags until TLS negotiated. 1291 o Removed sentence about deleting and re-creating the account in 1292 latch failure section. 1294 o Remove use of word "fallback" with respect to TLS version 1295 negotiation. 1297 o Added bullet about changes to Internet facing servers to MSP 1298 section. 1300 o minor wording improvements based on feedback 1302 Changes since -01: 1304 o Updated abstract, introduction and document structure to focus 1305 more on mail user agent privacy assurance. 1307 o Added email account privacy section, also moving section on 1308 account setup using SRV records to that section. 1310 o Finished writing IANA considerations section 1312 o Remove provisional concept and instead have server explicitly list 1313 security tags clients should latch. 1315 o Added note that rules for the submissions port follow the same 1316 rules as those for the submit port. 1318 o Reference and update advice in [RFC5068]. 1320 o Fixed typo in Client Certificate Authentication section. 1322 o Removed tls-pfs security latch and all mention of perfect forward 1323 secrecy as it was controversial. 1325 o Added reference to HSTS. 1327 Changes since -00: 1329 o Rewrote introduction to merge ideas from draft-moore-email-tls-00. 1331 o Added Implicit TLS section, Account configuration section and IANA 1332 port registration updates based on draft-moore-email-tls-00. 1334 o Add protocol details necessary to standardize implicit TLS for 1335 POP/IMAP/submission, using ideas from draft-melnikov-pop3-over- 1336 tls. 1338 o Reduce initial set of security tags based on feedback. 1340 o Add deep status concept to allow a window for software updates to 1341 be backed out before latches make that problematic, as well as to 1342 provide service providers with a mechanism they can use to assist 1343 customers in the event of a privacy failure. 1345 o Add DNS SRV section from draft-moore-email-tls-00. 1347 o Write most of the missing IANA considerations section. 1349 o Rewrite most of implementation requirements section based more on 1350 draft-moore-email-tls-00. Remove new cipher requirements for now 1351 because those may be dealt with elsewhere. 1353 Appendix C. Acknowledgements 1355 Thanks to Ned Freed for discussion of the initial latch concepts in 1356 this document. Thanks to Alexey Melnikov for draft-melnikov-pop3- 1357 over-tls-02, which was the basis of the POP3 Implicit TLS text. 1358 Thanks to Russ Housley, Alexey Melnikov and Dan Newman for review 1359 feedback. Thanks to Paul Hoffman for interesting feedback in initial 1360 conversations about this idea. 1362 Authors' Addresses 1363 Keith Moore 1364 Windrock, Inc. 1365 PO Box 1934 1366 Knoxville, TN 37901 1367 US 1369 Email: moore@network-heretics.com 1371 Chris Newman 1372 Oracle 1373 440 E. Huntington Dr., Suite 400 1374 Arcadia, CA 91006 1375 US 1377 Email: chris.newman@oracle.com