| < draft-ietf-dane-smtp-with-dane-16.txt | draft-ietf-dane-smtp-with-dane-17.txt > | |||
|---|---|---|---|---|
| DANE V. Dukhovni | DANE V. Dukhovni | |||
| Internet-Draft Two Sigma | Internet-Draft Two Sigma | |||
| Intended status: Standards Track W. Hardaker | Intended status: Standards Track W. Hardaker | |||
| Expires: October 24, 2015 Parsons | Expires: November 17, 2015 Parsons | |||
| April 22, 2015 | May 16, 2015 | |||
| SMTP security via opportunistic DANE TLS | SMTP security via opportunistic DANE TLS | |||
| draft-ietf-dane-smtp-with-dane-16 | draft-ietf-dane-smtp-with-dane-17 | |||
| Abstract | Abstract | |||
| This memo describes a downgrade-resistant protocol for SMTP transport | This memo describes a downgrade-resistant protocol for SMTP transport | |||
| security between Mail Transfer Agents (MTAs) based on the DNS-Based | security between Mail Transfer Agents (MTAs) based on the DNS-Based | |||
| Authentication of Named Entities (DANE) TLSA DNS record. Adoption of | Authentication of Named Entities (DANE) TLSA DNS record. Adoption of | |||
| this protocol enables an incremental transition of the Internet email | this protocol enables an incremental transition of the Internet email | |||
| backbone to one using encrypted and authenticated Transport Layer | backbone to one using encrypted and authenticated Transport Layer | |||
| Security (TLS). | Security (TLS). | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on October 24, 2015. | This Internet-Draft will expire on November 17, 2015. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Background . . . . . . . . . . . . . . . . . . . . . . . 5 | 1.2. Background . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1.3. SMTP channel security . . . . . . . . . . . . . . . . . . 6 | 1.3. SMTP channel security . . . . . . . . . . . . . . . . . . 6 | |||
| 1.3.1. STARTTLS downgrade attack . . . . . . . . . . . . . . 6 | 1.3.1. STARTTLS downgrade attack . . . . . . . . . . . . . . 6 | |||
| 1.3.2. Insecure server name without DNSSEC . . . . . . . . . 7 | 1.3.2. Insecure server name without DNSSEC . . . . . . . . . 7 | |||
| 1.3.3. Sender policy does not scale . . . . . . . . . . . . 8 | 1.3.3. Sender policy does not scale . . . . . . . . . . . . 8 | |||
| 1.3.4. Too many certification authorities . . . . . . . . . 8 | 1.3.4. Too many certification authorities . . . . . . . . . 8 | |||
| 2. Identifying applicable TLSA records . . . . . . . . . . . . . 8 | 2. Identifying applicable TLSA records . . . . . . . . . . . . . 8 | |||
| 2.1. DNS considerations . . . . . . . . . . . . . . . . . . . 8 | 2.1. DNS considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.1.1. DNS errors, bogus and indeterminate responses . . . . 8 | 2.1.1. DNS errors, bogus and indeterminate responses . . . . 9 | |||
| 2.1.2. DNS error handling . . . . . . . . . . . . . . . . . 11 | 2.1.2. DNS error handling . . . . . . . . . . . . . . . . . 11 | |||
| 2.1.3. Stub resolver considerations . . . . . . . . . . . . 11 | 2.1.3. Stub resolver considerations . . . . . . . . . . . . 11 | |||
| 2.2. TLS discovery . . . . . . . . . . . . . . . . . . . . . . 12 | 2.2. TLS discovery . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 2.2.1. MX resolution . . . . . . . . . . . . . . . . . . . . 14 | 2.2.1. MX resolution . . . . . . . . . . . . . . . . . . . . 14 | |||
| 2.2.2. Non-MX destinations . . . . . . . . . . . . . . . . . 15 | 2.2.2. Non-MX destinations . . . . . . . . . . . . . . . . . 15 | |||
| 2.2.3. TLSA record lookup . . . . . . . . . . . . . . . . . 17 | 2.2.3. TLSA record lookup . . . . . . . . . . . . . . . . . 17 | |||
| 3. DANE authentication . . . . . . . . . . . . . . . . . . . . . 19 | 3. DANE authentication . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 3.1. TLSA certificate usages . . . . . . . . . . . . . . . . . 19 | 3.1. TLSA certificate usages . . . . . . . . . . . . . . . . . 19 | |||
| 3.1.1. Certificate usage DANE-EE(3) . . . . . . . . . . . . 20 | 3.1.1. Certificate usage DANE-EE(3) . . . . . . . . . . . . 20 | |||
| 3.1.2. Certificate usage DANE-TA(2) . . . . . . . . . . . . 20 | 3.1.2. Certificate usage DANE-TA(2) . . . . . . . . . . . . 21 | |||
| 3.1.3. Certificate usages PKIX-TA(0) and PKIX-EE(1) . . . . 22 | 3.1.3. Certificate usages PKIX-TA(0) and PKIX-EE(1) . . . . 22 | |||
| 3.2. Certificate matching . . . . . . . . . . . . . . . . . . 23 | 3.2. Certificate matching . . . . . . . . . . . . . . . . . . 23 | |||
| 3.2.1. DANE-EE(3) name checks . . . . . . . . . . . . . . . 23 | 3.2.1. DANE-EE(3) name checks . . . . . . . . . . . . . . . 23 | |||
| 3.2.2. DANE-TA(2) name checks . . . . . . . . . . . . . . . 23 | 3.2.2. DANE-TA(2) name checks . . . . . . . . . . . . . . . 23 | |||
| 3.2.3. Reference identifier matching . . . . . . . . . . . . 24 | 3.2.3. Reference identifier matching . . . . . . . . . . . . 24 | |||
| 4. Server key management . . . . . . . . . . . . . . . . . . . . 25 | 4. Server key management . . . . . . . . . . . . . . . . . . . . 25 | |||
| 5. Digest algorithm agility . . . . . . . . . . . . . . . . . . 26 | 5. Digest algorithm agility . . . . . . . . . . . . . . . . . . 26 | |||
| 6. Mandatory TLS Security . . . . . . . . . . . . . . . . . . . 26 | 6. Mandatory TLS Security . . . . . . . . . . . . . . . . . . . 26 | |||
| 7. Note on DANE for Message User Agents . . . . . . . . . . . . 26 | 7. Note on DANE for Message User Agents . . . . . . . . . . . . 27 | |||
| 8. Interoperability considerations . . . . . . . . . . . . . . . 27 | 8. Interoperability considerations . . . . . . . . . . . . . . . 27 | |||
| 8.1. SNI support . . . . . . . . . . . . . . . . . . . . . . . 27 | 8.1. SNI support . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 8.2. Anonymous TLS cipher suites . . . . . . . . . . . . . . . 27 | 8.2. Anonymous TLS cipher suites . . . . . . . . . . . . . . . 28 | |||
| 9. Operational Considerations . . . . . . . . . . . . . . . . . 28 | 9. Operational Considerations . . . . . . . . . . . . . . . . . 28 | |||
| 9.1. Client Operational Considerations . . . . . . . . . . . . 28 | 9.1. Client Operational Considerations . . . . . . . . . . . . 28 | |||
| 9.2. Publisher Operational Considerations . . . . . . . . . . 28 | 9.2. Publisher Operational Considerations . . . . . . . . . . 29 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | |||
| 11. IANA considerations . . . . . . . . . . . . . . . . . . . . . 30 | 11. IANA considerations . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 30 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 30 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 31 | 13.2. Informative References . . . . . . . . . . . . . . . . . 32 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 1. Introduction | 1. Introduction | |||
| This memo specifies a new connection security model for Message | This memo specifies a new connection security model for Message | |||
| Transfer Agents (MTAs). This model is motivated by key features of | Transfer Agents (MTAs). This model is motivated by key features of | |||
| inter-domain SMTP delivery, in particular the fact that the | inter-domain SMTP delivery, in particular the fact that the | |||
| destination server is selected indirectly via DNS Mail Exchange (MX) | destination server is selected indirectly via DNS Mail Exchange (MX) | |||
| records and that neither email addresses nor MX hostnames signal a | records and that neither email addresses nor MX hostnames signal a | |||
| requirement for either secure or cleartext transport. Therefore, | requirement for either secure or cleartext transport. Therefore, | |||
| skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 5 ¶ | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| [RFC2119]. | [RFC2119]. | |||
| The following terms or concepts are used through the document: | The following terms or concepts are used through the document: | |||
| Man-in-the-middle or MITM attack: Active modification of network | Man-in-the-middle or MITM attack: Active modification of network | |||
| traffic by an adversary able to thereby compromise the | traffic by an adversary able to thereby compromise the | |||
| confidentiality or integrity of the data. | confidentiality or integrity of the data. | |||
| Downgrade attack: (From [RFC4949]). A type of man-in-the-middle | ||||
| attack in which the attacker can cause two parties, at the time | ||||
| they negotiate a security association, to agree on a lower level | ||||
| of protection than the highest level that could have been | ||||
| supported by both of them. | ||||
| Downgrade-resistant: A protocol is "downgrade-resistant" if it | ||||
| employs effective counter-measures against downgrade attacks. | ||||
| secure, bogus, insecure, indeterminate: DNSSEC validation results, | secure, bogus, insecure, indeterminate: DNSSEC validation results, | |||
| as defined in Section 4.3 of [RFC4035]. | as defined in Section 4.3 of [RFC4035]. | |||
| Validating Security-Aware Stub Resolver and Non-Validating | Validating Security-Aware Stub Resolver and Non-Validating | |||
| Security-Aware Stub Resolver: | Security-Aware Stub Resolver: | |||
| Capabilities of the stub resolver in use as defined in [RFC4033]; | Capabilities of the stub resolver in use as defined in [RFC4033]; | |||
| note that this specification requires the use of a Security-Aware | note that this specification requires the use of a Security-Aware | |||
| Stub Resolver. | Stub Resolver. | |||
| (pre-DANE) opportunistic TLS: Best-effort use of TLS that is | (pre-DANE) opportunistic TLS: Best-effort use of TLS that is | |||
| skipping to change at page 15, line 17 ¶ | skipping to change at page 15, line 23 ¶ | |||
| tamper-evident when SMTP servers found via "insecure" MX records are | tamper-evident when SMTP servers found via "insecure" MX records are | |||
| recorded as the next-hop relay in the MTA delivery logs in their | recorded as the next-hop relay in the MTA delivery logs in their | |||
| original (rather than CNAME expanded) form. Sending MTAs SHOULD log | original (rather than CNAME expanded) form. Sending MTAs SHOULD log | |||
| unexpanded MX hostnames when these result from insecure MX lookups. | unexpanded MX hostnames when these result from insecure MX lookups. | |||
| Any successful authentication via an insecurely determined MX host | Any successful authentication via an insecurely determined MX host | |||
| MUST NOT be misrepresented in the mail logs as secure delivery to the | MUST NOT be misrepresented in the mail logs as secure delivery to the | |||
| intended next-hop domain. When DANE TLS is mandatory (Section 6) for | intended next-hop domain. When DANE TLS is mandatory (Section 6) for | |||
| a given destination, delivery MUST be delayed when the MX RRSet is | a given destination, delivery MUST be delayed when the MX RRSet is | |||
| not "secure". | not "secure". | |||
| If the MX RRset is not "insecure", then -- assuming no DNS lookup | In the absence of DNS lookup errors (Section 2.1.1), if the MX RRset | |||
| errors (Section 2.1.1) -- the MX RRSet is "secure", and the SMTP | is not "insecure" then it is "secure", and the SMTP client MUST treat | |||
| client MUST treat each MX hostname as a separate non-MX destination | each MX hostname as a separate non-MX destination for opportunistic | |||
| for opportunistic DANE TLS (as described in Section 2.2.2). When, | DANE TLS (as described in Section 2.2.2). When, for a given MX | |||
| for a given MX hostname, no TLSA records are found, or only | hostname, no TLSA records are found, or only "insecure" TLSA records | |||
| "insecure" TLSA records are found, DANE TLSA is not applicable with | are found, DANE TLSA is not applicable with the SMTP server in | |||
| the SMTP server in question and delivery proceeds to that host as | question and delivery proceeds to that host as with pre-DANE | |||
| with pre-DANE opportunistic TLS. To avoid downgrade attacks, any | opportunistic TLS. To avoid downgrade attacks, any errors during | |||
| errors during TLSA lookups MUST, as explained in Section 2.1.1, cause | TLSA lookups MUST, as explained in Section 2.1.1, cause the SMTP | |||
| the SMTP server in question to be treated as unreachable. | server in question to be treated as unreachable. | |||
| 2.2.2. Non-MX destinations | 2.2.2. Non-MX destinations | |||
| This section describes the algorithm used to locate the TLSA records | This section describes the algorithm used to locate the TLSA records | |||
| and associated TLSA base domain for an input domain that is not | and associated TLSA base domain for an input domain that is not | |||
| subject to MX resolution or that lacks MX records. Such domains | subject to MX resolution or that lacks MX records. Such domains | |||
| include: | include: | |||
| o Any host configured by the sending MTA administrator as the next- | o Any host configured by the sending MTA administrator as the next- | |||
| hop relay for some or all domains, that is not subject to MX | hop relay for some or all domains, that is not subject to MX | |||
| skipping to change at page 31, line 48 ¶ | skipping to change at page 32, line 10 ¶ | |||
| [RFC7218] Gudmundsson, O., "Adding Acronyms to Simplify | [RFC7218] Gudmundsson, O., "Adding Acronyms to Simplify | |||
| Conversations about DNS-Based Authentication of Named | Conversations about DNS-Based Authentication of Named | |||
| Entities (DANE)", RFC 7218, April 2014. | Entities (DANE)", RFC 7218, April 2014. | |||
| 13.2. Informative References | 13.2. Informative References | |||
| [I-D.ietf-dane-srv] | [I-D.ietf-dane-srv] | |||
| Finch, T., Miller, M., and P. Saint-Andre, "Using DNS- | Finch, T., Miller, M., and P. Saint-Andre, "Using DNS- | |||
| Based Authentication of Named Entities (DANE) TLSA Records | Based Authentication of Named Entities (DANE) TLSA Records | |||
| with SRV Records", draft-ietf-dane-srv-13 (work in | with SRV Records", draft-ietf-dane-srv-14 (work in | |||
| progress), April 2015. | progress), April 2015. | |||
| [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
| STD 13, RFC 1034, November 1987. | STD 13, RFC 1034, November 1987. | |||
| [RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
| specification", STD 13, RFC 1035, November 1987. | specification", STD 13, RFC 1035, November 1987. | |||
| [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS | [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS | |||
| Specification", RFC 2181, July 1997. | Specification", RFC 2181, July 1997. | |||
| [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC | ||||
| 4949, August 2007. | ||||
| [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, July | [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, July | |||
| 2009. | 2009. | |||
| [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", | [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", | |||
| STD 72, RFC 6409, November 2011. | STD 72, RFC 6409, November 2011. | |||
| [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection | [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection | |||
| Most of the Time", RFC 7435, December 2014. | Most of the Time", RFC 7435, December 2014. | |||
| Authors' Addresses | Authors' Addresses | |||
| End of changes. 14 change blocks. | ||||
| 23 lines changed or deleted | 35 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||