idnits 2.17.1 draft-ietf-uta-email-tls-certs-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC2595, but the abstract doesn't seem to directly say this. It does mention RFC2595 though, so this could be OK. -- The draft header indicates that this document updates RFC5804, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC3501, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC3207, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC2595, updated by this document, for RFC5378 checks: 1997-08-28) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 6, 2015) is 3179 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC5321' is defined on line 273, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) ** Obsolete normative reference: RFC 6125 (Obsoleted by RFC 9525) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Melnikov 3 Internet-Draft Isode Ltd 4 Updates: 2595, 3207, 3501, 5804 (if August 6, 2015 5 approved) 6 Intended status: Standards Track 7 Expires: February 7, 2016 9 Updated TLS Server Identity Check Procedure for Email Related Protocols 10 draft-ietf-uta-email-tls-certs-04 12 Abstract 14 This document describes TLS server identity verification procedure 15 for SMTP Submission, IMAP, POP and ManageSieve clients. It replaces 16 Section 2.4 of RFC 2595. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on February 7, 2016. 35 Copyright Notice 37 Copyright (c) 2015 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 54 3. Email Server Certificate Verification Rules . . . . . . . . . 3 55 4. Compliance Checklist for Certification Authorities . . . . . 4 56 5. Compliance Checklist for Mail Service Providers and 57 Certificate Signing Request generation tools . . . . . . . . 4 58 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 5 59 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 60 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 61 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 62 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 63 9.2. Informative References . . . . . . . . . . . . . . . . . 7 64 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 65 Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 . . 8 66 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 68 1. Introduction 70 Use of TLS by SMTP Submission, IMAP, POP and ManageSieve clients is 71 described in [RFC3207], [RFC3501], [RFC2595] and [RFC5804] 72 respectively. Each of the documents describes slightly different 73 rules for server certificate identity verification (or doesn't define 74 any rules at all). In reality, email client and server developers 75 implement many of these protocols at the same time, so it would be 76 good to define modern and consistent rules for verifying email server 77 identities using TLS. 79 This document describes the updated TLS server identity verification 80 procedure for SMTP Submission [RFC6409] [RFC3207], IMAP [RFC3501], 81 POP [RFC1939] and ManageSieve [RFC5804] clients. It replaces 82 Section 2.4 of RFC 2595. 84 Note that this document doesn't apply to use of TLS in MTA-to-MTA 85 SMTP. 87 The main goal of the document is to provide consistent TLS server 88 identity verification procedure across multiple email related 89 protocols. This should make it easier for Certification Authorities 90 and ISPs to deploy TLS for email use, and would enable email client 91 developers to write more secure code. 93 2. Conventions Used in This Document 95 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 96 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 97 document are to be interpreted as described in [RFC2119]. 99 3. Email Server Certificate Verification Rules 101 During a TLS negotiation, an email client (i.e., an SMTP, IMAP, POP3 102 or ManageSieve client) MUST check its understanding of the server 103 hostname against the server's identity as presented in the server 104 Certificate message, in order to prevent man-in-the-middle attacks. 105 Matching is performed according to the rules specified in Section 6 106 of [RFC6125], including "certificate pinning" and the procedure on 107 failure to match. The following inputs are used by the verification 108 procedure used in [RFC6125]: 110 1. For DNS-ID and CN-ID identifier types the client MUST use the 111 server hostname it used to open the connection as at least one of 112 the values to compare against (*) in the server certificate. The 113 client MUST NOT use any form of the server hostname derived from 114 an insecure remote source (e.g., insecure DNS lookup). CNAME 115 canonicalization is not done. 117 2. When using email service discovery procedure specified in 118 [RFC6186] the client MUST also use the right hand side of the 119 email address as another "reference identifier" to compare 120 against in the server certificate. 122 (*) - "reference identifier" (see the definition in [RFC6125]). 124 The rules and guidelines defined in [RFC6125] apply to an email 125 server certificates, with the following supplemental rules: 127 1. Support for the DNS-ID identifier type (subjectAltName of dNSName 128 type [RFC5280]) is REQUIRED in Email client software 129 implementations. 131 2. Support for the SRV-ID identifier type (subjectAltName of SRVName 132 type [RFC4985]) is REQUIRED for email client software 133 implementations that support [RFC6186]. List of SRV-ID types for 134 email services is specified in [RFC6186]. For the ManageSieve 135 protocol the service name "sieve" is used. 137 3. URI-ID identifier type (subjectAltName of 138 uniformResourceIdentifier type [RFC5280]) MUST NOT be used by 139 clients for server verification, as URI-ID were not historically 140 used for email. 142 4. For backward compatibility with deployed software CN-ID 143 identifier type (CN attribute from the subject name, see 144 [RFC6125]) MAY be used for server identity verification. 146 5. Email protocols allow use of certain wilcards in identifiers 147 presented by email servers. The "*" wildcard character MAY be 148 used as the left-most name component of DNS-ID or CN-ID in the 149 certificate. For example, a DNS-ID of *.example.com would match 150 a.example.com, foo.example.com, etc. but would not match 151 example.com. Note that the wildcard character MUST NOT be used 152 as a fragment of the left-most name component (e.g., 153 *oo.example.com, f*o.example.com, or foo*.example.com). 155 4. Compliance Checklist for Certification Authorities 157 1. CA MUST support issuance of server certificates with DNS-ID 158 identifier type (subjectAltName of dNSName type [RFC5280]). 160 2. CA MUST support issuance of server certificates with SRV-ID 161 identifier type (subjectAltName of SRVName type [RFC4985]) for 162 each type of email service. 164 3. For backward compatibility with deployed client base, CA MUST 165 support issuance of server certificates with CN-ID identifier 166 type (CN attribute from the subject name, see [RFC6125]). 168 4. CA MAY allow "*" (wildcard) as the left-most name component of 169 DNS-ID or CN-ID in server certificates it issues. 171 5. Compliance Checklist for Mail Service Providers and Certificate 172 Signing Request generation tools 174 1. SHOULD include the DNS-ID identifier type (subjectAltName of 175 dNSName type [RFC5280]) in Certificate Signing Requests for both 176 the right hand side of served email addresses, as well as for the 177 host name where the email server(s) are running. 179 2. If the email services provided are discoverable using DNS SRV as 180 specified in [RFC6186], the Mail Service Provider MUST include 181 the SRV-ID identifier type (subjectAltName of SRVName type 182 [RFC4985]) for each type of email service in Certificate Signing 183 Requests. 185 3. SHOULD include CN-ID identifier type (CN attribute from the 186 subject name, see [RFC6125]) for the host name where the email 187 server(s) is running in Certificate Signing Requests for backward 188 compatibility with deployed email clients. (Note, a certificate 189 can only include a single CN-ID, so if a mail service is running 190 on multiple hosts, either each host has to use different 191 certificate with its own CN-ID, a single certificate with 192 multiple DNS-IDs, or a single certificate with wildcard in CN-ID 193 can be used). 195 4. MAY include "*" (wildcard) as the left-most name component of 196 DNS-ID or CN-ID in Certificate Signing Requests. 198 6. Examples 200 Consider an IMAP-accessible email server which supports both IMAP and 201 IMAPS (IMAP-over-TLS) at the host "mail.example.net" servicing email 202 addresses of the form "user@example.net". A certificate for this 203 service needs to include DNS-IDs of "example.net" (because it is the 204 right hand side of emails) and "mail.example.net" (this is what a 205 user of this server enters manually, if not using [RFC6186]). It 206 might also include CN-IDs of "mail.example.net" for backward 207 compatibility with deployed infrastructure. 209 Consider the IMAP-accessible email server from the previous paragraph 210 which is additionally discoverable via DNS SRV lookups in domain 211 "example.net" (DNS SRV records "_imap._tcp.example.net" and 212 "_imaps._tcp.example.net"). In addition to DNS-ID/CN-ID identity 213 types specified above, a certificate for this service also needs to 214 include SRV-IDs of "_imap.example.net" (when STARTTLS is used on the 215 IMAP port) and "_imaps.example.net" (when TLS is used on IMAPS port). 216 See [RFC6186] for more details. (Note that unlike DNS SRV there is 217 no "_tcp" component in SRV-IDs). 219 Consider an SMTP Submission server at the host "submit.example.net" 220 servicing email addresses of the form "user@example.net" and 221 discoverable via DNS SRV lookups in domain "example.net" (DNS SRV 222 records "_submission._tcp.example.net"). A certificate for this 223 service needs to include SRV-IDs of "_submission.example.net" (see 224 [RFC6186]) along with DNS-IDs of "example.net" and 225 "submit.example.net". It might also include CN-IDs of 226 "submit.example.net" for backward compatibility with deployed 227 infrastructure. 229 Consider a host "mail.example.net" servicing email addresses of the 230 form "user@example.net" and discoverable via DNS SRV lookups in 231 domain "example.net", which runs SMTP Submission, IMAPS and POP3S 232 (POP3-over-TLS) and ManageSieve services. Each of the servers can 233 use their own certificate specific to their service (see examples 234 above). Alternatively they can all share a single certificate that 235 would include SRV-IDs of "_submission.example.net", 236 "_imaps.example.net", "_pop3s.example.net" and "_sieve.example.net" 237 along with DNS-IDs of "example.net" and "mail.example.net". It might 238 also include CN-IDs of "mail.example.net" for backward compatibility 239 with deployed infrastructure. 241 7. IANA Considerations 243 This document doesn't require any action from IANA. 245 8. Security Considerations 247 The goal of this document is to improve interoperability and thus 248 security of email clients wishing to access email servers over TLS 249 protected email protocols, by specifying a consistent set of rules 250 that email service providers, email client writers and Certification 251 Authorities can use when creating server certificates. 253 TLS Server Identity Check for Email relies on use of trustworthy DNS 254 hostnames when constructing "reference identifiers" that are checked 255 against an email server certificate. Such trustworthy names are 256 either entered manually (for example if they are advertised on a Mail 257 Service Provider's website), explicitly confirmed by the user (e.g. 258 if they are a target of a DNS SRV lookup) or derived using a secure 259 third party service (e.g. DNSSEC-protected SRV records which are 260 verified by the client or trusted local resolver). Future work in 261 this area might benefit from integration with DANE [RFC6698], but it 262 is not covered by this document. 264 9. References 266 9.1. Normative References 268 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 269 Requirement Levels", BCP 14, RFC 2119, 270 DOI 10.17487/RFC2119, March 1997, 271 . 273 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 274 DOI 10.17487/RFC5321, October 2008, 275 . 277 [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", 278 STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, 279 . 281 [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over 282 Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, 283 February 2002, . 285 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 286 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 287 . 289 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", 290 STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, 291 . 293 [RFC5804] Melnikov, A., Ed. and T. Martin, "A Protocol for Remotely 294 Managing Sieve Scripts", RFC 5804, DOI 10.17487/RFC5804, 295 July 2010, . 297 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 298 Verification of Domain-Based Application Service Identity 299 within Internet Public Key Infrastructure Using X.509 300 (PKIX) Certificates in the Context of Transport Layer 301 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 302 2011, . 304 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 305 Housley, R., and W. Polk, "Internet X.509 Public Key 306 Infrastructure Certificate and Certificate Revocation List 307 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 308 . 310 [RFC4985] Santesson, S., "Internet X.509 Public Key Infrastructure 311 Subject Alternative Name for Expression of Service Name", 312 RFC 4985, DOI 10.17487/RFC4985, August 2007, 313 . 315 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email 316 Submission/Access Services", RFC 6186, 317 DOI 10.17487/RFC6186, March 2011, 318 . 320 9.2. Informative References 322 [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", 323 RFC 2595, DOI 10.17487/RFC2595, June 1999, 324 . 326 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 327 of Named Entities (DANE) Transport Layer Security (TLS) 328 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 329 2012, . 331 Appendix A. Acknowledgements 333 Thank you to Chris Newman, Viktor Dukhovni and Sean Turner for 334 comments on this document. 336 The editor of this document copied lots of text from RFC 2595 and RFC 337 6125, so the hard work of editors of these document is appreciated. 339 Appendix B. Changes since draft-ietf-uta-email-tls-certs-00 341 [[Note to RFC Editor: Please delete this section before publication]] 343 Added another example, clarified that subjectAltName and DNS SRV are 344 using slightly different syntax. 346 As any certificate can only include one CN-ID, corrected examples. 348 Split rules to talk seperately about requirements on MUAs, CAs and 349 MSPs/CSR generation tools. 351 Updated Introduction section. 353 Author's Address 355 Alexey Melnikov 356 Isode Ltd 357 14 Castle Mews 358 Hampton, Middlesex TW12 2NP 359 UK 361 EMail: Alexey.Melnikov@isode.com