idnits 2.17.1 draft-ietf-acme-email-smime-06.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 1, 2019) is 1637 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2818 (Obsoleted by RFC 9110) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). 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 Intended status: Informational November 1, 2019 5 Expires: May 4, 2020 7 Extensions to Automatic Certificate Management Environment for end user 8 S/MIME certificates 9 draft-ietf-acme-email-smime-06 11 Abstract 13 This document specifies identifiers and challenges required to enable 14 the Automated Certificate Management Environment (ACME) to issue 15 certificates for use by email users that want to use S/MIME. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on May 4, 2020. 34 Copyright Notice 36 Copyright (c) 2019 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 53 3. Use of ACME for issuing end user S/MIME certificates . . . . 2 54 3.1. ACME challenge email . . . . . . . . . . . . . . . . . . 3 55 3.2. ACME response email . . . . . . . . . . . . . . . . . . . 4 56 4. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 6 57 5. Internationalization Considerations . . . . . . . . . . . . . 6 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 60 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 61 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 10 62 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 64 1. Introduction 66 ACME [RFC8555] is a mechanism for automating certificate management 67 on the Internet. It enables administrative entities to prove 68 effective control over resources like domain names, and automates the 69 process of generating and issuing certificates. 71 This document describes an extension to ACME for use by S/MIME. 72 Section 3 defines extensions for issuing end user S/MIME [RFC8550] 73 certificates. 75 2. Conventions Used in This Document 77 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 78 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 79 document are to be interpreted as described in [RFC2119]. 81 3. Use of ACME for issuing end user S/MIME certificates 83 ACME [RFC8555] defines "dns" Identifier Type that is used to verify 84 that a particular entity has control over a domain or specific 85 service associated with the domain. In order to be able to issue 86 end-user S/MIME certificates, ACME needs a new Identifier Type that 87 proves ownership of an email address. 89 This document defines a new Identifier Type "email" which corresponds 90 to an (all ASCII) email address [RFC5321] or Internationalized Email 91 addresses [RFC6531]. (When Internationalized Email addresses are 92 used, both U-labels and A-labels [RFC5890] are allowed in the domain 93 part.) This can be used with S/MIME or other similar service that 94 requires posession of a certificate tied to an email address. 96 Any identifier of type "email" in a newOrder request MUST NOT have a 97 wildcard ("*") character in its value. 99 A new challenge type "email-reply-00" is used with "email" Identifier 100 Type, which provides proof that an ACME client has control over an 101 email address: 103 1. ACME server generates a "challenge" email message with the 104 subject "ACME: ", where is the 105 base64url encoded [RFC4648] first part of the token, which 106 contains at least 64 bit of entropy. The challenge email message 107 structure is described in more details in Section 3.1. The 108 second part of the token (token-part2, which also contains at 109 least 64 bit of entropy) is returned over HTTPS [RFC2818] to the 110 ACME client. 112 2. ACME client concatenates "token-part1" and "token-part2" to 113 create "token", calculates key-authz (as per Section 8.1 of 114 [RFC8555]), then includes the base64url encoded SHA-256 digest 115 [FIPS180-4] of the key authorization in the body of a response 116 email message containing a single text/plain MIME body part 117 [RFC2045]. The response email message structure is described in 118 more details in Section 3.2 120 For an identifier of type "email", CSR MUST contain the request email 121 address in an extensionRequest attribute [RFC2985] requesting a 122 subjectAltName extension. 124 3.1. ACME challenge email 126 A "challenge" email message MUST have the following structure: 128 1. The message Subject header field has the following syntax: "ACME: 129 ", where the prefix "ACME:" is followed by folding 130 white space (FWS, see [RFC5322]) and then by is the 131 base64url encoded first part of the ACME token that MUST be at 132 least 64 octet long after decoding. Due to recommended 78 octet 133 line length limit in [RFC5322], the subject line can be folded, 134 so whitespaces (if any) within the MUST be ignored. 135 [RFC2231] encoding of subject MUST be supported, but when used, 136 only "UTF-8" and "US-ASCII" charsets MUST be used (i.e. other 137 charsets MUST NOT be used). 139 2. The message MUST include the "Auto-Submitted: auto-generated" 140 header field [RFC3834]. The "Auto-Submitted" header field SHOULD 141 include "type=acme" parameter. It MAY include other optional 142 parameters as allowed by syntax of Auto-Submitted header field. 144 3. The message MAY contain Reply-To header field. 146 4. In order to prove authenticity of a challenge message, it MUST be 147 either DKIM [RFC6376] signed or S/MIME [RFC8551] signed. If DKIM 148 signing is used, the resulting DKIM-Signature header field MUST 149 contain the "h=" tag that includes at least "From", "Sender", 150 "Reply-To", "To", "CC", "Subject", "Date", "In-Reply-To", 151 "References", "Message-ID", "Content-Type" and "Content-Transfer- 152 Encoding" header fields. The message MUST also pass DMARC 153 validation [RFC7489], which implies DKIM and SPF validation 154 [RFC7208]. 156 5. If S/MIME signing is not used to prove authenticity of the 157 challenge message, then the message MUST have a single text/plain 158 MIME body part [RFC2045], that contains human readable 159 explanation of the purpose of the message. If S/MIME signing is 160 used, then the text/plain message is used to construct a 161 multipart/signed or "application/pkcs7-mime; smime-type=signed- 162 data;". Either way, it MUST use S/MIME header protection. 164 Example ACME "challenge" email (note that DKIM related header fields 165 are not included for simplicity). 167 Auto-Submitted: auto-generated; type=acme 168 Date: Sat, 1 Sep 2018 10:08:55 +0100 169 Message-ID: 170 From: acme-generator@example.org 171 To: alexey@example.com 172 Subject: ACME: 173 Content-Type: text/plain 174 MIME-Version: 1.0 176 This is an automatically generated ACME challenge for email address 177 "alexey@example.com". If you haven't requested an S/MIME 178 certificate generation for this email address, be very afraid. 179 If you did request it, your email client might be able to process 180 this request automatically, or you might have to paste the first 181 token part into an external program. 183 Figure 1 185 3.2. ACME response email 187 A "response" email message MUST have the following structure: 189 1. The message Subject header field has the following syntax: 190 " ACME: ", where is 191 typically the reply prefix "Re: " and the string "ACME:" is 192 followed by folding white space (FWS, see [RFC5322]) and then by 193 . is the base64url encoded first part 194 of the ACME token (as received in the ACME challenge) that MUST 195 be at least 64 octet long after decoding. Due to recommended 78 196 octet line length limit in [RFC5322], the subject line can be 197 folded, so whitespaces (if any) within the MUST be 198 ignored. [RFC2231] encoding of subject MUST be supported, but 199 when used, only "UTF-8" and "US-ASCII" charsets MUST be used 200 (i.e. other charsets MUST NOT be used). 202 2. The From: header field contains the email address of the user 203 that is requesting S/MIME certificate issuance. 205 3. The To: header field of the response contains the value from the 206 Reply-To: header field from the challenge message (if set) or 207 from the From: header field of the challenge message otherwise. 209 4. The Cc: header field is ignored if present in the "response" 210 email message. 212 5. The In-Reply-To: header field SHOULD be set to the Message-ID 213 header field of the challenge message according to rules in 214 Section 3.6.4 of [RFC5322]. 216 6. Media type of the "response" email message is either text/plain 217 or multipart/alternative containing text/plain as one of the 218 alternatives. The text/plain body part MUST start with the line 219 "-----BEGIN ACME RESPONSE-----", followed by one or more line 220 containing base64url encoded SHA-256 digest [FIPS180-4] of the 221 key authorization, calculated based on token-part1 (received over 222 email) and token-part2 (received over HTTPS). (Note that due to 223 historic line length limitations in email, line endings (CRLFs) 224 can be freely inserted in the middle of the encoded digest, so 225 they MUST be ignored when processing it.). The final line of the 226 encoded digest is followed by the line containing "-----END ACME 227 RESPONSE-----". There should not be any text after the 228 terminating line, but if any text is found, it is ignored. 230 7. There is no need to use any Content-Transfer-Encoding other than 231 7bit for the text/plain body part, however use of Quoted- 232 Printable or base64 is not prohibited in a "response" email 233 message. 235 8. In order to prove authenticity of a response message, it MUST be 236 DKIM [RFC6376] signed. The resulting DKIM-Signature header field 237 MUST contain the "h=" tag that includes at least "From", 238 "Sender", "Reply-To", "To", "CC", "Subject", "Date", "In-Reply- 239 To", "References", "Message-ID", "Content-Type" and "Content- 240 Transfer-Encoding" header fields. 242 Example ACME "response" email (note that DKIM related header fields 243 are not included for simplicity). 245 Date: Sat, 1 Sep 2018 11:12:00 +0100 246 Message-ID: <111-22222-3333333@example.com> 247 From: alexey@example.com 248 To: acme-generator@example.org 249 Subject: Re: ACME: 250 Content-Type: text/plain 251 MIME-Version: 1.0 253 -----BEGIN ACME RESPONSE----- 254 LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowy 255 jxAjEuX0.9jg46WB3rR_AHD-EBXdN7cBkH1WOu0tA3M9 256 fm21mqTI 257 -----END ACME RESPONSE----- 259 Figure 2 261 4. Open Issues 263 [[This section should be empty before publication]] 265 1. Do we need to handle text/html or multipart/alternative in email 266 challenge? Simplicity suggests "no". Also, for automated 267 processing it might be better to define a special MIME type that 268 is included as one of body parts inside multipart/mixed 269 container. 271 5. Internationalization Considerations 273 [RFC8616] updated/clarified use of DKIM/SPF/DMARC with 274 Internationalized Email addresses [RFC6531]. Please consult RFC 8616 275 in regards to any changes that need to be implemented. 277 Use of non ASCII characters in left hand sides of Internationalized 278 Email addresses requires putting Internationalized Email Addresses in 279 X.509 Certificates [RFC8398]. 281 6. IANA Considerations 283 IANA is requested to register a new Identifier Type "email" which 284 corresponds to an (all ASCII) email address [RFC5321] or 285 Internationalized Email addresses [RFC6531]. 287 And finally, IANA is requested to register the following ACME 288 challenge types that are used with Identifier Type "email": "email- 289 reply". The reference for it is this document. 291 7. Security Considerations 293 Please see Security Considerations of [RFC8555] for general security 294 considerations related to use of ACME. 296 Security of "email-reply-00" challenge type depends on security of 297 email system. A third party that can can read and reply to user's 298 email messages (by posessing user's password or a secret derived from 299 it that can give read and reply access ("password equivalent" 300 information), or by being given permissions to act on user's behalf 301 using email delegation feature) can request S/MIME certificates and 302 is indistinguishable from the email account owner. 304 Email system in its turn depends on DNS. A third party that can 305 manipulate DNS MX records for a domain might be able to redirect 306 email and can get (at least temporary) read and reply access to it. 307 Similar considerations apply to SPF and DMARC TXT records in DNS. 308 Use of DNSSEC by email system administrators is recommended to avoid 309 easy spoofing of DNS records affecting email system. 311 8. Normative References 313 [FIPS180-4] 314 National Institute of Standards and Technology, "Secure 315 Hash Standard (SHS)", FIPS PUB 180-4, August 2015, 316 . 319 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 320 Extensions (MIME) Part One: Format of Internet Message 321 Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, 322 . 324 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 325 Requirement Levels", BCP 14, RFC 2119, 326 DOI 10.17487/RFC2119, March 1997, 327 . 329 [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded 330 Word Extensions: Character Sets, Languages, and 331 Continuations", RFC 2231, DOI 10.17487/RFC2231, November 332 1997, . 334 [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, 335 DOI 10.17487/RFC2818, May 2000, 336 . 338 [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object 339 Classes and Attribute Types Version 2.0", RFC 2985, 340 DOI 10.17487/RFC2985, November 2000, 341 . 343 [RFC3834] Moore, K., "Recommendations for Automatic Responses to 344 Electronic Mail", RFC 3834, DOI 10.17487/RFC3834, August 345 2004, . 347 [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data 348 Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, 349 . 351 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 352 DOI 10.17487/RFC5321, October 2008, 353 . 355 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 356 DOI 10.17487/RFC5322, October 2008, 357 . 359 [RFC5890] Klensin, J., "Internationalized Domain Names for 360 Applications (IDNA): Definitions and Document Framework", 361 RFC 5890, DOI 10.17487/RFC5890, August 2010, 362 . 364 [RFC6376] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed., 365 "DomainKeys Identified Mail (DKIM) Signatures", STD 76, 366 RFC 6376, DOI 10.17487/RFC6376, September 2011, 367 . 369 [RFC6531] Yao, J. and W. Mao, "SMTP Extension for Internationalized 370 Email", RFC 6531, DOI 10.17487/RFC6531, February 2012, 371 . 373 [RFC7208] Kitterman, S., "Sender Policy Framework (SPF) for 374 Authorizing Use of Domains in Email, Version 1", RFC 7208, 375 DOI 10.17487/RFC7208, April 2014, 376 . 378 [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based 379 Message Authentication, Reporting, and Conformance 380 (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, 381 . 383 [RFC8398] Melnikov, A., Ed. and W. Chuang, Ed., "Internationalized 384 Email Addresses in X.509 Certificates", RFC 8398, 385 DOI 10.17487/RFC8398, May 2018, 386 . 388 [RFC8550] Schaad, J., Ramsdell, B., and S. Turner, "Secure/ 389 Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 390 Certificate Handling", RFC 8550, DOI 10.17487/RFC8550, 391 April 2019, . 393 [RFC8551] Schaad, J., Ramsdell, B., and S. Turner, "Secure/ 394 Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 395 Message Specification", RFC 8551, DOI 10.17487/RFC8551, 396 April 2019, . 398 [RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. 399 Kasten, "Automatic Certificate Management Environment 400 (ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, 401 . 403 [RFC8616] Levine, J., "Email Authentication for Internationalized 404 Mail", RFC 8616, DOI 10.17487/RFC8616, June 2019, 405 . 407 Appendix A. Acknowledgements 409 Thank you to Andreas Schulze, Gerd v. Egidy and James A Baker for 410 suggestions, comments and corrections on this document. 412 Author's Address 414 Alexey Melnikov 415 Isode Ltd 416 14 Castle Mews 417 Hampton, Middlesex TW12 2NP 418 UK 420 EMail: alexey.melnikov@isode.com