draft-ietf-uta-email-tls-certs-03.txt   draft-ietf-uta-email-tls-certs-04.txt 
Network Working Group A. Melnikov Network Working Group A. Melnikov
Internet-Draft Isode Ltd Internet-Draft Isode Ltd
Updates: 2595, 3207, 3501, 5804 (if June 17, 2015 Updates: 2595, 3207, 3501, 5804 (if August 6, 2015
approved) approved)
Intended status: Standards Track Intended status: Standards Track
Expires: December 19, 2015 Expires: February 7, 2016
Updated TLS Server Identity Check Procedure for Email Related Protocols Updated TLS Server Identity Check Procedure for Email Related Protocols
draft-ietf-uta-email-tls-certs-03 draft-ietf-uta-email-tls-certs-04
Abstract Abstract
This document describes TLS server identity verification procedure This document describes TLS server identity verification procedure
for SMTP Submission, IMAP, POP and ManageSieve clients. It replaces for SMTP Submission, IMAP, POP and ManageSieve clients. It replaces
Section 2.4 of RFC 2595. Section 2.4 of RFC 2595.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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 December 19, 2015. This Internet-Draft will expire on February 7, 2016.
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 13 skipping to change at page 2, line 13
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 . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2
3. Email Server Certificate Verification Rules . . . . . . . . . 3 3. Email Server Certificate Verification Rules . . . . . . . . . 3
4. Compliance Checklist for Certification Authorities . . . . . 4 4. Compliance Checklist for Certification Authorities . . . . . 4
5. Compliance Checklist for Mail Service Providers and 5. Compliance Checklist for Mail Service Providers and
Certificate Signing Request generation tools . . . . . . . . 4 Certificate Signing Request generation tools . . . . . . . . 4
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . 7
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 7 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8
Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 . . 7 Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8
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
skipping to change at page 3, line 16 skipping to change at page 3, line 16
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
hostname against the server's identity as presented in the server hostname against the server's identity as presented in the server
Certificate message, in order to prevent man-in-the-middle attacks. Certificate message, in order to prevent man-in-the-middle attacks.
Matching is performed according to the rules specified in Section 6 Matching is performed according to the rules specified in Section 6
of [RFC6125], including "certificate pinning" and the procedure on of [RFC6125], including "certificate pinning" and the procedure on
failure to match. The following inputs are used by the verification failure to match. The following inputs are used by the verification
procedure used in [RFC6125]: procedure used in [RFC6125]:
1. The client MUST use the server hostname it used to open the 1. For DNS-ID and CN-ID identifier types the client MUST use the
connection as the value to compare against the server name as server hostname it used to open the connection as at least one of
expressed in the server certificate (the reference identity). the values to compare against (*) in the server certificate. The
The client MUST NOT use any form of the server hostname derived client MUST NOT use any form of the server hostname derived from
from an insecure remote source (e.g., insecure DNS lookup). an insecure remote source (e.g., insecure DNS lookup). CNAME
CNAME canonicalization is not done. canonicalization is not done.
2. When using email service discovery procedure specified in
[RFC6186] the client MUST also use the right hand side of the
email address as another "reference identifier" to compare
against in the server certificate.
(*) - "reference identifier" (see the definition in [RFC6125]).
The rules and guidelines defined in [RFC6125] apply to an email The rules and guidelines defined in [RFC6125] apply to an email
server certificates, with the following supplemental rules: server certificates, 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. List of SRV-ID types for email services is implementations that support [RFC6186]. List of SRV-ID types for
specified in [RFC6186]. For ManageSieve the value "sieve" is email services is specified in [RFC6186]. For the ManageSieve
used. protocol the service name "sieve" is used.
3. URI-ID identifier type (subjectAltName of 3. 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-ID 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 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.
skipping to change at page 4, line 30 skipping to change at page 4, line 39
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
1. SHOULD include the DNS-ID identifier type (subjectAltName of 1. SHOULD include the DNS-ID identifier type (subjectAltName of
dNSName type [RFC5280]) in Certificate Signing Requests for both dNSName type [RFC5280]) in Certificate Signing Requests for both
the right hand side of served email addresses, as well as for the the right hand side of served email addresses, as well as for the
host name where the email server(s) are running. host name where the email server(s) are running.
2. If the email services provided are discoverable using DNS SRV as 2. If the email services provided are discoverable using DNS SRV as
specified in [RFC6186], MSP MUST include the SRV-ID identifier specified in [RFC6186], the Mail Service Provider MUST include
type (subjectAltName of SRVName type [RFC4985]) for each type of the SRV-ID identifier type (subjectAltName of SRVName type
email service in Certificate Signing Requests. [RFC4985]) for each type of email service in Certificate Signing
Requests.
3. SHOULD include CN-ID identifier type (CN attribute from the 3. SHOULD include CN-ID identifier type (CN attribute from the
subject name, see [RFC6125]) for the host name where the email subject name, see [RFC6125]) for the host name where the email
server(s) is running in Certificate Signing Requests for backward server(s) is running in Certificate Signing Requests for backward
compatibility with deployed email clients. (Note, a certificate compatibility with deployed email clients. (Note, a certificate
can only include a single CN-ID, so if a mail service is running can only include a single CN-ID, so if a mail service is running
on multiple hosts, either each host has to use different on multiple hosts, either each host has to use different
certificate with its own CN-ID, a single certificate with certificate with its own CN-ID, a single certificate with
multiple DNS-IDs, or a single certificate with wildcard in CN-ID multiple DNS-IDs, or a single certificate with wildcard in CN-ID
can be used). 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
DNS-ID or CN-ID in Certificate Signing Requests. DNS-ID or CN-ID in Certificate Signing Requests.
6. Examples 6. Examples
Consider an IMAP-accessible email server which supports both IMAP and Consider an IMAP-accessible email server which supports both IMAP and
IMAPS (IMAP-over-TLS) at the host "mail.example.net" servicing email IMAPS (IMAP-over-TLS) at the host "mail.example.net" servicing email
addresses of the form "user@example.net" and discoverable via DNS SRV addresses of the form "user@example.net". A certificate for this
lookups in domain "example.net" (DNS SRV records service needs to include DNS-IDs of "example.net" (because it is the
"_imap._tcp.example.net" and "_imaps._tcp.example.net"). A right hand side of emails) and "mail.example.net" (this is what a
certificate for this service needs to include SRV-IDs of user of this server enters manually, if not using [RFC6186]). It
"_imap.example.net" (when STARTTLS is used on the IMAP port) and might also include CN-IDs of "mail.example.net" for backward
"_imaps.example.net" (when TLS is used on IMAPS port). See [RFC6186] compatibility with deployed infrastructure.
for more details. (Note that unlike DNS SRV there is no "_tcp"
component in SRV-IDs) along with DNS-IDs of "example.net" and Consider the IMAP-accessible email server from the previous paragraph
"mail.example.net". It might also include CN-IDs of which is additionally discoverable via DNS SRV lookups in domain
"mail.example.net" for backward compatibility with deployed "example.net" (DNS SRV records "_imap._tcp.example.net" and
infrastructure. "_imaps._tcp.example.net"). In addition to DNS-ID/CN-ID identity
types specified above, a certificate for this service also needs to
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).
See [RFC6186] for more details. (Note that unlike DNS SRV there is
no "_tcp" component in SRV-IDs).
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" (DNS SRV
records "_submission._tcp.example.net"). A certificate for this records "_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-IDs of "submit.example.net". It might also include CN-IDs of
"submit.example.net" for backward compatibility with deployed "submit.example.net" for backward compatibility with deployed
infrastructure. infrastructure.
skipping to change at page 6, line 5 skipping to change at page 6, line 17
This document doesn't require any action from IANA. This document doesn't require any action from IANA.
8. Security Considerations 8. 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 Certification
Authorities can use when creating server certificates. 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 9. References
9.1. Normative References 9.1. Normative References
[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, March 1997. Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
October 2008. DOI 10.17487/RFC5321, October 2008,
<http://www.rfc-editor.org/info/rfc5321>.
[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, DOI 10.17487/RFC6409, November 2011,
<http://www.rfc-editor.org/info/rfc6409>.
[RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over
Transport Layer Security", RFC 3207, February 2002. Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207,
February 2002, <http://www.rfc-editor.org/info/rfc3207>.
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
4rev1", RFC 3501, March 2003. 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003,
<http://www.rfc-editor.org/info/rfc3501>.
[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, May 1996. STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996,
<http://www.rfc-editor.org/info/rfc1939>.
[RFC5804] Melnikov, A. and T. Martin, "A Protocol for Remotely [RFC5804] Melnikov, A., Ed. and T. Martin, "A Protocol for Remotely
Managing Sieve Scripts", RFC 5804, July 2010. Managing Sieve Scripts", RFC 5804, DOI 10.17487/RFC5804,
July 2010, <http://www.rfc-editor.org/info/rfc5804>.
[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, March 2011. Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March
2011, <http://www.rfc-editor.org/info/rfc6125>.
[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, May 2008. (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>.
[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, August 2007. RFC 4985, DOI 10.17487/RFC4985, August 2007,
<http://www.rfc-editor.org/info/rfc4985>.
[RFC6186] Daboo, C., "Use of SRV Records for Locating Email
Submission/Access Services", RFC 6186,
DOI 10.17487/RFC6186, March 2011,
<http://www.rfc-editor.org/info/rfc6186>.
9.2. Informative References 9.2. Informative References
[RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP",
2595, June 1999. RFC 2595, DOI 10.17487/RFC2595, June 1999,
<http://www.rfc-editor.org/info/rfc2595>.
[RFC6186] Daboo, C., "Use of SRV Records for Locating Email [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
Submission/Access Services", RFC 6186, March 2011. of Named Entities (DANE) Transport Layer Security (TLS)
Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August
2012, <http://www.rfc-editor.org/info/rfc6698>.
Appendix A. Acknowledgements Appendix A. Acknowledgements
Thank you to Chris Newman and Sean Turner for comments on this Thank you to Chris Newman, Viktor Dukhovni and Sean Turner for
document. comments on this document.
The editor of this document copied lots of text from RFC 2595 and RFC 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. 6125, so the hard work of editors of these document is appreciated.
Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 Appendix B. Changes since draft-ietf-uta-email-tls-certs-00
[[Note to RFC Editor: Please delete this section before publication]] [[Note to RFC Editor: Please delete this section before publication]]
Added another example, clarified that subjectAltName and DNS SRV are Added another example, clarified that subjectAltName and DNS SRV are
using slightly different syntax. using slightly different syntax.
 End of changes. 24 change blocks. 
51 lines changed or deleted 94 lines changed or added

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