idnits 2.17.1 draft-ietf-uta-email-deep-10.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 (October 26, 2017) is 2374 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 October 26, 2017 7 Expires: April 29, 2018 9 Cleartext Considered Obsolete: Use of TLS for Email Submission and 10 Access 11 draft-ietf-uta-email-deep-10 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 April 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 . . . . . . . . . . . . . . . . . . . . 10 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 . . . . . . . . . . . . . . . . . . . 14 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 . . . . . . . . . . . . . 16 85 7.2. IMAPS Port Registration Update . . . . . . . . . . . . . 17 86 7.3. Submissions Port Registration . . . . . . . . . . . . . . 17 87 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 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 . . . . . . . . . . . . . . . . . . . . . 23 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]. For more discussion of this problem, see 439 section 5.1 of [RFC7817]. 441 4.5. Recommended DNS records for mail protocol servers 443 This section discusses not only the DNS records that are recommended, 444 but also implications of DNS records for server configuration and TLS 445 server certificates. 447 4.5.1. MX records 449 It is recommended that MSPs advertise MX records for handling of 450 inbound mail (instead of relying entirely on A or AAAA records), and 451 that those MX records be signed using DNSSEC [RFC4033]. This is 452 mentioned here only for completeness, as handling of inbound mail is 453 out of scope for this document. 455 4.5.2. SRV records 457 MSPs SHOULD advertise SRV records to aid MUAs in determination of 458 proper configuration of servers, per the instructions in [RFC6186]. 460 MSPs SHOULD advertise servers that support Implicit TLS in preference 461 to those which support cleartext and/or STARTTLS operation. 463 4.5.3. DNSSEC 465 All DNS records advertised by an MSP as a means of aiding clients in 466 communicating with the MSP's servers, SHOULD be signed using DNSSEC 467 if and when the parent DNS zone supports doing so. 469 4.5.4. TLSA records 471 MSPs SHOULD advertise TLSA records to provide an additional trust 472 anchor for public keys used in TLS server certificates. However, 473 TLSA records MUST NOT be advertised unless they are signed using 474 DNSSEC. 476 4.6. Changes to Internet Facing Servers 478 When an MSP changes the Internet Facing Servers providing mail access 479 and mail submission services, including SMTP-based spam/virus 480 filters, it is generally necessary to support the same and/or a newer 481 version of TLS and the same security directives that were previously 482 advertised. 484 5. Use of TLS by Mail User Agents 486 The following requirements and recommendations apply to Mail User 487 Agents: 489 o MUAs SHOULD be capable of using DNS SRV records to discover Mail 490 Access Services and Mail Submission Services that are advertised 491 by a MSP for an account being configured. Other means of 492 discovering server configuration information (e.g. a database 493 maintained by the MUA vendor) MAY also be supported. (See 494 Section 5.1 for more information.) 496 o MUAs SHOULD be configurable to require a minimum level of 497 confidentiality for any particular Mail Account, and refuse to 498 exchange information via any service associated with that Mail 499 Account if the session does not provide that minimum level of 500 confidentiality. (See Section 5.2.) 502 o MUAs MUST NOT treat a session as meeting a minimum level of 503 confidentiality if the server's TLS certificate cannot be 504 validated. (See Section 5.3.) 506 o MUAs MAY impose other minimum confidentiality requirements in the 507 future, e.g. in order to discourage use of TLS versions or 508 cryptographic algorithms in which weaknesses have been discovered. 510 o MUAs SHOULD provide a prominent indication of the level of 511 confidentiality associated with an account configuration that is 512 appropriate for the user interface (for example, a "lock" icon or 513 changed background color for a visual interface, or some sort of 514 audible indication for an audio user interface), at appropriate 515 times and/or locations in order to inform the user of the 516 confidentiality of the communications associated with that 517 account. For example, this might be done whenever (a) prompting 518 the user for authentication credentials, (b) the user is composing 519 mail that will be sent to a particular submission server, (c) a 520 list of accounts is displayed (particularly if the user can select 521 from that list to read mail), or (d) the user is requesting to 522 view or update any configuration data that will be stored on a 523 remote server. If, however, an MUA provides such an indication, 524 it MUST NOT indicate confidentiality for any connection that does 525 not at least use TLS 1.1 with certificate verification and also 526 meet the minimum confidentiality requirements associated with that 527 account. 529 o MUAs MUST implement TLS 1.2 [RFC5246] or later. Earlier TLS and 530 SSL versions MAY also be supported so long as the MUA requires at 531 least TLS 1.1 [RFC4346] when accessing accounts that are 532 configured to impose minimum confidentiality requirements. 534 o All MUAs SHOULD implement the recommended TLS cipher suites 535 described in [RFC7525] or a future BCP or standards track revision 536 of that document. 538 o MUAs that are configured to not require minimum confidentiality 539 for one or more accounts SHOULD detect when TLS becomes available 540 on those accounts (using [RFC6186] or other means), and offer to 541 upgrade the account to require TLS. 543 Additional considerations and details appear below. 545 5.1. Use of SRV records in Establishing Configuration 547 This section updates [RFC6186] by changing the preference rules and 548 adding a new SRV service label _submissions._tcp to refer to Message 549 Submission with Implicit TLS. 551 User-configurable MUAs SHOULD support use of [RFC6186] for account 552 setup. However, when using configuration information obtained by 553 this method, MUAs SHOULD ignore advertised services that do not 554 satisfy minimum confidentiality requirements, unless the user has 555 explicitly requested reduced confidentiality. This will have the 556 effect of causing the MUA to default to ignoring advertised 557 configurations that do not support TLS, even when those advertised 558 configurations have a higher priority than other advertised 559 configurations. 561 When using [RFC6186] configuration information, Mail User Agents 562 SHOULD NOT automatically establish new configurations that do not 563 require TLS for all servers, unless there are no advertised 564 configurations using TLS. If such a configuration is chosen, prior 565 to attempting to authenticate to the server or use the server for 566 message submission, the MUA SHOULD warn the user that traffic to that 567 server will not be encrypted and that it will therefore likely be 568 intercepted by unauthorized parties. The specific wording is to be 569 determined by the implementation, but it should adequately capture 570 the sense of risk given the widespread incidence of mass surveillance 571 of email traffic. 573 Similarly, a MUA MUST NOT attempt to "test" a particular mail account 574 configuration by submitting the user's authentication credentials to 575 a server, unless a TLS session meeting minimum confidentiality levels 576 has been established with that server. If minimum confidentiality 577 requirements have not been satisfied, the MUA must explicitly warn 578 the user that his password may be exposed to attackers before testing 579 the new configuration. 581 When establishing a new configuration for connecting to an IMAP, POP, 582 or SMTP submission server, based on SRV records, an MUA SHOULD either 583 verify that the SRV records are verifiability signed using DNSSEC, or 584 that the target FQDN of the SRV record matches the original server 585 FQDN for which the SRV queries were made. If the target FQDN is not 586 in the queried domain, the MUA SHOULD verify with the user that the 587 SRV target FQDN is suitable for use, before executing any connections 588 to the host. (See [RFC6186] section 6). 590 An MUA MUST NOT consult SRV records to determine which servers to use 591 on every connection attempt, unless those SRV records are signed by 592 DNSSEC and have a valid signature. However, an MUA MAY consult SRV 593 records from time to time to determine if an MSP's server 594 configuration has changed, and alert the user if it appears that this 595 has happened. This can also serve as a means to encourage users to 596 upgrade their configurations to require TLS if and when their MSPs 597 support it. 599 5.2. Minimum Confidentiality Level 601 MUAs SHOULD, by default, require a minimum level of confidentiality 602 for services accessed by each account. For MUAs supporting the 603 ability to access multiple mail accounts, this requirement SHOULD be 604 configurable on a per-account basis. 606 The default minimum expected level of confidentiality for all new 607 accounts MUST require successful validation of the server's 608 certificate and SHOULD require negotiation of TLS version 1.1 or 609 greater. (Future revisions to this specification may raise these 610 requirements or impose additional requirements to address newly- 611 discovered weaknesses in protocols or cryptographic algorithms.) 613 MUAs MAY permit the user to disable this minimum confidentiality 614 requirement during initial account configuration, or subsequently 615 editing an account configuration, but MUST warn users that such a 616 configuration will not assure privacy for either passwords or 617 messages. 619 An MUA which is configured to require a minimum level of 620 confidentiality for a mail account MUST NOT attempt to perform any 621 operation other than capability discovery, or STARTTLS for servers 622 not using Implicit TLS, unless the minimum level of confidentiality 623 is provided by that connection. 625 MUAs SHOULD NOT allow users to easily access or send mail via an 626 connection, or authenticate to any service using a password, if that 627 account is configured to impose minimum confidentiality requirements 628 and that connection does not meet all of those requirements. An 629 example of "easily access" would be to display a dialog informing the 630 user that the security requirements of the account were not met by 631 the connection, but allowing the user to "click through" to send mail 632 or access the service anyway. Experience indicates that users 633 presented with such an option often "click through" without 634 understanding the risks that they're accepting by doing so. 635 Furthermore, users who frequently find the need to "click through" to 636 use an insecure connection may become conditioned to do so as a 637 matter of habit, before considering whether the risks are reasonable 638 in each specific instance. 640 An MUA which is not configured to require a minimum level of 641 confidentiality for a mail account SHOULD still attempt to connect to 642 the services associated with that account using the most secure means 643 available, e.g. by using Implicit TLS or STARTTLS. 645 5.3. Certificiate Validation 647 MUAs MUST validate TLS server certificates according to [RFC7817] and 648 PKIX [RFC5280]. 650 MUAs MAY also support DANE [RFC6698] as a means of validating server 651 certificates in order to meet minimum confidentiality requirements. 653 MUAs MAY support use of certificate pinning but MUST NOT consider a 654 connection in which the server's authenticity relies on certificate 655 pinning, as providing the minimum level of confidentiality. (See 656 Section 5.4.) 658 5.4. Certificate Pinning 660 During account setup, the MUA will identify servers that provide 661 account services such as mail access and mail submission (the 662 previous section describes one way to do this). The certificates for 663 these servers are verified using the rules described in [RFC7817] and 664 PKIX [RFC5280]. In the event the certificate does not validate due 665 to an expired certificate, lack of appropriate chain of trust, or 666 lack of identifier match, the MUA MAY offer to create a persistent 667 binding between that certificate and the saved host name for the 668 server, for use when accessing that account's servers. This is 669 called certificate pinning. 671 (Note: This use of the term "certificate pinning" means something 672 subtly different than "HTTP Public Key Pinning" [RFC7469]. The dual 673 use of the same term is confusing, but unfortunately both uses are 674 well-established.) 676 Certificate pinning is only appropriate during mail account setup and 677 MUST NOT be offered as an option in response to a failed certificate 678 validation for an existing mail account. An MUA that allows 679 certificate pinning MUST NOT allow a certificate pinned for one 680 account to validate connections for other accounts. An MUA that 681 allows certificate pinning MUST also allow a user to undo the 682 pinning, i.e. to revoke trust in a certificate that has previously 683 been pinned. 685 A pinned certificate is subject to a man-in-the-middle attack at 686 account setup time, and typically lacks a mechanism to automatically 687 revoke or securely refresh the certificate. Note also that a man-in- 688 the-middle attack at account setup time will expose the user's 689 password to the attacker (if a password is used). Therefore use of a 690 pinned certificate does not meet the requirement for a minimum 691 confidentiality level, and an MUA MUST NOT indicate to the user that 692 the such confidentiality is provided. Additional advice on 693 certificate pinning is present in [RFC6125]. 695 5.5. Client Certificate Authentication 697 MUAs MAY implement client certificate authentication on the Implicit 698 TLS port. An MUA MUST NOT provide a client certificate during the 699 TLS handshake unless the server requests one and the MUA has been 700 authorized to use that client certificate with that account. Having 701 the end-user explicitly configure a client certificate for use with a 702 given account is sufficient to meet this requirement. However, 703 installing a client certificate for use with one account MUST NOT 704 automatically authorize use of that certificate with other accounts. 705 This is not intended to prohibit site-specific authorization 706 mechanisms, such as a site-administrator-controlled mechanism to 707 authorize use of a client certificate with a given account, or a 708 domain-name matching mechanism. 710 Note: The requirement that the server request a certificate is just a 711 restatement of the TLS protocol rules, e.g. [RFC5246] section 7.4.6. 712 The requirement that the client not send a certificate not known to 713 be acceptable to the server is pragmatic in multiple ways: the 714 current TLS protocol provides no way for the client to know which of 715 potentially multiple certificates it should use; also, when the 716 client sends a certificate it is potentially disclosing its identity 717 (or its user's identity) to both the server and to any party with 718 access to the transmission medium, perhaps unnecessarily and for no 719 useful purpose. 721 A client supporting client certificate authentication with Implicit 722 TLS MUST implement the SASL EXTERNAL [RFC4422] mechanism using the 723 appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for 724 SMTP Submission [RFC4954], AUTHENTICATE for IMAP [RFC3501]). 726 6. Considerations related to Anti-Virus/Anti-Spam Software and Services 728 There are multiple ways to connect an Anti-Virus and/or Anti-Spam 729 (AVAS) service to a mail server. Some mechanisms, such as the de- 730 facto milter protocol, are out of scope for this specification. 731 However, some services use an SMTP relay proxy that intercepts mail 732 at the application layer to perform a scan and proxy or forward to 733 another MTA. Deploying AVAS services in this way can cause many 734 problems [RFC2979] including direct interference with this 735 specification, and other forms of confidentiality or security 736 reduction. An AVAS product or service is considered compatible with 737 this specification if all IMAP, POP and SMTP-related software 738 (including proxies) it includes are compliant with this 739 specification. 741 Note that end-to-end email encryption prevents AVAS software and 742 services from using email content as part of a spam or virus 743 assessment. Furthermore, while a minimum confidentiality level can 744 prevent a man-in-the-middle from introducing spam or virus content 745 between the MUA and Submission server, it does not prevent other 746 forms of client or account compromise. Use of AVAS services for 747 submitted email therefore remains necessary. 749 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 764 Service Name: pop3s 765 Transport Protocol: UDP 766 Assignee: IETF 767 Contact: IESG 768 Description: POP3 over TLS protocol 769 Reference: RFC XXXX (this document once published) 770 Port Number: 995 772 7.2. IMAPS Port Registration Update 774 IANA is asked to update the registration of the TCP well-known port 775 993, and also UDP well-known port 993, using the following templates 776 ([RFC6335]): 778 Service Name: imaps 779 Transport Protocol: TCP 780 Assignee: IETF 781 Contact: IESG 782 Description: IMAP over TLS protocol 783 Reference: RFC XXXX (this document once published) 784 Port Number: 993 786 Service Name: imaps 787 Transport Protocol: UDP 788 Assignee: IETF 789 Contact: IESG 790 Description: IMAP over TLS protocol 791 Reference: RFC XXXX (this document once published) 792 Port Number: 993 794 Note: the updates to the UDP port assignments preserve the pre- 795 existing alignment in which both TCP and UDP ports were allocated to 796 the same protocols (in this case POP3+TLS and IMAP4+TLS) even though 797 there is no specification for using either protocol over UDP. This 798 seems undesirable as it wastes UDP port assignments. However, it is 799 not within the scope of this document to revisit old conventions for 800 port assignments. 802 7.3. Submissions Port Registration 804 IANA is asked to assign an alternate usage of TCP port 465 in 805 addition to the current assignment using the following template 806 ([RFC6335]): 808 Service Name: submissions 809 Transport Protocol: TCP 810 Assignee: IETF 811 Contact: IESG 812 Description: Message Submission over TLS protocol 813 Reference: RFC XXXX (this document once published) 814 Port Number: 465 816 This is a one-time procedural exception to the rules in RFC 6335. 817 This requires explicit IESG approval and does not set a precedent. 818 Note: Since the purpose of this alternate usage assignment is to 819 align with widespread existing practice, and there is no known usage 820 of UDP port 465 for message submission over TLS, IANA is not being 821 asked to assign an alternate usage of UDP port 465. 823 Historically, port 465 was briefly registered as the "smtps" port. 824 This registration made no sense as the SMTP transport MX 825 infrastructure has no way to specify a port, so port 25 is always 826 used. As a result, the registration was revoked and was subsequently 827 reassigned to a different service. In hindsight, the "smtps" 828 registration should have been renamed or reserved rather than 829 revoked. Unfortunately, some widely deployed mail software 830 interpreted "smtps" as "submissions" [RFC6409] and used that port for 831 email submission by default when an end-user requests security during 832 account setup. If a new port is assigned for the submissions 833 service, email software will either continue with unregistered use of 834 port 465 (leaving the port registry inaccurate relative to de-facto 835 practice and wasting a well-known port), or confusion between the de- 836 facto and registered ports will cause harmful interoperability 837 problems that will deter use of TLS for message submission. The 838 authors believe both of these outcomes are less desirable than a wart 839 in the registry documenting real-world usage of a port for two 840 purposes. Although STARTTLS-on-port-587 has deployed, it has not 841 replaced deployed use of Implicit TLS submission on port 465. 843 8. Security Considerations 845 This entire document is about security considerations. In general, 846 this is targeted to improve mail confidentiality and to mitigate 847 threats external to the email system such as network-level snooping 848 or interception; this is not intended to mitigate active attackers 849 who have compromised service provider systems. 851 Implementers should be aware that use of client certificates with TLS 852 1.2 reveals the user's identity to any party with ability to read 853 packets from the transmission medium, and therefore may compromise 854 the user's privacy. There seems to be no easy fix with TLS 1.2 or 855 earlier versions other than to avoid presenting client certificates 856 except when there is explicit authorization to do so. TLS 1.3 857 [I-D.ietf-tls-tls13] appears to reduce the privacy risk somewhat. 859 9. References 861 9.1. Normative References 863 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, 864 RFC 793, DOI 10.17487/RFC0793, September 1981, 865 . 867 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 868 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 869 . 871 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 872 Requirement Levels", BCP 14, RFC 2119, 873 DOI 10.17487/RFC2119, March 1997, 874 . 876 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 877 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 878 February 2002, . 880 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 881 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 882 . 884 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 885 Rose, "DNS Security Introduction and Requirements", 886 RFC 4033, DOI 10.17487/RFC4033, March 2005, 887 . 889 [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol 890 (POP3) Simple Authentication and Security Layer (SASL) 891 Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034, 892 July 2007, . 894 [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T. 895 Finch, "Email Submission Operations: Access and 896 Accountability Requirements", BCP 134, RFC 5068, 897 DOI 10.17487/RFC5068, November 2007, 898 . 900 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 901 Specifications: ABNF", STD 68, RFC 5234, 902 DOI 10.17487/RFC5234, January 2008, 903 . 905 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 906 (TLS) Protocol Version 1.2", RFC 5246, 907 DOI 10.17487/RFC5246, August 2008, 908 . 910 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 911 Housley, R., and W. Polk, "Internet X.509 Public Key 912 Infrastructure Certificate and Certificate Revocation List 913 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 914 . 916 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 917 DOI 10.17487/RFC5322, October 2008, 918 . 920 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email 921 Submission/Access Services", RFC 6186, 922 DOI 10.17487/RFC6186, March 2011, 923 . 925 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 926 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 927 . 929 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 930 of Named Entities (DANE) Transport Layer Security (TLS) 931 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 932 2012, . 934 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 935 "Recommendations for Secure Use of Transport Layer 936 Security (TLS) and Datagram Transport Layer Security 937 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 938 2015, . 940 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via 941 Opportunistic DNS-Based Authentication of Named Entities 942 (DANE) Transport Layer Security (TLS)", RFC 7672, 943 DOI 10.17487/RFC7672, October 2015, 944 . 946 [RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) 947 Server Identity Check Procedure for Email-Related 948 Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, 949 . 951 9.2. Informative References 953 [I-D.ietf-tls-tls13] 954 Rescorla, E., "The Transport Layer Security (TLS) Protocol 955 Version 1.3", draft-ietf-tls-tls13-21 (work in progress), 956 July 2017. 958 [I-D.ietf-uta-mta-sts] 959 Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., 960 and J. Jones, "SMTP MTA Strict Transport Security (MTA- 961 STS)", draft-ietf-uta-mta-sts-09 (work in progress), 962 September 2017. 964 [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", 965 RFC 2595, DOI 10.17487/RFC2595, June 1999, 966 . 968 [RFC2979] Freed, N., "Behavior of and Requirements for Internet 969 Firewalls", RFC 2979, DOI 10.17487/RFC2979, October 2000, 970 . 972 [RFC3848] Newman, C., "ESMTP and LMTP Transmission Types 973 Registration", RFC 3848, DOI 10.17487/RFC3848, July 2004, 974 . 976 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security 977 (TLS) Protocol Version 1.1", RFC 4346, 978 DOI 10.17487/RFC4346, April 2006, 979 . 981 [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple 982 Authentication and Security Layer (SASL)", RFC 4422, 983 DOI 10.17487/RFC4422, June 2006, 984 . 986 [RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service 987 Extension for Authentication", RFC 4954, 988 DOI 10.17487/RFC4954, July 2007, 989 . 991 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) 992 Extensions: Extension Definitions", RFC 6066, 993 DOI 10.17487/RFC6066, January 2011, 994 . 996 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 997 Verification of Domain-Based Application Service Identity 998 within Internet Public Key Infrastructure Using X.509 999 (PKIX) Certificates in the Context of Transport Layer 1000 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 1001 2011, . 1003 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 1004 Cheshire, "Internet Assigned Numbers Authority (IANA) 1005 Procedures for the Management of the Service Name and 1006 Transport Protocol Port Number Registry", BCP 165, 1007 RFC 6335, DOI 10.17487/RFC6335, August 2011, 1008 . 1010 [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning 1011 Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April 1012 2015, . 1014 Appendix A. Design Considerations 1016 This section is not normative. 1018 The first version of this was written independently from draft-moore- 1019 email-tls-00.txt; subsequent versions merge ideas from both drafts. 1021 One author of this document was also the author of RFC 2595 that 1022 became the standard for TLS usage with POP and IMAP, and the other 1023 author was perhaps the first to propose that idea. In hindsight both 1024 authors now believe that that approach was a mistake. At this point 1025 the authors believe that while anything that makes it easier to 1026 deploy TLS is good, the desirable end state is that these protocols 1027 always use TLS, leaving no need for a separate port for cleartext 1028 operation except to support legacy clients while they continue to be 1029 used. The separate port model for TLS is inherently simpler to 1030 implement, debug and deploy. It also enables a "generic TLS load- 1031 balancer" that accepts secure client connections for arbitrary foo- 1032 over-TLS protocols and forwards them to a server that may or may not 1033 support TLS. Such load-balancers cause many problems because they 1034 violate the end-to-end principle and the server loses the ability to 1035 log security-relevant information about the client unless the 1036 protocol is designed to forward that information (as this 1037 specification does for the cipher suite). However, they can result 1038 in TLS deployment where it would not otherwise happen which is a 1039 sufficiently important goal that it overrides the problems. 1041 Although STARTTLS appears only slightly more complex than separate- 1042 port TLS, we again learned the lesson that complexity is the enemy of 1043 security in the form of the STARTTLS command injection vulnerability 1044 (CERT vulnerability ID #555316). Although there's nothing inherently 1045 wrong with STARTTLS, the fact it resulted in a common implementation 1046 error (made independently by multiple implementers) suggests it is a 1047 less secure architecture than Implicit TLS. 1049 Section 7 of RFC 2595 critiques the separate-port approach to TLS. 1050 The first bullet was a correct critique. There are proposals in the 1051 http community to address that, and use of SRV records as described 1052 in RFC 6186 resolves that critique for email. The second bullet is 1053 correct as well, but not very important because useful deployment of 1054 security layers other than TLS in email is small enough to be 1055 effectively irrelevant. (Also it's less correct than it used to be 1056 because "export" ciphersuites are no longer supported in modern 1057 versions of TLS.) The third bullet is incorrect because it misses 1058 the desirable option of "use and latch-on TLS if available". The 1059 fourth bullet may be correct, but is not a problem yet with current 1060 port consumption rates. The fundamental error was prioritizing a 1061 perceived better design based on a mostly valid critique over real- 1062 world deployability. But getting security and confidentiality 1063 facilities actually deployed is so important it should trump design 1064 purity considerations. 1066 Port 465 is presently used for two purposes: for submissions by a 1067 large number of clients and service providers and for the "urd" 1068 protocol by one vendor. Actually documenting this current state is 1069 controversial as discussed in the IANA considerations section. 1070 However, there is no good alternative. Registering a new port for 1071 submissions when port 465 is widely used for that purpose already 1072 will just create interoperability problems. Registering a port 1073 that's only used if advertised by an SRV record (RFC 6186) would not 1074 create interoperability problems but would require all client and 1075 server deployments and software to change significantly which is 1076 contrary to the goal of promoting more TLS use. Encouraging use of 1077 STARTTLS on port 587 would not create interoperability problems, but 1078 is unlikely to have impact on current undocumented use of port 465 1079 and makes the guidance in this document less consistent. The 1080 remaining option is to document the current state of the world and 1081 support future use of port 465 for submission as this increases 1082 consistency and ease-of-deployment for TLS email submission. 1084 Appendix B. Change Log 1086 Changes since draft-ietf-uta-email-deep-07: 1088 o After discussion with the WG in Prague, removed BCP language and 1089 once again made unambiguous that this is intended as a standards- 1090 track document. 1092 o Server implementations now MUST implement TLS 1.2, consistent with 1093 RFC 7525. MUAs may still consider a TLS 1.1 session as meeting 1094 minimum confidentiality requirements. 1096 o MSPs now MUST support TLS for POP, IMAP, Submission, and any other 1097 services that use username/password authentication. 1099 o Added text to clarify the purpose of recommending that MSPs use 1100 DNS SRV records to advertise services. 1102 o Changed text about MUAs not blindly trusting unsigned SRV records, 1103 to instead restate RFC 6186 requirements. 1105 Changes since draft-ietf-uta-email-deep-06: 1107 o On the recommendation of one of the co-chairs and some working 1108 group members, rewrote document with the intended status of BCP. 1109 This involved removing a great deal of text that consisted 1110 essentially of new protocol specification, especially the STS 1111 features, on the theory that a BCP should base its recommendations 1112 on current practice, and that new protocol features should be 1113 subject to the interoperability test requirements associated with 1114 normal standards-track documents. 1116 Changes since draft-ietf-uta-email-deep-05: 1118 o Clarify throughout that the confidentiality assurance level 1119 associated with a mail account is a minimum level; attempt to 1120 distinguish this from the current confidentiality level provided 1121 by a connection between client and server. 1123 o Change naming for confidentiality assurance levels: instead of 1124 "high" or "no" confidence, assign numbers 1 and 0 to them 1125 respectively. This because it seems likely that in the not-too- 1126 distant future, what was defined in -05 as "high" confidence will 1127 be considered insufficient, and calling that "high" confidence 1128 will become misleading. For example, relying entirely on a list 1129 of trusted CAs to validate server certificates from arbitrary 1130 parties, appears to be less and less reliable in practice at 1131 thwarting MITM attacks. 1133 o Clarify that if some services associated with a mail account don't 1134 meet the minimum confidentiality assurance level assigned to that 1135 account, other services that do meet that minimum confidentiality 1136 assurance level may continue to be used. 1138 o Clarify that successful negotiation of at least TLS version 1.1 is 1139 required as a condition of meeting confidentiality assurance level 1140 1. 1142 o Clarify that validation of a server certificate using either DANE 1143 or PKIX is sufficient to meet the certificate validation 1144 requirement of confidentiality assurance level 1. 1146 o Clarify that minimum confidentiality assurance levels are separate 1147 from security directives, and that the requirements of both 1148 mechanisms must be met. 1150 o Explicitly cite an example that a security directive of tls- 1151 version=1.2 won't be saved if the currently negotiated tls-version 1152 is 1.1. (This example already appeared a bit later in the text, 1153 but for author KM it seemed to make the mechanism clearer to use 1154 this example earlier.) 1156 o Clarify some protocol examples as to whether PKIX or DANE was used 1157 to verify a server's certificate. 1159 o Remove most references to DEEP as the conversion from DEEP to MUA- 1160 STS seemed incomplete, but kept the DEEP command for use in POP3 1161 on the assumption that author CN wanted it that way. 1163 o Removed most references to "latch" and derivative words. 1165 o Added pkix+dane as a value for the tls-cert directive, to indicate 1166 (from a server) that both PKIX and DANE validation will be 1167 supported, or (from a client) that both PKIX and DANE were used to 1168 validate a certificate. Also clarified what each of any, pkix, 1169 dane, and pkix+dane mean when advertised by a server and in 1170 particular that tls-cert=any provides no assurance of future PKIX 1171 verifiability in contrast to tls-cert=pkix or tls-cert=pkix+dane. 1172 It seemed important to support the ability to evolve to using 1173 multiple trust anchors for certificate validation, but also to 1174 allow servers to have the option to migrate from PKIX to DANE if 1175 that made sense for them. This change seemed less disruptive than 1176 either defining additional directives, or allowing multiple 1177 instances of the same directive with different values to appear in 1178 the same advertisement. 1180 o Clarify interaction of this specification with anti-virus / anti- 1181 spam mechanisms. 1183 Changes since draft-ietf-uta-email-deep-04: 1185 o Swap sections 5.1 and 5.3 ("Email Security Tags" and "Server DEEP 1186 Status") as that order may aid understanding of the model. Also 1187 rewrote parts of these two sections to try to make the model 1188 clearer. 1190 o Add text about versioning of security tags to make the model 1191 clearer. 1193 o Add example of security tag upgrade. 1195 o Convert remaining mention of TLS 1.0 to TLS 1.1. 1197 o Change document title from DEEP to MUA STS to align with SMTP 1198 relay STS. 1200 * Slight updates to abstract and introductions. 1202 * Rename security latches/tags to security directives. 1204 * Rename server DEEP status to STS policy. 1206 * Change syntax to use directive-style HSTS syntax. 1208 o Make HSTS reference normative. 1210 o Remove SMTP DSN header as that belongs in SMTP relay STS document. 1212 Changes since draft-ietf-uta-email-deep-03: 1214 o Add more references to ietf-uta-email-tls-certs in implementation 1215 requirements section. 1217 o Replace primary reference to RFC 6125 with ietf-uta-email-tls- 1218 certs, so move RFC 6125 to informative list for this 1219 specification. 1221 Changes since draft-ietf-uta-email-deep-02: 1223 o Make reference to design considerations explicit rather than 1224 "elsewhere in this document". 1226 o Change provider requirement so SMTP submission services are 1227 separate from SMTP MTA services as opposed to the previous 1228 phrasing that required the servers be separate (which is too 1229 restrictive). 1231 o Update DANE SMTP reference 1232 Changes since draft-ietf-uta-email-deep-01: 1234 o Change text in tls11 and tls12 registrations to clarify 1235 certificate rules, including additional PKIX and DANE references. 1237 o Change from tls10 to tls11 (including reference) as the minimum. 1239 o Fix typo in example 5. 1241 o Remove open issues section; enough time has passed so not worth 1242 waiting for more input. 1244 Changes since draft-ietf-uta-email-deep-00: 1246 o Update and clarify abstract 1248 o use term confidentiality instead of privacy in most cases. 1250 o update open issues to request input for missing text. 1252 o move certificate pinning sub-section to account setup section and 1253 attempt to define it more precisely. 1255 o Add note about end-to-end encryption in AVAS section. 1257 o swap order of DNSSEC and TLSA sub-sections. 1259 o change meaning of 'tls10' and 'tls12' latches to require 1260 certificate validation. 1262 o Replace cipher suite advice with reference to RFC 7525. Change 1263 examples to use TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 as cipher 1264 suite. 1266 o Add text to update IMAP, POP3 and Message Submission standards 1267 with newer TLS advice. 1269 o Add clearer text in introduction that this does not cover SMTP 1270 relay. 1272 o Update references to uta-tls-certs. 1274 o Add paragraph to Implicit TLS for SMTP Submission section 1275 recommending that STARTTLS also be implemented. 1277 Changes since draft-newman-email-deep-02: 1279 o Changed "privacy assurance" to "confidentiality assurance" 1280 o Changed "low privacy assurance" to "no confidentiality assurance" 1282 o Attempt to improve definition of confidentiality assurance level. 1284 o Add SHOULD indicate when MUA is showing list of mail accounts. 1286 o Add SHOULD NOT latch tls10, tls12 tags until TLS negotiated. 1288 o Removed sentence about deleting and re-creating the account in 1289 latch failure section. 1291 o Remove use of word "fallback" with respect to TLS version 1292 negotiation. 1294 o Added bullet about changes to Internet facing servers to MSP 1295 section. 1297 o minor wording improvements based on feedback 1299 Changes since -01: 1301 o Updated abstract, introduction and document structure to focus 1302 more on mail user agent privacy assurance. 1304 o Added email account privacy section, also moving section on 1305 account setup using SRV records to that section. 1307 o Finished writing IANA considerations section 1309 o Remove provisional concept and instead have server explicitly list 1310 security tags clients should latch. 1312 o Added note that rules for the submissions port follow the same 1313 rules as those for the submit port. 1315 o Reference and update advice in [RFC5068]. 1317 o Fixed typo in Client Certificate Authentication section. 1319 o Removed tls-pfs security latch and all mention of perfect forward 1320 secrecy as it was controversial. 1322 o Added reference to HSTS. 1324 Changes since -00: 1326 o Rewrote introduction to merge ideas from draft-moore-email-tls-00. 1328 o Added Implicit TLS section, Account configuration section and IANA 1329 port registration updates based on draft-moore-email-tls-00. 1331 o Add protocol details necessary to standardize implicit TLS for 1332 POP/IMAP/submission, using ideas from draft-melnikov-pop3-over- 1333 tls. 1335 o Reduce initial set of security tags based on feedback. 1337 o Add deep status concept to allow a window for software updates to 1338 be backed out before latches make that problematic, as well as to 1339 provide service providers with a mechanism they can use to assist 1340 customers in the event of a privacy failure. 1342 o Add DNS SRV section from draft-moore-email-tls-00. 1344 o Write most of the missing IANA considerations section. 1346 o Rewrite most of implementation requirements section based more on 1347 draft-moore-email-tls-00. Remove new cipher requirements for now 1348 because those may be dealt with elsewhere. 1350 Appendix C. Acknowledgements 1352 Thanks to Ned Freed for discussion of the initial latch concepts in 1353 this document. Thanks to Alexey Melnikov for draft-melnikov-pop3- 1354 over-tls-02, which was the basis of the POP3 Implicit TLS text. 1355 Thanks to Russ Housley, Alexey Melnikov and Dan Newman for review 1356 feedback. Thanks to Paul Hoffman for interesting feedback in initial 1357 conversations about this idea. 1359 Authors' Addresses 1361 Keith Moore 1362 Windrock, Inc. 1363 PO Box 1934 1364 Knoxville, TN 37901 1365 US 1367 Email: moore@network-heretics.com 1368 Chris Newman 1369 Oracle 1370 440 E. Huntington Dr., Suite 400 1371 Arcadia, CA 91006 1372 US 1374 Email: chris.newman@oracle.com