Network Working Group K. Moore Internet-Draft Network Heretics Updates: 1939, 3464, 3501, 6186, 6409 (if approved) C. Newman Intended status: Standards Track Oracle Expires: August 18, 2014 February 14, 2014 Deployable Enhanced Email Privacy (DEEP) draft-newman-email-deep-01.txt Abstract This specification defines a set of requirements and facilities designed to improve email privacy. The focus of this proposal is to provide mechanisms intended to increase use of already deployed Transport Layer Security (TLS) technology and enable deployment and use of stronger cipher suites for email protocols. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 18, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. Moore & Newman Expires August 18, 2014 [Page 1] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Terminology Used in This Document . . . . . . 4 2.1. Mail Account Configuration . . . . . . . . . . . . . . . 4 3. Implicit TLS . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Implicit TLS for POP . . . . . . . . . . . . . . . . . . 5 3.2. Implicit TLS for IMAP . . . . . . . . . . . . . . . . . . 5 3.3. Implicit TLS for SMTP Submission . . . . . . . . . . . . 6 3.4. Implicit TLS Connection Closure for POP, IMAP and SMTP . 6 4. Email Security Upgrading Using Security Latches . . . . . . . 6 4.1. Email Security Tags . . . . . . . . . . . . . . . . . . . 7 4.2. Initial Set of Email Security Tags . . . . . . . . . . . 7 4.3. Server DEEP Status . . . . . . . . . . . . . . . . . . . 8 4.4. Email Security Tag Latch Failures . . . . . . . . . . . . 9 5. Recording TLS Cipher Suite in Received Header . . . . . . . . 9 6. Extensions for DEEP Status and Reporting . . . . . . . . . . 9 6.1. IMAP DEEP Extension . . . . . . . . . . . . . . . . . . . 10 6.2. POP DEEP Extension . . . . . . . . . . . . . . . . . . . 12 6.3. SMTP DEEP Extension . . . . . . . . . . . . . . . . . . . 12 6.4. SMTP Error Extension . . . . . . . . . . . . . . . . . . 14 7. Use of SRV records in Establishing Configuration . . . . . . 14 8. Implementation Requirements . . . . . . . . . . . . . . . . . 15 8.1. All Implementations (Client and Server) . . . . . . . . . 15 8.1.1. Client Certificate Authentication . . . . . . . . . . 16 8.2. Mail Server Implementation Requirements . . . . . . . . . 16 8.3. Mail User Agent Implementation Requirements . . . . . . . 16 8.4. Non-configurable MUAs and nonstandard access protocols . 18 8.5. DEEP Compliance for Anti-Virus/Anti-Spam Software and Services . . . . . . . . . . . . . . . . . . . . . . . . 18 9. Mail Service Provider Requirements . . . . . . . . . . . . . 18 9.1. Server Requirements . . . . . . . . . . . . . . . . . . . 18 9.2. MSPs MUST provide Submission Servers . . . . . . . . . . 18 9.3. TLS Server Certificate Requirements . . . . . . . . . . . 19 9.4. Recommended DNS records for mail protocol servers . . . . 19 9.4.1. MX records . . . . . . . . . . . . . . . . . . . . . 19 9.4.2. SRV records . . . . . . . . . . . . . . . . . . . . . 20 9.4.3. TLSA records . . . . . . . . . . . . . . . . . . . . 20 Moore & Newman Expires August 18, 2014 [Page 2] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 9.4.4. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 20 9.5. MSP Server Monitoring . . . . . . . . . . . . . . . . . . 20 9.6. Advertisement of provisional vs. normal mode . . . . . . 20 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 10.1. POP3S Port Registration Update . . . . . . . . . . . . . 21 10.2. IMAPS Port Registration Update . . . . . . . . . . . . . 21 10.3. Submissions Port Registration . . . . . . . . . . . . . 21 10.4. DEEP IMAP Capability . . . . . . . . . . . . . . . . . . 22 10.5. DEEP POP3 Capability . . . . . . . . . . . . . . . . . . 22 10.6. DEEP SMTP EHLO Keyword . . . . . . . . . . . . . . . . . 23 10.7. SMTP Enhanced Status Code . . . . . . . . . . . . . . . 23 10.8. MAIL Parameters Additional-registered-clauses Sub- Registry . . . . . . . . . . . . . . . . . . . . . . . . 23 11. Security Considerations . . . . . . . . . . . . . . . . . . . 23 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 12.1. Normative References . . . . . . . . . . . . . . . . . . 24 12.2. Informative References . . . . . . . . . . . . . . . . . 25 Appendix A. Design Considerations . . . . . . . . . . . . . . . 26 Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 27 Appendix C. DEEP Status Implementation Suggestion . . . . . . . 29 Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 29 Appendix E. Acknowledgements . . . . . . . . . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 1. Introduction Software that provides email service via Internet Message Access Protocol (IMAP) [RFC3501], Post Office Protocol (POP) [RFC1939] and/ or Simple Mail Transfer Protocol (SMTP) [RFC5321] usually has Transport Layer Security (TLS) [RFC5246] support but often does not use it in a way that maximizes end-user privacy. This specification proposes changes to email software and deployments intended to increase the use of TLS and record when that use occurs. In brief, this memo now recommends that: o TLS on a well-known port ("Implicit TLS") be supported for IMAP, POP, and SMTP Submission [RFC6409] for all electronic mail user agents (MUAs), servers, and service providers; o MUAs require use of TLS for all newly configured accounts unless the user has explicitly agreed to allow their mail traffic for that account to be insecure; o MUAs and mail protocol servers cooperate (via mechanisms defined in this specification) to upgrade security feature use and record that usage. Moore & Newman Expires August 18, 2014 [Page 3] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 Improved use of TLS with SMTP for message relaying is described in a separate document [I-D.ietf-dane-smtp-with-dane]. The recommendations in this memo do not replace the functionality of, and are not intended as a substitute for, end-to-end encryption of electronic mail. This is an early draft and is subject to change. Implementation of this proposal is not recommended at this time. 2. Conventions and Terminology Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. This specification expresses syntax using the Augmented Backus-Naur Form (ABNF) as described in [RFC5234], including the core rules in Appendix B and rules from [RFC5322]. In examples, "C:" and "S:" indicate lines sent by the client and server respectively. If a single "C:" or "S:" label applies to multiple lines, then the line breaks between those lines are for editorial clarity only and are not part of the actual protocol exchange. 2.1. Mail Account Configuration A mail user agent (MUA) connects to IMAP, POP and/or SMTP Submission servers to access email service on behalf of a user. Each of these services typically requires authentication to a specific "account" which is uniquely associated with a user who is authorized to utilize the service. Account configuration occurs when an MUA is first used to access a particular service, when a user wishes to access or submit mail through servers in addition to those specified or found during first use, or when a user explictly requests to change account configuration parameters such as server names, user names, passwords, client certificates, etc. Account configuration can be entirely manual (entering server names explicitly) or partially automated via a mechanism such as DNS SRV records [RFC6186]. Moore & Newman Expires August 18, 2014 [Page 4] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 3. Implicit TLS Previous standards for use of email protocols with TLS used the STARTTLS mechanism: [RFC2595], [RFC3207], and [RFC3501]. With STARTTLS, the client establishes a clear text application session and determines whether to issue a STARTTLS command based on server capabilities and client configuration. If the client issues a STARTTLS command, a TLS handshake follows that can upgrade the connection. While this mechanism has deployed, an alternate mechanism where TLS is negotiated immediately at connection start on a separate port (refered to in this document as "Implicit TLS") has deployed more successfully. To increase use of TLS, this specification recommends use of implicit TLS by new POP, IMAP and SMTP Submission software. 3.1. Implicit TLS for POP When a TCP connection is established for the "pop3s" service (default port 995), a TLS handshake begins immediately. Clients MUST implement the certificate validation mechanism described in [I-D.melnikov-email-tls-certs]. Once the TLS session is established, POP3 [RFC1939] protocol messages are exchanged as TLS application data for the remainder of the TCP connection. After the server sends a +OK greeting, the server and client MUST enter AUTHORIZATION state, even if client credentials were supplied during the TLS handshake. See Section 8.1.1 for additional information on client certificate authentication. See Section 10.1 for port registration information. 3.2. Implicit TLS for IMAP When a TCP connection is established for the "imaps" service (default port 993), a TLS handshake begins immediately. Clients MUST implement the certificate validation mechanism described in [RFC3501] and SHOULD implement the certificate validation mechanism described in [I-D.melnikov-email-tls-certs]. Once the TLS session is established, IMAP [RFC3501] protocol messages are exchanged as TLS application data for the remainder of the TCP connection. If client credentials were provided during the TLS handshake that the server finds acceptable, the server MAY issue a PREAUTH greeting in which case both the server and client enter AUTHENTICATED state. If the server issues an OK greeting then both server and client enter NOT AUTHENTICATED state. See Section 8.1.1 for additional information on client certificate authentication. See Section 10.2 for port registration information. Moore & Newman Expires August 18, 2014 [Page 5] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 3.3. Implicit TLS for SMTP Submission When a TCP connection is established for the "submissions" service (default port 465), a TLS handshake begins immediately. Clients MUST implement the certificate validation mechanism described in [I-D.melnikov-email-tls-certs]. Once a TLS session is established, message submission protocol data [RFC6409] is exchanged as TLS application data for the remainder of the TCP connection. (Note: the "submissions" service name is defined in section 10.3 of this document, and follows the usual convention that the name of a service layered on top of Implicit TLS consists of the name of the service as used without TLS, with an "s" appended.) See Section 8.1.1 for additional information on client certificate authentication. See Section 10.3 for port registration information. 3.4. Implicit TLS Connection Closure for POP, IMAP and SMTP When a client or server wishes to close the connection, it SHOULD initiate the exchange of TLS close alerts before TCP connection termination. The client MAY, after sending a TLS close alert, gracefully close the TCP connection without waiting for a TLS response from the server. 4. Email Security Upgrading Using Security Latches Once an improved email security or privacy mechanism is deployed and ready for general use, it is desirable to continue using it for all future email service. For example, TLS is widely deployed in email software, but use of TLS is often not required. Currently deployed mail user agents (MUAs) [RFC5598] usually make a determination if TLS is available when an account is first configured and may require use of TLS with that account if and only if it was initially available. If the service provider makes TLS available after initial client configuration, many MUAs will not notice the change. Alternatively, a security feature may be purely opportunisitic and thus subject to downgrade attacks. For example, if the TLS client offers to use a cipher suite with perfect-forward-secrecy and the TLS server selects that cipher, a higher level of privacy is achieved for that one connection, but an active attack could cause the loss of that property without the client or user being aware of the privacy loss. This section describes a mechanism, known as "security latches", which is designed to permit an MUA to recognize when a server has committed to upgrade its security features, and that it's safe for the client to change its configuration for that account to require Moore & Newman Expires August 18, 2014 [Page 6] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 that such features be present in future sessions with that server. The purpose in making it explicit when a client can expect new security features to be maintained by a server, is to permit security to be upgraded over time while also minimizing the potential for false positive reports of a downgrade attack due to temporary or "provisional" use of new features on a server. 4.1. Email Security Tags Each security latch is given a name known as an email security tag. An email security tag is a short alphanumeric token that represents a security facility that was used by an IMAP, POP or SMTP Submission session. Clients SHOULD provide the ability to determine whether a particular server supports named security facilities (based on successful negotiation and use of those features in a session with that server). If the server advertises those security facilities as "normal" and not "provisional", such clients SHOULD associate the appropriate security tags with a server's host identifier (prior to DNS lookup) and save that information persistently with account configuration. The client SHOULD then require that the security facilities indicated by the stored security tags be required for subsequent connections between that client and that server. When a security tag is stored in this way, it is said to be "latched" and will convert an active downgrade attack attempting to violate privacy into a denial-of-service attack. For this privacy protection to work as desired clients MUST NOT offer a "click ok to proceed" dialog when unable to achieve connection security matching the latched security tags. An identifier for a security tag has the following formal syntax: security-tag = ALPHA *63(ALPHA / DIGIT / "-" / "_") 4.2. Initial Set of Email Security Tags This section describes an initial set of email security tags. The IANA Considerations Section 10 defines a registry so that more tags can be defined in the future. tls10 This security tag indicates that TLS version 1.0 [RFC2246] or later was negotiated successfully including negotiation of a strong encryption layer with a symmetric key of at least 128 bits. This tag does not indicate that the server certificate was valid. Moore & Newman Expires August 18, 2014 [Page 7] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 tls12 This security tag indicates that TLS version 1.2 [RFC5246] or later was negotiated successfully including negotiation of a strong encryption layer with a symmetric key of at least 128 bits. This tag does not indicate that the server certificate was valid. tls-cert This security tag indicates that TLS was successfully negotiated and the server certificate was successfully verified by the client using the verification algorithm appropriate for the protocol (see Section 3). tls-dane-tlsa This security latch indicates the TLS server certificate was verified using the procedures described in "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA" [RFC6698]. tls-pfs This security latch indicates that a TLS cipher suite was negotiated that included the "perfect forward secrecy" property. In general, TLS IANA registered cipher suites beginning with TLS_DHE_ or TLS_ECDHE_ have this property. 4.3. Server DEEP Status In order to mitigate false positive reports of a security or privacy reduction, servers SHOULD advertise a DEEP status. This indicates the server is in either "provisional" or "normal" state, and can provide an https Uniform Resource Locator (URL) [RFC2818] that the client can save and subsequently resolve for the user in the event of a security downgrade. DEEP status has the following formal syntax: deep-status = ("P" / "N") [";" https-URI] https-URI = The syntax for a Uniform Resource Identifier (URI) is defined in [RFC3986]. Protocol extensions to advertise DEEP status are defined in Section 6. If the client successfully negotiates TLS and authenticates the server (e.g., via tls-cert, tls-dane-tlsa or SCRAM-SHA1-PLUS with channel bindings [RFC5802]), then the client SHOULD record the server's DEEP status information with the account configuration. Otherwise, the client SHOULD ignore the server-provided DEEP status. If the recorded status is provisional ("P"), the client SHOULD NOT latch any new security tags. This can avoid false positives if the server operator has to back-out a recent upgrade. Moore & Newman Expires August 18, 2014 [Page 8] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 4.4. Email Security Tag Latch Failures When a security tag latch has been set for connections from a client to a server and the property identified by that tag is no longer available, this results in a connection failure. An MUA SHOULD inform the user of a potential threat to their privacy and offer to resolve a previously-recorded DEEP status https URL if one is available. An MUA might suggest deleting the account and re-creating it as a cumbersome mechanism to reset the latches. MUAs are discouraged from offering a lightweight option to reset or ignore latches as this defeats the privacy benefit they provide to end users. 5. Recording TLS Cipher Suite in Received Header The ESMTPS transmission type [RFC3848] provides trace information that can indicate TLS was used when transferring mail. However, TLS usage by itself is not a guarantee of privacy or security. The TLS cipher suite provides additional information about the level of privacy or security made available for a connection. This defines a new SMTP "tls" Received header additional-registered-clause that is used to record the TLS cipher suite that was negotiated for the connection. The value included in this additional clause SHOULD be the registered cipher suite name (e.g., TLS_DHE_RSA_WITH_AES_128_CBC_SHA) included in the TLS cipher suite registry. In the event the implementation does not know the name of the cipher suite (a situation that should be remedied promptly), a four-digit hexadecimal cipher suite identifier MAY be used. The ABNF for the field follows: tls-cipher-clause = CFWS "tls" FWS tls-cipher tls-cipher = tls-cipher-suite-name / tls-cipher-suite-hex tls-cipher-name = ALPHA *(ALPHA / DIGIT / "_") ; as registered in IANA cipher suite registry tls-cipher-hex = "0x" 4HEXDIG 6. Extensions for DEEP Status and Reporting This memo defines optional mechanisms for use by MUAs to communicate DEEP status to servers. One purpose of such mechanisms is to permit servers to determine which and how many clients have latched security facilities, and thus, to permit operators to be aware of potential impact to their users should support for such facilities be changed. For IMAP, the existing ID command is extended to provide this Moore & Newman Expires August 18, 2014 [Page 9] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 capability. For SMTP Submission, a new CLIENT command is defined. (No similar mechanism is defined for POP in this version of the memo, but one may be added in the future.) In addition, for each of IMAP, POP, and SMTP, a new DEEP capability is defined which permits a client to learn whether security features supported by the server are "normal" (can be expected to be provided in the future) or merely "provisional", and also to discover a web page where server status information may be obtained. The latter feature is intended to reduce the support burden for operators by permitting users to better determine the reason for connection failures. 6.1. IMAP DEEP Extension When an IMAP server advertises the DEEP capability, that indicates the IMAP server implements IMAP4 ID [RFC2971] with additional field values defined here. This is grouped with the ID command because that is the existing IMAP mechanism for clients to report data for server logging, and provides a way for the server to report the DEEP status. deep From server to client, the argument to this ID field is the server DEEP status. Servers MUST provide this information in response to an ID command. latch From client to server, this is a space-separated list of security tags the client has latched for this server. Servers MAY record this information so administrators know the expected privacy level of the client and can thus act to avoid security latch failures (e.g., by renewing server certificates on time, etc). latch-fail From client to server, a space-separated list including one or more security tag the client has latched that the client was unable to achieve. This allows clients to report errors to the server prior to terminating the connection to the server in the event an acceptable privacy level is unavailable. security-tags From client to server, this is a space-separated list of security tags the client supports that are not latched. tls Server-side IMAP proxies that accept TLS connections from clients and connect in-the-clear over a fully private secure network to the server SHOULD use this field to report the tls- cipher (syntax as defined in Section 5) to the server. Moore & Newman Expires August 18, 2014 [Page 10] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 IMAP clients SHOULD use the IMAP ID command to report latch failures and determine the server DEEP status. Clients MAY use the ID command to report other latch or security tag information. IMAP servers MUST implement the ID command at least to report DEEP status to clients. S: * OK [CAPABILITY IMAP4rev1 DEEP ID AUTH=PLAIN AUTH=SCRAM-SHA-1] hello C: a001 ID ("name" "Demo Mail" "version" "1.5" "latch" "tls10 tls-cert" "security-tags" "tls12 tls-pfs") S: * ID ("name" "Demo Server" "version" "1.7" "deep-status" "P;https://www.example.com/privacy-support.html") S: a001 OK ID completed Example 1 This example shows a client that successfully negotiated TLS version 1.0 or later and verified the server's certificate as required by IMAP. The client supports TLS 1.2 and one or more cipher suite with the "perfect forward secrecy" property. However, even if the client successfully negotiated TLS 1.2 or a cipher suite with PFS, it will not latch those security tags automatically because the server is in provisional status. S: * OK [CAPABILITY IMAP4rev1 DEEP ID AUTH=PLAIN AUTH=SCRAM-SHA-1] hello C: a001 ID ("name" "Demo Mail" "version" "1.5" "latch-failure" "tls-cert") S: * ID ("name" "Demo Server" "version" "1.7" "deep-status" "N;https://www.example.com/privacy-support.html") S: a001 OK ID completed C: a002 LOGOUT Example 2 This example shows a client that negotiated TLS, but was unable to verify the server's certificate. The latch-failure informs the server of this problem, at which point the client can disconnect. If the client had previously latched a URI for privacy problems from this server, it could offer to resolve that URI. However, the deep- status in this exchange is ignored due to the latch failure. S: * OK [CAPABILITY IMAP4rev1 DEEP ID AUTH=PLAIN AUTH=SCRAM-SHA-1] hello C: a001 ID ("name" "Demo Mail" "version" "1.5" "latch" Moore & Newman Expires August 18, 2014 [Page 11] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 "tls10 tls-cert" "security-tags" "tls12 tls-pfs" "tls" "TLS_RSA_WITH_AES_128_CBC_SHA") S: * ID ("name" "Demo Server" "version" "1.7" "deep-status" "N;https://www.example.com/privacy-support.html") S: a001 OK ID completed Example 3 This example shows the connection from an IMAP proxy to a back-end server. The client connected to the proxy and sent the ID command shown in example 1, and the proxy has added the "tls" item to the ID command so the back-end server can log the cipher suite that was used on the connection from the client. 6.2. POP DEEP Extension POP servers supporting this specification MUST implement the POP3 extension mechanism [RFC2449]. POP servers MUST advertise the DEEP capability with an argument indicating the server's DEEP status. S: +OK POP server ready C: CAPA S: +OK Capability list follows S: TOP S: SASL PLAIN SCRAM-SHA-1 S: RESP-CODES S: PIPELINING S: UIDL S: DEEP N;https://www.example.com/privacy-support.html S: . Example After issuing CAPA, the client can see the server is in normal operation mode, and latch any appropriate security tags as well as the DEEP status. If the client connects to this same server later and has a privacy failure, the client can direct the user's browser to the previously-latched URI where the service provider may provide advice to the end user. 6.3. SMTP DEEP Extension SMTP Submission servers supporting this specification MUST implement the DEEP SMTP extension. The name of this extension is DEEP. The EHLO keyword value is DEEP and the deep-status ABNF is the syntax of the mandatory parameter to that EHLO keyword. This does not add parameters to the MAIL FROM or RCPT TO commands. This also adds a Moore & Newman Expires August 18, 2014 [Page 12] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 CLIENT command to SMTP which is used to report client information to the server. The formal syntax for the command follows: deep-cmd = "CLIENT" 1*(SP deep-parameter) deep-parameter = name / version / latch / latch-fail / security-tags / tls / future-extension name = "name=" esmtp-value version = "version=" esmtp-value latch = "latch=" security-tag *("," security-tag) latch-fail = "latch-fail=" security-tag *("," security-tag) security-tags = "security-tags=" security-tag *("," security-tag) tls = "tls=" tls-cipher future-extension = esmtp-param esmtp-param = esmtp-value = The CLIENT command parameters listed here have the same meaning as the parameters used in the IMAP DEEP extension (Section 6.1). The server responds to the CLIENT command with a "250" if the command has correct syntax and a "501" if the command has incorrect syntax. S: 220 example.com Demo SMTP Submission Server C: EHLO client.example.com S: 250-example.com S: 250-8BITMIME S: 250-PIPELINING S: 250-DSN S: 250-AUTH PLAIN LOGIN S: 250-DEEP N;https://www.example.com/privacy-support.html S: 250-BURL imap S: 250 SIZE 0 C: CLIENT name=demo_submit version=1.5 latch=tls10,tls-cert security-tags=tls12,tls-pfs S: 250 OK Moore & Newman Expires August 18, 2014 [Page 13] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 Example 6.4. SMTP Error Extension Although this document focuses on SMTP Submission, it is possible to use security latches for SMTP transport as well. When MTA transport fails due to a security latch, the MTA MUST use the SMTP enhanced status code X.7.TBD. The SMTP notary response [RFC3464] for a security latch failure MUST include an additional "SMTP-Security- Latch" recipient-specific header field that includes a space- delimited list including one or more security latch that failed. The ABNF for this new field follows: CFWS = FWS = smtp-security-latch = "SMTP-Security-Latch:" CFWS security-tag *(FWS security-tag) 7. Use of SRV records in Establishing Configuration This section updates [RFC6186] by changing the preference rules and adding a new SRV service label _submissions._tcp to refer to Message Submission with implicit TLS. User-configurable MUAs SHOULD support use of [RFC6186] for account setup. However, when using configuration information obtained by this method, MUAs SHOULD behave as if the user had explicitly required TLS, unless the user has explicitly requested to disable it. This will have the effect of causing the MUA to ignore advertised configurations which do not support TLS, even when those advertised configurations have a higher priority than other advertised configurations. The specific user interface by which a user requests to disable encryption is an implementation detail, but the user interface should make it clear to users that disabling encryption exposes their email to others. When using [RFC6186] configuration information, Mail User Agents SHOULD NOT automatically establish new configurations that do not require TLS for all servers, unless there are no advertised configurations using TLS. If such a configuration is chosen, prior to attempting to authenticate to the server or use the server for message submission, the MUA SHOULD warn the user that traffic to that server will not be encrypted and that it will therefore likely be intercepted by unauthorized parties. The specific wording is to be determined by the implementation, but it should adequately capture Moore & Newman Expires August 18, 2014 [Page 14] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 the sense of risk given the widespread incidence of mass surveillance of email traffic. When establishing a new configuration for connecting to an IMAP, POP, or SMTP Submission server, an MUA MUST NOT blindly trust SRV records unless they are signed by DNSSEC and have a valid signature. Instead, the MUA SHOULD warn the user that the DNS-advertised mechanism for connecting to the server is not authenticated, and request the user to manually verify the connection details by reference to his or her mail service provider's documentation. Similarly, an MUA MUST NOT consult SRV records to determine which servers to use on every connection attempt, unless those SRV records are signed by DNSSEC and have a valid signature. However, an MUA MAY consult SRV records from time to time to determine if an MSP's server configuration has changed, and alert the user if it appears that this has happened. This can also serve as a means to encourage users to upgrade their configurations to require TLS if and when their MSPs support it. 8. Implementation Requirements This section details requirements for implementations of electronic mail protocol clients and servers. A requirement for a client or server implementation to support a particular feature is not the same thing as a requirement that a client or server running a conforming implementation be configured to use that feature. Requirements for Mail Service Providers (MSPs) are distinct from requirements for protocol implementations, and are listed in a separate section. 8.1. All Implementations (Client and Server) These requirements apply to MUAs as well as POP, IMAP and SMTP Submission servers. o All implementations MUST be configurable to support implicit TLS using the TLS 1.2 protocol or later [RFC5246] including support for the mandatory-to-implement TLS 1.2 cipher suite TLS_RSA_WITH_AES_128_CBC_SHA. o IMAP implementations MUST support the IMAP4rev1 mandatory-to- implement cipher suite TLS_RSA_WITH_RC4_128_MD5 for any connections made or received via IMAP although this MAY be disabled by default. o All implementations MUST be configurable to require TLS before performing any operation other than capability discovery and STARTTLS. Moore & Newman Expires August 18, 2014 [Page 15] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 8.1.1. Client Certificate Authentication MUAs and mail servers MAY implement client certificate authentication on the implicit TLS port. Servers MUST NOT request a client certificate during the TLS handshake unless the server is configured to accept some client certificates as sufficient for authentication and the server has the ability to determine a mail server authorization identity matching such certificates. How to make this determination is presently implementation specific. Clients MUST NOT provide a client certificate during the TLS handshake unless if the server requests one and the client has determined the certificate can be safely used with that specific server, OR the client has been explicitly configured by the user to use that particular certificate with that server. How to make this determination is presently implementation specific. If the server accepts the client's certificate as sufficient for authorization, it MUST enable the SASL EXTERNAL [RFC4422] mechanism. An IMAPS server MAY issue a PREAUTH greeting instead of enabling SASL EXTERNAL. A client supporting client certificate authentication with implicit TLS MUST implement the SASL EXTERNAL [RFC4422] mechanism using the appropriate authentication command (AUTH for POP3 [RFC5034], AUTH for SMTP Submission [RFC4954], AUTHENTICATE for IMAP [RFC3501]). 8.2. Mail Server Implementation Requirements These requirements apply to servers that implement POP, IMAP or SMTP Submission. o Servers SHOULD implement and be configurable to support STARTTLS. This enables discovery of new TLS availability, and can increase usage of TLS by legacy clients. o Servers MUST NOT advertise STARTTLS if it is unlikely to succeed based on server configuration (e.g., there is no server certificate installed). o SMTP message submission servers that have negotiated TLS SHOULD add a Received header field to the message including the tls clause described in Section 5. o Servers MUST be configurable to include the TLS cipher information in any connection or user logging or auditing facility they provide. 8.3. Mail User Agent Implementation Requirements This section describes requirements on Mail User Agents (MUAs) using IMAP, POP, and/or Submission protocols. Note: Requirements Moore & Newman Expires August 18, 2014 [Page 16] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 pertaining to use of Submission servers are also applicable to use of SMTP servers (e.g., port 25) for mail submission. o By default (unless explicitly configured to do otherwise), MUAs MUST abort a TLS session if the TLS negotiation fails or the server's certificate is found to be invalid for any reason. If the MUA is configured to require TLS for that connection (either explicitly by the user, or by having had the TLS facility "latched" for that server), the MUA MUST NOT continue that session. o However, MUAs MUST be explicitly configurable, on a per-server basis, to negotiate and use a strong TLS encryption layer in certain cases when the server certificate is invalid. In particular, the client MUST be able to use TLS session encryption even if the server certificate is expired, self-signed or both. In the case of an expired certificate the MUA SHOULD NOT permit the connection unless the MUA has been explicitly configured ("pinned") to accept that particular certificate, or if the MUA has previously established a connection to that server using that certificate prior to the certificate's expiration. In the latter case the MUA SHOULD warn the user that the certificate has expired but still permit the connection if the user consents. In the case of a self-signed certificate, the MUA SHOULD NOT permit the connection unless the MUA has been explicitly configured ("pinned"), at account configuration time, to accept that particular certificate. An MUA MAY permit a certificate signed by an unknown or untrustworthy CA to be "pinned" in a manner similar to a self-signed certificate. Even if explicitly configured to permit certain kinds of invalid certificate, this configuration MUST set the tls-cert latch if the server certificate is upgraded to verify successfully and the server advertises DEEP with normal mode. (Note in draft: The above probably needs rewording to fully consider the effect of TLSA records for MUAs that support them.) o MUAs SHOULD be configurable to detect when STARTTLS and/or implicit TLS becomes available for a protocol and set the tls10 latch if the server advertises DEEP with normal mode. o Whenever requested to establish any configuration that does not require both TLS and server certificate verification to talk to a server or account, an MUA SHOULD warn its user that his or her mail traffic (including password, if applicable) will be exposed to attackers, and give the user an opportunity to abort the connection prior to transmission of any such password or traffic. Moore & Newman Expires August 18, 2014 [Page 17] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 o Clients MAY (SHOULD?) support TLSA [RFC6698]. If a client supports both TLSA and DEEP, it MUST save the "tls-dane-tlsa" security latch if TLSA is successfully negotiated. o MUAs SHOULD implement the "tls12" security latch (the TLS library has to provide an API that controls permissible TLS versions and communicates the negotiated TLS protocol version to the application for this to be possible). 8.4. Non-configurable MUAs and nonstandard access protocols MUAs which are not configurable to use user-specified servers MUST implement TLS or similarly other strong encryption mechanism when communicating with their mail servers. This generally applies to MUAs that are pre-configured to operate with one or more specific services, whether or not supplied by the vendor of those services. MUAs using protocols other than IMAP, POP, and Submission to communicate with mail servers, MUST implement TLS or other similarly robust encryption mechanism in conjuction with those protocols. 8.5. DEEP Compliance for Anti-Virus/Anti-Spam Software and Services There are multiple ways to connect an Anti-Virus and/or Anti-Spam (AVAS) service to a mail server. Some mechanisms, such as the de- facto milter protocol do not impact DEEP. However, some services use an SMTP relay proxy that intercepts mail at the application layer to perform a scan and proxy to the real MTA. Deploying AVAS services in this way can cause many problems [RFC2979] including direct interference with DEEP. An AVAS product or service is considered DEEP compliant if all IMAP, POP and SMTP-related software it includes is DEEP compliant. 9. Mail Service Provider Requirements This section details requirements for providers of IMAP, POP, and/or SMTP submission services, for providers who claim to conform to this specification. 9.1. Server Requirements Mail Service Providers MUST use server implementations that conform to this specification. 9.2. MSPs MUST provide Submission Servers Mail Service Providers which accept incoming mail for delivery using the Internet Protocol MUST provide one or more SMTP Submission Moore & Newman Expires August 18, 2014 [Page 18] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 servers for this purpose, separate from the SMTP servers used to process incoming mail. Those submission servers MUST be configured to support Implicit TLS and MAY be configured to support STARTTLS also. MSPs MAY also support submission of messages via one or more designated SMTP servers to facilitate compatibility with existing MUA configurations and legacy MUAs. Discussion: SMTP servers used to accept incoming mail or to relay mail are expected to accept mail in cleartext. This is incompatible with the purpose of this memo which is to encourage encryption of traffic between mail servers. There is no such requirement for mail submission servers to accept mail in cleartext or without authentication. For other reasons, use of separate SMTP submission servers has been best practice for many years. SMTP Submission servers SHOULD require authentication as a condition of accepting mail. 9.3. TLS Server Certificate Requirements MSPs MUST maintain valid server certificates for all servers. Those server certificates SHOULD present DNS-IDs and SRV-IDs conforming to [RFC6125] and which will be recognized by MUAs meeting the requirements of that specification. In addition, those server certificates MAY provide other DNS-IDs, SRV-IDs, or CN-IDs needed for compatibility with existing MUAs. If a protocol server provides service for more than one mail domain, its server certificates MAY advertise multiple domains. This will generally be necessary unless and until it is acceptable to impose the constraint that the server and all clients support the Server Name Indication extension to TLS. 9.4. Recommended DNS records for mail protocol servers This section discusses not only the DNS records that are recommended, but also implications of DNS records for server configuration and TLS server certificates. 9.4.1. MX records It is recommended that MSPs advertise MX records for handling of inbound mail (instead of relying entirely on A or AAAA records), and that those MX records be signed using DNSSEC. This is mentioned here only for completeness, as handling of inbound mail is out of scope for this document. Moore & Newman Expires August 18, 2014 [Page 19] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 9.4.2. SRV records MSPs SHOULD advertise SRV records to aid MUAs in determination of proper configuration of servers, per the instructions in [RFC6186]. MSPs SHOULD advertise servers that support Implicit TLS in preference to those which support cleartext and/or STARTTLS operation. 9.4.3. TLSA records MSPs SHOULD advertise TLSA records to provide an additional trust anchor for public keys used in TLS server certificates. However, TLSA records MUST NOT be advertised unless they are signed using DNSSEC. 9.4.4. DNSSEC All DNS records advertised by an MSP as a means of aiding clients in communicating with the MSP's servers, SHOULD be signed using DNSSEC. 9.5. MSP Server Monitoring MSPs SHOULD regularly and frequently monitor their various servers to make sure that: TLS server certificates remain valid and are not about to expire, TLSA records match the public keys advertised in server certificates, are signed using DNSSEC, server configurations are consistent with SRV advertisements, and DNSSEC signatures are valid and verifiable. Failure to detect expired certificates and DNS configuration errors in a timely fashion can result in significant loss of service for an MSP's users and a significant support burden for the MSP. 9.6. Advertisement of provisional vs. normal mode MSPs SHOULD advertise their security configuration as "normal" using the protocol mechanisms defined above, if and when the configurations are stable, so that clients may upgrade ("latch") themselves to support the improved security facilities as they become available. MSPs MUST advertise their security configurations as "provisional" during periods when new security facilities are being tested, so as to prevent clients from latching newly discovered security facilities during these periods. Moore & Newman Expires August 18, 2014 [Page 20] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 10. IANA Considerations TBD: o Create expert review, publication required registry for security latches. Initialize registry with latches from Section 4.2. 10.1. POP3S Port Registration Update IANA is asked to update the registration of the TCP well-known port 995 using the following template ([RFC6335]): Service Name: pop3s Transport Protocol: TCP Assignee: IETF Contact: IESG Description: POP3 over TLS protocol Reference: RFC XXXX (this document once published) Port Number: 995 10.2. IMAPS Port Registration Update IANA is asked to update the registration of the TCP well-known port 993 using the following template ([RFC6335]): Service Name: imaps Transport Protocol: TCP Assignee: IETF Contact: IESG Description: IMAP over TLS protocol Reference: RFC XXXX (this document once published) Port Number: 993 10.3. Submissions Port Registration IANA is asked to assign an alternate usage of port 465 in addition to the current assignment using the following template ([RFC6335]): Service Name: submissions Transport Protocol: TCP Assignee: IETF Contact: IESG Description: Message Submission over TLS protocol Reference: RFC XXXX (this document once published) Port Number: 465 Moore & Newman Expires August 18, 2014 [Page 21] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 This is a one time procedural exception to the rules in RFC 6335. This requires explicit IESG approval and does not set a precedent. Historically, port 465 was briefly registered as the "smtps" port. This registration made no sense as the SMTP transport MX infrastructure has no way to specify a port so port 25 is always used. As a result, the registration was revoked and was subsequently reassigned to a different service. In hindsight, the "smtps" registration should have been renamed or reserved rather than revoked. Unfortunately, some widely deployed mail software interpreted "smtps" as "submissions" [RFC6409] and used that port for email submission by default when an end-user requests security during account setup. If a new port is assigned for the submissions service, email software will either continue with unregistered use of port 465 (leaving the port registry inaccurate relative to de-facto practice and wasting a well-known port), or confusion between the de- facto and registered ports will cause harmful interoperability problems that will deter use of TLS for message submission. The authors believe both of these outcomes are less desirable than a wart in the registry documenting real-world usage of a port for two purposes. Although STARTTLS-on-port-587 has deployed, it has not replaced deployed use of implicit TLS submission on port 465. 10.4. DEEP IMAP Capability This document adds the DEEP capability to the IMAP capabilities registry. This is described in section Section 6.1. 10.5. DEEP POP3 Capability This document adds the DEEP capability to the POP3 capabilities registry. CAPA Tag: DEEP Arguments: deep-status Added Commands: none Standard Commands affected: none Announced status / possible differences: both / may change after STLS Commands Valid in States: N/A Specification Reference: This document Discussion: See Section 6.2. Moore & Newman Expires August 18, 2014 [Page 22] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 10.6. DEEP SMTP EHLO Keyword This document adds the DEEP EHLO Keyword to the SMTP Service Extension registry. This is described in section Section 6.3. 10.7. SMTP Enhanced Status Code This document adds the following entry to the "SMTP Enhanced Status Codes" registry created by [RFC5248]. Code: X.7.TBD (IANA, please assign the next available number) Sample Text: Message Transport Failed due to missing required security. Associated Basic Status Code: 450, 454, 550, 554 Description This code indicates an SMTP server was unable to forward a message to the next host necessary for delivery because it required a higher level of transport security or privacy than was available. The temporary form of this error is preferred in case the problem is caused by a temporary administrative error such as an expired server certificate. Reference This document Submitter C. Newman Change Controller IESG 10.8. MAIL Parameters Additional-registered-clauses Sub-Registry This document adds the following entry to the "Additional-registered- clauses" sub-registry of the "MAIL Parameters" registry, created by [RFC5321]: Clause Name: tls Description: Indicates the TLS cipher suite used for a transport connection. Syntax Summary: See tls-cipher ABNF Section 5 Reference: This document. 11. Security Considerations Moore & Newman Expires August 18, 2014 [Page 23] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 This entire document is about security considerations. In general, this is targeted to improve mail privacy and to mitigate threats external to the email system such as network-level snooping or interception; this is not intended to mitigate active attackers who have compromised service provider systems. It could be argued that sharing the name and version of the client software with the server has privacy implications. Although providing this information is not required, it is encouraged so that mail service providers can more effectively inform end-users running old clients that they need to upgrade to protect their privacy, or know which clients to use in a test deployment prior to upgrading a server to have higher security requirements. 12. References 12.1. Normative References [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", STD 53, RFC 1939, May 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2449] Gellens, R., Newman, C., and L. Lundblade, "POP3 Extension Mechanism", RFC 2449, November 1998. [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. [RFC2971] Showalter, T., "IMAP4 ID extension", RFC 2971, October 2000. [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003. [RFC3464] Moore, K. and G. Vaudreuil, "An Extensible Message Format for Delivery Status Notifications", RFC 3464, January 2003. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. Moore & Newman Expires August 18, 2014 [Page 24] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 [RFC5034] Siemborski, R. and A. Menon-Sen, "The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism", RFC 5034, July 2007. [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008. [RFC5248] Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced Mail System Status Codes", BCP 138, RFC 5248, June 2008. [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, October 2008. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008. [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)", RFC 6125, March 2011. [RFC6186] Daboo, C., "Use of SRV Records for Locating Email Submission/Access Services", RFC 6186, March 2011. [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", STD 72, RFC 6409, November 2011. [I-D.melnikov-email-tls-certs] Melnikov, A., "Updated TLS Server Identity Check Procedure for Email Related Protocols", draft-melnikov-email-tls- certs-01 (work in progress), October 2013. [I-D.ietf-dane-smtp-with-dane] Dukhovni, V. and W. Hardaker, "SMTP security via opportunistic DANE TLS", draft-ietf-dane-smtp-with-dane-02 (work in progress), October 2013. 12.2. Informative References [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999. [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC 2595, June 1999. Moore & Newman Expires August 18, 2014 [Page 25] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 [RFC2979] Freed, N., "Behavior of and Requirements for Internet Firewalls", RFC 2979, October 2000. [RFC3848] Newman, C., "ESMTP and LMTP Transmission Types Registration", RFC 3848, July 2004. [RFC4422] Melnikov, A. and K. Zeilenga, "Simple Authentication and Security Layer (SASL)", RFC 4422, June 2006. [RFC4954] Siemborski, R. and A. Melnikov, "SMTP Service Extension for Authentication", RFC 4954, July 2007. [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, July 2009. [RFC5802] Newman, C., Menon-Sen, A., Melnikov, A., and N. Williams, "Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms", RFC 5802, July 2010. [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. Cheshire, "Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry", BCP 165, RFC 6335, August 2011. [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, August 2012. Appendix A. Design Considerations This section is not normative. The first version of this was written independently from draft-moore- email-tls-00.txt. The authors believe it desirable to merge these two proposals. This current draft is a first attempt to do that, though that task may not be fully completed. One author of this document was also the author of RFC 2595 that became the standard for TLS usage with POP and IMAP, and the other author was perhaps the first to propose that idea. In hindsight both authors now believe that that approach was a mistake. At this point the authors believe that while anything that makes it easier to deploy TLS is good, the desirable end state is that these protocols always use TLS, leaving no need for a separate port for cleartext operation except to support legacy clients while they continue to be used. The separate port model for TLS is inherently simpler to implement, debug and deploy. It also enables a "generic TLS load- Moore & Newman Expires August 18, 2014 [Page 26] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 balancer" that accepts secure client connections for arbitrary foo- over-TLS protocols and forwards them to a server that may or may not support TLS. Such load-balancers cause many problems because they violate the end-to-end principle and the server loses the ability to log security-relevant information about the client unless the protocol is designed to forward that information (as this specification does for the cipher suite). However, they can result in TLS deployment where it would not otherwise happen which is a sufficiently important goal that it overrides the problems. Although STARTTLS appears only slightly more complex than separate- port TLS, we again learned the lesson that complexity is the enemy of security in the form of the STARTTLS command injection vulnerability (CERT vulnerability ID #555316). Although there's nothing inherently wrong with STARTTLS, the fact it resulted in a common implementation error (made independently by multiple implementers) suggests it is a less secure architecture than Implicit TLS. Section 7 of RFC 2595 critiques the separate-port approach to TLS. The first bullet was a correct critique. There are proposals in the http community to address that, and use of SRV records as described in RFC 6186 resolves that critique for email. The second bullet is correct as well, but not very important because useful deployment of security layers other than TLS in email is small enough to be effectively irrelevant. The third bullet is incorrect. There are three desirable security policies but they are "require TLS", "don't use TLS" and "use and latch-on TLS if available". The intermediate "use TLS if available" may be a better policy than "don't use TLS", but in hindsight it's not enough better to justify extra design complexity, and the ease with which opportunistic TLS can be downgraded by an active attack may mean that this mode provides a false sense of security. The fourth bullet may be correct, but is not a problem yet with current port consumption rates. The fundamental error was prioritizing a perceived better design based on a mostly valid critique over real-world deployability. But getting security and privacy facilities actually deployed is so important it should trump design purity considerations. Appendix B. Open Issues There are many open issues with this document. Here is an attempt to enumerate some of them: o A suggestion has been made to add a DNSSEC latch. We like the idea, but may need help writing the text and references correctly. o The authors are presently concerned about certificate expiration causing support calls that would deter deployment of this proposal Moore & Newman Expires August 18, 2014 [Page 27] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 due to the tls-cert security latch. Some of the requirements in draft-moore-email-tls-00.txt related to certificate management may help with this. A requirement for server software to generate an alarm, admin email and/or log message as certificate expiration approaches may also be helpful there. o Discussion of pinning certificates may be inadquate. One author (CN) considers pinning certificates with an expiration date to be a serious deployment problem due to support calls generated when the certificates expire and difficulty of upgrading pinned certificates with a reasonable user interface at the MUA. More discussion of this issue is needed. o One author is concerned by the required support for DNS-ID and SRV-ID in draft-melnikov-email-tls-certs-01; and feels it may be premature to require that (particularly SRV-ID) if we want something deployable. o One author believes that the security latch in this is complementary with draft-ietf-dane-smtp-with-dane-02 but hasn't thought about the issues in depth. We welcome feedback on this point. o The authors are not sure if this document should cover cipher suite requirements beyond those already published or if they should leave that to a subsequent document. o It might make sense to split this in two documents if it's getting too long. In particular, it might make sense to put implementation requirements and service provider requirements in separate documents. o The use of SRV records [RFC6186] for account setup or refresh is presently not secure from DNS active attacks unless DNSSEC is used. As this document is now focusing on MUA security/privacy, discussing how to do SRV record account setup or account refresh securely, probably using DANE, would be in scope for this document. It has been suggested that we add this. o The current version of the document provides a single "normal" vs. "provisional" indication as to whether the security features negotiated by a client and server may be latched by the client. One author is concerned that this may be inadequate. For example it may make it difficult to test new security features later on a provisional basis, without inhibiting clients' ability to latch features that are already well-tested and stable. Moore & Newman Expires August 18, 2014 [Page 28] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 Appendix C. DEEP Status Implementation Suggestion This section is not normative. One way that server software could handle the provisional vs. normal modes for DEEP status is to record a timestamp whenever a TLS- security impacting change is made to the server (e.g., a software upgrade or setting configuration for cipher suites). The server could automatically put itself in provisional mode for a period of time, such as one month, and then revert to normal mode. This automatically creates a window where the administrator can safely back-out problematic changes without requiring the administrator to be security savvy. Having a way to adjust the time window or explicitly lock the server in provisional or normal mode would also be helpful. Appendix D. Change Log Changes since -00: o Rewrote introduction to merge ideas from draft-moore-email-tls-00. o Added Implicit TLS section, Account configuration section and IANA port registration updates based on draft-moore-email-tls-00. o Add protocol details necessary to standardize implicit TLS for POP /IMAP/submission, using ideas from draft-melnikov-pop3-over-tls. o Reduce initial set of security tags based on feedback. o Add deep status concept to allow a window for software updates to be backed out before latches make that problematic, as well as to provide service providers with a mechanism they can use to assist customers in the event of a privacy failure. o Add DNS SRV section from draft-moore-email-tls-00. o Write most of the missing IANA considerations section. o Rewrite most of implementation requirements section based more on draft-moore-email-tls-00. Remove new cipher requirements for now because those may be dealt with elsewhere. Moore & Newman Expires August 18, 2014 [Page 29] Internet-Draft Deployable Enhanced Email Privacy (DEEP) February 2014 Appendix E. Acknowledgements Many thanks to Ned Freed for discussion of the initial latch concepts in this document. Thanks to Alexey Melnikov for draft-melnikov-pop3 -over-tls-02, which was the basis of the POP3 implicit TLS text. Thanks to Dan Newman and Alexey Melnikov for review feedback. Thanks to Paul Hoffman for interesting feedback in initial conversations about this idea. Authors' Addresses Keith Moore Network Heretics PO Box 1934 Knoxville, TN 37901 US Email: moore@network-heretics.com Chris Newman Oracle 440 E. Huntington Dr., Suite 400 Arcadia, CA 91006 US Email: chris.newman@oracle.com Moore & Newman Expires August 18, 2014 [Page 30]