idnits 2.17.1 draft-ietf-uta-email-deep-06.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 : ---------------------------------------------------------------------------- -- 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 (March 13, 2017) is 2599 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: 'SP' is mentioned on line 761, but not defined ** Obsolete normative reference: RFC 2818 (Obsoleted by RFC 9110) ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Obsolete normative reference: RFC 7230 (Obsoleted by RFC 9110, RFC 9112) ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) -- 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: 6 errors (**), 0 flaws (~~), 2 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 Network Heretics 4 Updates: 1939, 2595, 3464, 3501, 5068, C. Newman 5 6186, 6409 (if approved) Oracle 6 Intended status: Standards Track March 13, 2017 7 Expires: September 14, 2017 9 Mail User Agent Strict Transport Security (MUA-STS) 10 draft-ietf-uta-email-deep-06 12 Abstract 14 This specification defines a set of requirements and facilities 15 designed to improve email confidentiality between a mail user agent 16 (MUA) and a mail submission or mail access server. This provides 17 mechanisms intended to increase use of already deployed Transport 18 Layer Security (TLS) technology and provides a model for a mail user 19 agent's confidentiality assurance. This enables mail service 20 providers to advertise strict transport security (STS) policies that 21 request MUAs increase confidentiality assurance. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on September 14, 2017. 40 Copyright Notice 42 Copyright (c) 2017 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Conventions and Terminology Used in This Document . . . . . . 4 59 3. Mail Account Confidentiality Assurance Level . . . . . . . . 4 60 3.1. Confidentiality Assurance Level 1 . . . . . . . . . . . . 6 61 3.2. Confidentiality Assurance Level 0 . . . . . . . . . . . . 7 62 3.3. Other Confidentiality Assurance Levels . . . . . . . . . 7 63 4. Implicit TLS . . . . . . . . . . . . . . . . . . . . . . . . 7 64 4.1. Implicit TLS for POP . . . . . . . . . . . . . . . . . . 8 65 4.2. Implicit TLS for IMAP . . . . . . . . . . . . . . . . . . 8 66 4.3. Implicit TLS for SMTP Submission . . . . . . . . . . . . 8 67 4.4. Implicit TLS Connection Closure for POP, IMAP and SMTP . 9 68 5. Email Security Upgrading Using Security Directives . . . . . 9 69 6. Server Strict Transport Security Policy . . . . . . . . . . . 11 70 7. Client Storage of Email Security Directives . . . . . . . . . 11 71 7.1. Security Directive Upgrade Example . . . . . . . . . . . 12 72 7.2. Security Policy Failures . . . . . . . . . . . . . . . . 12 73 8. Recording TLS Cipher Suite in Received Header . . . . . . . . 12 74 9. Extensions for STS Policy and Reporting . . . . . . . . . . . 13 75 9.1. IMAP STS Extension . . . . . . . . . . . . . . . . . . . 13 76 9.2. POP DEEP Extension . . . . . . . . . . . . . . . . . . . 15 77 9.3. SMTP MSTS Extension . . . . . . . . . . . . . . . . . . . 16 78 10. Account Setup Considerations . . . . . . . . . . . . . . . . 18 79 10.1. Use of SRV records in Establishing Configuration . . . . 18 80 10.2. Certificate Pinning . . . . . . . . . . . . . . . . . . 19 81 11. Implementation Requirements . . . . . . . . . . . . . . . . . 19 82 11.1. All Implementations (Client and Server) . . . . . . . . 19 83 11.1.1. Client Certificate Authentication . . . . . . . . . 20 84 11.2. Mail Server Implementation Requirements . . . . . . . . 21 85 11.3. Mail User Agent Implementation Requirements . . . . . . 21 86 11.4. Non-configurable MUAs and nonstandard access protocols . 22 87 11.5. Compliance for Anti-Virus/Anti-Spam Software and 88 Services . . . . . . . . . . . . . . . . . . . . . . . . 22 89 12. Mail Service Provider Requirements . . . . . . . . . . . . . 23 90 12.1. Server Requirements . . . . . . . . . . . . . . . . . . 23 91 12.2. MSPs MUST provide Submission Servers . . . . . . . . . . 23 92 12.3. TLS Server Certificate Requirements . . . . . . . . . . 23 93 12.4. Recommended DNS records for mail protocol servers . . . 24 94 12.4.1. MX records . . . . . . . . . . . . . . . . . . . . . 24 95 12.4.2. SRV records . . . . . . . . . . . . . . . . . . . . 24 96 12.4.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 24 97 12.4.4. TLSA records . . . . . . . . . . . . . . . . . . . . 24 98 12.5. MSP Server Monitoring . . . . . . . . . . . . . . . . . 24 99 12.6. Advertisement of STS policies . . . . . . . . . . . . . 25 100 12.7. Require TLS . . . . . . . . . . . . . . . . . . . . . . 25 101 12.8. Changes to Internet Facing Servers . . . . . . . . . . . 25 102 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 103 13.1. Security Directive Registry . . . . . . . . . . . . . . 25 104 13.2. Initial Set of Security Directives . . . . . . . . . . . 26 105 13.3. POP3S Port Registration Update . . . . . . . . . . . . . 29 106 13.4. IMAPS Port Registration Update . . . . . . . . . . . . . 29 107 13.5. Submissions Port Registration . . . . . . . . . . . . . 29 108 13.6. STS IMAP Capability . . . . . . . . . . . . . . . . . . 30 109 13.7. STS POP3 Capability . . . . . . . . . . . . . . . . . . 30 110 13.8. MSTS SMTP EHLO Keyword . . . . . . . . . . . . . . . . . 30 111 13.9. MAIL Parameters Additional-registered-clauses Sub- 112 Registry . . . . . . . . . . . . . . . . . . . . . . . . 31 113 14. Security Considerations . . . . . . . . . . . . . . . . . . . 31 114 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 31 115 15.1. Normative References . . . . . . . . . . . . . . . . . . 31 116 15.2. Informative References . . . . . . . . . . . . . . . . . 34 117 Appendix A. Design Considerations . . . . . . . . . . . . . . . 35 118 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 36 119 Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 41 120 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42 122 1. Introduction 124 Software that provides email service via Internet Message Access 125 Protocol (IMAP) [RFC3501], Post Office Protocol (POP) [RFC1939] and/ 126 or Simple Mail Transfer Protocol (SMTP) Submission [RFC6409] usually 127 has Transport Layer Security (TLS) [RFC5246] support but often does 128 not use it in a way that maximizes end-user confidentiality. This 129 specification proposes changes to email software and deployments 130 intended to increase the use of TLS and record when that use occurs. 131 This adapts the strict transport security (STS) model described in 132 [RFC6797] to cover mail user agents (MUAs). 134 In brief, this memo now recommends that: 136 o MUAs associate a minimum confidentiality assurance level with each 137 mail account, and disconnections associated with that account that 138 do not provide the minimum confidentiality assurance level 139 associated with that account. 141 o By default, MUAs assign a minimum confidentiality assurance level 142 that requires use of TLS with certificate validation for all TCP 143 connections; 145 o TLS on a well-known port ("Implicit TLS") be supported for IMAP, 146 POP, and SMTP Submission [RFC6409] for all electronic mail user 147 agents (MUAs), servers, and service providers; 149 o MUAs and mail protocol servers cooperate (via mechanisms defined 150 in this specification) to upgrade security feature use and record/ 151 indicate that usage appropriately. The security upgrade model is 152 aligned with the HTTP STS specification [RFC6797]. 154 This does not address use of TLS with SMTP for message relay (where 155 Message Submission [RFC6409] does not apply). Improved use of TLS 156 with SMTP for message relay requires a different approach. One 157 approach to address that topic is described in [RFC7672]. 159 The recommendations in this memo do not replace the functionality of, 160 and are not intended as a substitute for, end-to-end encryption of 161 electronic mail. 163 This draft is subject to change. Implementation of this proposal is 164 not recommended at this time. Please discuss this proposal on the 165 ietf-uta mailing list. 167 2. Conventions and Terminology Used in This Document 169 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 170 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 171 document are to be interpreted as described in [RFC2119]. 173 This specification expresses syntax using the Augmented Backus-Naur 174 Form (ABNF) as described in [RFC5234], including the core rules in 175 Appendix B and rules from [RFC5322]. 177 In examples, "C:" and "S:" indicate lines sent by the client and 178 server respectively. If a single "C:" or "S:" label applies to 179 multiple lines, then the line breaks between those lines are for 180 editorial clarity only and are not part of the actual protocol 181 exchange. 183 3. Mail Account Confidentiality Assurance Level 185 A "mail account" refers to the network services an end user uses to 186 read, submit and manage email communications on the Internet. This 187 typically involves at least one mail access server (IMAP or POP) and 188 at least one SMTP submission server. An end user uses a mail user 189 agent (MUA) to access a mail account. (Most MUAs support the ability 190 to access multiple mail accounts.) This document uses the term 191 "confidentiality assurance level" to indicate the degree to which the 192 network connections between an MUA and a mail account have 193 confidentiality protection from both passive and active attackers on 194 the network. 196 The configuration necessary for a mail account includes an email 197 address, connection information, and authentication credentials for 198 network services. MUAs compliant with this specification MUST also 199 associate a minimum confidentiality assurance level with each mail 200 account. If during a session with a network service, the 201 requirements for the minimum confidentiality assurance level 202 associated with that mail account are not met, the MUA MUST NOT 203 continue the session with the network service. MUAs MUST support at 204 least the ability to detect whether a session with a network service 205 implements confidentiality assurance level 1 as described in the next 206 section. Note that the minimum confidentiality assurance level 207 associated with an account applies to all protocol interactions and 208 all servers associated with the account. 210 MUAs SHOULD continuously indicate to the user the current 211 confidentiality assurance level of any account currently in use when 212 reading, submitting and managing mail (e.g., via a lock icon, 213 background colors, or other indications similar to those commonly 214 used in web browsers for a similar purpose) and SHOULD indicate the 215 minimum confidentiality assurance level for each account whenever 216 displaying a list of mail accounts. Note that the displayed 217 confidentiality assurance level for a current session could be higher 218 than the minimum confidentiality assurance level set at account 219 configuration, but never lower. If multiple active connections are 220 associated with an account or view, the indication of the current 221 confidentiality assurance level associated with the account should 222 reflect the level provided by the least confidential connection. It 223 is therefore possible that at any given instant some services 224 associated with a mail account meet the minimum confidentiality 225 assurance level associated with the account, and other services do 226 not. An MUA MAY continue to interact with those services for which 227 the minimum confidentiality assurance level is met, while refusing to 228 interact with those services for which the minimum confidentiality 229 assurance level is not met. For example, if the IMAP service 230 associated with a mail account meets the minimum confidentiality 231 assurance level, but the Mail Submission service associated with that 232 account does not, the MUA MAY continue to permit reading mail from 233 that account but MUST NOT send mail until it can do so using a 234 Submission service that meets the minimum confidentiality assurance 235 level for that account. 237 Account configuration occurs when an MUA is first used to access a 238 particular service, when a user wishes to access or submit mail 239 through servers in addition to those specified or found during first 240 use, or when a user explicitly requests to change account 241 configuration parameters such as server names, user names, passwords, 242 client certificates, etc. Account configuration can be entirely 243 manual (entering server names explicitly) or partially automated via 244 a mechanism such as DNS SRV records [RFC6186]. MUAs SHOULD require a 245 minimum confidentiality assurance level of 1 as the default for newly 246 configured accounts. 248 This document defines two initial confidentiality assurance levels, 1 249 and 0. It is expected that other levels may be defined in the 250 future, as needed to thwart increasingly sophisticated and/or 251 pervasive attacks. 253 3.1. Confidentiality Assurance Level 1 255 A mail account has a confidentiality assurance level of 1 when the 256 following conditions are met on all TCP server connections associated 257 with an account. This includes connections to POP, IMAP and SMTP 258 submission servers as well as any other associated protocols defined 259 now or in the future. Examples of protocols associated with a mail 260 account include managesieve [RFC5804] and MTQP [RFC3887]. 262 o TCP connections MUST successfully negotiate TLS via either 263 Implicit TLS Section 4 or STARTTLS. 265 o For protocols using TCP, both client and server must support, and 266 negotiate, a TLS version of 1.1 or greater. 268 o MUAs MUST implement [RFC7817] and PKIX [RFC5280]. 270 o MUAs MAY implement DANE [RFC6698] as an alternate means of 271 verifying TLS server certificates. For confidentiality assurance 272 level 1, a certificate may be considered valid if it can be 273 validated using either DANE or PKIX. 275 o User agents MUST abort a TLS session if the TLS negotiation fails 276 or the server's certificate or identity fails to verify. A user 277 may reconfigure the account to lower the expected level of 278 confidentiality if he/she chooses. Reduction of expected account 279 confidentiality MUST NOT be done on a click-through basis. 281 The end user is part of the system that protects the user's 282 confidentiality and security. As a result, it's critical not to 283 present the end user with a simple action that reduces their 284 confidentiality in response to certificate validation failure. An 285 MUA which offers a user actions such as "connect anyway", "trust 286 certificate for future connections" or "lower confidentiality 287 assurance for this account" in response to certificate validation 288 failure is not implementing a minimum confidentiality assurance of 1 289 as defined in this section and thus does not comply with this 290 document. Examples of acceptable actions to offer would be "work 291 offline", "try again later", and "open service provider status web 292 page". 294 3.2. Confidentiality Assurance Level 0 296 MUAs MAY support the ability to configure accounts with a minimum 297 confidentiality assurance level of 0. At this level, the MUA MUST 298 attempt to negotiate TLS, but MAY ignore server certificate 299 validation failures. MUAs MAY support use of connections without 300 TLS, or using TLS versions prior to TLS 1.1, for accounts with a 301 minimum confidentiality assurance level of 0. Even for accounts with 302 a minimum confidentiality assurance level of 0, MUAs SHOULD attempt 303 TLS first if available, and MUST implement the ability to reconnect 304 without TLS if TLS negotiation fails for reasons other than server 305 certificate validity. 307 Note that if TLS is not used, or a version of TLS prior to TLS 1.1 is 308 negotiated, or the TLS server certificate is not successfully 309 validated as described in Section 3.1, the client MUST clearly 310 indicate to the user that there is currently no assurance of 311 confidentiality for the mail account or connection. 313 3.3. Other Confidentiality Assurance Levels 315 This specification is not intended to limit experimentation and 316 innovation with respect to user confidentiality. As a result, an 317 implementation MAY implement confidentiality assurance levels other 318 than those defined in this document, as long as those levels are 319 distinguished in user interfaces from those defined in this document, 320 and the ordering associated with them reflects the actual expectation 321 of confidentiality provided. However, implementation of levels below 322 confidentiality assurance level 0, as described in the previous 323 section, is discouraged. Implementers are also cautioned that end 324 users may be confused by too many confidentiality assurance levels. 326 As stated above, higher confidentiality assurance levels may be 327 standardized in the future. For example, a future confidentiality 328 assurance levels might require multiple independent trust anchors for 329 server certificate validation. 331 4. Implicit TLS 333 Previous standards for use of email protocols with TLS used the 334 STARTTLS mechanism: [RFC2595], [RFC3207], and [RFC3501]. With 335 STARTTLS, the client establishes a clear text application session and 336 determines whether to issue a STARTTLS command based on server 337 capabilities and client configuration. If the client issues a 338 STARTTLS command, a TLS handshake follows that can upgrade the 339 connection. While this mechanism has been deployed, an alternate 340 mechanism where TLS is negotiated immediately at connection start on 341 a separate port (referred to in this document as "Implicit TLS") has 342 been deployed more successfully. To increase use of TLS, this 343 specification recommends use of implicit TLS by new POP, IMAP and 344 SMTP Submission software. 346 4.1. Implicit TLS for POP 348 When a TCP connection is established for the "pop3s" service (default 349 port 995), a TLS handshake begins immediately. Clients MUST 350 implement the certificate validation mechanism described in 351 [RFC7817]. Once the TLS session is established, POP3 [RFC1939] 352 protocol messages are exchanged as TLS application data for the 353 remainder of the TCP connection. After the server sends a +OK 354 greeting, the server and client MUST enter AUTHORIZATION state, even 355 if client credentials were supplied during the TLS handshake. 357 See Section 11.1.1 for additional information on client certificate 358 authentication. See Section 13.3 for port registration information. 360 4.2. Implicit TLS for IMAP 362 When a TCP connection is established for the "imaps" service (default 363 port 993), a TLS handshake begins immediately. Clients MUST 364 implement the certificate validation mechanism described in [RFC3501] 365 and SHOULD implement the certificate validation mechanism described 366 in [RFC7817]. Once the TLS session is established, IMAP [RFC3501] 367 protocol messages are exchanged as TLS application data for the 368 remainder of the TCP connection. If client credentials were provided 369 during the TLS handshake that the server finds acceptable, the server 370 MAY issue a PREAUTH greeting in which case both the server and client 371 enter AUTHENTICATED state. If the server issues an OK greeting then 372 both server and client enter NOT AUTHENTICATED state. 374 See Section 11.1.1 for additional information on client certificate 375 authentication. See Section 13.4 for port registration information. 377 4.3. Implicit TLS for SMTP Submission 379 When a TCP connection is established for the "submissions" service 380 (default port 465), a TLS handshake begins immediately. Clients MUST 381 implement the certificate validation mechanism described in 382 [RFC7817]. Once a TLS session is established, message submission 383 protocol data [RFC6409] is exchanged as TLS application data for the 384 remainder of the TCP connection. (Note: the "submissions" service 385 name is defined in section 10.3 of this document, and follows the 386 usual convention that the name of a service layered on top of 387 Implicit TLS consists of the name of the service as used without TLS, 388 with an "s" appended.) 390 The STARTTLS mechanism on port 587 is relatively widely deployed due 391 to the situation with port 465 (discussed in Section 13.5). This 392 differs from IMAP and POP services where implicit TLS is more widely 393 deployed on servers than STARTTLS. It is desirable to migrate core 394 protocols used by MUA software to implicit TLS over time for 395 consistency as well as the additional reasons discussed in 396 Appendix A. However, to maximize use of encryption for submission it 397 is desirable to support both mechanisms for Message Submission over 398 TLS for a transition period of several years. As a result, clients 399 and servers SHOULD implement both STARTTLS on port 587 and implicit 400 TLS on port 465 for this transition period. Note that there is no 401 significant difference between the security properties of STARTTLS on 402 port 587 and implicit TLS on port 465 if the implementations are 403 correct and both client and server are configured to require 404 successful negotiation of TLS prior to message submission (as 405 required in Section 11.1). 407 Note that the submissions port provides access to a Mail Submission 408 Agent (MSA) as defined in [RFC6409] so requirements and 409 recommendations for MSAs in that document apply to the submissions 410 port, including the requirement to implement SMTP AUTH [RFC4954]. 412 See Section 11.1.1 for additional information on client certificate 413 authentication. See Section 13.5 for port registration information. 415 4.4. Implicit TLS Connection Closure for POP, IMAP and SMTP 417 When a client or server wishes to close the connection, it SHOULD 418 initiate the exchange of TLS close alerts before TCP connection 419 termination. The client MAY, after sending a TLS close alert, 420 gracefully close the TCP connection without waiting for a TLS 421 response from the server. 423 5. Email Security Upgrading Using Security Directives 425 Once an improved email security mechanism is deployed and ready for 426 general use, it is desirable to continue using it for all future 427 email service. For example, TLS is widely deployed in email 428 software, but use of TLS is often not required. At the time this is 429 written, deployed mail user agents (MUAs) [RFC5598] usually make a 430 determination if TLS is available when an account is first configured 431 and may require use of TLS with that account if and only if it was 432 initially available. If the service provider makes TLS available 433 after initial client configuration, many MUAs will not notice the 434 change. 436 Alternatively, a security feature may be purely opportunistic and 437 thus subject to downgrade attacks. For example, at the time this was 438 written, most TLS stacks that support TLS 1.2 will use an older TLS 439 version if the peer does not support TLS 1.2 and many do so without 440 alerting the user of the reduced security. Thus a variety of active 441 attacks could cause the loss of TLS 1.2 benefits. Only if client 442 policy is upgraded to require TLS 1.2 can the client prevent all 443 downgrade attacks. However, this sort of security policy upgrade 444 will be ignored by most users unless it is automated. 446 This section describes a mechanism, called "security directives", 447 which is designed to permit an MUA to recognize when a service 448 provider has committed to provide certain server security features, 449 and that it's safe for the client to change its configuration for 450 that account to require that such features be present in future 451 sessions with that server. Once the client has changed the 452 configuration for a mail service to require specific server security 453 features, those features are said to be "latched". 455 Note that security directives are a separate mechanism from minimum 456 confidentiality assurance levels. A connection between a client and 457 a service MUST meet the requirements of both the minimum 458 confidentiality assurance level associated with the account, and the 459 conditions of any security directives established for that service. 460 Otherwise the client MUST abandon the connection. When an MUA 461 implements both minimum confidentiality assurance levels and security 462 directives, then both the end-user and the service provider 463 independently have the ability to improve the end-user's 464 confidentiality. 466 A security directive has the following formal syntax: 468 directive = directive-name [ "=" directive-value ] 470 directive-name = token 472 directive-value = token 474 token = 476 This is a subset of the syntax used by HSTS [RFC6797] as revised in 477 [RFC7230]; but simplified for use by protocols other than HTTP. 479 6. Server Strict Transport Security Policy 481 Servers supporting this extension MUST advertise an STS policy. This 482 includes a list of security directives the server administrator has 483 explicitly configured as recommended for use by clients (the list MAY 484 be empty). When a server advertises a security directive associated 485 with a security facility, it is making a commitment to support that 486 facility (or a revised version of that facility) indefinitely and 487 recommending that the client save that directive with the account 488 configuration and require that security facility for future 489 connections to that server. 491 Server STS policy may also include a "sts-url" directive with a value 492 containing an https Uniform Resource Locator (URL) [RFC2818] that the 493 client can save and subsequently resolve for the user in the event of 494 a security connection problem. Server STS policy has the following 495 formal syntax: 497 sts-policy = [directive *(";" [SP] directive)] 499 Protocol extensions to advertise STS policy for email servers are 500 defined in Section 9. 502 The IANA Considerations Section 13 defines a registry so that more 503 directives can be defined in the future. Three initial directives 504 are defined for use by MUAs in Section 13.2: tls-version, sts-url, 505 and tls-cert. 507 7. Client Storage of Email Security Directives 509 Before a client can consider storing any security directives, it MUST 510 verify that the connection to the server uses TLS, the server has 511 been authenticated, and any requirements for any previously saved 512 security directives are met. Then the client performs the following 513 steps for each security directive in the STS policy: 515 1. If the security directive name is not known to the client, skip 516 to the next directive. 518 2. If the security directive is already saved with the same value 519 (or a value considered greater than the current value in the 520 directive's definition), the client skips the security directive 521 and moves on to the next one. 523 3. The client verifies the connection meets the requirements of the 524 security directive. If the connection does not, then the 525 directive will not be saved. For example, a security directive 526 claiming that the server supports tls-version 1.2 will not be 527 saved by a client if the currently negotiated TLS session is 528 using TLS 1.1. 530 4. If previous steps pass, the client SHOULD update the current 531 account configuration to save the security directive. 533 Once a security directive is saved, all subsequent connections to 534 that host require any associated security feature. For this 535 confidentiality protection to work as desired clients MUST NOT offer 536 a click-through-to-connect action when unable to achieve connection 537 security matching the saved security directives. 539 7.1. Security Directive Upgrade Example 541 Suppose a server advertises the "tls-version" directive name with 542 value "1.1". A client that successfully negotiates either TLS 1.1 or 543 TLS 1.2 SHOULD save this directive. The server may subsequently 544 change the value to "1.2". When a client with "1.1" saved value 545 connects and negotiates TLS 1.2, it will upgrade the saved directive 546 value to "1.2". However, a client that only supports TLS 1.1 will 547 continue to require use of TLS 1.1 and work with that server as long 548 as it permits TLS 1.1. This way individual clients can require the 549 newer/stronger protocol (e.g., TLS 1.2), while older clients can 550 continue to communicate securely (albeit potentially less so) using 551 the older protocol. 553 7.2. Security Policy Failures 555 When a security directive has been saved for connections from a 556 client to a server and the facility identified by that directive is 557 no longer available, this results in a connection failure. An MUA 558 SHOULD inform the user of a potential threat to their confidentiality 559 and offer to resolve a previously-recorded sts-url https URL if one 560 is available. MUAs are discouraged from offering a lightweight 561 option to reset or ignore directives as this defeats the benefit they 562 provide to end users. 564 8. Recording TLS Cipher Suite in Received Header 566 The ESMTPS transmission type [RFC3848] provides trace information 567 that can indicate TLS was used when transferring mail. However, TLS 568 usage by itself is not a guarantee of confidentiality or security. 569 The TLS cipher suite provides additional information about the level 570 of security made available for a connection. This defines a new SMTP 571 "tls" Received header additional-registered-clause that is used to 572 record the TLS cipher suite that was negotiated for the connection. 573 The value included in this additional clause SHOULD be the registered 574 cipher suite name (e.g., TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) 575 included in the TLS cipher suite registry. In the event the 576 implementation does not know the name of the cipher suite (a 577 situation that should be remedied promptly), a four-digit hexadecimal 578 cipher suite identifier MAY be used. The ABNF for the field follows: 580 tls-cipher-clause = CFWS "tls" FWS tls-cipher 582 tls-cipher = tls-cipher-suite-name / tls-cipher-suite-hex 584 tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_") 585 ; as registered in IANA cipher suite registry 587 tls-cipher-hex = "0x" 4HEXDIG 589 9. Extensions for STS Policy and Reporting 591 This memo defines optional mechanisms for use by MUAs to communicate 592 saved STS policy to servers and for servers to advertise policy. One 593 purpose of such mechanisms is to permit servers to determine which 594 and how many clients have saved security directives, and thus, to 595 permit operators to be aware of potential impact to their users 596 should support for such facilities be changed. For IMAP, the 597 existing ID command is extended to provide this capability. For SMTP 598 Submission, a new CLIENT command is defined. No similar mechanism is 599 defined for POP in this version of the memo to keep POP simpler, but 600 one may be added in the future if deemed necessary. 602 In addition, for each of IMAP, POP, and SMTP, a new STS capability is 603 defined so the client can access the server's STS policy. 605 9.1. IMAP STS Extension 607 When an IMAP server advertises the STS capability, that indicates the 608 IMAP server implements IMAP4 ID [RFC2971] with additional field 609 values defined here. This is grouped with the ID command because 610 that is the existing IMAP mechanism for clients to report data for 611 server logging, and provides a way for the server to report the STS 612 policy. 614 sts From server to client, the argument to this ID field is the 615 server STS policy. Servers MUST provide this information in 616 response to an ID command. 618 saved From client to server, this is a list of security directives 619 the client has saved for this server (the client MAY omit the 620 value for the sts-url directive in this context). Servers MAY 621 record this information so administrators know the expected 622 security properties of the client and can thus act to avoid 623 security policy failures (e.g., by renewing server certificates on 624 time, etc). 626 policy-fail From client to server, a list including one or more 627 security directives the client has saved that the client was 628 unable to achieve. This allows clients to report errors to the 629 server prior to terminating the connection in the event an 630 acceptable security level is unavailable. 632 directives From client to server, this is a list of security 633 directive names the client supports that are not saved. 635 tls Server-side IMAP proxies that accept TLS connections from 636 clients and connect in-the-clear over a fully private secure 637 network to the server SHOULD use this field to report the tls- 638 cipher (syntax as defined in Section 8) to the server. 640 IMAP clients SHOULD use the IMAP ID command to report policy failures 641 and determine the server STS policy. Clients MAY use the ID command 642 to report other security directive information. IMAP servers MUST 643 implement the ID command at least to report STS policy to clients. 645 646 S: * OK [CAPABILITY IMAP4rev1 STS ID AUTH=PLAIN 647 AUTH=SCRAM-SHA-1] hello 648 C: a001 ID ("name" "Demo Mail" "version" "1.5" "saved" 649 "tls-version=1.1; tls-cert" 650 "directives" "tls-version=1.2") 651 S: * ID ("name" "Demo Server" "version" "1.7" "sts-policy" 652 "tls-version=1.1; tls-cert; 653 sts-url=https://www.example.com/security-support.html") 654 S: a001 OK ID completed 656 Example 1 658 This example shows a client that successfully negotiated TLS version 659 1.1 or later and verified the server's certificate as required by 660 IMAP. Even if the client successfully validates the server 661 certificate, it will not require tls-version 1.2 in the future as the 662 server does not advertise that version as policy. The client has not 663 yet saved an STS URL, but if the client successfully validated the 664 server certificate, it will save the provided URL. 666 667 S: * OK [CAPABILITY IMAP4rev1 DEEP ID AUTH=PLAIN 668 AUTH=SCRAM-SHA-1] hello 669 C: a001 ID ("name" "Demo Mail" "version" "1.5" "policy-failure" 670 "tls-cert=pkix") 671 S: * ID ("name" "Demo Server" "version" "1.7" "sts-policy" 672 "tls-version=1.1; 673 sts-url=") 674 S: a001 OK ID completed 675 C: a002 LOGOUT 677 Example 2 679 This example shows a client that negotiated TLS, but was unable to 680 verify the server's certificate using PKIX. The policy-failure 681 informs the server of this problem, at which point the client can 682 disconnect. If the client had previously saved the sts-url security 683 directive from this server, it could offer to resolve that URI. 684 However, the sts-policy in this exchange is ignored due to the 685 failure to meet the conditions of the tls-version security directive. 687 689 S: * OK [CAPABILITY IMAP4rev1 DEEP ID AUTH=PLAIN 690 AUTH=SCRAM-SHA-1] hello 691 C: a001 ID ("name" "Demo Mail" "version" "1.5" "saved" 692 "tls-version=1.1; tls-cert=pkix" 693 "tls" "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256") 694 S: * ID ("name" "Demo Server" "version" "1.7" "sts-policy" 695 "tls-version=1.1; tls-cert=pkix; 696 sts-url=https://www.example.com/support.html") 697 S: a001 OK ID completed 699 Example 3 701 This example shows the connection from an IMAP proxy to a back-end 702 server. The client connected to the proxy and sent the ID command 703 shown in example 1, and the proxy has added the "tls" item to the ID 704 command so the back-end server can log the cipher suite that was used 705 on the connection from the client. 707 9.2. POP DEEP Extension 709 POP servers supporting this specification MUST implement the POP3 710 extension mechanism [RFC2449]. POP servers MUST advertise the DEEP 711 capability with an argument indicating the server's DEEP status. 712 (Note: DEEP is an ancronym for the original name of this 713 specification, before the terms were changed to align better with 714 those used in HSTS.) 716 717 S: +OK POP server ready 718 C: CAPA 719 S: +OK Capability list follows 720 S: TOP 721 S: SASL PLAIN SCRAM-SHA-1 722 S: RESP-CODES 723 S: PIPELINING 724 S: UIDL 725 S: STS tls-version=1.2 726 sts-url= 727 S: . 729 Example 4 731 After verifying the TLS server certificate and issuing CAPA, the 732 client can save any or all of the STS policy. If the client connects 733 to this same server later and has a security failure, the client can 734 direct the user's browser to the previously-saved URL where the 735 service provider can provide advice to the end user. 737 9.3. SMTP MSTS Extension 739 SMTP Submission servers supporting this specification MUST implement 740 the MSTS SMTP extension. The name of this extension is MSTS. The 741 EHLO keyword value is MSTS and the sts-policy ABNF is the syntax of 742 the EHLO keyword parameters. This does not add parameters to the 743 MAIL FROM or RCPT TO commands. This also adds a CLIENT command to 744 SMTP which is used to report client information to the server. The 745 formal syntax for the command follows: 747 deep-cmd = "CLIENT" 1*(SP deep-parameter) 749 deep-parameter = name / version / policy-fail 750 / directives / tls / future-extension 752 name = "name" SP esmtp-value 754 version = "version" SP esmtp-value 756 saved = "saved" SP directive-list 758 policy-fail = "policy-fail" SP directive-list 760 directive-list = DQUOTE [directive 761 *(";" [SP] directive)] DQUOTE 763 directives = "directives" SP directive-list 765 tls = "tls" SP tls-cipher 767 future-extension = Atom SP String 769 Atom = 771 String = 773 The CLIENT command parameters listed here have the same meaning as 774 the parameters used in the IMAP STS extension (Section 9.1). The 775 server responds to the CLIENT command with a "250" if the command has 776 correct syntax and a "501" if the command has incorrect syntax. 778 779 S: 220 example.com Demo SMTP Submission Server 780 C: EHLO client.example.com 781 S: 250-example.com 782 S: 250-8BITMIME 783 S: 250-PIPELINING 784 S: 250-DSN 785 S: 250-AUTH PLAIN LOGIN 786 S: 250-MSTS tls-version=1.2; tls-cert; 787 sts-url= 788 S: 250-BURL imap 789 S: 250 SIZE 0 790 C: CLIENT name demo_submit version 1.5 saved "tls-version=1.1; 791 tls-cert=pkix+dane" directives "tls-version=1.2" 792 S: 250 OK 794 Example 5 796 10. Account Setup Considerations 798 10.1. Use of SRV records in Establishing Configuration 800 This section updates [RFC6186] by changing the preference rules and 801 adding a new SRV service label _submissions._tcp to refer to Message 802 Submission with implicit TLS. 804 User-configurable MUAs SHOULD support use of [RFC6186] for account 805 setup. However, when using configuration information obtained by 806 this method, MUAs SHOULD default to a minimum confidentiality 807 assurance level of 1, unless the user has explicitly requested 808 reduced confidentiality. This will have the effect of causing the 809 MUA to ignore advertised configurations that do not support TLS, even 810 when those advertised configurations have a higher priority than 811 other advertised configurations. 813 When using [RFC6186] configuration information, Mail User Agents 814 SHOULD NOT automatically establish new configurations that do not 815 require TLS for all servers, unless there are no advertised 816 configurations using TLS. If such a configuration is chosen, prior 817 to attempting to authenticate to the server or use the server for 818 message submission, the MUA SHOULD warn the user that traffic to that 819 server will not be encrypted and that it will therefore likely be 820 intercepted by unauthorized parties. The specific wording is to be 821 determined by the implementation, but it should adequately capture 822 the sense of risk given the widespread incidence of mass surveillance 823 of email traffic. 825 When establishing a new configuration for connecting to an IMAP, POP, 826 or SMTP Submission server, an MUA SHOULD NOT blindly trust SRV 827 records unless they are signed by DNSSEC and have a valid signature. 828 Instead, the MUA SHOULD warn the user that the DNS-advertised 829 mechanism for connecting to the server is not authenticated, and 830 request the user to manually verify the connection details by 831 reference to his or her mail service provider's documentation. 833 Similarly, an MUA MUST NOT consult SRV records to determine which 834 servers to use on every connection attempt, unless those SRV records 835 are signed by DNSSEC and have a valid signature. However, an MUA MAY 836 consult SRV records from time to time to determine if an MSP's server 837 configuration has changed, and alert the user if it appears that this 838 has happened. This can also serve as a means to encourage users to 839 upgrade their configurations to require TLS if and when their MSPs 840 support it. 842 10.2. Certificate Pinning 844 During account setup, the MUA will identify servers that provide 845 account services such as mail access and mail submission (the 846 previous section describes one way to do this). The certificates for 847 these servers are verified using the rules described in [RFC7817] and 848 PKIX [RFC5280]. In the event the certificate does not validate due 849 to an expired certificate, lack of appropriate chain of trust or lack 850 of identifier match, the MUA MAY create a persistent binding between 851 that certificate and the saved host name for the server. This is 852 called certificate pinning. Certificate pinning is only appropriate 853 during account setup and MUST NOT be offered in response to a failed 854 certificate validation for an existing account. An MUA that allows 855 certificate pinning MUST NOT allow a certificate pinned for one 856 account to validate connections for other accounts. 858 A pinned certificate is subject to a man-in-the-middle attack at 859 account setup time, and lacks a mechanism to revoke or securely 860 refresh the certificate. Therefore use of a pinned certificate does 861 not meet the requirement for a minimum confidentiality assurance 862 level of 1, and an MUA MUST NOT indicate a confidentiality assurance 863 level of 1 for an account or connection using a pinned certificate. 864 Additional advice on certificate pinning is present in [RFC6125]. 866 11. Implementation Requirements 868 This section details requirements for implementations of electronic 869 mail protocol clients and servers. A requirement for a client or 870 server implementation to support a particular feature is not the same 871 thing as a requirement that a client or server running a conforming 872 implementation be configured to use that feature. Requirements for 873 Mail Service Providers (MSPs) are distinct from requirements for 874 protocol implementations, and are listed in a separate section. 876 11.1. All Implementations (Client and Server) 878 These requirements apply to MUAs as well as POP, IMAP and SMTP 879 Submission servers. 881 o All implementations MUST implement TLS 1.2 or later, and be 882 configurable to support implicit TLS using the TLS 1.2 protocol or 883 later [RFC5246]. 885 o All implementations MUST implement the recommended cipher suites 886 described in [RFC7525] or a future BCP or standards track revision 887 of that document. 889 o All implementations MUST be configurable to require TLS before 890 performing any operation other than capability discovery and 891 STARTTLS. 893 o The IMAP specification [RFC3501] is hereby modified to revoke the 894 second paragraph of section 11.1 and replace it with the text from 895 the first three bullet items in this list. See Appendix B of 896 [RFC7817] to see additional modifications to IMAP certificate 897 validation rules. 899 o The standard for use of TLS with IMAP, POP3 and ACAP [RFC2595] is 900 modified to revoke section 2.1 and replace it with the text from 901 the first three bullet items in this list. See Appendix B of 902 [RFC7817] to see additional modifications to RFC 2595 certificate 903 validation rules. 905 o The standard for Message Submission [RFC6409] is updated to add 906 the first three bullet items above to section 4.3 as well as to 907 require implementation of the TLS server identity check as 908 described in [RFC7817] and PKIX [RFC5280]. 910 11.1.1. Client Certificate Authentication 912 MUAs and mail servers MAY implement client certificate authentication 913 on the implicit TLS port. Servers MUST NOT request a client 914 certificate during the TLS handshake unless the server is configured 915 to accept some client certificates as sufficient for authentication 916 and the server has the ability to determine a mail server 917 authorization identity matching such certificates. How to make this 918 determination is presently implementation specific. Clients MUST NOT 919 provide a client certificate during the TLS handshake unless the 920 server requests one and the client has determined the certificate can 921 be safely used with that specific server, OR the client has been 922 explicitly configured by the user to use that particular certificate 923 with that server. How to make this determination is presently 924 implementation specific. If the server accepts the client's 925 certificate as sufficient for authorization, it MUST enable the SASL 926 EXTERNAL [RFC4422] mechanism. An IMAPS server MAY issue a PREAUTH 927 greeting instead of enabling SASL EXTERNAL. A client supporting 928 client certificate authentication with implicit TLS MUST implement 929 the SASL EXTERNAL [RFC4422] mechanism using the appropriate 930 authentication command (AUTH for POP3 [RFC5034], AUTH for SMTP 931 Submission [RFC4954], AUTHENTICATE for IMAP [RFC3501]). 933 11.2. Mail Server Implementation Requirements 935 These requirements apply to servers that implement POP, IMAP or SMTP 936 Submission. 938 o Servers MUST implement the appropriate STS Policy and Reporting 939 extensions described in Section 9 941 o IMAP and SMTP submission servers SHOULD implement and be 942 configurable to support STARTTLS. This enables discovery of new 943 TLS availability, and can increase usage of TLS by legacy clients. 945 o Servers MUST NOT advertise STARTTLS capability if it is unlikely 946 to succeed based on server configuration (e.g., there is no server 947 certificate installed). 949 o SMTP message submission servers that have negotiated TLS SHOULD 950 add a Received header field to the message including the tls 951 clause described in Section 8. 953 o Servers MUST be configurable to include the TLS cipher information 954 in any connection or user logging or auditing facility they 955 provide. 957 11.3. Mail User Agent Implementation Requirements 959 This section describes requirements on Mail User Agents (MUAs) using 960 IMAP, POP, and/or Submission protocols. Note: Requirements 961 pertaining to use of Submission servers are also applicable when 962 using SMTP servers (e.g., port 25) for mail submission. 964 o User agents SHOULD indicate to users at configuration time, the 965 minimum expected level of confidentiality based on appropriate 966 security inputs such as which security directives are pre-set, the 967 number of trust anchors, certificate validity, use of an extended 968 validation certificate, TLS version supported, and TLS cipher 969 suites supported by both server and client. This indication 970 SHOULD also be present when editing or viewing account 971 configuration. 973 o For any mail service not initially configured to require TLS, MUAs 974 SHOULD detect when STARTTLS and/or implicit TLS becomes available 975 for a protocol and set the tls-version security directive if the 976 server advertises the tls-version=1.1 or higher security policy 977 after a successful negotiation (including certificate validation) 978 of TLS 1.1. 980 o Whenever requested to establish any configuration that does not 981 require both TLS and server certificate verification to talk to a 982 server or account, an MUA SHOULD warn its user that his or her 983 mail traffic (including password, if applicable) will be exposed 984 to attackers, and give the user an opportunity to abort the 985 connection prior to transmission of any such password or traffic. 987 o MUAs SHOULD support the ability to save the "tls-version=1.2" 988 security directive (the TLS library has to provide an API that 989 controls permissible TLS versions, and communicates the negotiated 990 TLS protocol version to the application, for this to be possible). 992 o See Section 3 for additional requirements. 994 11.4. Non-configurable MUAs and nonstandard access protocols 996 MUAs which are not configurable to use user-specified servers MUST 997 implement TLS or similarly other strong encryption mechanism when 998 communicating with their mail servers. This generally applies to 999 MUAs that are pre-configured to operate with one or more specific 1000 services, whether or not supplied by the vendor of those services. 1002 MUAs using protocols other than IMAP, POP, and Submission to 1003 communicate with mail servers, MUST implement TLS or other similarly 1004 robust encryption mechanism in conjunction with those protocols. 1006 11.5. Compliance for Anti-Virus/Anti-Spam Software and Services 1008 There are multiple ways to connect an Anti-Virus and/or Anti-Spam 1009 (AVAS) service to a mail server. Some mechanisms, such as the de- 1010 facto milter protocol, are out of scope for this specification. 1011 However, some services use an SMTP relay proxy that intercepts mail 1012 at the application layer to perform a scan and proxy or forward to 1013 another MTA. Deploying AVAS services in this way can cause many 1014 problems [RFC2979] including direct interference with this 1015 specification, and other forms of confidentiality or security 1016 reduction. An AVAS product or service is considered compliant with 1017 this specification if all IMAP, POP and SMTP-related software 1018 (including proxies) it includes are compliant with this 1019 specification, and each of these services advertise and support all 1020 security directives that the actual end-servers advertise. 1022 Note that end-to-end email encryption prevents AVAS software and 1023 services from using email content as part of a spam or virus 1024 assessment. Furthermore, while a minimum confidentiality assurance 1025 level of 1 or better can prevent a man-in-the-middle from introducing 1026 spam or virus content between the MUA and Submission server, it does 1027 not prevent other forms of client or account compromise. Use of AVAS 1028 services for submitted email therefore remains necessary. 1030 12. Mail Service Provider Requirements 1032 This section details requirements for providers of IMAP, POP, and/or 1033 SMTP submission services, for providers who claim to conform to this 1034 specification. 1036 12.1. Server Requirements 1038 Mail Service Providers MUST use server implementations that conform 1039 to this specification. 1041 12.2. MSPs MUST provide Submission Servers 1043 This document updates the advice in [RFC5068] by making Implicit TLS 1044 on port 465 the preferred submission port. 1046 Mail Service Providers that accept mail submissions from end-users 1047 using the Internet Protocol MUST provide one or more SMTP Submission 1048 services, separate from the SMTP MTA services used to process 1049 incoming mail. Those submission services MUST be configured to 1050 support Implicit TLS on port 465 and SHOULD support STARTTLS if port 1051 587 is used. 1053 MSPs MAY also support submission of messages via one or more 1054 designated SMTP servers to facilitate compatibility with legacy MUAs. 1056 Discussion: SMTP servers used to accept incoming mail or to relay 1057 mail are expected to accept mail in cleartext. This is incompatible 1058 with the purpose of this memo which is to encourage encryption of 1059 traffic between mail servers. There is no such requirement for mail 1060 submission servers to accept mail in cleartext or without 1061 authentication. For other reasons, use of separate SMTP submission 1062 servers has been best practice for many years. 1064 12.3. TLS Server Certificate Requirements 1066 MSPs MUST maintain valid server certificates for all servers. See 1067 [RFC7817] for the recommendations and requirements necessary to 1068 achieve this. 1070 If a protocol server provides service for more than one mail domain, 1071 it MAY use a separate IP address for each domain and/or a server 1072 certificate that advertises multiple domains. This will generally be 1073 necessary unless and until it is acceptable to impose the constraint 1074 that the server and all clients support the Server Name Indication 1075 extension to TLS [RFC6066]. For more discussion of this problem, see 1076 section 5.1 of [RFC7817]. 1078 12.4. Recommended DNS records for mail protocol servers 1080 This section discusses not only the DNS records that are recommended, 1081 but also implications of DNS records for server configuration and TLS 1082 server certificates. 1084 12.4.1. MX records 1086 It is recommended that MSPs advertise MX records for handling of 1087 inbound mail (instead of relying entirely on A or AAAA records), and 1088 that those MX records be signed using DNSSEC. This is mentioned here 1089 only for completeness, as handling of inbound mail is out of scope 1090 for this document. 1092 12.4.2. SRV records 1094 MSPs SHOULD advertise SRV records to aid MUAs in determination of 1095 proper configuration of servers, per the instructions in [RFC6186]. 1097 MSPs SHOULD advertise servers that support Implicit TLS in preference 1098 to those which support cleartext and/or STARTTLS operation. 1100 12.4.3. DNSSEC 1102 All DNS records advertised by an MSP as a means of aiding clients in 1103 communicating with the MSP's servers, SHOULD be signed using DNSSEC. 1105 12.4.4. TLSA records 1107 MSPs SHOULD advertise TLSA records to provide an additional trust 1108 anchor for public keys used in TLS server certificates. However, 1109 TLSA records MUST NOT be advertised unless they are signed using 1110 DNSSEC. 1112 12.5. MSP Server Monitoring 1114 MSPs SHOULD regularly and frequently monitor their various servers to 1115 make sure that: TLS server certificates remain valid and are not 1116 about to expire, TLSA records match the public keys advertised in 1117 server certificates, are signed using DNSSEC, server configurations 1118 are consistent with SRV advertisements, and DNSSEC signatures are 1119 valid and verifiable. Failure to detect expired certificates and DNS 1120 configuration errors in a timely fashion can result in significant 1121 loss of service for an MSP's users and a significant support burden 1122 for the MSP. 1124 12.6. Advertisement of STS policies 1126 MSPs SHOULD advertise STS policies that include at least tls11, tls- 1127 cert and sts-url, with the latter having an associated https URL that 1128 can be used to inform clients of service outages or problems 1129 impacting client confidentiality. Note that advertising tls-cert is 1130 a commitment to maintain and renew server certificates. A MSP MAY 1131 also specifically indicate a commitment to support PKIX validation, 1132 DANE validation, or both, using tls-cert=pkix, tls-cert=dane, or tls- 1133 cert=pkix+dane, respectively. 1135 12.7. Require TLS 1137 New servers and services SHOULD be configured to require TLS unless 1138 it's necessary to support legacy clients or existing client 1139 configurations. 1141 12.8. Changes to Internet Facing Servers 1143 When an MSP changes the Internet Facing Servers providing mail access 1144 and mail submission services, including SMTP-based spam/virus 1145 filters, it is generally necessary to support the same and/or a newer 1146 version of TLS and the same security directives that were previously 1147 advertised. 1149 13. IANA Considerations 1151 13.1. Security Directive Registry 1153 IANA shall create (has created) the registry "STS Security 1154 Directives". This registry is a single table and will use an expert 1155 review process [RFC5226]. Each registration will contain the 1156 following fields: 1158 Name: The name of the security directive. This follows the 1159 directive-name ABNF. 1161 Value: The permitted values of the security directive. This should 1162 also explain if the value is optional or mandatory and what to do 1163 if the value is not recognized. 1165 Description: This describes the meaning of the security directive 1166 and the conditions under which the directive is saved. 1168 Scope: The protocols to which this security directive applies. 1169 Presently this may be MSTS (for MUA STS), HSTS (for HTTP STS), or 1170 ALL. 1172 Intended Usage: One of COMMON, LIMITED USE or OBSOLETE. 1174 Reference: Optional reference to specification. 1176 Submitter: The identify of the submitter or submitters. 1178 Change Controller: The identity of the change controller for the 1179 registration. This will be "IESG" in case of registrations in 1180 IETF-produced documents. 1182 The expert reviewer will verify the directive name follows the ABNF, 1183 and that the value and description fields are clear, unambiguous, do 1184 not overlap existing deployed technology, do not create security 1185 problems and appropriately considers interoperability issues. Email 1186 security directives intended for LIMITED USE have a lower review bar 1187 (interoperability and overlap issues are less of a concern). The 1188 reviewer may approve a registration, reject for a stated reason or 1189 recommend the proposal have standards track review due to importance 1190 or difficult subtleties. 1192 Standards-track registrations may be updated if the relevant 1193 standards are updated as a consequence of that action. Non- 1194 standards-track entries may be updated by the listed change 1195 controller. The entry's name and submitter may not be changed. In 1196 exceptional cases, any aspect of any registered entity may be updated 1197 at the direction of the IESG (for example, to correct a conflict). 1199 13.2. Initial Set of Security Directives 1201 This document defines three initial security directives for the 1202 registry as follows, and registers the two additional directives 1203 specified in [RFC6797]. 1205 Name: tls-version 1207 Value: Mandatory; 1.1 refers to [RFC4346] or later and 1.2 refers to 1208 [RFC5246] or later. Future versions may be added; this is ignored 1209 if the version is unrecognized. 1211 Description: This directive indicates that the TLS version 1212 negotiated must be the specified version or later. In the event 1213 this directive is saved and only an older TLS version is 1214 available, that results in STS policy failure. 1216 Scope: MUA only 1218 Intended Usage: COMMON 1219 Reference: RFC XXXX (this document once published) 1221 Submitter: Authors of this document 1223 Change Controller: IESG 1225 Name: tls-cert 1227 Value: Optional; pkix refers to PKIX certificate validation; dane 1228 refers to DANE certificate validation; pkix+dane refers to use of 1229 both PKIX and DANE validation; any refers to any validation method 1230 the client considers acceptable. If no value is supplied, "any" 1231 is assumed. 1233 Description: This directive indicates that TLS was successfully 1234 negotiated and the server certificate was successfully verified by 1235 the client [RFC5280] and the server certificate identity was 1236 verified using the algorithm appropriate for the protocol (see 1237 Section 4). This directive is saved if the client sees this in 1238 the advertised server STS policy after successfully negotiating 1239 TLS and verifying the certificate and server identity using a 1240 means consistent with the associated (or implied) value. Note 1241 that an advertisement of either tls-cert=pkix or tls- 1242 cert=pkix+dane in a server's STS policy indicates that the server 1243 commits to using certificates that are verifiable using PKIX in 1244 the future, but tls-cert=pkix implies no commitment regarding DANE 1245 support. Similarly, an advertisement of either tls-cert=dane or 1246 tls-cert=pkix+dane indicates that the server commits to using 1247 certificates that are verifiable using DANE in the future, but 1248 tls-cert=dane implies no commitment regarding PKIX support. An 1249 advertisement of tls-cert or tls-cert=any indicates only that the 1250 server will continue to provide valid server certificates, but 1251 makes no commitment about the means of verifiability. (For the 1252 HSTS protocol, the presence of a Strict-Transport-Security 1253 response header serves as an indication that the certificate 1254 should be valid, so the tls-cert directive is never specified in 1255 that protocol.) 1257 Scope: MUA only 1259 Intended Usage: COMMON 1261 Reference: RFC XXXX (this document once published) 1263 Submitter: Authors of this document 1265 Change Controller: IESG 1266 Name: sts-url 1268 Value: Mandatory for server-policy, optional for client reporting. 1269 The value is an https URL. 1271 Description: This directive indicates that the client SHOULD resolve 1272 (with appropriate certificate validation) and display the URL in 1273 the event of a policy failure. 1275 Scope: MUA only 1277 Intended Usage: COMMON 1279 Reference: RFC XXXX (this document once published) 1281 Submitter: Authors of this document 1283 Change Controller: IESG 1285 Name: max-age 1287 Value: see [RFC6797]. 1289 Description: see [RFC6797]. 1291 Scope: HSTS only 1293 Intended Usage: COMMON 1295 Reference: [RFC6797] 1297 Submitter: Authors of this document 1299 Change Controller: IESG 1301 Name: includeSubDomains 1303 Value: None 1305 Description: see [RFC6797]. 1307 Scope: HSTS only 1309 Intended Usage: COMMON 1311 Reference: [RFC6797] 1313 Submitter: Authors of this document 1314 Change Controller: IESG 1316 13.3. POP3S Port Registration Update 1318 IANA is asked to update the registration of the TCP well-known port 1319 995 using the following template ([RFC6335]): 1321 Service Name: pop3s 1322 Transport Protocol: TCP 1323 Assignee: IETF 1324 Contact: IESG 1325 Description: POP3 over TLS protocol 1326 Reference: RFC XXXX (this document once published) 1327 Port Number: 995 1329 13.4. IMAPS Port Registration Update 1331 IANA is asked to update the registration of the TCP well-known port 1332 993 using the following template ([RFC6335]): 1334 Service Name: imaps 1335 Transport Protocol: TCP 1336 Assignee: IETF 1337 Contact: IESG 1338 Description: IMAP over TLS protocol 1339 Reference: RFC XXXX (this document once published) 1340 Port Number: 993 1342 13.5. Submissions Port Registration 1344 IANA is asked to assign an alternate usage of port 465 in addition to 1345 the current assignment using the following template ([RFC6335]): 1347 Service Name: submissions 1348 Transport Protocol: TCP 1349 Assignee: IETF 1350 Contact: IESG 1351 Description: Message Submission over TLS protocol 1352 Reference: RFC XXXX (this document once published) 1353 Port Number: 465 1355 This is a one time procedural exception to the rules in RFC 6335. 1356 This requires explicit IESG approval and does not set a precedent. 1357 Historically, port 465 was briefly registered as the "smtps" port. 1358 This registration made no sense as the SMTP transport MX 1359 infrastructure has no way to specify a port so port 25 is always 1360 used. As a result, the registration was revoked and was subsequently 1361 reassigned to a different service. In hindsight, the "smtps" 1362 registration should have been renamed or reserved rather than 1363 revoked. Unfortunately, some widely deployed mail software 1364 interpreted "smtps" as "submissions" [RFC6409] and used that port for 1365 email submission by default when an end-user requests security during 1366 account setup. If a new port is assigned for the submissions 1367 service, email software will either continue with unregistered use of 1368 port 465 (leaving the port registry inaccurate relative to de-facto 1369 practice and wasting a well-known port), or confusion between the de- 1370 facto and registered ports will cause harmful interoperability 1371 problems that will deter use of TLS for message submission. The 1372 authors believe both of these outcomes are less desirable than a wart 1373 in the registry documenting real-world usage of a port for two 1374 purposes. Although STARTTLS-on-port-587 has deployed, it has not 1375 replaced deployed use of implicit TLS submission on port 465. 1377 13.6. STS IMAP Capability 1379 This document adds the STS capability to the IMAP capabilities 1380 registry. This is described in Section 9.1. 1382 13.7. STS POP3 Capability 1384 This document adds the STS capability to the POP3 capabilities 1385 registry. 1387 CAPA Tag: STS 1389 Arguments: sts-policy 1391 Added Commands: none 1393 Standard Commands affected: none 1395 Announced status / possible differences: both / may change after 1396 STLS 1398 Commands Valid in States: N/A 1400 Specification Reference: This document 1402 Discussion: See Section 9.2. 1404 13.8. MSTS SMTP EHLO Keyword 1406 This document adds the MSTS EHLO Keyword to the SMTP Service 1407 Extension registry. This is described in Section 9.3. 1409 13.9. MAIL Parameters Additional-registered-clauses Sub-Registry 1411 This document adds the following entry to the "Additional-registered- 1412 clauses" sub-registry of the "MAIL Parameters" registry, created by 1413 [RFC5321]: 1415 Clause Name: tls 1417 Description: Indicates the TLS cipher suite used for a transport 1418 connection. 1420 Syntax Summary: See tls-cipher ABNF Section 8 1422 Reference: This document. 1424 14. Security Considerations 1426 This entire document is about security considerations. In general, 1427 this is targeted to improve mail confidentiality and to mitigate 1428 threats external to the email system such as network-level snooping 1429 or interception; this is not intended to mitigate active attackers 1430 who have compromised service provider systems. 1432 It could be argued that sharing the name and version of the client 1433 software with the server has privacy implications. Although 1434 providing this information is not required, it is encouraged so that 1435 mail service providers can more effectively inform end-users running 1436 old clients that they need to upgrade to protect their security, or 1437 know which clients to use in a test deployment prior to upgrading a 1438 server to have higher security requirements. 1440 15. References 1442 15.1. Normative References 1444 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 1445 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 1446 . 1448 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1449 Requirement Levels", BCP 14, RFC 2119, 1450 DOI 10.17487/RFC2119, March 1997, 1451 . 1453 [RFC2449] Gellens, R., Newman, C., and L. Lundblade, "POP3 Extension 1454 Mechanism", RFC 2449, DOI 10.17487/RFC2449, November 1998, 1455 . 1457 [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, 1458 DOI 10.17487/RFC2818, May 2000, 1459 . 1461 [RFC2971] Showalter, T., "IMAP4 ID extension", RFC 2971, 1462 DOI 10.17487/RFC2971, October 2000, 1463 . 1465 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 1466 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 1467 February 2002, . 1469 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 1470 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 1471 . 1473 [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol 1474 (POP3) Simple Authentication and Security Layer (SASL) 1475 Authentication Mechanism", RFC 5034, DOI 10.17487/RFC5034, 1476 July 2007, . 1478 [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T. 1479 Finch, "Email Submission Operations: Access and 1480 Accountability Requirements", BCP 134, RFC 5068, 1481 DOI 10.17487/RFC5068, November 2007, 1482 . 1484 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 1485 Specifications: ABNF", STD 68, RFC 5234, 1486 DOI 10.17487/RFC5234, January 2008, 1487 . 1489 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1490 (TLS) Protocol Version 1.2", RFC 5246, 1491 DOI 10.17487/RFC5246, August 2008, 1492 . 1494 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1495 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 1496 DOI 10.17487/RFC5226, May 2008, 1497 . 1499 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 1500 Housley, R., and W. Polk, "Internet X.509 Public Key 1501 Infrastructure Certificate and Certificate Revocation List 1502 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 1503 . 1505 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 1506 DOI 10.17487/RFC5321, October 2008, 1507 . 1509 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 1510 DOI 10.17487/RFC5322, October 2008, 1511 . 1513 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email 1514 Submission/Access Services", RFC 6186, 1515 DOI 10.17487/RFC6186, March 2011, 1516 . 1518 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 1519 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 1520 . 1522 [RFC6797] Hodges, J., Jackson, C., and A. Barth, "HTTP Strict 1523 Transport Security (HSTS)", RFC 6797, 1524 DOI 10.17487/RFC6797, November 2012, 1525 . 1527 [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer 1528 Protocol (HTTP/1.1): Message Syntax and Routing", 1529 RFC 7230, DOI 10.17487/RFC7230, June 2014, 1530 . 1532 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 1533 "Recommendations for Secure Use of Transport Layer 1534 Security (TLS) and Datagram Transport Layer Security 1535 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 1536 2015, . 1538 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via 1539 Opportunistic DNS-Based Authentication of Named Entities 1540 (DANE) Transport Layer Security (TLS)", RFC 7672, 1541 DOI 10.17487/RFC7672, October 2015, 1542 . 1544 [RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) 1545 Server Identity Check Procedure for Email-Related 1546 Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, 1547 . 1549 15.2. Informative References 1551 [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", 1552 RFC 2595, DOI 10.17487/RFC2595, June 1999, 1553 . 1555 [RFC2979] Freed, N., "Behavior of and Requirements for Internet 1556 Firewalls", RFC 2979, DOI 10.17487/RFC2979, October 2000, 1557 . 1559 [RFC3848] Newman, C., "ESMTP and LMTP Transmission Types 1560 Registration", RFC 3848, DOI 10.17487/RFC3848, July 2004, 1561 . 1563 [RFC3887] Hansen, T., "Message Tracking Query Protocol", RFC 3887, 1564 DOI 10.17487/RFC3887, September 2004, 1565 . 1567 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security 1568 (TLS) Protocol Version 1.1", RFC 4346, 1569 DOI 10.17487/RFC4346, April 2006, 1570 . 1572 [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple 1573 Authentication and Security Layer (SASL)", RFC 4422, 1574 DOI 10.17487/RFC4422, June 2006, 1575 . 1577 [RFC4954] Siemborski, R., Ed. and A. Melnikov, Ed., "SMTP Service 1578 Extension for Authentication", RFC 4954, 1579 DOI 10.17487/RFC4954, July 2007, 1580 . 1582 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, 1583 DOI 10.17487/RFC5598, July 2009, 1584 . 1586 [RFC5804] Melnikov, A., Ed. and T. Martin, "A Protocol for Remotely 1587 Managing Sieve Scripts", RFC 5804, DOI 10.17487/RFC5804, 1588 July 2010, . 1590 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) 1591 Extensions: Extension Definitions", RFC 6066, 1592 DOI 10.17487/RFC6066, January 2011, 1593 . 1595 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 1596 Verification of Domain-Based Application Service Identity 1597 within Internet Public Key Infrastructure Using X.509 1598 (PKIX) Certificates in the Context of Transport Layer 1599 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 1600 2011, . 1602 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 1603 Cheshire, "Internet Assigned Numbers Authority (IANA) 1604 Procedures for the Management of the Service Name and 1605 Transport Protocol Port Number Registry", BCP 165, 1606 RFC 6335, DOI 10.17487/RFC6335, August 2011, 1607 . 1609 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 1610 of Named Entities (DANE) Transport Layer Security (TLS) 1611 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 1612 2012, . 1614 Appendix A. Design Considerations 1616 This section is not normative. 1618 The first version of this was written independently from draft-moore- 1619 email-tls-00.txt; subsequent versions merge ideas from both drafts. 1621 One author of this document was also the author of RFC 2595 that 1622 became the standard for TLS usage with POP and IMAP, and the other 1623 author was perhaps the first to propose that idea. In hindsight both 1624 authors now believe that that approach was a mistake. At this point 1625 the authors believe that while anything that makes it easier to 1626 deploy TLS is good, the desirable end state is that these protocols 1627 always use TLS, leaving no need for a separate port for cleartext 1628 operation except to support legacy clients while they continue to be 1629 used. The separate port model for TLS is inherently simpler to 1630 implement, debug and deploy. It also enables a "generic TLS load- 1631 balancer" that accepts secure client connections for arbitrary foo- 1632 over-TLS protocols and forwards them to a server that may or may not 1633 support TLS. Such load-balancers cause many problems because they 1634 violate the end-to-end principle and the server loses the ability to 1635 log security-relevant information about the client unless the 1636 protocol is designed to forward that information (as this 1637 specification does for the cipher suite). However, they can result 1638 in TLS deployment where it would not otherwise happen which is a 1639 sufficiently important goal that it overrides the problems. 1641 Although STARTTLS appears only slightly more complex than separate- 1642 port TLS, we again learned the lesson that complexity is the enemy of 1643 security in the form of the STARTTLS command injection vulnerability 1644 (CERT vulnerability ID #555316). Although there's nothing inherently 1645 wrong with STARTTLS, the fact it resulted in a common implementation 1646 error (made independently by multiple implementers) suggests it is a 1647 less secure architecture than Implicit TLS. 1649 Section 7 of RFC 2595 critiques the separate-port approach to TLS. 1650 The first bullet was a correct critique. There are proposals in the 1651 http community to address that, and use of SRV records as described 1652 in RFC 6186 resolves that critique for email. The second bullet is 1653 correct as well, but not very important because useful deployment of 1654 security layers other than TLS in email is small enough to be 1655 effectively irrelevant. The third bullet is incorrect because it 1656 misses the desirable option of "use and latch-on TLS if available". 1657 The fourth bullet may be correct, but is not a problem yet with 1658 current port consumption rates. The fundamental error was 1659 prioritizing a perceived better design based on a mostly valid 1660 critique over real-world deployability. But getting security and 1661 confidentiality facilities actually deployed is so important it 1662 should trump design purity considerations. 1664 Port 465 is presently used for two purposes: for submissions by a 1665 large number of clients and service providers and for the "urd" 1666 protocol by one vendor. Actually documenting this current state is 1667 controversial as discussed in the IANA considerations section. 1668 However, there is no good alternative. Registering a new port for 1669 submissions when port 465 is widely used for that purpose already 1670 will just create interoperability problems. Registering a port 1671 that's only used if advertised by an SRV record (RFC 6186) would not 1672 create interoperability problems but would require all client and 1673 server deployments and software to change significantly which is 1674 contrary to the goal of promoting more TLS use. Encouraging use of 1675 STARTTLS on port 587 would not create interoperability problems, but 1676 is unlikely to have impact on current undocumented use of port 465 1677 and makes the guidance in this document less consistent. The 1678 remaining option is to document the current state of the world and 1679 support future use of port 465 for submission as this increases 1680 consistency and ease-of-deployment for TLS email submission. 1682 Appendix B. Change Log 1684 Changes since draft-ietf-uta-email-deep-05: 1686 o Clarify throughout that the confidentiality assurance level 1687 associated with a mail account is a minimum level; attempt to 1688 distinguish this from the current confidentiality level provided 1689 by a connection between client and server. 1691 o Change naming for confidentiality assurance levels: instead of 1692 "high" or "no" confidence, assign numbers 1 and 0 to them 1693 respectively. This because it seems likely that in the not-too- 1694 distant future, what was defined in -05 as "high" confidence will 1695 be considered insufficient, and calling that "high" confidence 1696 will become misleading. For example, relying entirely on a list 1697 of trusted CAs to validate server certificates from arbitrary 1698 parties, appears to be less and less reliable in practice at 1699 thwarting MITM attacks. 1701 o Clarify that if some services associated with a mail account don't 1702 meet the minimium confidentiality assurance level assigned to that 1703 account, other services that do meet that minimum confidentiality 1704 assurance level may continue to be used. 1706 o Clarify that successful negotiation of at least TLS version 1.1 is 1707 required as a condition of meeting confidentiality assurance level 1708 1. 1710 o Clarify that validation of a server certificate using either DANE 1711 or PKIX is sufficient to meet the certificate validation 1712 requirement of confidentiality assurance level 1. 1714 o Clarify that minimum confidentiality assurance levels are separate 1715 from security directives, and that the requrements of both 1716 mechanisms must be met. 1718 o Explicitly cite an example that a security directive of tls- 1719 version=1.2 won't be saved if the currently negotiated tls-version 1720 is 1.1. (This example already appeared a bit later in the text, 1721 but for author KM it seemed to make the mechanism clearer to use 1722 this example earlier.) 1724 o Clarify some protocol examples as to whether PKIX or DANE was used 1725 to verify a server's certificate. 1727 o Remove most references to DEEP as the conversion from DEEP to MUA- 1728 STS seemed incomplete, but kept the DEEP command for use in POP3 1729 on the assumption that author CN wanted it that way. 1731 o Removed most references to "latch" and derivative words. 1733 o Added pkix+dane as a value for the tls-cert directive, to indicate 1734 (from a server) that both PKIX and DANE validation will be 1735 supported, or (from a client) that both PKIX and DANE were used to 1736 validate a certificate. Also clarified what each of any, pkix, 1737 dane, and pkix+dane mean when advertised by a server and in 1738 particular that tls-cert=any provides no assurance of future PKIX 1739 verifiability in contrast to tls-cert=pkix or tls-cert=pkix+dane. 1740 It seemed important to support the ability to evolve to using 1741 multiple trust anchors for certificate validation, but also to 1742 allow servers to have the option to migrate from PKIX to DANE if 1743 that made sense for them. This change seemed less disruptive than 1744 either defining additional directives, or allowing multiple 1745 instances of the same directive with different values to appear in 1746 the same advertisement. 1748 o Clarify interaction of this specification with anti-virus / anti- 1749 spam mechanisms. 1751 Changes since draft-ietf-uta-email-deep-04: 1753 o Swap sections 5.1 and 5.3 ("Email Security Tags" and "Server DEEP 1754 Status") as that order may aid understanding of the model. Also 1755 rewrote parts of these two sections to try to make the model 1756 clearer. 1758 o Add text about versioning of security tags to make the model 1759 clearer. 1761 o Add example of security tag upgrade. 1763 o Convert remaining mention of TLS 1.0 to TLS 1.1. 1765 o Change document title from DEEP to MUA STS to align with SMTP 1766 relay STS. 1768 * Slight updates to abstract and introductions. 1770 * Rename security latches/tags to security directives. 1772 * Rename server DEEP status to STS policy. 1774 * Change syntax to use directive-style HSTS syntax. 1776 o Make HSTS reference normative. 1778 o Remove SMTP DSN header as that belongs in SMTP relay STS document. 1780 Changes since draft-ietf-uta-email-deep-03: 1782 o Add more references to ietf-uta-email-tls-certs in implementation 1783 requirements section. 1785 o Replace primary reference to RFC 6125 with ietf-uta-email-tls- 1786 certs, so move RFC 6125 to informative list for this 1787 specification. 1789 Changes since draft-ietf-uta-email-deep-02: 1791 o Make reference to design considerations explicit rather than 1792 "elsewhere in this document". 1794 o Change provider requirement so SMTP submission services are 1795 separate from SMTP MTA services as opposed to the previous 1796 phrasing that required the servers be separate (which is too 1797 restrictive). 1799 o Update DANE SMTP reference 1801 Changes since draft-ietf-uta-email-deep-01: 1803 o Change text in tls11 and tls12 registrations to clarify 1804 certificate rules, including additional PKIX and DANE references. 1806 o Change from tls10 to tls11 (including reference) as the minimum. 1808 o Fix typo in example 5. 1810 o Remove open issues section; enough time has passed so not worth 1811 waiting for more input. 1813 Changes since draft-ietf-uta-email-deep-00: 1815 o Update and clarify abstract 1817 o use term confidentiality instead of privacy in most cases. 1819 o update open issues to request input for missing text. 1821 o move certificate pinning sub-section to account setup section and 1822 attempt to define it more precisely. 1824 o Add note about end-to-end encryption in AVAS section. 1826 o swap order of DNSSEC and TLSA sub-sections. 1828 o change meaning of 'tls10' and 'tls12' latches to require 1829 certificate validation. 1831 o Replace cipher suite advice with reference to RFC 7525. Change 1832 examples to use TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 as cipher 1833 suite. 1835 o Add text to update IMAP, POP3 and Message Submission standards 1836 with newer TLS advice. 1838 o Add clearer text in introduction that this does not cover SMTP 1839 relay. 1841 o Update references to uta-tls-certs. 1843 o Add paragraph to Implicit TLS for SMTP Submission section 1844 recommending that STARTTLS also be implemented. 1846 Changes since draft-newman-email-deep-02: 1848 o Changed "privacy assurance" to "confidentiality assurance" 1850 o Changed "low privacy assurance" to "no confidentiality assurance" 1852 o Attempt to improve definition of confidentiality assurance level. 1854 o Add SHOULD indicate when MUA is showing list of mail accounts. 1856 o Add SHOULD NOT latch tls10, tls12 tags until TLS negotiated. 1858 o Removed sentence about deleting and re-creating the account in 1859 latch failure section. 1861 o Remove use of word "fallback" with respect to TLS version 1862 negotiation. 1864 o Added bullet about changes to Internet facing servers to MSP 1865 section. 1867 o minor wording improvements based on feedback 1869 Changes since -01: 1871 o Updated abstract, introduction and document structure to focus 1872 more on mail user agent privacy assurance. 1874 o Added email account privacy section, also moving section on 1875 account setup using SRV records to that section. 1877 o Finished writing IANA considerations section 1878 o Remove provisional concept and instead have server explicitly list 1879 security tags clients should latch. 1881 o Added note that rules for the submissions port follow the same 1882 rules as those for the submit port. 1884 o Reference and update advice in [RFC5068]. 1886 o Fixed typo in Client Certificate Authentication section. 1888 o Removed tls-pfs security latch and all mention of perfect forward 1889 secrecy as it was controversial. 1891 o Added reference to HSTS. 1893 Changes since -00: 1895 o Rewrote introduction to merge ideas from draft-moore-email-tls-00. 1897 o Added Implicit TLS section, Account configuration section and IANA 1898 port registration updates based on draft-moore-email-tls-00. 1900 o Add protocol details necessary to standardize implicit TLS for 1901 POP/IMAP/submission, using ideas from draft-melnikov-pop3-over- 1902 tls. 1904 o Reduce initial set of security tags based on feedback. 1906 o Add deep status concept to allow a window for software updates to 1907 be backed out before latches make that problematic, as well as to 1908 provide service providers with a mechanism they can use to assist 1909 customers in the event of a privacy failure. 1911 o Add DNS SRV section from draft-moore-email-tls-00. 1913 o Write most of the missing IANA considerations section. 1915 o Rewrite most of implementation requirements section based more on 1916 draft-moore-email-tls-00. Remove new cipher requirements for now 1917 because those may be dealt with elsewhere. 1919 Appendix C. Acknowledgements 1921 Thanks to Ned Freed for discussion of the initial latch concepts in 1922 this document. Thanks to Alexey Melnikov for draft-melnikov-pop3- 1923 over-tls-02, which was the basis of the POP3 implicit TLS text. 1924 Thanks to Russ Housley, Alexey Melnikov and Dan Newman for review 1925 feedback. Thanks to Paul Hoffman for interesting feedback in initial 1926 conversations about this idea. 1928 Authors' Addresses 1930 Keith Moore 1931 Network Heretics 1932 PO Box 1934 1933 Knoxville, TN 37901 1934 US 1936 Email: moore@network-heretics.com 1938 Chris Newman 1939 Oracle 1940 440 E. Huntington Dr., Suite 400 1941 Arcadia, CA 91006 1942 US 1944 Email: chris.newman@oracle.com