Internet Engineering Task Force                                J. Fenton
Internet-Draft                                         February 13, 2016
Intended status: Experimental
Expires: August 16, 2016


                        SMTP Require TLS Option
                    draft-fenton-smtp-require-tls-01

Abstract

   The SMTP STARTTLS option, used in negotiating transport-level
   encryption of SMTP connections, is not as useful from a security
   standpoint as it might be because of its opportunistic nature;
   message delivery is prioritized over security.  This document
   describes a complementary SMTP service extension, REQUIRETLS.  If the
   REQUIRETLS option is used when sending a message, it causes message
   delivery to fail if a TLS connection with the required security
   characteristics cannot be completed with the next hop MTA or if that
   MTA does not also advertise that it supports REQUIRETLS.  Message
   originators may therefore expect transport security to be used for
   messages sent with this option.

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 16, 2016.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   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



Fenton                   Expires August 16, 2016                [Page 1]


Internet-Draft           SMTP Require TLS Option           February 2016


   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  The REQUIRETLS Service Extension  . . . . . . . . . . . . . .   3
   3.  REQUIRETLS Semantics  . . . . . . . . . . . . . . . . . . . .   4
     3.1.  REQUIRETLS Receipt Requirements . . . . . . . . . . . . .   4
     3.2.  REQUIRETLS Sender Requirements  . . . . . . . . . . . . .   4
     3.3.  REQUIRETLS Submission . . . . . . . . . . . . . . . . . .   5
     3.4.  Delivery of REQUIRETLS messages . . . . . . . . . . . . .   5
   4.  Error handling  . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
     6.1.  Passive attacks . . . . . . . . . . . . . . . . . . . . .   6
     6.2.  Active attacks  . . . . . . . . . . . . . . . . . . . . .   6
     6.3.  Bad Actor MTAs  . . . . . . . . . . . . . . . . . . . . .   7
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   8.  Revision History  . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Changes Since -00 Draft . . . . . . . . . . . . . . . . .   8
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The SMTP [RFC5321] STARTTLS service extension [RFC3207] provides a
   means by which an SMTP server and client can establish a Transport
   Layer Security (TLS) protected session for the transmission of email
   messages.  In this application, TLS is used only upon mutual
   agreement (successful negotiation) between the client and server; if
   this is not possible, the message is sent unencrypted.  Even if a TLS
   protected session is established, it is uncommon for the client to
   abort the SMTP session if certificate validation fails to
   authenticate the SMTP server.

   The opportunistic nature of SMTP TLS enables several "on the wire"
   attacks on SMTP security between MTAs.  These include passive
   eavesdropping on connections for which TLS is not used, interference
   in the SMTP protocol to prevent TLS from being negotiated (presumably
   followed by subsequent eavesdropping), and insertion of a man-in-the-



Fenton                   Expires August 16, 2016                [Page 2]


Internet-Draft           SMTP Require TLS Option           February 2016


   middle attacker taking advantage of the lack of server authentication
   by the client.  Attacks are more described in more detail in the
   Security Considerations section of this document.

   The REQUIRETLS SMTP service extension allows the SMTP client to
   specify that a given message sent during a particular session MUST be
   sent over a TLS protected session with specified security
   characteristics.  It also requires that the SMTP server advertise
   that it also supports REQUIRETLS, in effect promising that it will
   honor the requirement to require STARTTLS and REQUIRETLS for all
   onward transmissions of messages specifying that requirement.

1.1.  Requirements Language

   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 RFC 2119 [RFC2119].

2.  The REQUIRETLS Service Extension

   1.  The textual name of the extension is "Require TLS".

   2.  The EHLO keyword value associated with this extension is
       "REQUIRETLS".

   3.  One MAIL FROM option is defined by this extension.

   4.  Two new SMTP status codes are defined by this extension to convey
       error conditions resulting from failure of the client to
       negotiate a TLS connection with the required security and as a
       result of an attempt to send to a server not also supporting the
       REQUIRETLS extension.

   In order to specify REQUIRETLS treatment for a given message, the
   REQUIRETLS option is specified on the MAIL FROM command when that
   message is transmitted.  This option MUST only be specified in the
   context of an SMTP session meeting the security requirements that
   have been specified:

   o  The session itself MUST employ TLS transmission.

   o  Any server authentication requirements specified as an option to
      the REQUIRETLS option (see below) MUST have been satisfied in
      establishing the current session.

   An optional parameter to the REQUIRETLS MAIL FROM option specifies
   the requirements for server authentication that MUST be used for any
   onward transmission of the following message.  The parameter takes



Fenton                   Expires August 16, 2016                [Page 3]


Internet-Draft           SMTP Require TLS Option           February 2016


   the form of either a single value or comma-separated list, separated
   from the REQUIRETLS option by a single "=" (equals-sign) character.
   If present, the parameter MUST take one or more of the following
   values:

   o  CHAIN - The certificate presented by the SMTP server MUST verify
      successfully in a trust chain leading to a certificate trusted by
      the SMTP client.  The choice of trusted (root) certificates by the
      client is at their own discretion.  The client MAY choose to use
      the certificate set maintained by the CA/B forum [citation needed]
      for this purpose.

   o  DANE - The certificate presented by the SMTP server MUST verify
      succesfully using DANE as specified in RFC 7672 [RFC7672].

   o  DNSSEC - The server MUST confirm that any MX record or CNAME
      lookup used to locate the SMTP server must be DNSSEC [RFC4035]
      signed and valid.

   The CHAIN and DANE parameters are additive; if both are specified,
   either method of certificate validation is acceptable.  If neither
   CHAIN nor DANE is specified, the certificate presented by the SMTP
   server is not required to be verified.

3.  REQUIRETLS Semantics

3.1.  REQUIRETLS Receipt Requirements

   Upon receipt of a REQUIRETLS option on a MAIL FROM command during the
   receipt of a message, an SMTP server MUST tag that message as
   requiring TLS transmission with the specified option(s).  The manner
   in which this tagging takes place is implementation-dependent.

3.2.  REQUIRETLS Sender Requirements

   When sending a message tagged with a TLS requirement, the sending
   (client) MTA MUST:

   o  Look up the SMTP server to which the message is to be sent.  If
      the DNSSEC option is included in the message tag, all lookups in
      this process MUST use DNSSEC verification and the response MUST be
      DNSSEC-signed.

   o  Open an SMTP session with the peer SMTP server using the EHLO
      verb.  If the server does not advertise the REQUIRETLS capability,
      the client MUST bounce the message with a 5.7.xxx REQUIRETLS
      Needed status code.




Fenton                   Expires August 16, 2016                [Page 4]


Internet-Draft           SMTP Require TLS Option           February 2016


   o  Establish a TLS-protected SMTP session with its peer SMTP server
      and authenticate the server's certificate with the specified
      authentication method.  If it is unable to do so, the client MUST
      bounce the message with a 5.7.10 Encryption Needed status code
      [RFC5248].

   o  The SMTP client SHOULD also require that meaningfully secure
      cipher algorithms and key lengths be negotiated with the server,
      and bounce the message as described above if this does not occur.
      The choices of key lengths and algorithms change over time, so a
      specific requirement is not presented here.

   o  Transmit the message, issuing the REQUIRETLS option on the MAIL
      FROM command with the required option(s), if any.

3.3.  REQUIRETLS Submission

   An MUA or other agent making the initial introduction of a message to
   SMTP has authority to decide whether to require TLS, and if so, using
   what authentication method(s).  It does so by issuing the REQUIRETLS
   option in the MAIL FROM command during message submission.  This MAY
   be done based on a user interface selection, on a header field
   included in the message, or based on policy.  The manner in which the
   decision to require TLS is made is implementation-dependent and is
   beyond the scope of this specification.

3.4.  Delivery of REQUIRETLS messages

   Messages are usually delivered to end users using protocols other
   than SMTP such as IMAP [RFC3501], POP [RFC1939], or web mail systems.
   Mail delivery agents supporting REQUIRETLS SHOULD require that
   message delivery take place over authenticated, encrypted channels.

4.  Error handling

   Error ("bounce") messages contain important metadata, and therefore
   MUST be protected in the same manner as the original message.  All
   error handling, whether resulting from a REQUIRETLS error or some
   other, MUST employ REQUIRETLS at the same authentication method(s) as
   the message that caused the error to occur.

   It should be noted that the path from the origination of an error
   bounce message back to the MAIL FROM address may not share the same
   REQUIRETLS support as the forward path.  Therefore, users of
   REQUIRETLS are advised to make sure that they are capable of
   receiving mail using REQUIRETLS at the same authentication method(s)
   as messages they send.  Otherwise, such error bounces will be lost.




Fenton                   Expires August 16, 2016                [Page 5]


Internet-Draft           SMTP Require TLS Option           February 2016


5.  IANA Considerations

   If published as an RFC, this draft requests the addition of the
   keyword REQUIRETLS to the SMTP Service Extensions Registry
   [MailParams].

   If published as an RFC, this draft also requests the creation of a
   registry, REQUIRETLS Security Requirements, to be initially populated
   with the CHAIN, DANE, and DNSSEC keywords.

   If published as an RFC, this draft requests the addition of an entry
   to the Simple Mail Transfer Protocol (SMTP) Enhanced Status Codes
   Registry [SMTPStatusCodes] in the 5.7.YYY range to indicate lack of
   REQUIRETLS support by an SMTP server to which a message is being
   routed.

   This section is to be removed during conversion into an RFC by the
   RFC Editor.

6.  Security Considerations

   The purpose of REQUIRETLS is to improve communications security for
   email by giving the originator of a message an expectation that it
   will be transmitted in an encrypted form "over the wire".  When used,
   REQUIRETLS changes the traditional behavior of email transmission,
   which favors delivery over the ability to send email messages using
   transport-layer security, to one in which messages are not
   transmitted unless the required security is available.

6.1.  Passive attacks

   REQUIRETLS is generally effective against passive attackers who are
   merely trying to eavesdrop on an SMTP exchange between an SMTP client
   and server.  This assumes, of course, the cryptographic integrity of
   the TLS connection being used.

6.2.  Active attacks

   Active attacks against TLS encrypted SMTP connections can take many
   forms.  One such attack is to interfere in the negotiation by
   changing the STARTTLS command to something illegal such as XXXXXXXX.
   This causes TLS negotiation to fail and messages to be sent in the
   clear, where they can be intercepted.  REQUIRETLS detects the failure
   of STARTTLS and declines to send the message rather than send it
   insecurely.

   A second form of attack is a man-in-the-middle attack where the
   attacker terminates the TLS connection rather than the intended SMTP



Fenton                   Expires August 16, 2016                [Page 6]


Internet-Draft           SMTP Require TLS Option           February 2016


   server.  This is possible when, as is commonly the case, the SMTP
   client either does not verify the server's certificate or establishes
   the connection even when the verification fails.  The REQUIRETLS
   CHAIN and DANE options allow the message sender to specify that
   successful certificate validation, using either or both of two
   different methods, is required before sending the message.

   Another active attack involves the spoofing of DNS MX records of the
   recipient domain.  An attacker having this capability could cause the
   message to be redirected to a mail server under the attacker's own
   control, which would presumably have a valid certificate.  The
   REQUIRETLS DNSSEC option allows the message sender to require that
   valid DNSSEC [RFC4033] signatures be obtained when locating the
   recipient's mail server, in order to address that attack.

   In addition to support of the DNSSEC option, domains receiving email
   SHOULD deploy DNSSEC and SMTP clients SHOULD deploy DNSSEC
   verification.

6.3.  Bad Actor MTAs

   A bad-actor MTA along the message transmission path could
   misrepresent its support of REQUIRETLS and/or actively strip
   REQUIRETLS tags from messages it handles.  However, since
   intermediate MTAs are already trusted with the cleartext of messages
   they handle, and are not part of the threat model for transport-layer
   security, they are also not part of the threat model for REQUIRETLS.

   It should be reemphasized that since SMTP TLS is a transport-layer
   security protocol, messages sent using REQUIRETLS are not encrypted
   end-to-end and are visible to MTAs that are part of the message
   delivery path.  Messages containing sensitive information that MTAs
   should not have access to MUST be sent using end-to-end content
   encryption such as OpenPGP [RFC4880] or S/MIME [RFC5751].

7.  Acknowledgements

   The author would like to acknowledge many helpful suggestions on the
   ietf-smtp mailing list, and in particular those of Tony Finch, John
   Klensin, John Levine, Rolf Sonneveld, and Per Thorsheim.

8.  Revision History

   To be removed by RFC Editor upon publication as an RFC.







Fenton                   Expires August 16, 2016                [Page 7]


Internet-Draft           SMTP Require TLS Option           February 2016


8.1.  Changes Since -00 Draft

   o  Conversion of REQUIRETLS from an SMTP verb to a MAIL FROM
      parameter to better associate REQUIRETLS requirements with
      transmission of individual messages.

   o  Addition of an option to require DNSSEC lookup of the remote mail
      server, since this affects the common name of the certificate that
      is presented.

   o  Clarified the wording to more clearly state that TLS sessions must
      be established and not simply that STARTTLS is negotiated.

   o  Introduced need for minimum encryption standards (key lengths and
      algorithms)

   o  Substantially rewritten Security Considerations section

9.  References

9.1.  Normative References

   [MailParams]
              Internet Assigned Numbers Authority (IANA), "IANA Mail
              Parameters", 2007,
              <http://www.iana.org/assignments/mail-parameters>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC3207]  Hoffman, P., "SMTP Service Extension for Secure SMTP over
              Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207,
              February 2002, <http://www.rfc-editor.org/info/rfc3207>.

   [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Protocol Modifications for the DNS Security
              Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005,
              <http://www.rfc-editor.org/info/rfc4035>.

   [RFC5248]  Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced
              Mail System Status Codes", BCP 138, RFC 5248,
              DOI 10.17487/RFC5248, June 2008,
              <http://www.rfc-editor.org/info/rfc5248>.






Fenton                   Expires August 16, 2016                [Page 8]


Internet-Draft           SMTP Require TLS Option           February 2016


   [RFC5321]  Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
              DOI 10.17487/RFC5321, October 2008,
              <http://www.rfc-editor.org/info/rfc5321>.

   [SMTPStatusCodes]
              Internet Assigned Numbers Authority (IANA), "Simple Mail
              Transfer Protocol (SMTP) Enhanced Status Codes Registry",
              2008, <http://www.iana.org/assignments/
              smtp-enhanced-status-codes>.

9.2.  Informative References

   [RFC1939]  Myers, J. and M. Rose, "Post Office Protocol - Version 3",
              STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996,
              <http://www.rfc-editor.org/info/rfc1939>.

   [RFC3501]  Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
              4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003,
              <http://www.rfc-editor.org/info/rfc3501>.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, DOI 10.17487/RFC4033, March 2005,
              <http://www.rfc-editor.org/info/rfc4033>.

   [RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
              Thayer, "OpenPGP Message Format", RFC 4880,
              DOI 10.17487/RFC4880, November 2007,
              <http://www.rfc-editor.org/info/rfc4880>.

   [RFC5751]  Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
              Mail Extensions (S/MIME) Version 3.2 Message
              Specification", RFC 5751, DOI 10.17487/RFC5751, January
              2010, <http://www.rfc-editor.org/info/rfc5751>.

   [RFC7672]  Dukhovni, V. and W. Hardaker, "SMTP Security via
              Opportunistic DNS-Based Authentication of Named Entities
              (DANE) Transport Layer Security (TLS)", RFC 7672,
              DOI 10.17487/RFC7672, October 2015,
              <http://www.rfc-editor.org/info/rfc7672>.

Author's Address









Fenton                   Expires August 16, 2016                [Page 9]


Internet-Draft           SMTP Require TLS Option           February 2016


   Jim Fenton
   704 Benvenue Avenue
   Los Altos, California  94024
   USA

   Email: fenton@bluepopcorn.net













































Fenton                   Expires August 16, 2016               [Page 10]