draft-ietf-uta-email-tls-certs-09.txt   rfc7817.txt 
Network Working Group A. Melnikov Internet Engineering Task Force (IETF) A. Melnikov
Internet-Draft Isode Ltd Request for Comments: 7817 Isode Ltd
Updates: 2595, 3207, 3501, 5804 (if December 29, 2015 Updates: 2595, 3207, 3501, 5804 March 2016
approved) Category: Standards Track
Intended status: Standards Track ISSN: 2070-1721
Expires: July 1, 2016
Updated TLS Server Identity Check Procedure for Email Related Protocols Updated Transport Layer Security (TLS) Server Identity Check Procedure
draft-ietf-uta-email-tls-certs-09 for Email-Related Protocols
Abstract Abstract
This document describes TLS server identity verification procedure This document describes the Transport Layer Security (TLS) server
for SMTP Submission, IMAP, POP and ManageSieve clients. It replaces identity verification procedure for SMTP Submission, IMAP, POP, and
Section 2.4 of RFC 2595, updates Section 4.1 of RFC 3207, updates ManageSieve clients. It replaces Section 2.4 (Server Identity Check)
Section 11.1 of RFC 3501, updates Section 2.2.1 of RFC 5804. of RFC 2595 and updates Section 4.1 (Processing After the STARTTLS
Command) of RFC 3207, Section 11.1 (STARTTLS Security Considerations)
of RFC 3501, and Section 2.2.1 (Server Identity Check) of RFC 5804.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on July 1, 2016. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7817.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. Email Server Certificate Verification Rules . . . . . . . . . 3 3. Email Server Certificate Verification Rules . . . . . . . . . 3
4. Compliance Checklist for Certification Authorities . . . . . 5 4. Compliance Checklist for Certification Authorities . . . . . 5
4.1. Notes on handling of delegated email services by 4.1. Notes on Handling of Delegated Email Services by
Certification Authorities . . . . . . . . . . . . . . . . 5 Certification Authorities . . . . . . . . . . . . . . . . 5
5. Compliance Checklist for Mail Service Providers and 5. Compliance Checklist for Mail Service Providers and
Certificate Signing Request generation tools . . . . . . . . 6 Certificate Signing Request Generation Tools . . . . . . . . 6
5.1. Notes on hosting multiple domains . . . . . . . . . . . . 7 5.1. Notes on Hosting Multiple Domains . . . . . . . . . . . . 7
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Operational Considerations . . . . . . . . . . . . . . . . . 9 7. Operational Considerations . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 11
10.2. Informative References . . . . . . . . . . . . . . . . . 11 Appendix A. Changes to RFCs 2595, 3207, 3501, and 5804 . . . . . 12
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 12 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13
Appendix B. Changes to RFC 2595, RFC 3207, RFC 3501, RFC 5804 . 12
Appendix C. Changes since draft-ietf-uta-email-tls-certs-00 . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
Use of TLS by SMTP Submission, IMAP, POP and ManageSieve clients is Use of TLS by SMTP Submission, IMAP, POP, and ManageSieve clients is
described in [RFC3207], [RFC3501], [RFC2595] and [RFC5804] described in [RFC3207], [RFC3501], [RFC2595], and [RFC5804],
respectively. Each of the documents describes slightly different respectively. Each of the documents describes slightly different
rules for server certificate identity verification (or doesn't define rules for server certificate identity verification (or doesn't define
any rules at all). In reality, email client and server developers any rules at all). In reality, email client and server developers
implement many of these protocols at the same time, so it would be implement many of these protocols at the same time, so it would be
good to define modern and consistent rules for verifying email server good to define modern and consistent rules for verifying email server
identities using TLS. identities using TLS.
This document describes the updated TLS server identity verification This document describes the updated TLS server identity verification
procedure for SMTP Submission [RFC6409] [RFC3207], IMAP [RFC3501], procedure for SMTP Submission [RFC6409] [RFC3207], IMAP [RFC3501],
POP [RFC1939] and ManageSieve [RFC5804] clients. Section 3 of this POP [RFC1939], and ManageSieve [RFC5804] clients. Section 3 of this
document replaces Section 2.4 of [RFC2595]. document replaces Section 2.4 of [RFC2595].
Note that this document doesn't apply to use of TLS in MTA-to-MTA Note that this document doesn't apply to use of TLS in MTA-to-MTA
SMTP. SMTP.
This document provides a consistent TLS server identity verification This document provides a consistent TLS server identity verification
procedure across multiple email related protocols. This should make procedure across multiple email-related protocols. This should make
it easier for Certification Authorities and ISPs to deploy TLS for it easier for Certification Authorities (CAs) and ISPs to deploy TLS
email use, and would enable email client developers to write more for email use and would enable email client developers to write more
secure code. secure code.
2. Conventions Used in This Document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
The following terms or concepts are used through the document: The following terms or concepts are used through the document:
reference identifier: (formally defined in [RFC6125]) One of the reference identifier: One of the domain names that the email client
domain names that the email client (an SMTP, IMAP, POP3 or (an SMTP, IMAP, POP3, or ManageSieve client) associates with the
ManageSieve client) associates with the target email server. For target email server. For some identifier types, the identifier
some identifier types, the identifier also includes an application also includes an application service type. Reference identifiers
service type. Reference identifiers are used for performing name are used for performing name checks on server certificates. (This
checks on server certificates. term is formally defined in [RFC6125].)
CN-ID, DNS-ID, SRV-ID and URI-ID are identifier types (see [RFC6125] CN-ID, DNS-ID, SRV-ID, and URI-ID are identifier types (see [RFC6125]
for details). For convenience, their short definitions from for details). For convenience, their short definitions from
[RFC6125] are listed below: [RFC6125] are listed below:
CN-ID = a Relative Distinguished Name (RDN) in the certificate CN-ID: A Relative Distinguished Name (RDN) in the certificate
subject field that contains one and only one attribute-type-and- subject field that contains one and only one attribute-type-and-
value pair of type Common Name (CN), where the value matches the value pair of type Common Name (CN), where the value matches the
overall form of a domain name (informally, dot- separated letter- overall form of a domain name (informally, dot-separated, letter-
digit-hyphen labels). digit-hyphen labels).
DNS-ID = a subjectAltName entry of type dNSName DNS-ID: A subjectAltName entry of type dNSName
SRV-ID = a subjectAltName entry of type otherName whose name form SRV-ID: A subjectAltName entry of type otherName whose name form is
is SRVName SRVName
URI-ID = a subjectAltName entry of type uniformResourceIdentifier URI-ID: A subjectAltName entry of type uniformResourceIdentifier
whose value includes both (i) a "scheme" and (ii) a "host" whose value includes both (i) a "scheme" and (ii) a "host"
component (or its equivalent) that matches the "reg-name" rule component (or its equivalent) that matches the "reg-name" rule
(where the quoted terms represent the associated [RFC5234] (where the quoted terms represent the associated [RFC5234]
productions from [RFC3986]). productions from [RFC3986]).
3. Email Server Certificate Verification Rules 3. Email Server Certificate Verification Rules
During a TLS negotiation, an email client (i.e., an SMTP, IMAP, POP3 During a TLS negotiation, an email client (i.e., an SMTP, IMAP, POP3,
or ManageSieve client) MUST check its understanding of the server or ManageSieve client) MUST check its understanding of the server
identity (client's reference identifiers) against the server's identity (client's reference identifiers) against the server's
identity as presented in the server Certificate message, in order to identity as presented in the server Certificate message in order to
prevent man-in-the-middle attacks. This check is only performed prevent man-in-the-middle attacks. This check is only performed
after the server certificate passes certification path validation as after the server certificate passes certification path validation as
described in Section 6 of [RFC5280]. Matching is performed according described in Section 6 of [RFC5280]. Matching is performed according
to the rules specified in Section 6 of [RFC6125], including the to the rules specified in Section 6 of [RFC6125], including the
relative order of matching of different identifier types, relative order of matching of different identifier types,
"certificate pinning" and the procedure on failure to match. The "certificate pinning", and the procedure on failure to match. The
following inputs are used by the verification procedure used in following inputs are used by the verification procedure used in
[RFC6125]: [RFC6125]:
1. For DNS-ID and CN-ID identifier types the client MUST use one or 1. For DNS-ID and CN-ID identifier types, the client MUST use one or
more of the following as "reference identifiers": (a) the domain more of the following as "reference identifiers": (a) the domain
portion of the user's email address, (b) the hostname it used to portion of the user's email address, (b) the hostname it used to
open the connection (without CNAME canonicalization). The client open the connection (without CNAME canonicalization). The client
MAY also use (c) a value securely derived from (a) or (b), such MAY also use (c) a value securely derived from (a) or (b), such
as using "secure" DNSSEC [RFC4033][RFC4034][RFC4035] validated as using "secure" DNSSEC [RFC4033] [RFC4034] [RFC4035] validated
lookup. lookup.
2. When using email service discovery procedure specified in 2. When using email service discovery procedure specified in
[RFC6186] the client MUST also use the domain portion of the [RFC6186], the client MUST also use the domain portion of the
user's email address as another "reference identifier" to compare user's email address as another "reference identifier" to compare
against SRV-ID identifier in the server certificate. against an SRV-ID identifier in the server certificate.
The rules and guidelines defined in [RFC6125] apply to an email The rules and guidelines defined in [RFC6125] apply to an email
server certificate, with the following supplemental rules: server certificate with the following supplemental rules:
1. Support for the DNS-ID identifier type (subjectAltName of dNSName 1. Support for the DNS-ID identifier type (subjectAltName of dNSName
type [RFC5280]) is REQUIRED in Email client software type [RFC5280]) is REQUIRED in email client software
implementations. implementations.
2. Support for the SRV-ID identifier type (subjectAltName of SRVName 2. Support for the SRV-ID identifier type (subjectAltName of SRVName
type [RFC4985]) is REQUIRED for email client software type [RFC4985]) is REQUIRED for email client software
implementations that support [RFC6186]. List of SRV-ID types for implementations that support [RFC6186]. A list of SRV-ID types
email services is specified in [RFC6186]. For the ManageSieve for email services is specified in [RFC6186]. For the
protocol the service name "sieve" is used. ManageSieve protocol, the service name "sieve" is used.
3. URI-ID identifier type (subjectAltName of 3. A URI-ID identifier type (subjectAltName of
uniformResourceIdentifier type [RFC5280]) MUST NOT be used by uniformResourceIdentifier type [RFC5280]) MUST NOT be used by
clients for server verification, as URI-ID were not historically clients for server verification, as URI-IDs were not historically
used for email. used for email.
4. For backward compatibility with deployed software CN-ID 4. For backward compatibility with deployed software, a CN-ID
identifier type (CN attribute from the subject name, see identifier type (CN attribute from the subject name, see
[RFC6125]) MAY be used for server identity verification. [RFC6125]) MAY be used for server identity verification.
5. Email protocols allow use of certain wildcards in identifiers 5. Email protocols allow use of certain wildcards in identifiers
presented by email servers. The "*" wildcard character MAY be presented by email servers. The "*" wildcard character MAY be
used as the left-most name component of DNS-ID or CN-ID in the used as the left-most name component of a DNS-ID or CN-ID in the
certificate. For example, a DNS-ID of *.example.com would match certificate. For example, a DNS-ID of "*.example.com" would
a.example.com, foo.example.com, etc. but would not match match "a.example.com", "foo.example.com", etc., but would not
example.com. Note that the wildcard character MUST NOT be used match "example.com". Note that the wildcard character MUST NOT
as a fragment of the left-most name component (e.g., be used as a fragment of the left-most name component (e.g.,
*oo.example.com, f*o.example.com, or foo*.example.com). "*oo.example.com", "f*o.example.com", or "foo*.example.com").
4. Compliance Checklist for Certification Authorities 4. Compliance Checklist for Certification Authorities
1. CA MUST support issuance of server certificates with DNS-ID 1. CAs MUST support issuance of server certificates with a DNS-ID
identifier type (subjectAltName of dNSName type [RFC5280]). identifier type (subjectAltName of dNSName type [RFC5280]).
(Note that some DNS-IDs may refer to domain portions of email (Note that some DNS-IDs may refer to domain portions of email
addresses, so they might not have corresponding A/AAAA DNS addresses, so they might not have corresponding A/AAAA DNS
records.) records.)
2. CA MUST support issuance of server certificates with SRV-ID 2. CAs MUST support issuance of server certificates with an SRV-ID
identifier type (subjectAltName of SRVName type [RFC4985]) for identifier type (subjectAltName of SRVName type [RFC4985]) for
each type of email service. See Section 4.1 for more discussion each type of email service. See Section 4.1 for more discussion
on what this means for Certification Authorities. on what this means for CAs.
3. For backward compatibility with deployed client base, CA MUST 3. For backward compatibility with a deployed client base, CAs MUST
support issuance of server certificates with CN-ID identifier support issuance of server certificates with a CN-ID identifier
type (CN attribute from the subject name, see [RFC6125]). type (CN attribute from the subject name, see [RFC6125]).
4. CA MAY allow "*" (wildcard) as the left-most name component of 4. CAs MAY allow "*" (wildcard) as the left-most name component of a
DNS-ID or CN-ID in server certificates it issues. DNS-ID or CN-ID in server certificates it issues.
4.1. Notes on handling of delegated email services by Certification 4.1. Notes on Handling of Delegated Email Services by Certification
Authorities Authorities
[RFC6186] provides an easy way for organizations to autoconfigure [RFC6186] provides an easy way for organizations to autoconfigure
email clients. It also allows for delegation of email services to an email clients. It also allows for delegation of email services to an
email hosting provider. When connecting to such delegated hosting email hosting provider. When connecting to such delegated hosting
service an email client that attempts to verify TLS server identity service, an email client that attempts to verify TLS server identity
needs to know that if it connects to imap.hosting.example.net that needs to know that if it connects to "imap.hosting.example.net", such
such server is authorized to provide email access for an email such server is authorized to provide email access for an email such as
as alice@example.org. In absence of SRV-IDs, users of compliant alice@example.org. In absence of SRV-IDs, users of compliant email
email clients would be forced to manually confirm exception, because clients would be forced to manually confirm exceptions because the
the TLS server certificate verification procedures specified in this TLS server certificate verification procedures specified in this
document would result in failure to match the TLS server certificate document would result in failure to match the TLS server certificate
against the expected domain(s). One way to provide such against the expected domain(s). One way to provide such
authorization is for the TLS certificate for imap.hosting.example.net authorization is for the TLS certificate for
to include SRV-ID(s) (or DNS-ID) for the example.org domain. "imap.hosting.example.net" to include SRV-ID(s) (or a DNS-ID) for the
(Another way is for DNS SRV lookups to be protected by DNSSEC, but "example.org" domain. Note that another way is for DNS Service
this solution depends on ubiquitous use of DNSSEC and availability of Record (SRV) lookups to be protected by DNSSEC, but this solution
DNSSEC-aware APIs and thus is not discussed in this document. A depends on ubiquitous use of DNSSEC and availability of DNSSEC-aware
future update to this document might rectify this.) APIs and thus is not discussed in this document. A future update to
this document might rectify this.
A certification authority that receives a Certificate Signing Request A CA that receives a Certificate Signing Request containing multiple
containing multiple unrelated DNS-IDs and/or SRV-IDs (e.g. DNS-ID of unrelated DNS-IDs and/or SRV-IDs (e.g., a DNS-ID of "example.org" and
example.org and DNS-ID of example.com) needs to verify that the a DNS-ID of "example.com") needs to verify that the entity that
entity that supplied such Certificate Signing Request is authorized supplied such Certificate Signing Request is authorized to provide
to provide email service for all requested domains. email service for all requested domains.
The ability to issue certificates that contain an SRV-ID (or a DNS-ID The ability to issue certificates that contain an SRV-ID (or a DNS-ID
for the domain part of email addresses) implies the ability to verify for the domain part of email addresses) implies the ability to verify
that entities requesting them are authorized to run email service for that entities requesting them are authorized to run email service for
these SRV-IDs/DNS-IDs. In particular, certification authorities that these SRV-IDs/DNS-IDs. In particular, CAs that can't verify such
can't verify such authorization (whether for a particular domain or authorization (whether for a particular domain or in general) MUST
in general) MUST NOT include such email SRV-IDs/DNS-IDs in NOT include such email SRV-IDs/DNS-IDs in certificates they issue.
certificates they issue. This document doesn't specify exact This document doesn't specify exact mechanism(s) that can be used to
mechanism(s) that can be used to achieve this. However, a few achieve this. However, a few special case recommendations are listed
special case recommendations are listed below. below.
A certification authority willing to sign a certificate containing a A CA willing to sign a certificate containing a particular DNS-ID
particular DNS-ID SHOULD also support signing a certificate SHOULD also support signing a certificate containing one or more of
containing one or more of email SRV-IDs for the same domain, because the email SRV-IDs for the same domain because the SRV-ID effectively
the SRV-ID effectively provides more restricted access to an email provides more restricted access to an email service for the domain
service for the domain (as opposed to unrestricted use of any (as opposed to unrestricted use of any services for the same domain,
services for the same domain, as specified by DNS-ID). as specified by the DNS-ID).
A certification authority which also provides DNS service for a A CA that also provides DNS service for a domain can use DNS
domain can use DNS information to validate SRV-IDs/DNS-IDs for the information to validate SRV-IDs/DNS-IDs for the domain.
domain.
A certification authority which is also a Mail Service Provider for a A CA that is also a Mail Service Provider for a hosted domain can use
hosted domain can use that knowdledge to validate SRV-IDs/DNS-IDs for that knowledge to validate SRV-IDs/DNS-IDs for the domain.
the domain.
5. Compliance Checklist for Mail Service Providers and Certificate 5. Compliance Checklist for Mail Service Providers and Certificate
Signing Request generation tools Signing Request Generation Tools
Mail Service Providers and Certificate Signing Request generation Mail Service Providers and Certificate Signing Request generation
tools tools:
1. MUST include the DNS-ID identifier type in Certificate Signing 1. MUST include the DNS-ID identifier type in Certificate Signing
Requests for the host name(s) where the email server(s) are Requests for the host name(s) where the email server(s) are
running. They SHOULD include the DNS-ID identifier type in running. They SHOULD include the DNS-ID identifier type in
Certificate Signing Requests for the domain portion of served Certificate Signing Requests for the domain portion of served
email addresses. email addresses.
2. If the email services provided are discoverable using DNS SRV as 2. MUST include the SRV-ID identifier type for each type of email
specified in [RFC6186], the Mail Service Provider MUST include service in Certificate Signing Requests if the email services
the SRV-ID identifier type for each type of email service in provided are discoverable using DNS SRV as specified in
Certificate Signing Requests. [RFC6186].
3. SHOULD include CN-ID identifier type for the host name where the 3. SHOULD include the CN-ID identifier type for the host name where
email server(s) is running in Certificate Signing Requests for the email server(s) is running in Certificate Signing Requests
backward compatibility with deployed email clients. (Note, a for backward compatibility with deployed email clients. (Note, a
certificate can only include a single CN-ID, so if a mail service certificate can only include a single CN-ID, so if a mail service
is running on multiple hosts, either each host has to use is running on multiple hosts, either each host has to use
different certificate with its own CN-ID, a single certificate different certificate with its own CN-ID, a single certificate
with multiple DNS-IDs, or a single certificate with wildcard in with multiple DNS-IDs, or a single certificate with wildcard in a
CN-ID can be used). CN-ID can be used).
4. MAY include "*" (wildcard) as the left-most name component of 4. MAY include "*" (wildcard) as the left-most name component of a
DNS-ID or CN-ID in Certificate Signing Requests. DNS-ID or CN-ID in Certificate Signing Requests.
5.1. Notes on hosting multiple domains 5.1. Notes on Hosting Multiple Domains
A server that hosts multiple domains needs to do one of the following A server that hosts multiple domains needs to do one of the following
(or some combination thereof): (or some combination thereof):
1. Use DNS SRV records to redirect each hosted email service to a 1. Use DNS SRV records to redirect each hosted email service to a
fixed domain, deploy TLS certificate(s) for that single domain, fixed domain, deploy TLS certificate(s) for that single domain,
and instruct users to configure their clients with appropriate and instruct users to configure their clients with appropriate
pinning (unless the SRV records can always be obtained via pinning (unless the SRV records can always be obtained via
DNSSEC). Some email clients come with preloaded list of pinned DNSSEC). Some email clients come with preloaded lists of pinned
certificates for some popular domains, which can avoid the need certificates for some popular domains; this can avoid the need
for manual confirmation. for manual confirmation.
2. Use a single TLS certificate that includes a complete list of all 2. Use a single TLS certificate that includes a complete list of all
the domains it is serving. the domains it is serving.
3. 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. certificates on each IP/port.
4. Use Server Name Indication (SNI) TLS extension [RFC6066] to 4. Use the Server Name Indication (SNI) TLS extension [RFC6066] to
select the right certificate to return during TLS negotiation. select the right certificate to return during TLS negotiation.
Each domain has its own TLS certificate in this case. Each domain has its own TLS certificate in this case.
Each of these deployment choices have their scaling disadvantages Each of these deployment choices have their scaling disadvantages
when the list of domains changes. Use of DNS SRV without SRV-ID when the list of domains changes. Use of DNS SRV without an SRV-ID
requires manual confirmation from users. While preloading pinned requires manual confirmation from users. While preloading pinned
certificates avoids the need for manual confirmation, this certificates avoids the need for manual confirmation, this
information can get stale quickly or would require support for a new information can get stale quickly or would require support for a new
mechanism for distributing preloaded pinned certificates. A single mechanism for distributing preloaded pinned certificates. A single
certificate (the second choice) requires that when a domain is added, certificate (the second choice) requires that when a domain is added,
then a new Certificate Signing Request that includes a complete list 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 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 generate a new certificate. A separate IP/port can avoid
the certificate, but requires more transport layer resources. Use of regenerating the certificate but requires more transport layer
TLS SNI requires each email client to use it. resources. Use of TLS SNI requires each email client to use it.
Several Mail Service Providers host hundreds and even thousands of Several Mail Service Providers host hundreds and even thousands of
domains. This document, as well as its predecessors RFC 2595, RFC domains. This document, as well as its predecessors, RFCs 2595,
3207, RFC 3501 and RFC 5804 don't address scaling issues caused by 3207, 3501, and 5804, don't address scaling issues caused by use of
use of TLS in multi-tenanted environments. Further work is needed to TLS in multi-tenanted environments. Further work is needed to
address this issue, possibly using DNSSEC or something like POSH address this issue, possibly using DNSSEC or something like PKIX over
[RFC7711]. Secure HTTP (POSH) [RFC7711].
6. Examples 6. Examples
Consider an IMAP-accessible email server which supports both IMAP and Consider an IMAP-accessible email server that supports both IMAP and
IMAPS (IMAP-over-TLS) at the host "mail.example.net" servicing email IMAP-over-TLS (IMAPS) at the host "mail.example.net" servicing email
addresses of the form "user@example.net". A certificate for this addresses of the form "user@example.net". A certificate for this
service needs to include DNS-IDs of "example.net" (because it is the service needs to include DNS-IDs of "example.net" (because it is the
domain portion of emails) and "mail.example.net" (this is what a user domain portion of emails) and "mail.example.net" (this is what a user
of this server enters manually, if not using [RFC6186]). It might of this server enters manually if not using [RFC6186]). It might
also include CN-ID of "mail.example.net" for backward compatibility also include a CN-ID of "mail.example.net" for backward compatibility
with deployed infrastructure. with deployed infrastructure.
Consider the IMAP-accessible email server from the previous paragraph Consider the IMAP-accessible email server from the previous paragraph
which is additionally discoverable via DNS SRV lookups in domain that is additionally discoverable via DNS SRV lookups in domain
"example.net" (DNS SRV records "_imap._tcp.example.net" and "example.net" (using DNS SRV records "_imap._tcp.example.net" and
"_imaps._tcp.example.net"). In addition to DNS-ID/CN-ID identity "_imaps._tcp.example.net"). In addition to the DNS-ID/CN-ID identity
types specified above, a certificate for this service also needs to types specified above, a certificate for this service also needs to
include SRV-IDs of "_imap.example.net" (when STARTTLS is used on the include SRV-IDs of "_imap.example.net" (when STARTTLS is used on the
IMAP port) and "_imaps.example.net" (when TLS is used on IMAPS port). IMAP port) and "_imaps.example.net" (when TLS is used on IMAPS port).
See [RFC6186] for more details. (Note that unlike DNS SRV there is See [RFC6186] for more details. (Note that unlike DNS SRV there is
no "_tcp" component in SRV-IDs). no "_tcp" component in SRV-IDs).
Consider the IMAP-accessible email server from the first paragraph Consider the IMAP-accessible email server from the first paragraph
which is running on a host also known as "mycompany.example.com". In that is running on a host also known as "mycompany.example.com". In
addition to DNS-ID identity types specified above, a certificate for addition to the DNS-ID identity types specified above, a certificate
this service also needs to include DNS-ID of "mycompany.example.com" for this service also needs to include a DNS-ID of
(this is what a user of this server enters manually, if not using "mycompany.example.com" (this is what a user of this server enters
[RFC6186]). It might also include CN-ID of "mycompany.example.com" manually if not using [RFC6186]). It might also include a CN-ID of
instead of the CN-ID "mail.example.net" for backward compatibility "mycompany.example.com" instead of the CN-ID "mail.example.net" for
with deployed infrastructure. (This is so, because a certificate can backward compatibility with deployed infrastructure. (This is so,
only include a single CN-ID) because a certificate can only include a single CN-ID)
Consider an SMTP Submission server at the host "submit.example.net" Consider an SMTP Submission server at the host "submit.example.net"
servicing email addresses of the form "user@example.net" and servicing email addresses of the form "user@example.net" and
discoverable via DNS SRV lookups in domain "example.net" (DNS SRV discoverable via DNS SRV lookups in domain "example.net" (using DNS
records "_submission._tcp.example.net"). A certificate for this SRV record "_submission._tcp.example.net"). A certificate for this
service needs to include SRV-IDs of "_submission.example.net" (see service needs to include SRV-IDs of "_submission.example.net" (see
[RFC6186]) along with DNS-IDs of "example.net" and [RFC6186]) along with DNS-IDs of "example.net" and
"submit.example.net". It might also include CN-ID of "submit.example.net". It might also include a CN-ID of
"submit.example.net" for backward compatibility with deployed "submit.example.net" for backward compatibility with deployed
infrastructure. infrastructure.
Consider a host "mail.example.net" servicing email addresses of the Consider a host "mail.example.net" servicing email addresses of the
form "user@example.net" and discoverable via DNS SRV lookups in form "user@example.net" and discoverable via DNS SRV lookups in
domain "example.net", which runs SMTP Submission, IMAPS and POP3S domain "example.net", which runs SMTP Submission, IMAPS and POP3S
(POP3-over-TLS) and ManageSieve services. Each of the servers can (POP3-over-TLS), and ManageSieve services. Each of the servers can
use their own certificate specific to their service (see examples use their own certificate specific to their service (see examples
above). Alternatively they can all share a single certificate that above). Alternatively, they can all share a single certificate that
would include SRV-IDs of "_submission.example.net", would include SRV-IDs of "_submission.example.net",
"_imaps.example.net", "_pop3s.example.net" and "_sieve.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 along with DNS-IDs of "example.net" and "mail.example.net". It might
also include CN-ID of "mail.example.net" for backward compatibility also include a CN-ID of "mail.example.net" for backward compatibility
with deployed infrastructure. with deployed infrastructure.
7. Operational Considerations 7. Operational Considerations
Section 5 covers operational considerations (in particular use of DNS Section 5 covers operational considerations (in particular, use of
SRV for autoconfiguration) related to generating TLS certificiates DNS SRV for autoconfiguration) related to generating TLS certificates
for email servers so that they can be successfully verified by email for email servers so that they can be successfully verified by email
clients. Additionally, Section 5.1 talks about operational clients. Additionally, Section 5.1 talks about operational
considerations related to hosting multiple domains. considerations related to hosting multiple domains.
8. IANA Considerations 8. Security Considerations
This document doesn't require any action from IANA.
9. Security Considerations
The goal of this document is to improve interoperability and thus The goal of this document is to improve interoperability and thus
security of email clients wishing to access email servers over TLS security of email clients wishing to access email servers over TLS-
protected email protocols, by specifying a consistent set of rules protected email protocols by specifying a consistent set of rules
that email service providers, email client writers and Certification that email service providers, email client writers, and CAs can use
Authorities can use when creating server certificates. when creating server certificates.
TLS Server Identity Check for Email relies on use of trustworthy DNS The TLS server identity check for email relies on use of trustworthy
hostnames when constructing "reference identifiers" that are checked DNS hostnames when constructing "reference identifiers" that are
against an email server certificate. Such trustworthy names are checked against an email server certificate. Such trustworthy names
either entered manually (for example if they are advertised on a Mail are either entered manually (for example, if they are advertised on a
Service Provider's website), explicitly confirmed by the user (e.g. Mail Service Provider's website), explicitly confirmed by the user
if they are a target of a DNS SRV lookup) or derived using a secure (e.g., if they are a target of a DNS SRV lookup), or derived using a
third party service (e.g. DNSSEC-protected SRV records which are secure third party service (e.g., DNSSEC-protected SRV records that
verified by the client or trusted local resolver). Future work in are verified by the client or trusted local resolver). Future work
this area might benefit from integration with DANE [RFC6698], but it in this area might benefit from integration with DNS-Based
is not covered by this document. Authentication of Named Entities (DANE) [RFC6698], but it is not
covered by this document.
10. References 9. References
10.1. Normative References 9.1. Normative References
[RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3",
STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996,
<http://www.rfc-editor.org/info/rfc1939>. <http://www.rfc-editor.org/info/rfc1939>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 10, line 23 skipping to change at page 10, line 18
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003,
<http://www.rfc-editor.org/info/rfc3501>. <http://www.rfc-editor.org/info/rfc3501>.
[RFC4985] Santesson, S., "Internet X.509 Public Key Infrastructure [RFC4985] Santesson, S., "Internet X.509 Public Key Infrastructure
Subject Alternative Name for Expression of Service Name", Subject Alternative Name for Expression of Service Name",
RFC 4985, DOI 10.17487/RFC4985, August 2007, RFC 4985, DOI 10.17487/RFC4985, August 2007,
<http://www.rfc-editor.org/info/rfc4985>. <http://www.rfc-editor.org/info/rfc4985>.
[RFC5804] Melnikov, A., Ed. and T. Martin, "A Protocol for Remotely
Managing Sieve Scripts", RFC 5804, DOI 10.17487/RFC5804,
July 2010, <http://www.rfc-editor.org/info/rfc5804>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>. <http://www.rfc-editor.org/info/rfc5280>.
[RFC5804] Melnikov, A., Ed. and T. Martin, "A Protocol for Remotely
Managing Sieve Scripts", RFC 5804, DOI 10.17487/RFC5804,
July 2010, <http://www.rfc-editor.org/info/rfc5804>.
[RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
Extensions: Extension Definitions", RFC 6066, Extensions: Extension Definitions", RFC 6066,
DOI 10.17487/RFC6066, January 2011, DOI 10.17487/RFC6066, January 2011,
<http://www.rfc-editor.org/info/rfc6066>. <http://www.rfc-editor.org/info/rfc6066>.
[RFC6125] Saint-Andre, P. and J. Hodges, "Representation and [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and
Verification of Domain-Based Application Service Identity Verification of Domain-Based Application Service Identity
within Internet Public Key Infrastructure Using X.509 within Internet Public Key Infrastructure Using X.509
(PKIX) Certificates in the Context of Transport Layer (PKIX) Certificates in the Context of Transport Layer
Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March
skipping to change at page 11, line 5 skipping to change at page 11, line 5
[RFC6186] Daboo, C., "Use of SRV Records for Locating Email [RFC6186] Daboo, C., "Use of SRV Records for Locating Email
Submission/Access Services", RFC 6186, Submission/Access Services", RFC 6186,
DOI 10.17487/RFC6186, March 2011, DOI 10.17487/RFC6186, March 2011,
<http://www.rfc-editor.org/info/rfc6186>. <http://www.rfc-editor.org/info/rfc6186>.
[RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail",
STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011,
<http://www.rfc-editor.org/info/rfc6409>. <http://www.rfc-editor.org/info/rfc6409>.
10.2. Informative References 9.2. Informative References
[RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP",
RFC 2595, DOI 10.17487/RFC2595, June 1999, RFC 2595, DOI 10.17487/RFC2595, June 1999,
<http://www.rfc-editor.org/info/rfc2595>. <http://www.rfc-editor.org/info/rfc2595>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005, RFC 3986, DOI 10.17487/RFC3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>. <http://www.rfc-editor.org/info/rfc3986>.
skipping to change at page 12, line 5 skipping to change at page 12, line 5
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
of Named Entities (DANE) Transport Layer Security (TLS) of Named Entities (DANE) Transport Layer Security (TLS)
Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August
2012, <http://www.rfc-editor.org/info/rfc6698>. 2012, <http://www.rfc-editor.org/info/rfc6698>.
[RFC7711] Miller, M. and P. Saint-Andre, "PKIX over Secure HTTP [RFC7711] Miller, M. and P. Saint-Andre, "PKIX over Secure HTTP
(POSH)", RFC 7711, DOI 10.17487/RFC7711, November 2015, (POSH)", RFC 7711, DOI 10.17487/RFC7711, November 2015,
<http://www.rfc-editor.org/info/rfc7711>. <http://www.rfc-editor.org/info/rfc7711>.
Appendix A. Acknowledgements Appendix A. Changes to RFCs 2595, 3207, 3501, and 5804
Thank you to Chris Newman, Viktor Dukhovni, Sean Turner, Russ
Housley, Alessandro Vesely, Harald Alvestrand and John Levine for
comments on this document.
The editor of this document copied lots of text from RFC 2595 and RFC
6125, so the hard work of editors of these document is appreciated.
Appendix B. Changes to RFC 2595, RFC 3207, RFC 3501, RFC 5804
This section lists detailed changes this document applies to RFC This section lists detailed changes this document applies to RFCs
2595, RFC 3207, RFC 3501 and RFC 5804. 2595, 3207, 3501, and 5804.
The entire Section 2.4 of RFC 2595 is replaced with the following The entire Section 2.4 of RFC 2595 is replaced with the following
text: text:
During the TLS negotiation, the client checks its understanding of During the TLS negotiation, the client checks its understanding of
the server identity against the provided server's identity as the server identity against the provided server's identity as
specified in Section 3. specified in Section 3 of [RFC7817].
The 3rd paragraph (and its subparagraphs) in Section 11.1 of RFC 3501 The 3rd paragraph (and its subparagraphs) in Section 11.1 of RFC 3501
is replaced with the following text: is replaced with the following text:
During the TLS negotiation, the IMAP client checks its During the TLS negotiation, the IMAP client checks its
understanding of the server identity against the provided server's understanding of the server identity against the provided server's
identity as specified in Section 3. identity as specified in Section 3 of [RFC7817].
The 3rd paragraph (and its subparagraphs) in Section 4.1 of RFC 3207 The 3rd paragraph (and its subparagraphs) in Section 4.1 of RFC 3207
is replaced with the following text: is replaced with the following text:
During the TLS negotiation, the Submission client checks its During the TLS negotiation, the Submission client checks its
understanding of the server identity against the provided server's understanding of the server identity against the provided server's
identity as specified in Section 3. identity as specified in Section 3 of [RFC7817].
Sections 2.2.1 and 2.2.1.1 of RFC 5804 are replaced with the Sections 2.2.1 and 2.2.1.1 of RFC 5804 are replaced with the
following text: following text:
During the TLS negotiation, the ManageSieve client checks its During the TLS negotiation, the ManageSieve client checks its
understanding of the server identity against the server's identity understanding of the server identity against the server's identity
as specified in Section 3. When the reference identity is an IP as specified in Section 3 of [RFC7817]. When the reference
address, the iPAddress subjectAltName SHOULD be used by the client identity is an IP address, the iPAddress subjectAltName SHOULD be
for comparison. The comparison is performed as described in used by the client for comparison. The comparison is performed as
Section 2.2.1.2 of RFC 5804. described in Section 2.2.1.2 of RFC 5804.
Appendix C. Changes since draft-ietf-uta-email-tls-certs-00
[[Note to RFC Editor: Please delete this section before publication]]
Added another example, clarified that subjectAltName and DNS SRV are
using slightly different syntax.
As any certificate can only include one CN-ID, corrected examples. Acknowledgements
Split rules to talk seperately about requirements on MUAs, CAs and Thank you to Chris Newman, Viktor Dukhovni, Sean Turner, Russ
MSPs/CSR generation tools. Housley, Alessandro Vesely, Harald Alvestrand, and John Levine for
comments on this document.
Updated Introduction section. The editor of this document copied lots of text from RFCs 2595 and
6125, so the hard work of editors of these documents is appreciated.
Author's Address Author's Address
Alexey Melnikov Alexey Melnikov
Isode Ltd Isode Ltd
14 Castle Mews 14 Castle Mews
Hampton, Middlesex TW12 2NP Hampton, Middlesex TW12 2NP
UK United Kingdom
EMail: Alexey.Melnikov@isode.com EMail: Alexey.Melnikov@isode.com
 End of changes. 88 change blocks. 
223 lines changed or deleted 201 lines changed or added

This html diff was produced by rfcdiff 1.44. The latest version is available from http://tools.ietf.org/tools/rfcdiff/