idnits 2.17.1 draft-ietf-uta-smtp-require-tls-08.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 22, 2019) is 1824 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'MailParams' -- Possible downref: Non-RFC (?) normative reference: ref. 'PermMessageHeaderFields' ** Obsolete normative reference: RFC 6125 (Obsoleted by RFC 9525) ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) -- Possible downref: Non-RFC (?) normative reference: ref. 'SMTPStatusCodes' -- Obsolete informational reference (is this intentional?): RFC 3501 (Obsoleted by RFC 9051) -- Obsolete informational reference (is this intentional?): RFC 5751 (Obsoleted by RFC 8551) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force J. Fenton 3 Internet-Draft Altmode Networks 4 Intended status: Standards Track April 22, 2019 5 Expires: October 24, 2019 7 SMTP Require TLS Option 8 draft-ietf-uta-smtp-require-tls-08 10 Abstract 12 The SMTP STARTTLS option, used in negotiating transport-level 13 encryption of SMTP connections, is not as useful from a security 14 standpoint as it might be because of its opportunistic nature; 15 message delivery is, by default, prioritized over security. This 16 document describes an SMTP service extension, REQUIRETLS, and message 17 header field, TLS-Required. If the REQUIRETLS option or TLS-Required 18 message header field is used when sending a message, it asserts a 19 request on the part of the message sender to override the default 20 negotiation of TLS, either by requiring that TLS be negotiated when 21 the message is relayed, or by requesting that recipient-side policy 22 mechanisms such as MTA-STS and DANE be ignored when relaying a 23 message for which security is unimportant. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on October 24, 2019. 42 Copyright Notice 44 Copyright (c) 2019 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 60 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 61 2. The REQUIRETLS Service Extension . . . . . . . . . . . . . . 4 62 3. The TLS-Required Header Field . . . . . . . . . . . . . . . . 5 63 4. REQUIRETLS Semantics . . . . . . . . . . . . . . . . . . . . 6 64 4.1. REQUIRETLS Receipt Requirements . . . . . . . . . . . . . 6 65 4.2. REQUIRETLS Sender Requirements . . . . . . . . . . . . . 6 66 4.2.1. Sending with TLS Required . . . . . . . . . . . . . . 6 67 4.2.2. Sending with TLS Optional . . . . . . . . . . . . . . 7 68 4.3. REQUIRETLS Submission . . . . . . . . . . . . . . . . . . 8 69 4.4. Delivery of REQUIRETLS messages . . . . . . . . . . . . . 8 70 5. Non-delivery message handling . . . . . . . . . . . . . . . . 8 71 6. Reorigination considerations . . . . . . . . . . . . . . . . 9 72 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 73 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 74 8.1. Passive attacks . . . . . . . . . . . . . . . . . . . . . 11 75 8.2. Active attacks . . . . . . . . . . . . . . . . . . . . . 11 76 8.3. Bad Actor MTAs . . . . . . . . . . . . . . . . . . . . . 12 77 8.4. Policy Conflicts . . . . . . . . . . . . . . . . . . . . 12 78 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 79 10. Revision History . . . . . . . . . . . . . . . . . . . . . . 12 80 10.1. Changes since -07 Draft . . . . . . . . . . . . . . . . 12 81 10.2. Changes since -06 Draft . . . . . . . . . . . . . . . . 13 82 10.3. Changes since -05 Draft . . . . . . . . . . . . . . . . 13 83 10.4. Changes since -04 Draft . . . . . . . . . . . . . . . . 13 84 10.5. Changes since -03 Draft . . . . . . . . . . . . . . . . 14 85 10.6. Changes since -02 Draft . . . . . . . . . . . . . . . . 14 86 10.7. Changes since -01 Draft . . . . . . . . . . . . . . . . 14 87 10.8. Changes since -00 Draft . . . . . . . . . . . . . . . . 14 88 10.9. Changes since fenton-03 Draft . . . . . . . . . . . . . 14 89 10.10. Changes Since -02 Draft . . . . . . . . . . . . . . . . 15 90 10.11. Changes Since -01 Draft . . . . . . . . . . . . . . . . 15 91 10.12. Changes Since -00 Draft . . . . . . . . . . . . . . . . 15 92 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 93 11.1. Normative References . . . . . . . . . . . . . . . . . . 15 94 11.2. Informative References . . . . . . . . . . . . . . . . . 17 95 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 18 96 A.1. REQUIRETLS SMTP Option . . . . . . . . . . . . . . . . . 18 97 A.2. TLS-Required Header Field . . . . . . . . . . . . . . . . 19 98 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 20 100 1. Introduction 102 The SMTP [RFC5321] STARTTLS service extension [RFC3207] provides a 103 means by which an SMTP server and client can establish a Transport 104 Layer Security (TLS) protected session for the transmission of email 105 messages. By default, TLS is used only upon mutual agreement 106 (successful negotiation) of STARTTLS between the client and server; 107 if this is not possible, the message is sent without transport 108 encryption. Furthermore, it is common practice for the client to 109 negotiate TLS even if the SMTP server's certificate is invalid. 111 Policy mechanisms such as DANE [RFC7672] and MTA-STS [RFC8461] may 112 impose requirements for the use of TLS for email destined for some 113 domains. However, such policies do not allow the sender to specify 114 which messages are more sensitive and require transport-level 115 encryption, and which ones are less sensitive and ought to be relayed 116 even if TLS cannot be negotiated successfully. 118 The default opportunistic nature of SMTP TLS enables several "on the 119 wire" attacks on SMTP security between MTAs. These include passive 120 eavesdropping on connections for which TLS is not used, interference 121 in the SMTP protocol to prevent TLS from being negotiated (presumably 122 accompanied by eavesdropping), and insertion of a man-in-the-middle 123 attacker exploiting the lack of server authentication by the client. 124 Attacks are described in more detail in the Security Considerations 125 section of this document. 127 REQUIRETLS consists of two mechanisms: an SMTP service extension and 128 a message header field. The service extension is used to specify 129 that a given message sent during a particular session MUST be sent 130 over a TLS-protected session with specified security characteristics. 131 It also requires that the SMTP server advertise that it supports 132 REQUIRETLS, in effect promising that it will honor the requirement to 133 enforce TLS transmission and REQUIRETLS support for onward 134 transmission of those messages. 136 The TLS-Required message header field is used to convey a request to 137 ignore recipient-side policy mechanisms such as MTA-STS and DANE, 138 thereby prioritizing delivery over ability to negotiate TLS. Unlike 139 the service extension, the TLS-Required header field allows the 140 message to transit through one or more MTAs that do not support 141 REQUIRETLS. 143 1.1. Requirements Language 145 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 146 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 147 "OPTIONAL" in this document are to be interpreted as described in BCP 148 14 [RFC2119] [RFC8174] when, and only when, they appear in all 149 capitals, as shown here. 151 The formal syntax uses the Augmented Backus-Naur Form (ABNF) 152 [RFC5234] including the core rules defined in Appendix B of that 153 document. 155 2. The REQUIRETLS Service Extension 157 1. The textual name of the extension is "Require TLS". 159 2. The EHLO keyword value associated with this extension is 160 "REQUIRETLS". 162 3. No additional SMTP verbs are defined by this extension. 164 4. One optional parameter ("REQUIRETLS") is added to the MAIL FROM 165 command by this extension. No value is associated with this 166 parameter. 168 5. The maximum length of a MAIL FROM command line is increased by 11 169 octets by the possible addition of a space and the REQUIRETLS 170 keyword. 172 6. One new SMTP status code is defined by this extension to convey 173 an error condition resulting from failure of the client to send 174 to a server not also supporting the REQUIRETLS extension. 176 7. The REQUIRETLS extension is valid for message relay [RFC5321], 177 submission [RFC6409], and the Local Mail Transfer Protocol (LMTP) 178 [RFC2033] 180 8. The ABNF syntax for the MAIL FROM parameter is as follows: 182 requiretls-param = "REQUIRETLS" 183 ; where requiretls-param is an instance of an 184 ; esmtp-param used in Mail-parameters in 185 ; RFC 5321 Section 4.1.2. There is no esmtp-value 186 ; associated with requiretls-param. 188 In order to specify REQUIRETLS treatment for a given message, the 189 REQUIRETLS option is specified on the MAIL FROM command when that 190 message is transmitted. This option MUST only be specified in the 191 context of an SMTP session meeting the security requirements of 192 REQUIRETLS: 194 o The session itself MUST employ TLS transmission. 196 o If the SMTP server to which the message is being transmitted is 197 identified through an MX record lookup, its name MUST be validated 198 via a DNSSEC signature on the recipient domain's MX record, or the 199 MX hostname MUST be validated by an MTA-STS policy as described in 200 Section 4.1 of RFC 8461 [RFC8461]. DNSSEC is defined in RFC 4033 201 [RFC4033], RFC 4034 [RFC4034], and RFC 4035 [RFC4035]. 203 o The certificate presented by the SMTP server MUST either verify 204 successfully in a trust chain leading to a certificate trusted by 205 the SMTP client or it MUST verify successfully using DANE as 206 specified in RFC 7672 [RFC7672]. For trust chains, the choice of 207 trusted (root) certificates is at the discretion of the SMTP 208 client. 210 o Following the negotiation of STARTTLS, the SMTP server MUST 211 advertise in the subsequent EHLO response that it supports 212 REQUIRETLS. 214 3. The TLS-Required Header Field 216 One new message header field [RFC5322], TLS-Required, is defined by 217 this specification. It is used for messages for which the originator 218 requests that recipient TLS policy (including MTA-STS [RFC8461] and 219 DANE [RFC7672]) be ignored. This might be done, for example, to 220 report a misconfigured mail server, such as an expired TLS 221 certificate. 223 The TLS-Required header field has a single REQUIRED parameter: 225 o No - The SMTP client SHOULD attempt to send the message regardless 226 of its ability to negotiate STARTTLS with the SMTP server, 227 ignoring policy-based mechanisms (including MTA-STS and DANE), if 228 any, asserted by the recipient domain. Nevertheless, the client 229 SHOULD negotiate STARTTLS with the server if available. 231 More than one instance of the TLS-Required header field MUST NOT 232 appear in a given message. 234 The ABNF syntax for the TLS-Required header field is as follows: 236 requiretls-field = "TLS-Required:" [FWS] "No" CRLF 237 ; where requiretls-field in an instance of an 238 ; optional-field defined in RFC 5322 Section 239 ; 3.6.8. 240 FWS = 241 CRLF = 243 4. REQUIRETLS Semantics 245 4.1. REQUIRETLS Receipt Requirements 247 Upon receipt of the REQUIRETLS option on a MAIL FROM command during 248 the receipt of a message, an SMTP server MUST tag that message as 249 needing REQUIRETLS handling. 251 Upon receipt of a message not specifying the REQUIRETLS option on its 252 MAIL FROM command but containing the TLS-Required header field in its 253 message header, an SMTP server implementing this specification MUST 254 tag that message with the option specified in the TLS-Required header 255 field. If the REQUIRETLS MAIL FROM parameter is specified, the TLS- 256 Required header field MUST be ignored but MAY be included in onward 257 relay of the message. 259 The manner in which the above tagging takes place is implementation- 260 dependent. If the message is being locally aliased and redistributed 261 to multiple addresses, all instances of the message MUST be tagged in 262 the same manner. 264 4.2. REQUIRETLS Sender Requirements 266 4.2.1. Sending with TLS Required 268 When sending a message tagged as requiring TLS for which the MAIL 269 FROM return-path is not empty (an empty MAIL FROM return-path 270 indicating a bounce message), the sending (client) MTA MUST: 272 1. Look up the SMTP server to which the message is to be sent as 273 described in [RFC5321] Section 5.1. 275 2. If the server lookup is accomplished via the recipient domain's 276 MX record (the usual case) and is not accompanied by a valid 277 DNSSEC signature, the client MUST also validate the SMTP server 278 name using MTA-STS as described in RFC 8461 [RFC8461] 279 Section 4.1. 281 3. Open an SMTP session with the peer SMTP server using the EHLO 282 verb. 284 4. Establish a TLS-protected SMTP session with its peer SMTP server 285 and authenticate the server's certificate as specified in 286 [RFC6125] or [RFC7672] as applicable. 288 5. Ensure that the response to the subsequent EHLO following 289 establishment of the TLS protection advertises the REQUIRETLS 290 capability. 292 The SMTP client SHOULD follow the recommendations in [RFC7525] or its 293 successor with respect to negotiation of the TLS session. 295 If any of the above steps fail, the client MUST issue a QUIT to the 296 server and repeat steps 2-5 with each host on the recipient domain's 297 list of MX hosts in an attempt to find a mail path that meets the 298 sender's requirements. The client MAY send other, unprotected, 299 messages to that server if it has any prior to issuing the QUIT. If 300 there are no more MX hosts, the client MUST NOT transmit the message 301 to the domain. 303 Following such a failure, the SMTP client MUST send a non-delivery 304 notification to the reverse-path of the failed message as described 305 in section 3.6 of [RFC5321]. The following status codes [RFC5248] 306 SHOULD be used: 308 o REQUIRETLS not supported by server: 5.7.YYY REQUIRETLS needed 310 o Unable to establish TLS-protected SMTP session: 5.7.10 Encryption 311 needed 313 Refer to Section 5 for further requirements regarding non-delivery 314 messages. 316 If all REQUIRETLS requirements have been met, transmit the message, 317 issuing the REQUIRETLS option on the MAIL FROM command with the 318 required option(s), if any. 320 4.2.2. Sending with TLS Optional 322 Messages tagged TLS-Required: No are handled as follows. When 323 sending such a message, the sending (client) MTA MUST: 325 o Look up the SMTP server to which the message is to be sent as 326 described in [RFC5321] Section 5.1. 328 o Open an SMTP session with the peer SMTP server using the EHLO 329 verb. Attempt to negotiate STARTTLS if possible, and follow any 330 policy published by the recipient domain, but do not fail if this 331 is unsuccessful. 333 Some SMTP servers may be configured to require STARTTLS connections 334 as a matter of policy and not accept messages in the absence of 335 STARTTLS. A non-delivery notification MUST be returned to the sender 336 if message relay fails due to an inability to negotiate STARTTLS when 337 required by the server. 339 Since messages tagged with TLS-Required: No will sometimes be sent to 340 SMTP servers not supporting REQUIRETLS, that option will not be 341 uniformly observed by all SMTP relay hops. 343 4.3. REQUIRETLS Submission 345 An MUA or other agent making the initial introduction of a message 346 has authority to decide whether to require TLS. When TLS is to be 347 required, it MUST do so by negotiating STARTTLS and REQUIRETLS and 348 include the REQUIRETLS option on the MAIL FROM command, as is done 349 for message relay. 351 When TLS is not to be required, the sender MUST include the TLS- 352 Required header field in the message. SMTP servers implementing this 353 specification MUST interpret this header field as described in 354 Section 4.1. 356 In either case, the decision whether to specify REQUIRETLS MAY be 357 done based on a user interface selection or based on a ruleset or 358 other policy. The manner in which the decision to require TLS is 359 made is implementation-dependent and is beyond the scope of this 360 specification. 362 4.4. Delivery of REQUIRETLS messages 364 Messages are usually retrieved by end users using protocols other 365 than SMTP such as IMAP [RFC3501], POP [RFC1939], or web mail systems. 366 Mail delivery agents supporting the REQUIRETLS SMTP option SHOULD 367 observe the guidelines in [RFC8314]. 369 5. Non-delivery message handling 371 Non-delivery ("bounce") messages usually contain important metadata 372 about the message to which they refer, including the original message 373 header. They therefore MUST be protected in the same manner as the 374 original message. All non-delivery messages resulting from messages 375 with the REQUIRETLS SMTP option, whether resulting from a REQUIRETLS 376 error or some other, MUST also specify the REQUIRETLS SMTP option 377 unless redacted as described below. 379 The path from the origination of an error bounce message back to the 380 MAIL FROM address may not share the same REQUIRETLS support as the 381 forward path. Therefore, users requiring TLS are advised to make 382 sure that they are capable of receiving mail using REQUIRETLS as 383 well. Otherwise, such non-delivery messages will be lost. 385 If a REQUIRETLS message is bounced, the server MUST behave as if 386 RET=HDRS was present as described in [RFC3461]. If both RET=FULL and 387 REQUIRETLS are present, the RET=FULL MUST be disregarded. The SMTP 388 client for a REQUIRETLS bounce message uses an empty MAIL FROM 389 return-path as required by [RFC5321]. When the MAIL FROM return-path 390 is empty, the REQUIRETLS parameter SHOULD NOT cause a bounce message 391 to be discarded even if the next-hop relay does not advertise 392 REQUIRETLS. 394 Senders of messages requiring TLS are advised to consider the 395 possibility that bounce messages will be lost as a result of 396 REQUIRETLS return path failure, and that some information could be 397 leaked if a bounce message is not able to be transmitted with 398 REQUIRETLS. 400 6. Reorigination considerations 402 In a number of situations, a mediator [RFC5598] originates a new 403 message as a result of an incoming message. These situations 404 include, but are not limited to, mailing lists (including 405 administrative traffic such as message approval requests), Sieve 406 [RFC5228], "vacation" responders, and other filters to which incoming 407 messages may be piped. These newly originated messages may 408 essentially be copies of the incoming message, such as with a 409 forwarding service or a mailing list expander. In other cases, such 410 as with a vacation message or a delivery notification, they will be 411 different but might contain parts of the original message or other 412 information for which the original message sender wants to influence 413 the requirement to use TLS transmission. 415 Mediators that reoriginate messages should apply REQUIRETLS 416 requirements in incoming messages (both requiring TLS transmission 417 and requesting that TLS not be required) to the reoriginated messages 418 to the extent feasible. A limitation to this might be that for a 419 message requiring TLS, redistribution to multiple addresses while 420 retaining the TLS requirement could result in the message not being 421 delivered to some of the intended recipients. 423 User-side mediators (such as use of Sieve rules on a user agent) 424 typically do not have access to the SMTP details, and therefore may 425 not be aware of the REQUIRETLS requirement on a delivered message. 426 Recipients that expect sensitive traffic should avoid the use of 427 user-side mediators. Alternatively, if operationally feasible (such 428 as when forwarding to a specific, known address), they should apply 429 REQUIRETLS to all reoriginated messages that do not contain the "TLS- 430 Required: No" header field. 432 7. IANA Considerations 434 If published as an RFC, this draft requests the addition of the 435 following keyword to the SMTP Service Extensions Registry 436 [MailParams]: 438 Textual name: Require TLS 439 EHLO keyword value: REQUIRETLS 440 Syntax and parameters: (no parameters) 441 Additional SMTP verbs: none 442 MAIL and RCPT parameters: REQUIRETLS parameter on MAIL 443 Behavior: Use of the REQUIRETLS parameter on the 444 MAIL verb causes that message to require 445 the use of TLS and tagging with 446 REQUIRETLS for all onward relay. 447 Command length increment: 11 characters 449 If published as an RFC, this draft requests the addition of an entry 450 to the Simple Mail Transfer Protocol (SMTP) Enhanced Status Codes 451 Registry [SMTPStatusCodes]: 453 Code: 5.7.YYY 454 Sample Text: REQUIRETLS support required 455 Associated basic status code: 550 456 Description: This indicates that the message was not 457 able to be forwarded because it was 458 received with a REQUIRETLS requirement 459 and none of the SMTP servers to which 460 the message should be forwarded provide 461 this support. 462 Reference: (this document) 463 Submitter: J. Fenton 464 Change controller: IESG 466 If published as an RFC, this draft requests the addition of an entry 467 to the Permanent Message Header Field Names Registry 468 [PermMessageHeaderFields]: 470 Header field name: TLS-Required 471 Applicable protocol: mail 472 Status: standard 473 Author/change controller: IETF 474 Specification document: (this document) 476 This section is to be updated for publication by the RFC Editor. 478 8. Security Considerations 480 The purpose of REQUIRETLS is to give the originator of a message 481 control over the security of email they send, either by conveying an 482 expectation that it will be transmitted in an encrypted form "over 483 the wire" or explicitly that transport encryption is not required if 484 it cannot be successfully negotiated. 486 The following considerations apply to the REQUIRETLS service 487 extension but not the TLS-Required header field, since messages 488 specifying the header field are less concerned with transport 489 security. 491 8.1. Passive attacks 493 REQUIRETLS is generally effective against passive attackers who are 494 merely trying to eavesdrop on an SMTP exchange between an SMTP client 495 and server. This assumes, of course, the cryptographic integrity of 496 the TLS connection being used. 498 8.2. Active attacks 500 Active attacks against TLS encrypted SMTP connections can take many 501 forms. One such attack is to interfere in the negotiation by 502 changing the STARTTLS command to something illegal such as XXXXXXXX. 503 This causes TLS negotiation to fail and messages to be sent in the 504 clear, where they can be intercepted. REQUIRETLS detects the failure 505 of STARTTLS and declines to send the message rather than send it 506 insecurely. 508 A second form of attack is a man-in-the-middle attack where the 509 attacker terminates the TLS connection rather than the intended SMTP 510 server. This is possible when, as is commonly the case, the SMTP 511 client either does not verify the server's certificate or establishes 512 the connection even when the verification fails. REQUIRETLS requires 513 successful certificate validation before sending the message. 515 Another active attack involves the spoofing of DNS MX records of the 516 recipient domain. An attacker having this capability could 517 potentially cause the message to be redirected to a mail server under 518 the attacker's own control, which would presumably have a valid 519 certificate. REQUIRETLS requires that the recipient domain's MX 520 record lookup be validated either using DNSSEC or via a published 521 MTA-STS policy that specifies the acceptable SMTP server hostname(s) 522 for the recipient domain. 524 8.3. Bad Actor MTAs 526 A bad-actor MTA along the message transmission path could 527 misrepresent its support of REQUIRETLS and/or actively strip 528 REQUIRETLS tags from messages it handles. However, since 529 intermediate MTAs are already trusted with the cleartext of messages 530 they handle, and are not part of the threat model for transport-layer 531 security, they are also not part of the threat model for REQUIRETLS. 533 It should be reemphasized that since SMTP TLS is a transport-layer 534 security protocol, messages sent using REQUIRETLS are not encrypted 535 end-to-end and are visible to MTAs that are part of the message 536 delivery path. Messages containing sensitive information that MTAs 537 should not have access to MUST be sent using end-to-end content 538 encryption such as OpenPGP [RFC4880] or S/MIME [RFC5751]. 540 8.4. Policy Conflicts 542 In some cases, the use of the TLS-Required header field may conflict 543 with a recipient domain policy expressed through the DANE [RFC7672] 544 or MTA-STS [RFC8461] protocols. Although these protocols encourage 545 the use of TLS transport by advertising availability of TLS, the use 546 of "TLS-Required: No" header field represents an explicit decision on 547 the part of the sender not to require the use of TLS, such as to 548 overcome a configuration error. The recipient domain has the 549 ultimate ability to require TLS by not accepting messages when 550 STARTTLS has not been negotiated; otherwise, "TLS-Required: No" is 551 effectively directing the client MTA to behave as if it does not 552 support DANE nor MTA-STS. 554 9. Acknowledgements 556 The author would like to acknowledge many helpful suggestions on the 557 ietf-smtp and uta mailing lists, in particular those of Viktor 558 Dukhovni, Chris Newman, Tony Finch, Jeremy Harris, Arvel Hathcock, 559 John Klensin, Barry Leiba, John Levine, Rolf Sonneveld, and Per 560 Thorsheim. 562 10. Revision History 564 To be removed by RFC Editor upon publication as an RFC. 566 10.1. Changes since -07 Draft 568 Changes in response to IESG review and IETF Last Call comments: 570 o Change associated status code for 5.7.YYY from 530 to 550. 572 o Correct textual name of extension in IANA Considerations for 573 consistency with the rest of the document. 575 o Remove special handling of bounce messages in Section 4.1. 577 o Change name of header field from RequireTLS to TLS-Required and 578 make capitalization of parameter consistent. 580 o Remove mention of transforming RET=FULL to RET=HDRS on relay in 581 Section 5. 583 o Replace Section 6 dealing with mailing lists with a more general 584 section on reorigination by mediators. 586 o Add security considerations section on policy conflicts. 588 10.2. Changes since -06 Draft 590 Various changes in response to AD review: 592 o Reference RFC 7525 for TLS negotiation recommendations. 594 o Make reference to requested 5.7.YYY error code consistent. 596 o Clarify applicability to LMTP and submission. 598 o Provide ABNF for syntax of SMTP option and header field and 599 examples in Appendix A. 601 o Correct use of normative language in Section 5. 603 o Clarify case where REQUIRETLS option is used on bounce messages. 605 o Improve Security Requirements wording to be incusive of both SMTP 606 option and header field. 608 10.3. Changes since -05 Draft 610 Corrected IANA Permanent Message Header Fields Registry request. 612 10.4. Changes since -04 Draft 614 Require validation of SMTP server hostname via DNSSEC or MTA-STS 615 policy when TLS is required. 617 10.5. Changes since -03 Draft 619 Working Group Last Call changes, including: 621 o Correct reference for SMTP DANE 623 o Clarify that RequireTLS: NO applies to both MTA-STS and DANE 624 policies 626 o Correct newly-defined status codes 628 o Update MTA-STS references to RFC 630 10.6. Changes since -02 Draft 632 o More complete documentation for IANA registration requests. 634 o Changed bounce handling to use RET parameters of [RFC3461], along 635 with slightly more liberal transmission of bounces even if 636 REQUIRETLS can't be negotiated. 638 10.7. Changes since -01 Draft 640 o Converted DEEP references to RFC 8314. 642 o Removed REQUIRETLS options: CHAIN, DANE, and DNSSEC. 644 o Editorial corrections, notably making the header field name 645 consistent (RequireTLS rather than Require-TLS). 647 10.8. Changes since -00 Draft 649 o Created new header field, Require-TLS, for use by "NO" option. 651 o Removed "NO" option from SMTP service extension. 653 o Recommend DEEP requirements for delivery of messages requiring 654 TLS. 656 o Assorted copy edits 658 10.9. Changes since fenton-03 Draft 660 o Wording improvements from Rolf Sonneveld review 22 July 2017 662 o A few copy edits 664 o Conversion from individual to UTA WG draft 666 10.10. Changes Since -02 Draft 668 o Incorporation of "MAY TLS" functionality as REQUIRETLS=NO per 669 suggestion on UTA WG mailing list. 671 o Additional guidance on bounce messages 673 10.11. Changes Since -01 Draft 675 o Specified retries when multiple MX hosts exist for a given domain. 677 o Clarified generation of non-delivery messages 679 o Specified requirements for application of REQUIRETLS to mail 680 forwarders and mailing lists. 682 o Clarified DNSSEC requirements to include MX lookup only. 684 o Corrected terminology regarding message retrieval vs. delivery. 686 o Changed category to standards track. 688 10.12. Changes Since -00 Draft 690 o Conversion of REQUIRETLS from an SMTP verb to a MAIL FROM 691 parameter to better associate REQUIRETLS requirements with 692 transmission of individual messages. 694 o Addition of an option to require DNSSEC lookup of the remote mail 695 server, since this affects the common name of the certificate that 696 is presented. 698 o Clarified the wording to more clearly state that TLS sessions must 699 be established and not simply that STARTTLS is negotiated. 701 o Introduced need for minimum encryption standards (key lengths and 702 algorithms) 704 o Substantially rewritten Security Considerations section 706 11. References 708 11.1. Normative References 710 [MailParams] 711 Internet Assigned Numbers Authority (IANA), "IANA Mail 712 Parameters", 2007, 713 . 715 [PermMessageHeaderFields] 716 Internet Assigned Numbers Authority (IANA), "Permanent 717 Message Header Field Names Registry", 2004, 718 . 721 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 722 Requirement Levels", BCP 14, RFC 2119, 723 DOI 10.17487/RFC2119, March 1997, 724 . 726 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 727 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 728 February 2002, . 730 [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service 731 Extension for Delivery Status Notifications (DSNs)", 732 RFC 3461, DOI 10.17487/RFC3461, January 2003, 733 . 735 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 736 Rose, "DNS Security Introduction and Requirements", 737 RFC 4033, DOI 10.17487/RFC4033, March 2005, 738 . 740 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 741 Rose, "Resource Records for the DNS Security Extensions", 742 RFC 4034, DOI 10.17487/RFC4034, March 2005, 743 . 745 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 746 Rose, "Protocol Modifications for the DNS Security 747 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, 748 . 750 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 751 Specifications: ABNF", STD 68, RFC 5234, 752 DOI 10.17487/RFC5234, January 2008, 753 . 755 [RFC5248] Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced 756 Mail System Status Codes", BCP 138, RFC 5248, 757 DOI 10.17487/RFC5248, June 2008, 758 . 760 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 761 DOI 10.17487/RFC5321, October 2008, 762 . 764 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 765 DOI 10.17487/RFC5322, October 2008, 766 . 768 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 769 Verification of Domain-Based Application Service Identity 770 within Internet Public Key Infrastructure Using X.509 771 (PKIX) Certificates in the Context of Transport Layer 772 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 773 2011, . 775 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 776 "Recommendations for Secure Use of Transport Layer 777 Security (TLS) and Datagram Transport Layer Security 778 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 779 2015, . 781 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via 782 Opportunistic DNS-Based Authentication of Named Entities 783 (DANE) Transport Layer Security (TLS)", RFC 7672, 784 DOI 10.17487/RFC7672, October 2015, 785 . 787 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 788 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 789 May 2017, . 791 [RFC8314] Moore, K. and C. Newman, "Cleartext Considered Obsolete: 792 Use of Transport Layer Security (TLS) for Email Submission 793 and Access", RFC 8314, DOI 10.17487/RFC8314, January 2018, 794 . 796 [RFC8461] Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., 797 and J. Jones, "SMTP MTA Strict Transport Security (MTA- 798 STS)", RFC 8461, DOI 10.17487/RFC8461, September 2018, 799 . 801 [SMTPStatusCodes] 802 Internet Assigned Numbers Authority (IANA), "Simple Mail 803 Transfer Protocol (SMTP) Enhanced Status Codes Registry", 804 2008, . 807 11.2. Informative References 809 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 810 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 811 . 813 [RFC2033] Myers, J., "Local Mail Transfer Protocol", RFC 2033, 814 DOI 10.17487/RFC2033, October 1996, 815 . 817 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 818 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 819 . 821 [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R. 822 Thayer, "OpenPGP Message Format", RFC 4880, 823 DOI 10.17487/RFC4880, November 2007, 824 . 826 [RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email 827 Filtering Language", RFC 5228, DOI 10.17487/RFC5228, 828 January 2008, . 830 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, 831 DOI 10.17487/RFC5598, July 2009, 832 . 834 [RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet 835 Mail Extensions (S/MIME) Version 3.2 Message 836 Specification", RFC 5751, DOI 10.17487/RFC5751, January 837 2010, . 839 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 840 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 841 . 843 Appendix A. Examples 845 This section is informative. 847 A.1. REQUIRETLS SMTP Option 849 The TLS-Required SMTP option is used to express the intent of the 850 sender that the associated message be relayed using TLS. In the 851 following example, lines beginning with C: are transmitted from the 852 SMTP client to the server, and lines beginning with S: are 853 transmitted in the opposite direction. 855 S: 220 mail.example.net ESMTP 856 C: EHLO mail.example.org 857 S: 250-mail.example.net Hello example.org [192.0.2.1] 858 S: 250-SIZE 52428800 859 S: 250-8BITMIME 860 S: 250-PIPELINING 861 S: 250-STARTTLS 862 S: 250 HELP 863 C: STARTTLS 864 S: TLS go ahead 866 (at this point TLS negotiation takes place. The remainder of this 867 session occurs within TLS.) 869 S: 220 mail.example.net ESMTP 870 C: EHLO mail.example.org 871 S: 250-mail.example.net Hello example.org [192.0.2.1] 872 S: 250-SIZE 52428800 873 S: 250-8BITMIME 874 S: 250-PIPELINING 875 S: 250-REQUIRETLS 876 S: 250 HELP 877 C: MAIL FROM: REQUIRETLS 878 S: 250 OK 879 C: RCPT TO: 880 S: 250 Accepted 881 C: DATA 882 S: 354 Enter message, ending with "." on a line by itself 884 (message follows) 885 C: . 886 S: 250 OK 887 C: QUIT 889 A.2. TLS-Required Header Field 891 The TLS-Required header field is used when the sender of the message 892 wants to override the default policy of the recipient domain to 893 require TLS. It might be used, for example, to allow problems with 894 the recipient domain's TLS certificate to be reported: 896 From: Roger Reporter 897 To: Andy Admin 898 Subject: Certificate problem? 899 TLS-Required: No 900 Date: Fri, 18 Jan 2019 10:26:55 -0800 901 Message-ID: <5c421a6f79c0e_d153ff8286d45c468473@mail.example.org> 903 Andy, there seems to be a problem with the TLS certificate 904 on your mail server. Are you aware of this? 906 Roger 908 Author's Address 910 Jim Fenton 911 Altmode Networks 912 Los Altos, California 94024 913 USA 915 Email: fenton@bluepopcorn.net