--- 1/draft-ietf-uta-email-tls-certs-07.txt 2015-12-17 06:15:09.604543632 -0800 +++ 2/draft-ietf-uta-email-tls-certs-08.txt 2015-12-17 06:15:09.632544307 -0800 @@ -1,20 +1,20 @@ Network Working Group A. Melnikov Internet-Draft Isode Ltd -Updates: 2595, 3207, 3501, 5804 (if December 9, 2015 +Updates: 2595, 3207, 3501, 5804 (if December 17, 2015 approved) Intended status: Standards Track -Expires: June 11, 2016 +Expires: June 19, 2016 Updated TLS Server Identity Check Procedure for Email Related Protocols - draft-ietf-uta-email-tls-certs-07 + draft-ietf-uta-email-tls-certs-08 Abstract This document describes TLS server identity verification procedure for SMTP Submission, IMAP, POP and ManageSieve clients. It replaces Section 2.4 of RFC 2595, updates Section 4.1 of RFC 3207, updates Section 11.1 of RFC 3501, updates Section 2.2.1 of RFC 5804. Status of This Memo @@ -24,21 +24,21 @@ 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 June 11, 2016. + This Internet-Draft will expire on June 19, 2016. Copyright Notice Copyright (c) 2015 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 publication of this document. Please review these documents @@ -52,65 +52,67 @@ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 3. Email Server Certificate Verification Rules . . . . . . . . . 3 4. Compliance Checklist for Certification Authorities . . . . . 5 4.1. Notes on handling of SRV-ID by Certification Authorities 5 5. Compliance Checklist for Mail Service Providers and Certificate Signing Request generation tools . . . . . . . . 6 5.1. Notes on hosting multiple domains . . . . . . . . . . . . 6 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 - 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 - 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 - 9.2. Informative References . . . . . . . . . . . . . . . . . 10 - Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 11 - Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 . . 11 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 + 7. Operational Considerations . . . . . . . . . . . . . . . . . 8 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 + 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 + 10.2. Informative References . . . . . . . . . . . . . . . . . 10 + Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 12 + Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 . . 12 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction Use of TLS by SMTP Submission, IMAP, POP and ManageSieve clients is described in [RFC3207], [RFC3501], [RFC2595] and [RFC5804] respectively. Each of the documents describes slightly different rules for server certificate identity verification (or doesn't define any rules at all). In reality, email client and server developers implement many of these protocols at the same time, so it would be good to define modern and consistent rules for verifying email server identities using TLS. This document describes the updated TLS server identity verification procedure for SMTP Submission [RFC6409] [RFC3207], IMAP [RFC3501], - POP [RFC1939] and ManageSieve [RFC5804] clients. It replaces - Section 2.4 of RFC 2595. + POP [RFC1939] and ManageSieve [RFC5804] clients. Section 3 of this + document replaces Section 2.4 of [RFC2595]. Note that this document doesn't apply to use of TLS in MTA-to-MTA SMTP. This document provides a consistent TLS server identity verification procedure across multiple email related protocols. This should make it easier for Certification Authorities and ISPs to deploy TLS for email use, and would enable email client developers to write more secure code. 2. Conventions 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]. The following terms or concepts are used through the document: - reference identifier: (as defined in [RFC6125]) One of the domain - names associated by the email (i.e., an SMTP, IMAP, POP3 or - ManageSieve) client with the target email server and optionally an + reference identifier: (formally defined in [RFC6125]) One of the + domain names that the email client (an SMTP, IMAP, POP3 or + ManageSieve client) associates with the target email server. For + some identifier types, the identifier can also include an application service type for performing name checks on the server certificate. When name checks are applicable, at least one of the reference identifiers MUST match an [RFC6125] DNS-ID or SRV-ID (or if none are present the [RFC6125] CN-ID) of the server certificate. CN-ID, DNS-ID, SRV-ID and URI-ID are identifier types (see [RFC6125] for details). For convenience, their short definitions from [RFC6125] are listed below: @@ -172,21 +174,21 @@ 3. URI-ID identifier type (subjectAltName of uniformResourceIdentifier type [RFC5280]) MUST NOT be used by clients for server verification, as URI-ID were not historically used for email. 4. For backward compatibility with deployed software CN-ID identifier type (CN attribute from the subject name, see [RFC6125]) MAY be used for server identity verification. - 5. Email protocols allow use of certain wilcards in identifiers + 5. Email protocols allow use of certain wildcards in identifiers presented by email servers. The "*" wildcard character MAY be used as the left-most name component of DNS-ID or CN-ID in the certificate. For example, a DNS-ID of *.example.com would match a.example.com, foo.example.com, etc. but would not match example.com. Note that the wildcard character MUST NOT be used as a fragment of the left-most name component (e.g., *oo.example.com, f*o.example.com, or foo*.example.com). 4. Compliance Checklist for Certification Authorities @@ -207,52 +209,48 @@ 4.1. Notes on handling of SRV-ID by Certification Authorities [RFC6186] provides an easy way for organizations to autoconfigure email clients. It also allows for delegation of email services to an email hosting provider. When connecting to such delegated hosting service an email client that attempts to verify TLS server identity needs to know that if it connects to imap.hosting.example.net that such server is authorized to provide email access for an email such as alice@example.org. In absence of SRV-IDs, users of compliant - email clients would be forced to manual confirm exception, because - TLS server certificate verification procedures specified in this - document would result in failure to match TLS server certificate - against the expected domains. One way to provide such authorization - is for the TLS certificate for imap.hosting.example.net to include - SRV-ID(s) (or DNS-ID) for example.org domain. (Another way is for - SRV lookups to be protected by DNSSEC, but this solution depends - reliance of DNSSEC and thus is not discussed in this document. A - future update to this document might rectify this.) + email clients would be forced to manually confirm exception, because + the TLS server certificate verification procedures specified in this + document would result in failure to match the TLS server certificate + against the expected domain(s). One way to provide such + authorization is for the TLS certificate for imap.hosting.example.net + to include SRV-ID(s) (or DNS-ID) for the example.org domain. + (Another way is for SRV lookups to be protected by DNSSEC, but this + solution depends on DNSSEC and thus is not discussed in this + document. A future update to this document might rectify this.) - The ability of issuing certificates that contain SRV-ID implies the + The ability to issue certificates that contain SRV-ID implies the ability to verify that entities requesting them are authorized to run email service for these SRV-IDs. In particular, certification authorities that can't verify such authorization MUST NOT include email SRV-IDs in certificates they issue. This document doesn't specify exact mechanism(s) that can be used to achieve this. However, a few special case recommendations are listed below. A certification authority willing to sign a certificate containing a particular DNS-ID SHOULD also support signing a certificate containing one or more of email SRV-IDs for the same domain, because the SRV-ID effectively provides more restricted access to an email service for the domain (as opposed to unrestricted use of any services for the same domain, as specified by DNS-ID). A certification authority which also provides DNS service for a domain can use DNS information to validate SRV-IDs for the domain. - A certification authority MAY treat a certificate for a subdomain of - example.com (e.g. imap.sub1.example.com or imap.example.com) that - contains one or more SRV-ID for example.com as validated. - 5. Compliance Checklist for Mail Service Providers and Certificate Signing Request generation tools 1. MUST include the DNS-ID identifier type in Certificate Signing Requests for the host name(s) where the email server(s) are running. SHOULD include the DNS-ID identifier type in Certificate Signing Requests for the domain portion of served email addresses. 2. If the email services provided are discoverable using DNS SRV as @@ -270,41 +268,53 @@ CN-ID can be used). 4. MAY include "*" (wildcard) as the left-most name component of DNS-ID or CN-ID in Certificate Signing Requests. 5.1. Notes on hosting multiple domains A server that hosts multiple domains needs to do one of the following (or some combination thereof): - 1. Use a single TLS certificate that includes a complete list of all + 1. Use DNS SRV records to redirect each hosted email service to a + fixed domain, deploy TLS certificate(s) for that single domain, + and instruct users to configure their clients with appropriate + pinning (unless the SRV records can always be obtained via + DNSSEC). Some email clients come with preloaded list of pinned + certificates for some popular domains, which can avoid the need + for manual confirmation. + + 2. Use a single TLS certificate that includes a complete list of all the domains it is serving. - 2. Serve each domain on its own IP/port, using separate TLS + 3. Serve each domain on its own IP/port, using separate TLS certificates on each IP/port. - 3. Use Server Name Indication (SNI) TLS extension [RFC6066] to + 4. Use Server Name Indication (SNI) TLS extension [RFC6066] to select the right certificate to return during TLS negotiation. Each domain has its own TLS certificate in this case. Each of these deployment choices have their scaling disadvantages - when the list of domains changes. A single certificate (the first - choice) requires that when a domain is added, then a new Certificate - Signing Request that includes a complete list of all the domains - needs to be issued and passed to a CA in order to generate a new - certificate. Separate IP/port can avoid regenerating the - certificate, but requires more transport layer resources. Use of TLS - SNI requires each email client to support it. + when the list of domains changes. Use of DNS SRV without SRV-ID + requires manual confirmation from users. While preloading pinned + certificates avoids the need for manual confirmation, this + information can get stale quickly or would require support for a new + mechanism for distributing preloaded pinned certificates. A single + certificate (the second choice) requires that when a domain is added, + then a new Certificate Signing Request that includes a complete list + of all the domains needs to be issued and passed to a CA in order to + generate a new certificate. Separate IP/port can avoid regenerating + the certificate, but requires more transport layer resources. Use of + TLS SNI requires each email client to support it. Several Mail Service Providers host hundreds and even thousands of - domain. This document, as well as its predecessors RFC 2595, RFC + domains. This document, as well as its predecessors RFC 2595, RFC 3207, RFC 3501 and RFC 5804 don't address scaling issues caused by use of TLS in multi-tenanted environments. Further work is needed to address this issue, possibly using DNSSEC or something like POSH [RFC7711]. 6. Examples Consider an IMAP-accessible email server which supports both IMAP and IMAPS (IMAP-over-TLS) at the host "mail.example.net" servicing email addresses of the form "user@example.net". A certificate for this @@ -349,46 +359,54 @@ domain "example.net", which runs SMTP Submission, IMAPS and POP3S (POP3-over-TLS) and ManageSieve services. Each of the servers can use their own certificate specific to their service (see examples above). Alternatively they can all share a single certificate that would include SRV-IDs of "_submission.example.net", "_imaps.example.net", "_pop3s.example.net" and "_sieve.example.net" along with DNS-IDs of "example.net" and "mail.example.net". It might also include CN-ID of "mail.example.net" for backward compatibility with deployed infrastructure. -7. IANA Considerations +7. Operational Considerations + + Section 5 covers operational considerations (in particular use of DNS + SRV for autoconfiguration) related to generating TLS certificiates + for email servers so that they can be successfully verified by email + clients. Additionally, Section 5.1 talks about operational + considerations related to hosting multiple domains. + +8. IANA Considerations This document doesn't require any action from IANA. -8. Security Considerations +9. Security Considerations The goal of this document is to improve interoperability and thus security of email clients wishing to access email servers over TLS protected email protocols, by specifying a consistent set of rules that email service providers, email client writers and Certification Authorities can use when creating server certificates. TLS Server Identity Check for Email relies on use of trustworthy DNS hostnames when constructing "reference identifiers" that are checked against an email server certificate. Such trustworthy names are either entered manually (for example if they are advertised on a Mail Service Provider's website), explicitly confirmed by the user (e.g. if they are a target of a DNS SRV lookup) or derived using a secure third party service (e.g. DNSSEC-protected SRV records which are verified by the client or trusted local resolver). Future work in this area might benefit from integration with DANE [RFC6698], but it is not covered by this document. -9. References +10. References -9.1. Normative References +10.1. Normative References [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . @@ -424,21 +442,21 @@ [RFC6186] Daboo, C., "Use of SRV Records for Locating Email Submission/Access Services", RFC 6186, DOI 10.17487/RFC6186, March 2011, . [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, . -9.2. Informative References +10.2. Informative References [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC 2595, DOI 10.17487/RFC2595, June 1999, . [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, .