idnits 2.17.1 draft-ietf-uta-email-deep-12.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 5 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 (December 6, 2017) is 2323 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) ** 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 (~~), 3 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 December 6, 2017 7 Expires: June 9, 2018 9 Cleartext Considered Obsolete: Use of TLS for Email Submission and 10 Access 11 draft-ietf-uta-email-deep-12 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 June 9, 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 . . . . . . . . . . . . . . 17 87 7.4. Additional registered clauses for Received fields . . . . 18 88 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 89 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 90 9.1. Normative References . . . . . . . . . . . . . . . . . . 19 91 9.2. Informative References . . . . . . . . . . . . . . . . . 21 92 Appendix A. Design Considerations . . . . . . . . . . . . . . . 22 93 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 24 94 Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 29 95 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 97 1. Introduction 99 Software that provides email service via Internet Message Access 100 Protocol (IMAP) [RFC3501], Post Office Protocol (POP) [RFC1939] and/ 101 or Simple Mail Transfer Protocol (SMTP) Submission [RFC6409] usually 102 has Transport Layer Security (TLS) [RFC5246] support but often does 103 not use it in a way that maximizes end-user confidentiality. This 104 specification describes current recommendations for the use of TLS in 105 interactions between Mail User Agents and Mail Access Services, and 106 between Mail User Agents and Mail Submission Services. 108 In brief, this memo now recommends that: 110 o TLS version 1.2 or greater be used for all traffic between mail 111 user agents (MUAs) and mail submission servers, and also between 112 MUAs and mail access servers. 114 o MUAs and mail service providers discourage use of cleartext 115 protocols for mail access and mail submission, and deprecate use 116 of cleartext protocols for these purposes as soon as practicable. 118 o Use of "Implicit TLS" on ports reserved for that purpose, in 119 preference to STARTTLS on a port that otherwise supports 120 cleartext. 122 This memo does not address use of TLS with SMTP for message relay 123 (where Message Submission [RFC6409] does not apply). Improved use of 124 TLS with SMTP for message relay requires a different approach. One 125 approach to address that topic is described in [RFC7672]; another is 126 in [I-D.ietf-uta-mta-sts]. 128 The recommendations in this memo do not replace the functionality of, 129 and are not intended as a substitute for, end-to-end encryption of 130 electronic mail. 132 2. Conventions and Terminology Used in This Document 134 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 135 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 136 "OPTIONAL" in this document are to be interpreted as described in BCP 137 14 [RFC2119][RFC8174] when, and only when, they appear in all 138 capitals, as shown here. 140 The term "Implicit TLS" refers to the automatic negotiation of TLS 141 whenever a TCP connection is made on a particular TCP port that is 142 used exclusively by that server for TLS connections. The term 143 "Implicit TLS" is intended to contrast with use of STARTTLS and 144 similar commands in POP, IMAP, SMTP message submission, and other 145 protocols, that are used by client and server to explicitly negotiate 146 TLS on an established cleartext TCP connection. 148 The term "Mail Access Services" includes POP, IMAP and any other 149 protocol used to access or modify received messages, or to access or 150 modify a mail user's account configuration. 152 "Mail Submission Service" refers to the use of the protocol specified 153 in [RFC6409] (or one of its predecessors or successors) for 154 submission of outgoing messages for delivery to recipients. 156 The term "Mail Service Provider" (MSP) refers to a provider of Mail 157 Access Services and/or Mail Submission Services. 159 The term "Mail Account" refers to a user's identity with a Mail 160 Service Provider, that user's authentication credentials, any user 161 email that is stored by the MSP, and any other per-user configuration 162 information maintained by the MSP (for example, spam filtering 163 instructions). Most Mail User Agents (MUAs) support the ability to 164 access multiple Mail Accounts. 166 For each account that an MUA accesses on its user's behalf, it must 167 have the server names, ports, authentication credentials, and other 168 configuration information specified by the user. This information 169 which is used by the MUA is referred to as "Mail Account 170 Configuration" 172 This specification expresses syntax using the Augmented Backus-Naur 173 Form (ABNF) as described in [RFC5234], including the core rules in 174 Appendix B and rules from [RFC5322]. 176 3. Implicit TLS 178 Previous standards for use of email protocols with TLS used the 179 STARTTLS mechanism: [RFC2595], [RFC3207], and [RFC3501]. With 180 STARTTLS, the client establishes a cleartext application session and 181 determines whether to issue a STARTTLS command based on server 182 capabilities and client configuration. If the client issues a 183 STARTTLS command, a TLS handshake follows that can upgrade the 184 connection. While this mechanism has been deployed, an alternate 185 mechanism where TLS is negotiated immediately at connection start on 186 a separate port (referred to in this document as "Implicit TLS") has 187 been deployed more successfully. To encourage more widespread use of 188 TLS, and to encourage a greater consistency for how TLS is used, this 189 specification now recommends use of Implicit TLS for POP, IMAP, SMTP 190 Submission, and all other protocols used between a Mail User Agent 191 and a mail service. 193 3.1. Implicit TLS for POP 195 When a TCP connection is established for the "pop3s" service (default 196 port 995), a TLS handshake begins immediately. Clients MUST 197 implement the certificate validation mechanism described in 198 [RFC7817]. Once the TLS session is established, POP3 [RFC1939] 199 protocol messages are exchanged as TLS application data for the 200 remainder of the TCP connection. After the server sends a +OK 201 greeting, the server and client MUST enter AUTHORIZATION state, even 202 if a client certificate was supplied during the TLS handshake. 204 See Section 5.5 and Section 4.2 for additional information on client 205 certificate authentication. See Section 7.1 for port registration 206 information. 208 3.2. Implicit TLS for IMAP 210 When a TCP connection is established for the "imaps" service (default 211 port 993), a TLS handshake begins immediately. Clients MUST 212 implement the certificate validation mechanism described in 213 [RFC7817]. Once the TLS session is established, IMAP [RFC3501] 214 protocol messages are exchanged as TLS application data for the 215 remainder of the TCP connection. If a client certificate was 216 provided during the TLS handshake that the server finds acceptable, 217 the server MAY issue a PREAUTH greeting in which case both the server 218 and client enter AUTHENTICATED state. If the server issues an OK 219 greeting then both server and client enter NOT AUTHENTICATED state. 221 See Section 5.5 and Section 4.2 for additional information on client 222 certificate authentication. See Section 7.1 and Section 7.2 for port 223 registration information. 225 3.3. Implicit TLS for SMTP Submission 227 When a TCP connection is established for the "submissions" service 228 (default port 465), a TLS handshake begins immediately. Clients MUST 229 implement the certificate validation mechanism described in 230 [RFC7817]. Once a TLS session is established, message submission 231 protocol data [RFC6409] is exchanged as TLS application data for the 232 remainder of the TCP connection. (Note: the "submissions" service 233 name is defined in section 10.3 of this document, and follows the 234 usual convention that the name of a service layered on top of 235 Implicit TLS consists of the name of the service as used without TLS, 236 with an "s" appended.) 238 The STARTTLS mechanism on port 587 is relatively widely deployed due 239 to the situation with port 465 (discussed in Section 7.3). This 240 differs from IMAP and POP services where Implicit TLS is more widely 241 deployed on servers than STARTTLS. It is desirable to migrate core 242 protocols used by MUA software to Implicit TLS over time for 243 consistency as well as the additional reasons discussed in 244 Appendix A. However, to maximize use of encryption for submission it 245 is desirable to support both mechanisms for Message Submission over 246 TLS for a transition period of several years. As a result, clients 247 and servers SHOULD implement both STARTTLS on port 587 and Implicit 248 TLS on port 465 for this transition period. Note that there is no 249 significant difference between the security properties of STARTTLS on 250 port 587 and Implicit TLS on port 465 if the implementations are 251 correct and both client and server are configured to require 252 successful negotiation of TLS prior to message submission. 254 Note that the "submissions" port provides access to a Mail Submission 255 Agent (MSA) as defined in [RFC6409] so requirements and 256 recommendations for MSAs in that document apply to the submissions 257 port, including the requirement to implement SMTP AUTH [RFC4954]. 259 See Section 5.5 and Section 4.2 for additional information on client 260 certificate authentication. See Section 7.3 for port registration 261 information. 263 3.4. Implicit TLS Connection Closure for POP, IMAP and SMTP Submission 265 When a client or server wishes to close the connection, it SHOULD 266 initiate the exchange of TLS close alerts before TCP connection 267 termination. The client MAY, after sending a TLS close alert, 268 gracefully close the TCP connection (e.g. call the close() function 269 on the TCP socket or otherwise issue a TCP CLOSE ([RFC0793] section 270 3.5) without waiting for a TLS response from the server. 272 4. Use of TLS by Mail Access Services and Message Submission Services 274 The following requirements and recommendations apply to Mail Access 275 Services and Mail Submission Services: 277 o Mail Service Providers (MSPs) that support POP, IMAP, and/or 278 Message Submission, MUST support TLS access for those services. 280 o Other services than POP, IMAP and/or Message Submission provided 281 by MSPs SHOULD support TLS access, and MUST support TLS access for 282 those services which support authentication via username and 283 password. 285 o MSPs that support POP, IMAP, and/or Message Submission, SHOULD 286 provide and support instances of those services which use Implicit 287 TLS. (See Section 3.) 289 o For compatibility with existing MUAs and existing MUA 290 configurations, MSPs SHOULD also, in the near term, provide 291 instances of these services which support STARTTLS. This will 292 permit legacy MUAs to discover new availability of TLS capability 293 on servers, and may increase use of TLS by such MUAs. However, 294 servers SHOULD NOT advertise STARTTLS if use of the STARTTLS 295 command by a client is likely to fail (for example, if the server 296 has no server certificate configured.) 298 o MSPs SHOULD advertise their Mail Access Services and Mail 299 Submission Services using DNS SRV records according to [RFC6186]. 300 (In addition to making correct configuration easier for MUAs, this 301 provides a way by which MUAs can discover when an MSP begins to 302 offer TLS-based services.) Services supporting TLS SHOULD be 303 advertised in preference to cleartext services (if offered). In 304 addition, services using Implicit TLS SHOULD be advertised in 305 preference to services supporting STARTTLS (if offered). (See 306 also Section 4.5.) 308 o MSPs SHOULD deprecate use of cleartext Mail Access Services and 309 Mail Submission Services as soon as practicable. (See 310 Section 4.1.) 312 o MSPs currently supporting such use of cleartext SMTP (on port 25) 313 as a means of message submission by their users (whether or not 314 requiring authentication) SHOULD transition their users to using 315 TLS (either Implicit TLS or STARTTLS) as soon as practicable. 317 o Mail services MUST support TLS 1.2 or later. 319 o All Mail services SHOULD implement the recommended TLS cipher 320 suites described in [RFC7525] or a future BCP or standards track 321 revision of that document. 323 o Mail services currently supporting SSL 2.x, SSL 3.0, or TLS 1.0 324 SHOULD transition their users to later versions of TLS, and 325 discontinue support for those versions of SSL and TLS, as soon as 326 practicable. 328 o Mail Submission Servers accepting mail using TLS SHOULD include 329 the TLS ciphersuite of the session in which the mail was received, 330 in the Received field of the outgoing message. (See Section 4.3.) 332 o All Mail services implementing TLS SHOULD log TLS cipher 333 information along with any connection or authentication logs that 334 they maintain. 336 Additional considerations and details appear below. 338 4.1. Deprecation of Services Using Cleartext and TLS Versions < 1.1 340 The specific means employed for deprecation of cleartext Mail Access 341 Services and Mail Submission Services MAY vary from one MSP to the 342 next in light of their user communities' needs and constraints. For 343 example, an MSP MAY implement a gradual transition in which, over 344 time, more and more users are forbidden to authenticate to cleartext 345 instances of these services, thus encouraging those users to migrate 346 to Implicit TLS. Access to cleartext services should eventually be 347 either disabled, or limited strictly for use by legacy systems which 348 cannot be upgraded. 350 After a user's ability to authenticate to a service using cleartext 351 is revoked, the server denying such access MUST NOT provide any 352 indication over a cleartext channel of whether the user's 353 authentication credentials were valid. An attempt to authenticate as 354 such a user using either invalid credentials or valid credentials 355 MUST both result in the same indication of access being denied. 357 Also, users previously authenticating with passwords sent as 358 cleartext SHOULD be required to change those passwords when migrating 359 to TLS, if the old passwords were likely to have been compromised. 360 (For any large community of users using public Internet to access 361 mail without encryption, compromise of at least some of those 362 passwords should be assumed.) 364 Transition of users from SSL or TLS 1.0 to later versions of TLS MAY 365 be accomplished by a means similar to that described above. There 366 are multiple ways to accomplish this. One way is for the server to 367 refuse a ClientHello message from any client sending a 368 ClientHello.version field corresponding to any version of SSL or TLS 369 1.0. Another way is for the server to accept ClientHello messages 370 from some client versions that it does not wish to support, but later 371 refuse to allow the user to authenticate. The latter method may 372 provide a better indication to the user of the reason for the failure 373 but (depending on the protocol and method of authentication used) may 374 also risk exposure of the user's password over an channel which is 375 known to not provide adequate confidentiality. 377 It is RECOMMENDED that new users be required to use TLS version 1.1 378 or greater from the start. However an MSP may find it necessary to 379 make exceptions to accommodate some legacy systems which support only 380 earlier versions of TLS, or only cleartext. 382 4.2. Mail Server Use of Client Certificate Authentication 384 Mail servers MAY implement client certificate authentication on the 385 Implicit TLS port. Servers MUST NOT request a client certificate 386 during the TLS handshake unless the server is configured to accept 387 some client certificates as sufficient for authentication and the 388 server has the ability to determine a mail server authorization 389 identity matching such certificates. How to make this determination 390 is presently implementation specific. 392 If the server accepts the client's certificate as sufficient for 393 authorization, it MUST enable the SASL EXTERNAL [RFC4422] mechanism. 394 An IMAPS server MAY issue a PREAUTH greeting instead of enabling SASL 395 EXTERNAL. 397 4.3. Recording TLS Cipher Suite in Received Header 399 The ESMTPS transmission type [RFC3848] provides trace information 400 that can indicate TLS was used when transferring mail. However, TLS 401 usage by itself is not a guarantee of confidentiality or security. 402 The TLS cipher suite provides additional information about the level 403 of security made available for a connection. This defines a new SMTP 404 "tls" Received header additional-registered-clause that is used to 405 record the TLS cipher suite that was negotiated for the connection. 406 This clause SHOULD be included whenever a Submission server generates 407 a Received header field for a message received via TLS. The value 408 included in this additional clause SHOULD be the registered cipher 409 suite name (e.g., TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) included in 410 the TLS cipher suite registry. In the event the implementation does 411 not know the name of the cipher suite (a situation that should be 412 remedied promptly), a four-digit hexadecimal cipher suite identifier 413 MAY be used. In addition, the Diffie-Hellman group name associated 414 with the ciphersuite MAY be included (when applicable and known) 415 following the ciphersuite name. The ABNF for the field follows: 417 tls-cipher-clause = CFWS "tls" FWS tls-cipher [ CFWS "group" FWS dh-group ] 419 tls-cipher = tls-cipher-name / tls-cipher-hex 421 tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_") 422 ; as registered in IANA cipher suite registry 424 tls-cipher-hex = "0x" 4HEXDIG 426 dh-group = ALPHA *(ALPHA / DIGIT / "_" / "-") 427 ; as registered in IANA TLS Supported Groups Registry 428 4.4. TLS Server Certificate Requirements 430 MSPs MUST maintain valid server certificates for all servers. See 431 [RFC7817] for the recommendations and requirements necessary to 432 achieve this. 434 If a protocol server provides service for more than one mail domain, 435 it MAY use a separate IP address for each domain and/or a server 436 certificate that advertises multiple domains. This will generally be 437 necessary unless and until it is acceptable to impose the constraint 438 that the server and all clients support the Server Name Indication 439 extension to TLS [RFC6066]. Mail servers supporting SNI need to 440 support the post-SRV hostname to interoperate with MUAs that have not 441 implemented RFC 6186. For more discussion of this problem, see 442 section 5.1 of [RFC7817]. 444 4.5. Recommended DNS records for mail protocol servers 446 This section discusses not only the DNS records that are recommended, 447 but also implications of DNS records for server configuration and TLS 448 server certificates. 450 4.5.1. MX records 452 It is recommended that MSPs advertise MX records for handling of 453 inbound mail (instead of relying entirely on A or AAAA records), and 454 that those MX records be signed using DNSSEC [RFC4033]. This is 455 mentioned here only for completeness, as handling of inbound mail is 456 out of scope for this document. 458 4.5.2. SRV records 460 MSPs SHOULD advertise SRV records to aid MUAs in determination of 461 proper configuration of servers, per the instructions in [RFC6186]. 463 MSPs SHOULD advertise servers that support Implicit TLS in preference 464 to those which support cleartext and/or STARTTLS operation. 466 4.5.3. DNSSEC 468 All DNS records advertised by an MSP as a means of aiding clients in 469 communicating with the MSP's servers, SHOULD be signed using DNSSEC 470 if and when the parent DNS zone supports doing so. 472 4.5.4. TLSA records 474 MSPs SHOULD advertise TLSA records to provide an additional trust 475 anchor for public keys used in TLS server certificates. However, 476 TLSA records MUST NOT be advertised unless they are signed using 477 DNSSEC. 479 4.6. Changes to Internet Facing Servers 481 When an MSP changes the Internet Facing Servers providing mail access 482 and mail submission services, including SMTP-based spam/virus 483 filters, it is generally necessary to support the same and/or a newer 484 version of TLS and the same security directives that were previously 485 advertised. 487 5. Use of TLS by Mail User Agents 489 The following requirements and recommendations apply to Mail User 490 Agents: 492 o MUAs SHOULD be capable of using DNS SRV records to discover Mail 493 Access Services and Mail Submission Services that are advertised 494 by a MSP for an account being configured. Other means of 495 discovering server configuration information (e.g. a database 496 maintained by the MUA vendor) MAY also be supported. (See 497 Section 5.1 for more information.) 499 o MUAs SHOULD be configurable to require a minimum level of 500 confidentiality for any particular Mail Account, and refuse to 501 exchange information via any service associated with that Mail 502 Account if the session does not provide that minimum level of 503 confidentiality. (See Section 5.2.) 505 o MUAs MUST NOT treat a session as meeting a minimum level of 506 confidentiality if the server's TLS certificate cannot be 507 validated. (See Section 5.3.) 509 o MUAs MAY impose other minimum confidentiality requirements in the 510 future, e.g. in order to discourage use of TLS versions or 511 cryptographic algorithms in which weaknesses have been discovered. 513 o MUAs SHOULD provide a prominent indication of the level of 514 confidentiality associated with an account configuration that is 515 appropriate for the user interface (for example, a "lock" icon or 516 changed background color for a visual interface, or some sort of 517 audible indication for an audio user interface), at appropriate 518 times and/or locations in order to inform the user of the 519 confidentiality of the communications associated with that 520 account. For example, this might be done whenever (a) prompting 521 the user for authentication credentials, (b) the user is composing 522 mail that will be sent to a particular submission server, (c) a 523 list of accounts is displayed (particularly if the user can select 524 from that list to read mail), or (d) the user is requesting to 525 view or update any configuration data that will be stored on a 526 remote server. If, however, an MUA provides such an indication, 527 it MUST NOT indicate confidentiality for any connection that does 528 not at least use TLS 1.1 with certificate verification and also 529 meet the minimum confidentiality requirements associated with that 530 account. 532 o MUAs MUST implement TLS 1.2 [RFC5246] or later. Earlier TLS and 533 SSL versions MAY also be supported so long as the MUA requires at 534 least TLS 1.1 [RFC4346] when accessing accounts that are 535 configured to impose minimum confidentiality requirements. 537 o All MUAs SHOULD implement the recommended TLS cipher suites 538 described in [RFC7525] or a future BCP or standards track revision 539 of that document. 541 o MUAs that are configured to not require minimum confidentiality 542 for one or more accounts SHOULD detect when TLS becomes available 543 on those accounts (using [RFC6186] or other means), and offer to 544 upgrade the account to require TLS. 546 Additional considerations and details appear below. 548 5.1. Use of SRV records in Establishing Configuration 550 This section updates [RFC6186] by changing the preference rules and 551 adding a new SRV service label _submissions._tcp to refer to Message 552 Submission with Implicit TLS. 554 User-configurable MUAs SHOULD support use of [RFC6186] for account 555 setup. However, when using configuration information obtained by 556 this method, MUAs SHOULD ignore advertised services that do not 557 satisfy minimum confidentiality requirements, unless the user has 558 explicitly requested reduced confidentiality. This will have the 559 effect of causing the MUA to default to ignoring advertised 560 configurations that do not support TLS, even when those advertised 561 configurations have a higher priority than other advertised 562 configurations. 564 When using [RFC6186] configuration information, Mail User Agents 565 SHOULD NOT automatically establish new configurations that do not 566 require TLS for all servers, unless there are no advertised 567 configurations using TLS. If such a configuration is chosen, prior 568 to attempting to authenticate to the server or use the server for 569 message submission, the MUA SHOULD warn the user that traffic to that 570 server will not be encrypted and that it will therefore likely be 571 intercepted by unauthorized parties. The specific wording is to be 572 determined by the implementation, but it should adequately capture 573 the sense of risk given the widespread incidence of mass surveillance 574 of email traffic. 576 Similarly, a MUA MUST NOT attempt to "test" a particular mail account 577 configuration by submitting the user's authentication credentials to 578 a server, unless a TLS session meeting minimum confidentiality levels 579 has been established with that server. If minimum confidentiality 580 requirements have not been satisfied, the MUA must explicitly warn 581 the user that his password may be exposed to attackers before testing 582 the new configuration. 584 When establishing a new configuration for connecting to an IMAP, POP, 585 or SMTP submission server, based on SRV records, an MUA SHOULD either 586 verify that the SRV records are signed using DNSSEC, or that the 587 target FQDN of the SRV record matches the original server FQDN for 588 which the SRV queries were made. If the target FQDN is not in the 589 queried domain, the MUA SHOULD verify with the user that the SRV 590 target FQDN is suitable for use, before executing any connections to 591 the host. (See [RFC6186] section 6). 593 An MUA MUST NOT consult SRV records to determine which servers to use 594 on every connection attempt, unless those SRV records are signed by 595 DNSSEC and have a valid signature. However, an MUA MAY consult SRV 596 records from time to time to determine if an MSP's server 597 configuration has changed, and alert the user if it appears that this 598 has happened. This can also serve as a means to encourage users to 599 upgrade their configurations to require TLS if and when their MSPs 600 support it. 602 5.2. Minimum Confidentiality Level 604 MUAs SHOULD, by default, require a minimum level of confidentiality 605 for services accessed by each account. For MUAs supporting the 606 ability to access multiple mail accounts, this requirement SHOULD be 607 configurable on a per-account basis. 609 The default minimum expected level of confidentiality for all new 610 accounts MUST require successful validation of the server's 611 certificate and SHOULD require negotiation of TLS version 1.1 or 612 greater. (Future revisions to this specification may raise these 613 requirements or impose additional requirements to address newly- 614 discovered weaknesses in protocols or cryptographic algorithms.) 615 MUAs MAY permit the user to disable this minimum confidentiality 616 requirement during initial account configuration, or subsequently 617 editing an account configuration, but MUST warn users that such a 618 configuration will not assure privacy for either passwords or 619 messages. 621 An MUA which is configured to require a minimum level of 622 confidentiality for a mail account MUST NOT attempt to perform any 623 operation other than capability discovery, or STARTTLS for servers 624 not using Implicit TLS, unless the minimum level of confidentiality 625 is provided by that connection. 627 MUAs SHOULD NOT allow users to easily access or send mail via an 628 connection, or authenticate to any service using a password, if that 629 account is configured to impose minimum confidentiality requirements 630 and that connection does not meet all of those requirements. An 631 example of "easily access" would be to display a dialog informing the 632 user that the security requirements of the account were not met by 633 the connection, but allowing the user to "click through" to send mail 634 or access the service anyway. Experience indicates that users 635 presented with such an option often "click through" without 636 understanding the risks that they're accepting by doing so. 637 Furthermore, users who frequently find the need to "click through" to 638 use an insecure connection may become conditioned to do so as a 639 matter of habit, before considering whether the risks are reasonable 640 in each specific instance. 642 An MUA which is not configured to require a minimum level of 643 confidentiality for a mail account SHOULD still attempt to connect to 644 the services associated with that account using the most secure means 645 available, e.g. by using Implicit TLS or STARTTLS. 647 5.3. Certificiate Validation 649 MUAs MUST validate TLS server certificates according to [RFC7817] and 650 PKIX [RFC5280]. 652 MUAs MAY also support DANE [RFC6698] as a means of validating server 653 certificates in order to meet minimum confidentiality requirements. 655 MUAs MAY support use of certificate pinning but MUST NOT consider a 656 connection in which the server's authenticity relies on certificate 657 pinning, as providing the minimum level of confidentiality. (See 658 Section 5.4.) 660 5.4. Certificate Pinning 662 During account setup, the MUA will identify servers that provide 663 account services such as mail access and mail submission (the 664 previous section describes one way to do this). The certificates for 665 these servers are verified using the rules described in [RFC7817] and 666 PKIX [RFC5280]. In the event the certificate does not validate due 667 to an expired certificate, lack of appropriate chain of trust, or 668 lack of identifier match, the MUA MAY offer to create a persistent 669 binding between that certificate and the saved host name for the 670 server, for use when accessing that account's servers. This is 671 called certificate pinning. 673 (Note: This use of the term "certificate pinning" means something 674 subtly different than "HTTP Public Key Pinning" [RFC7469]. The dual 675 use of the same term is confusing, but unfortunately both uses are 676 well-established.) 678 Certificate pinning is only appropriate during mail account setup and 679 MUST NOT be offered as an option in response to a failed certificate 680 validation for an existing mail account. An MUA that allows 681 certificate pinning MUST NOT allow a certificate pinned for one 682 account to validate connections for other accounts. An MUA that 683 allows certificate pinning MUST also allow a user to undo the 684 pinning, i.e. to revoke trust in a certificate that has previously 685 been pinned. 687 A pinned certificate is subject to a man-in-the-middle attack at 688 account setup time, and typically lacks a mechanism to automatically 689 revoke or securely refresh the certificate. Note also that a man-in- 690 the-middle attack at account setup time will expose the user's 691 password to the attacker (if a password is used). Therefore use of a 692 pinned certificate does not meet the requirement for a minimum 693 confidentiality level, and an MUA MUST NOT indicate to the user that 694 the such confidentiality is provided. Additional advice on 695 certificate pinning is present in [RFC6125]. 697 5.5. Client Certificate Authentication 699 MUAs MAY implement client certificate authentication on the Implicit 700 TLS port. An MUA MUST NOT provide a client certificate during the 701 TLS handshake unless the server requests one and the MUA has been 702 authorized to use that client certificate with that account. Having 703 the end-user explicitly configure a client certificate for use with a 704 given account is sufficient to meet this requirement. However, 705 installing a client certificate for use with one account MUST NOT 706 automatically authorize use of that certificate with other accounts. 707 This is not intended to prohibit site-specific authorization 708 mechanisms, such as a site-administrator-controlled mechanism to 709 authorize use of a client certificate with a given account, or a 710 domain-name matching mechanism. 712 Note: The requirement that the server request a certificate is just a 713 restatement of the TLS protocol rules, e.g. [RFC5246] section 7.4.6. 714 The requirement that the client not send a certificate not known to 715 be acceptable to the server is pragmatic in multiple ways: the 716 current TLS protocol provides no way for the client to know which of 717 potentially multiple certificates it should use; also, when the 718 client sends a certificate it is potentially disclosing its identity 719 (or its user's identity) to both the server and to any party with 720 access to the transmission medium, perhaps unnecessarily and for no 721 useful purpose. 723 A client supporting client certificate authentication with Implicit 724 TLS MUST implement the SASL EXTERNAL [RFC4422] mechanism using the 725 appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for 726 SMTP Submission [RFC4954], AUTHENTICATE for IMAP [RFC3501]). 728 6. Considerations related to Anti-Virus/Anti-Spam Software and Services 730 There are multiple ways to connect an Anti-Virus and/or Anti-Spam 731 (AVAS) service to a mail server. Some mechanisms, such as the de- 732 facto milter protocol, are out of scope for this specification. 733 However, some services use an SMTP relay proxy that intercepts mail 734 at the application layer to perform a scan and proxy or forward to 735 another MTA. Deploying AVAS services in this way can cause many 736 problems [RFC2979] including direct interference with this 737 specification, and other forms of confidentiality or security 738 reduction. An AVAS product or service is considered compatible with 739 this specification if all IMAP, POP and SMTP-related software 740 (including proxies) it includes are compliant with this 741 specification. 743 Note that end-to-end email encryption prevents AVAS software and 744 services from using email content as part of a spam or virus 745 assessment. Furthermore, while a minimum confidentiality level can 746 prevent a man-in-the-middle from introducing spam or virus content 747 between the MUA and Submission server, it does not prevent other 748 forms of client or account compromise. Use of AVAS services for 749 submitted email therefore remains necessary. 751 7. IANA Considerations 752 7.1. POP3S Port Registration Update 754 IANA is asked to update the registration of the TCP well-known port 755 995 using the following template ([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 7.2. IMAPS Port Registration Update 767 IANA is asked to update the registration of the TCP well-known port 768 993 using the following templates ([RFC6335]): 770 Service Name: imaps 771 Transport Protocol: TCP 772 Assignee: IETF 773 Contact: IESG 774 Description: IMAP over TLS protocol 775 Reference: RFC XXXX (this document once published) 776 Port Number: 993 778 No changes to existing UDP port assignments for pop3s or imaps are 779 being requested. 781 7.3. Submissions Port Registration 783 IANA is asked to assign an alternate usage of TCP port 465 in 784 addition to the current assignment using the following template 785 ([RFC6335]): 787 Service Name: submissions 788 Transport Protocol: TCP 789 Assignee: IETF 790 Contact: IESG 791 Description: Message Submission over TLS protocol 792 Reference: RFC XXXX (this document once published) 793 Port Number: 465 795 This is a one-time procedural exception to the rules in RFC 6335. 796 This requires explicit IESG approval and does not set a precedent. 797 Note: Since the purpose of this alternate usage assignment is to 798 align with widespread existing practice, and there is no known usage 799 of UDP port 465 for message submission over TLS, IANA is not being 800 asked to assign an alternate usage of UDP port 465. 802 Historically, port 465 was briefly registered as the "smtps" port. 803 This registration made no sense as the SMTP transport MX 804 infrastructure has no way to specify a port, so port 25 is always 805 used. As a result, the registration was revoked and was subsequently 806 reassigned to a different service. In hindsight, the "smtps" 807 registration should have been renamed or reserved rather than 808 revoked. Unfortunately, some widely deployed mail software 809 interpreted "smtps" as "submissions" [RFC6409] and used that port for 810 email submission by default when an end-user requests security during 811 account setup. If a new port is assigned for the submissions 812 service, email software will either continue with unregistered use of 813 port 465 (leaving the port registry inaccurate relative to de-facto 814 practice and wasting a well-known port), or confusion between the de- 815 facto and registered ports will cause harmful interoperability 816 problems that will deter use of TLS for message submission. The 817 authors believe both of these outcomes are less desirable than a wart 818 in the registry documenting real-world usage of a port for two 819 purposes. Although STARTTLS-on-port-587 has deployed, it has not 820 replaced deployed use of Implicit TLS submission on port 465. 822 7.4. Additional registered clauses for Received fields 824 Per the provisions in [RFC5321], IANA is requested to add two 825 additional-registered-clauses for Received fields as defined in 826 Section 4.3 of this document: 828 o "tls" indicating the TLS cipher used (if applicable), and 830 o "group" indicating the Diffie-Hellman group used with the TLS 831 cipher (if applicable) 833 The descriptions and syntax of these additional clauses are in 834 Section 4.3 of this document. 836 8. Security Considerations 838 This entire document is about security considerations. In general, 839 this is targeted to improve mail confidentiality and to mitigate 840 threats external to the email system such as network-level snooping 841 or interception; this is not intended to mitigate active attackers 842 who have compromised service provider systems. 844 Implementers should be aware that use of client certificates with TLS 845 1.2 reveals the user's identity to any party with ability to read 846 packets from the transmission medium, and therefore may compromise 847 the user's privacy. There seems to be no easy fix with TLS 1.2 or 848 earlier versions other than to avoid presenting client certificates 849 except when there is explicit authorization to do so. TLS 1.3 850 [I-D.ietf-tls-tls13] appears to reduce the privacy risk somewhat. 852 9. References 854 9.1. Normative References 856 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, 857 RFC 793, DOI 10.17487/RFC0793, September 1981, 858 . 860 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 861 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 862 . 864 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 865 Requirement Levels", BCP 14, RFC 2119, 866 DOI 10.17487/RFC2119, March 1997, 867 . 869 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 870 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 871 February 2002, . 873 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 874 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 875 . 877 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 878 Rose, "DNS Security Introduction and Requirements", 879 RFC 4033, DOI 10.17487/RFC4033, March 2005, 880 . 882 [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol 883 (POP3) Simple Authentication and Security Layer (SASL) 884 Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034, 885 July 2007, . 887 [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T. 888 Finch, "Email Submission Operations: Access and 889 Accountability Requirements", BCP 134, RFC 5068, 890 DOI 10.17487/RFC5068, November 2007, 891 . 893 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 894 Specifications: ABNF", STD 68, RFC 5234, 895 DOI 10.17487/RFC5234, January 2008, 896 . 898 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 899 (TLS) Protocol Version 1.2", RFC 5246, 900 DOI 10.17487/RFC5246, August 2008, 901 . 903 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 904 Housley, R., and W. Polk, "Internet X.509 Public Key 905 Infrastructure Certificate and Certificate Revocation List 906 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 907 . 909 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 910 DOI 10.17487/RFC5322, October 2008, 911 . 913 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email 914 Submission/Access Services", RFC 6186, 915 DOI 10.17487/RFC6186, March 2011, 916 . 918 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 919 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 920 . 922 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 923 of Named Entities (DANE) Transport Layer Security (TLS) 924 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 925 2012, . 927 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 928 "Recommendations for Secure Use of Transport Layer 929 Security (TLS) and Datagram Transport Layer Security 930 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 931 2015, . 933 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via 934 Opportunistic DNS-Based Authentication of Named Entities 935 (DANE) Transport Layer Security (TLS)", RFC 7672, 936 DOI 10.17487/RFC7672, October 2015, 937 . 939 [RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) 940 Server Identity Check Procedure for Email-Related 941 Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, 942 . 944 9.2. Informative References 946 [I-D.ietf-tls-tls13] 947 Rescorla, E., "The Transport Layer Security (TLS) Protocol 948 Version 1.3", draft-ietf-tls-tls13-21 (work in progress), 949 July 2017. 951 [I-D.ietf-uta-mta-sts] 952 Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., 953 and J. Jones, "SMTP MTA Strict Transport Security (MTA- 954 STS)", draft-ietf-uta-mta-sts-09 (work in progress), 955 September 2017. 957 [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", 958 RFC 2595, DOI 10.17487/RFC2595, June 1999, 959 . 961 [RFC2979] Freed, N., "Behavior of and Requirements for Internet 962 Firewalls", RFC 2979, DOI 10.17487/RFC2979, October 2000, 963 . 965 [RFC3848] Newman, C., "ESMTP and LMTP Transmission Types 966 Registration", RFC 3848, DOI 10.17487/RFC3848, July 2004, 967 . 969 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security 970 (TLS) Protocol Version 1.1", RFC 4346, 971 DOI 10.17487/RFC4346, April 2006, 972 . 974 [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple 975 Authentication and Security Layer (SASL)", RFC 4422, 976 DOI 10.17487/RFC4422, June 2006, 977 . 979 [RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service 980 Extension for Authentication", RFC 4954, 981 DOI 10.17487/RFC4954, July 2007, 982 . 984 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 985 DOI 10.17487/RFC5321, October 2008, 986 . 988 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) 989 Extensions: Extension Definitions", RFC 6066, 990 DOI 10.17487/RFC6066, January 2011, 991 . 993 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 994 Verification of Domain-Based Application Service Identity 995 within Internet Public Key Infrastructure Using X.509 996 (PKIX) Certificates in the Context of Transport Layer 997 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 998 2011, . 1000 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 1001 Cheshire, "Internet Assigned Numbers Authority (IANA) 1002 Procedures for the Management of the Service Name and 1003 Transport Protocol Port Number Registry", BCP 165, 1004 RFC 6335, DOI 10.17487/RFC6335, August 2011, 1005 . 1007 [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning 1008 Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April 1009 2015, . 1011 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1012 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1013 May 2017, . 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 1364 Keith Moore 1365 Windrock, Inc. 1366 PO Box 1934 1367 Knoxville, TN 37901 1368 US 1370 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