draft-ietf-acme-email-smime-10.txt   draft-ietf-acme-email-smime-11.txt 
Network Working Group A. Melnikov Network Working Group A. Melnikov
Internet-Draft Isode Ltd Internet-Draft Isode Ltd
Intended status: Informational October 27, 2020 Intended status: Informational November 17, 2020
Expires: April 30, 2021 Expires: May 21, 2021
Extensions to Automatic Certificate Management Environment for end-user Extensions to Automatic Certificate Management Environment for end-user
S/MIME certificates S/MIME certificates
draft-ietf-acme-email-smime-10 draft-ietf-acme-email-smime-11
Abstract Abstract
This document specifies identifiers and challenges required to enable This document specifies identifiers and challenges required to enable
the Automated Certificate Management Environment (ACME) to issue the Automated Certificate Management Environment (ACME) to issue
certificates for use by email users that want to use S/MIME. certificates for use by email users that want to use S/MIME.
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 33 skipping to change at page 1, line 33
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 April 30, 2021. This Internet-Draft will expire on May 21, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2
3. Use of ACME for issuing end-user S/MIME certificates . . . . 2 3. Use of ACME for issuing end-user S/MIME certificates . . . . 3
3.1. ACME challenge email . . . . . . . . . . . . . . . . . . 3 3.1. ACME challenge email . . . . . . . . . . . . . . . . . . 4
3.2. ACME response email . . . . . . . . . . . . . . . . . . . 5 3.2. ACME response email . . . . . . . . . . . . . . . . . . . 6
4. Internationalization Considerations . . . . . . . . . . . . . 7 4. Internationalization Considerations . . . . . . . . . . . . . 8
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5.1. ACME Identifier Type . . . . . . . . . . . . . . . . . . 7 5.1. ACME Identifier Type . . . . . . . . . . . . . . . . . . 8
5.2. ACME Challenge Type . . . . . . . . . . . . . . . . . . . 7 5.2. ACME Challenge Type . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. Normative References . . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 12 7.1. Normative References . . . . . . . . . . . . . . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 7.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
ACME [RFC8555] is a mechanism for automating certificate management ACME [RFC8555] is a mechanism for automating certificate management
on the Internet. It enables administrative entities to prove on the Internet. It enables administrative entities to prove
effective control over resources like domain names, and automates the effective control over resources like domain names, and automates the
process of generating and issuing certificates. process of generating and issuing certificates.
This document describes an extension to ACME for use by S/MIME. This document describes an extension to ACME for use by S/MIME.
Section 3 defines extensions for issuing end-user S/MIME [RFC8550] Section 3 defines extensions for issuing end-user S/MIME [RFC8550]
certificates. certificates.
This document aims to support both:
1. A Mail User Agent (MUA) which has built in ACME client aware of
the extension described in this document. (We will call such
ACME clients "ACME-email-aware") Such MUA can present nice User
Interface to the user and automate certificate issuance.
2. A MUA which is not ACME aware, with a separate ACME client
implemented in a command line tool or as a part of a website.
While S/MIME certificate issuance is not going to be as painless
as in the case of the ACME-email-aware MUA, the extra burden on a
user is going to be minimal.
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].
3. Use of ACME for issuing end-user S/MIME certificates 3. Use of ACME for issuing end-user S/MIME certificates
ACME [RFC8555] defines a "dns" Identifier Type that is used to verify ACME [RFC8555] defines a "dns" Identifier Type that is used to verify
that a particular entity has control over a domain or specific that a particular entity has control over a domain or specific
service associated with the domain. In order to be able to issue service associated with the domain. In order to be able to issue
end-user S/MIME certificates, ACME needs a new Identifier Type that end-user S/MIME certificates, ACME needs a new Identifier Type that
proves ownership of an email address. proves ownership of an email address.
This document defines a new Identifier Type "email" which corresponds This document defines a new Identifier Type "email" which corresponds
to an (all ASCII) email address [RFC5321] or Internationalized Email to an email address. The address can be all ASCII [RFC5321] or
addresses [RFC6531]. (When Internationalized Email addresses are internationalized [RFC6531]; when an internationalized email address
used, both U-labels and A-labels [RFC5890] are allowed in the domain is used, the domain part can contain both U-labels and A-labels
part.) This can be used with S/MIME or other similar service that [RFC5890]. This can be used with S/MIME or other similar service
requires possession of a certificate tied to an email address. that requires possession of a certificate tied to an email address.
Any identifier of type "email" in a newOrder request MUST NOT have a Any identifier of type "email" in a newOrder request MUST NOT have a
wildcard ("*") character in its value. wildcard ("*") character in its value.
A new challenge type "email-reply-00" is used with "email" Identifier A new challenge type "email-reply-00" is used with "email" Identifier
Type, which provides proof that an ACME client has control over an Type, which provides proof that an ACME client has control over an
email address: email address.
The process of issing an S/MIME certificate works as follows. Note
that the ACME client can be a standalone application (if the MUA is
not ACME-email-aware) or can be a component of the MUA.
1. An end-user initiates issuance of an S/MIME certificate for one 1. An end-user initiates issuance of an S/MIME certificate for one
of her email addresses. This might be done using email client UI of her email addresses. This might be done using email client
(and might use some HTTP API underneath), by visiting a UI, by running a command line tool, by visiting a Certificate
Certificate Authority web page or by sending an email to a well Authority web page, etc. This document doesn't prescribe
known Certificate Authority's email address. This document specific UI used to initiate S/MIME certificate issuance or where
doesn't prescribe how exactly S/MIME certificate issuance is the ACME client is located.
initiated.
2. The ACME server (run by the Certificate Authority or their 2. The ACME-email-aware client component begins the certificate
authorized third party) generates a "challenge" email message issuance process by sending a POST request to the server's
with the subject "ACME: <token-part1>", where <token-part1> is newOrder resource, including the identifier of type "email". See
the base64url encoded [RFC4648] first part of the token, which Section 7.4 of [RFC8555] for more details.
contains at least 64 bits of entropy. (ACME server MUST generate
token afresh for each S/MIME issuance request.) The challenge
email message structure is described in more details in
Section 3.1. The second part of the token (token-part2, which
also contains at least 64 bits of entropy) is returned over HTTPS
[RFC2818] to the ACME client.
3. The ACME client concatenates "token-part1" and "token-part2" to 3. The ACME server responds to the POST request, including an
create "token", calculates keyAuthorization (as per Section 8.1 "authorizations" URL for the requested email address. The ACME
of [RFC8555]), then includes the base64url encoded SHA-256 digest client then retrieves information about the corresponding "email-
[FIPS180-4] of the key authorization in the body of a response reply-00" challenge as specified in Section 7.5 of [RFC8555].
email message containing a single text/plain MIME body part The "token" field of the corresponding "challenges" array element
[RFC2045]. The response email message structure is described in (which contains "type": "email-reply-00" as another field)
more details in Section 3.2. contains token-part2. token-part2 should contain at least 128
bits of entropy.
For an identifier of type "email", the PKCS#10 [RFC2986] Certificate 4. After responding to the authorization request the ACME server
Signing Request (CSR) MUST contain the requested email address in an generates another token and a "challenge" email message with the
extensionRequest attribute [RFC2985] requesting a subjectAltName subject "ACME: <token-part1>", where <token-part1> is the
extension. base64url encoded [RFC4648] form of the token. The ACME server
MUST generate a fresh token for each S/MIME issuance request
(authorization request), and token-part1 MUST contain at least
128 bits of entropy. The challenge email message structure is
described in more details in Section 3.1.
5. The MUA retrieves and parses the challenge email message. The
ACME client concatenates "token-part1" (received over email) and
"token-part2" (received over HTTPS [RFC2818]) to create the ACME
"token", calculates keyAuthorization (as per Section 8.1 of
[RFC8555]), then returns the base64url encoded SHA-256 digest
[FIPS180-4] of the key authorization. The MUA returns the
base64url encoded SHA-256 digest obtained from the ACME client in
the body of a response email message. The response email message
structure is described in more details in Section 3.2.
6. Once the MUA sends the response email, the ACME client can start
polling the authorization URL (using POST-as-GET requests) to see
if the ACME server received and validated the response email
message. (See Section 7.5.1 of [RFC8555] for more details.) If
the "status" field of the challenge switches to "valid", then the
ACME client can proceed with request finalization. The
Certificate Signing Request (CSR) MUST indicate the exact same
set of requested identifiers as the initial newOrder request.
For an identifier of type "email", the PKCS#10 [RFC2986] CSR MUST
contain the requested email address in an extensionRequest
attribute [RFC2985] requesting a subjectAltName extension. If a
request to finalize an order is successful, the ACME server will
return a 200 (OK) with an updated order object. If the
certificate is issued successfully, i.e. if the order "status" is
"valid", then the ACME client can download the issued S/MIME
certificate from the URL specified in the "certificate" field.
3.1. ACME challenge email 3.1. ACME challenge email
A "challenge" email message MUST have the following structure: A "challenge" email message MUST have the following structure:
1. The message Subject header field has the following syntax: "ACME: 1. The message Subject header field has the following syntax: "ACME:
<token-part1>", where the prefix "ACME:" is followed by folding <token-part1>", where the prefix "ACME:" is followed by folding
white space (FWS, see [RFC5322]) and then by <token-part1>, which white space (FWS, see [RFC5322]) and then by <token-part1>, which
is the base64url encoded first part of the ACME token that MUST is the base64url encoded first part of the ACME token that MUST
be at least 64 bits long after decoding. Due to the recommended be at least 128 bits long after decoding. Due to the recommended
78-octet line length limit in [RFC5322], the subject line can be 78-octet line length limit in [RFC5322], the subject line can be
folded, so whitespaces (if any) within the <token-part1> MUST be folded, so whitespaces (if any) within the <token-part1> MUST be
ignored. [RFC2231] encoding of the message Subject header field ignored. [RFC2231] encoding of the message Subject header field
MUST be supported, but when used, only "UTF-8" and "US-ASCII" MUST be supported, and when used, only the "UTF-8" and "US-ASCII"
charsets MUST be used (i.e. other charsets MUST NOT be used). charsets are allowed: other charsets MUST NOT be used. US-ASCII
charset SHOULD be used.
2. The To header field MUST be the email address of the entity that 2. The To header field MUST be the email address of the entity that
requested the S/MIME certificate to be generated. requested the S/MIME certificate to be generated.
3. The message MAY contain a Reply-To header field. 3. The message MAY contain a Reply-To header field.
4. The message MUST include the "Auto-Submitted: auto-generated" 4. The message MUST include the "Auto-Submitted: auto-generated"
header field [RFC3834]. The "Auto-Submitted" header field SHOULD header field [RFC3834]. To aid in debugging (and in for some
include the "type=acme" parameter. It MAY include other optional implementations to make automated processing easier) the "Auto-
parameters as allowed by the syntax of the Auto-Submitted header Submitted" header field SHOULD include the "type=acme" parameter.
field. It MAY include other optional parameters as allowed by the syntax
of the Auto-Submitted header field.
5. In order to prove authenticity of a challenge message, it MUST be 5. In order to prove authenticity of a challenge message, it MUST be
either DKIM [RFC6376] signed or S/MIME [RFC8551] signed. If DKIM signed using either DKIM [RFC6376] or S/MIME [RFC8551].
signing is used, the resulting DKIM-Signature header field MUST
contain the "h=" tag that includes at least "From", "Sender", If DKIM signing is used, the resulting DKIM-Signature header
"Reply-To", "To", "CC", "Subject", "Date", "In-Reply-To", field MUST contain the "h=" tag that includes at least "From",
"References", "Message-ID", "Content-Type", and "Content- "Sender", "Reply-To", "To", "CC", "Subject", "Date", "In-
Transfer-Encoding" header fields. The message MUST also pass Reply-To", "References", "Message-ID", "Auto-Submitted",
DMARC validation [RFC7489], which implies DKIM and SPF validation "Content-Type", and "Content-Transfer-Encoding" header fields.
[RFC7208]. The domain from the "d=" tag of DKIM-Signature header field
MUST be the same as the domain from the From header field of
the challenge email.
If S/MIME signing is used, the certificate corresponding to
the signer MUST have rfc822Name subjectAltName extension with
the value equal to the From header field email address of the
challenge email.
6. The body of the challenge message is not used for automated 6. The body of the challenge message is not used for automated
processing, so it can be any media type. (However there are processing, so it can be any media type. (However there are
extra requirements on S/MIME signing, if used. See below.) extra requirements on S/MIME signing, if used. See below.)
Typically it is text/plain or text/html containing a human- Typically it is text/plain or text/html containing a human-
readable explanation of the purpose of the message. If S/MIME readable explanation of the purpose of the message. If S/MIME
signing is used to prove authenticity of the challenge message, signing is used to prove authenticity of the challenge message,
then the multipart/signed or "application/pkcs7-mime; smime- then the multipart/signed or "application/pkcs7-mime; smime-
type=signed-data;" media type should be used. Either way, it type=signed-data;" media type should be used. Either way, it
MUST use S/MIME header protection. MUST use S/MIME header protection.
An example ACME "challenge" email (note that DKIM related header An email client compliant with this specification that detects that a
fields are not included for simplicity). particular challenge email fails validation described above MUST
ignore the challenge and thus will not generate any response email.
To aid in debugging such failed validations SHOULD be logged.
An example ACME "challenge" email (note that for simplicity DKIM
related header fields are not included).
Auto-Submitted: auto-generated; type=acme Auto-Submitted: auto-generated; type=acme
Date: Sat, 1 Sep 2018 10:08:55 +0100 Date: Sat, 5 Dec 2020 10:08:55 +0100
Message-ID: <A2299BB.FF7788@example.org> Message-ID: <A2299BB.FF7788@example.org>
From: acme-generator@example.org From: acme-generator@example.org
To: alexey@example.com To: alexey@example.com
Subject: ACME: <base64url-encoded-token-with-64-bits-of-entropy> Subject: ACME: LgYemJLy3F1LDkiJrdIGbEzyFJyOyf6vBdyZ1TG3sME=
Content-Type: text/plain Content-Type: text/plain
MIME-Version: 1.0 MIME-Version: 1.0
This is an automatically generated ACME challenge for email address This is an automatically generated ACME challenge for email address
"alexey@example.com". If you haven't requested an S/MIME "alexey@example.com". If you haven't requested an S/MIME
certificate generation for this email address, be very afraid. certificate generation for this email address, be very afraid.
If you did request it, your email client might be able to process If you did request it, your email client might be able to process
this request automatically, or you might have to paste the first this request automatically, or you might have to paste the first
token part into an external program. token part into an external program.
Figure 1 Figure 1
3.2. ACME response email 3.2. ACME response email
A valid "response" email message MUST have the following structure: A valid "response" email message MUST have the following structure:
1. The message Subject header field has the following syntax: 1. The message Subject header field is formed as a reply to the ACME
"<Reply-prefix> ACME: <token-part1>", where <Reply-prefix> is challenge email (see Section 3.1). Its syntax is the same as
typically the reply prefix "Re:" and the string "ACME:" is that of the challenge message except that it may be prefixed by a
preceded and followed by folding white space (FWS, see [RFC5322]) US-ASCII reply prefix (typically "Re:") and folding white space
and then by <token-part1>. <token-part1> is the base64url encoded (FWS, see [RFC5322]), as is normal in reply messages. When
first part of the ACME token (as received in the ACME challenge) parsing the subject, ACME servers MUST decode [RFC2231] encoding
that MUST be at least 64 bits long after decoding. Due to (if any) and then they can ignore any prefix before the "ACME:"
recommended 78 octet line length limit in [RFC5322], the subject label.
line can be folded, so whitespaces (if any) within the <token-
part1> MUST be ignored. [RFC2231] encoding of the Subject header
field MUST be supported, but when used, only "UTF-8" and "US-
ASCII" charsets MUST be used (i.e. other charsets MUST NOT be
used). When parsing subjects, ACME servers must decode [RFC2231]
encoding (if any) and then they can ignore any prefix before the
"ACME:" label.
2. The From: header field contains the email address of the user 2. The From: header field contains the email address of the user
that is requesting S/MIME certificate issuance. that is requesting S/MIME certificate issuance.
3. The To: header field of the response contains the value from the 3. The To: header field of the response contains the value from the
Reply-To: header field from the challenge message (if set) or Reply-To: header field from the challenge message (if set) or
from the From: header field of the challenge message otherwise. from the From: header field of the challenge message otherwise.
4. The Cc: header field is ignored if present in the "response" 4. The Cc: header field is ignored if present in the "response"
email message. email message.
5. The In-Reply-To: header field SHOULD be set to the Message-ID 5. The In-Reply-To: header field SHOULD be set to the Message-ID
header field of the challenge message according to rules in header field of the challenge message according to rules in
Section 3.6.4 of [RFC5322]. Section 3.6.4 of [RFC5322].
6. List-* header fields [RFC4021][RFC8058] MUST be absent (i.e., the 6. List-* header fields [RFC4021][RFC8058] MUST be absent (i.e., the
reply can't come from a mailing list) reply can't come from a mailing list)
7. The media type of the "response" email message is either text/ 7. The media type of the "response" email message is either text/
plain or multipart/alternative containing text/plain as one of plain or multipart/alternative [RFC2046] containing text/plain as
the alternatives. The text/plain body part (whether or not it is one of the alternatives. (Note that the requirement to support
multipart/alternative is to allow use of ACME-unaware MUAs which
can't always generate pure text/plain, e.g. if they reply to a
text/html). The text/plain body part (whether or not it is
inside multipart/alternative) MUST contain a block of lines inside multipart/alternative) MUST contain a block of lines
starting with the line "-----BEGIN ACME RESPONSE-----", followed starting with the line "-----BEGIN ACME RESPONSE-----", followed
by one or more line containing the base64url-encoded SHA-256 by one or more line containing the base64url-encoded SHA-256
digest [FIPS180-4] of the key authorization, calculated from digest [FIPS180-4] of the key authorization, calculated from
concatenated token-part1 (received over email) and token-part2 concatenated token-part1 (received over email) and token-part2
(received over HTTPS). See the 3rd bullet point in Section 3 for (received over HTTPS), as outlined in the 5th bullet in
more details. (Note that due to historical line length Section 3. (Note that each line of text/plain is terminated by
limitations in email, line endings (CRLFs) can be freely inserted CRLF. Bare LFs or bare CRs are not allowed.) Due to historical
in the middle of the encoded digest, so they MUST be ignored when line length limitations in email, line endings (CRLFs) can be
processing it.) The final line of the encoded digest is followed freely inserted in the middle of the encoded digest, so they MUST
by a line containing "-----END ACME RESPONSE-----". Any text be ignored when processing it.) The final line of the encoded
before and after this block is ignored. For example such text digest is followed by a line containing "-----END ACME
might explain what to do with it for ACME-unaware clients. RESPONSE-----". Any text before and after this block is ignored.
For example such text might explain what to do with it for ACME-
unaware clients.
8. There is no need to use any Content-Transfer-Encoding other than 8. There is no need to use any Content-Transfer-Encoding other than
7bit for the text/plain body part, however use of Quoted- 7bit for the text/plain body part. Use of Quoted-Printable or
Printable or base64 is not prohibited in a "response" email base64 in a "response" email message is not necessary and should
message. be avoided, though it is permitted.
9. In order to prove authenticity of a response message, it MUST be 9. In order to prove authenticity of a response message, it MUST be
DKIM [RFC6376] signed. The resulting DKIM-Signature header field DKIM [RFC6376] signed. The resulting DKIM-Signature header field
MUST contain the "h=" tag that includes at least "From", MUST contain the "h=" tag that includes at least "From",
"Sender", "Reply-To", "To", "CC", "Subject", "Date", "In-Reply- "Sender", "Reply-To", "To", "CC", "Subject", "Date", "In-Reply-
To", "References", "Message-ID", "Content-Type", and "Content- To", "References", "Message-ID", "Content-Type", and "Content-
Transfer-Encoding" header fields. The message MUST also pass Transfer-Encoding" header fields. The domain from the "d=" tag
DMARC validation [RFC7489], which implies DKIM and SPF validation of DKIM-Signature header field MUST be the same as the domain
[RFC7208]. from the From header field of the response email.
Example ACME "response" email (note that DKIM related header fields Example ACME "response" email (note that for simplicity DKIM related
are not included for simplicity). header fields are not included).
Date: Sat, 1 Sep 2018 11:12:00 +0100 Date: Sat, 5 Dec 2020 12:01:45 +0100
Message-ID: <111-22222-3333333@example.com> Message-ID: <111-22222-3333333@example.com>
In-Reply-To: <A2299BB.FF7788@example.org>
From: alexey@example.com From: alexey@example.com
To: acme-generator@example.org To: acme-generator@example.org
Subject: Re: ACME: <base64url-encoded-token-with-enough-entropy> Subject: Re: ACME: LgYemJLy3F1LDkiJrdIGbEzyFJyOyf6vBdyZ1TG3sME=
Content-Type: text/plain Content-Type: text/plain
MIME-Version: 1.0 MIME-Version: 1.0
-----BEGIN ACME RESPONSE----- -----BEGIN ACME RESPONSE-----
LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowy LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowy
jxAjEuX0.9jg46WB3rR_AHD-EBXdN7cBkH1WOu0tA3M9 jxAjEuX0=
fm21mqTI
-----END ACME RESPONSE----- -----END ACME RESPONSE-----
Figure 2 Figure 2
4. Internationalization Considerations 4. Internationalization Considerations
[RFC8616] updated/clarified use of DKIM/SPF/DMARC with [RFC8616] updated/clarified use of DKIM with Internationalized Email
Internationalized Email addresses [RFC6531]. Please consult RFC 8616 addresses [RFC6531]. Please consult RFC 8616 in regards to any
in regards to any changes that need to be implemented. changes that need to be implemented.
Use of non ASCII characters in left hand sides of Internationalized Use of non ASCII characters in left hand sides of Internationalized
Email addresses requires putting Internationalized Email Addresses in Email addresses requires putting Internationalized Email Addresses in
X.509 Certificates [RFC8398]. X.509 Certificates [RFC8398].
5. IANA Considerations 5. IANA Considerations
5.1. ACME Identifier Type 5.1. ACME Identifier Type
IANA is requested to register a new Identifier type in the "ACME IANA is requested to register a new Identifier type in the "ACME
skipping to change at page 8, line 17 skipping to change at page 9, line 17
+----------------+-----------------+------+-----------+ +----------------+-----------------+------+-----------+
| email-reply-00 | email | Y | [RFCXXXX] | | email-reply-00 | email | Y | [RFCXXXX] |
+----------------+-----------------+------+-----------+ +----------------+-----------------+------+-----------+
6. Security Considerations 6. Security Considerations
Please see Security Considerations of [RFC8555] for general security Please see Security Considerations of [RFC8555] for general security
considerations related to use of ACME. This challenge/response considerations related to use of ACME. This challenge/response
protocol demonstrates that an entity that controls the private key protocol demonstrates that an entity that controls the private key
(corresponding to the public key in the certificate) also controls (corresponding to the public key in the certificate) also controls
the named email account. Any claims about the correctness or the named email account. The ACME server is confirming that the
fitness-for-purpose of the email address must be otherwise assured. requested email address belongs to the entity that requested the
I.e. ACME server is only vouching that the requested email address certificate, but this makes no claim to correctness or fitness-for-
seem to belong to the entity that requested the certificate. purpose of the address. It such claims are needed they must be
obtained by some other mechanism.
The security of the "email-reply-00" challenge type depends on the The security of the "email-reply-00" challenge type depends on the
security of the email system. A third party that can read and reply security of the email system. A third party that can read and reply
to user's email messages (by possessing a user's password or a secret to user's email messages (by possessing a user's password or a secret
derived from it that can give read and reply access, such as derived from it that can give read and reply access, such as
"password equivalent" information; or by being given permissions to "password equivalent" information; or by being given permissions to
act on a user's behalf using email delegation feature common in some act on a user's behalf using email delegation feature common in some
email systems) can request S/MIME certificates using the protocol email systems) can request S/MIME certificates using the protocol
specified in this document and is indistinguishable from the email specified in this document and is indistinguishable from the email
account owner. This has several possible implications: account owner. This has several possible implications:
skipping to change at page 8, line 44 skipping to change at page 9, line 45
document and such entity couldn't be distinguished from the document and such entity couldn't be distinguished from the
legitimate email account owner (unless some external sources of legitimate email account owner (unless some external sources of
information are consulted); information are consulted);
2. for email addresses with legitimate shared access/control by 2. for email addresses with legitimate shared access/control by
multiple users, any such user would be able to request S/MIME multiple users, any such user would be able to request S/MIME
certificates using the protocol specified in this document and certificates using the protocol specified in this document and
such requests can't be attributed to a specific user without such requests can't be attributed to a specific user without
consulting external systems (such as IMAP/SMTP access logs); consulting external systems (such as IMAP/SMTP access logs);
3. protocol specified in this document is not suitable for use with 3. the protocol specified in this document is not suitable for use
email addresses associated with mailing lists [RFC5321]. While with email addresses associated with mailing lists [RFC5321].
it is not always possible to guarantee that a particular S/MIME While it is not always possible to guarantee that a particular
certificate request is not from a mailing list address, S/MIME certificate request is not from a mailing list address,
prohibition on inclusion of List-* header fields helps prohibition on inclusion of List-* header fields helps
Certificate Issuers to handle most common cases. Certificate Issuers to handle most common cases.
An email system in its turn depends on DNS. A third party that can An email system in its turn depends on DNS. A third party that can
manipulate DNS MX records for a domain might be able to redirect manipulate DNS MX records for a domain might be able to redirect
email and can get (at least temporary) read and reply access to it. email and can get (at least temporary) read and reply access to it.
Similar considerations apply to SPF and DMARC TXT records in DNS. Similar considerations apply to DKIM TXT records in DNS. Use of
Use of DNSSEC by email system administrators is recommended to avoid DNSSEC by email system administrators is recommended to avoid making
making it easy to spoof DNS records affecting email system. However it easy to spoof DNS records affecting email system. However use of
use of DNSSEC is not ubiquitous at the time of publishing of this DNSSEC is not ubiquitous at the time of publishing of this document,
document, so it is not required here. Also, many existing systems so it is not required here. Also, many existing systems that rely on
that rely on verification of ownership of an email address, for verification of ownership of an email address, for example 2 factor
example 2 factor authentication systems used by banks or traditional authentication systems used by banks or traditional certificate
certificate issuance systems send email messages to email addresses, issuance systems send email messages to email addresses, expecting
expecting the owner to click on the link supplied in them (or to the owner to click on the link supplied in them (or to reply to a
reply to a message), without requiring use of DNSSEC. So the risk of message), without requiring use of DNSSEC. So the risk of not
not requiring DNSSEC is presumed acceptable in this document. requiring DNSSEC is presumed acceptable in this document.
7. Normative References Also see Security Considerations section of [RFC6376] for details on
how DKIM depends on the DNS and the respective vulnerabilities this
dependence has.
7. References
7.1. Normative References
[FIPS180-4] [FIPS180-4]
National Institute of Standards and Technology, "Secure National Institute of Standards and Technology, "Secure
Hash Standard (SHS)", FIPS PUB 180-4, August 2015, Hash Standard (SHS)", FIPS PUB 180-4, August 2015,
<https://csrc.nist.gov/publications/detail/fips/180/4/ <https://csrc.nist.gov/publications/detail/fips/180/4/
final>. final>.
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Extensions (MIME) Part Two: Media Types", RFC 2046,
Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/info/rfc2045>. <https://www.rfc-editor.org/info/rfc2046>.
[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,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded
Word Extensions: Character Sets, Languages, and Word Extensions: Character Sets, Languages, and
Continuations", RFC 2231, DOI 10.17487/RFC2231, November Continuations", RFC 2231, DOI 10.17487/RFC2231, November
1997, <https://www.rfc-editor.org/info/rfc2231>. 1997, <https://www.rfc-editor.org/info/rfc2231>.
skipping to change at page 10, line 14 skipping to change at page 11, line 19
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986, Request Syntax Specification Version 1.7", RFC 2986,
DOI 10.17487/RFC2986, November 2000, DOI 10.17487/RFC2986, November 2000,
<https://www.rfc-editor.org/info/rfc2986>. <https://www.rfc-editor.org/info/rfc2986>.
[RFC3834] Moore, K., "Recommendations for Automatic Responses to [RFC3834] Moore, K., "Recommendations for Automatic Responses to
Electronic Mail", RFC 3834, DOI 10.17487/RFC3834, August Electronic Mail", RFC 3834, DOI 10.17487/RFC3834, August
2004, <https://www.rfc-editor.org/info/rfc3834>. 2004, <https://www.rfc-editor.org/info/rfc3834>.
[RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
Header Fields", RFC 4021, DOI 10.17487/RFC4021, March
2005, <https://www.rfc-editor.org/info/rfc4021>.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006,
<https://www.rfc-editor.org/info/rfc4648>. <https://www.rfc-editor.org/info/rfc4648>.
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
DOI 10.17487/RFC5321, October 2008, DOI 10.17487/RFC5321, October 2008,
<https://www.rfc-editor.org/info/rfc5321>. <https://www.rfc-editor.org/info/rfc5321>.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
DOI 10.17487/RFC5322, October 2008, DOI 10.17487/RFC5322, October 2008,
skipping to change at page 10, line 44 skipping to change at page 11, line 45
[RFC6376] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed., [RFC6376] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
"DomainKeys Identified Mail (DKIM) Signatures", STD 76, "DomainKeys Identified Mail (DKIM) Signatures", STD 76,
RFC 6376, DOI 10.17487/RFC6376, September 2011, RFC 6376, DOI 10.17487/RFC6376, September 2011,
<https://www.rfc-editor.org/info/rfc6376>. <https://www.rfc-editor.org/info/rfc6376>.
[RFC6531] Yao, J. and W. Mao, "SMTP Extension for Internationalized [RFC6531] Yao, J. and W. Mao, "SMTP Extension for Internationalized
Email", RFC 6531, DOI 10.17487/RFC6531, February 2012, Email", RFC 6531, DOI 10.17487/RFC6531, February 2012,
<https://www.rfc-editor.org/info/rfc6531>. <https://www.rfc-editor.org/info/rfc6531>.
[RFC7208] Kitterman, S., "Sender Policy Framework (SPF) for
Authorizing Use of Domains in Email, Version 1", RFC 7208,
DOI 10.17487/RFC7208, April 2014,
<https://www.rfc-editor.org/info/rfc7208>.
[RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based
Message Authentication, Reporting, and Conformance
(DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
<https://www.rfc-editor.org/info/rfc7489>.
[RFC8058] Levine, J. and T. Herkula, "Signaling One-Click
Functionality for List Email Headers", RFC 8058,
DOI 10.17487/RFC8058, January 2017,
<https://www.rfc-editor.org/info/rfc8058>.
[RFC8398] Melnikov, A., Ed. and W. Chuang, Ed., "Internationalized [RFC8398] Melnikov, A., Ed. and W. Chuang, Ed., "Internationalized
Email Addresses in X.509 Certificates", RFC 8398, Email Addresses in X.509 Certificates", RFC 8398,
DOI 10.17487/RFC8398, May 2018, DOI 10.17487/RFC8398, May 2018,
<https://www.rfc-editor.org/info/rfc8398>. <https://www.rfc-editor.org/info/rfc8398>.
[RFC8550] Schaad, J., Ramsdell, B., and S. Turner, "Secure/ [RFC8550] Schaad, J., Ramsdell, B., and S. Turner, "Secure/
Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Multipurpose Internet Mail Extensions (S/MIME) Version 4.0
Certificate Handling", RFC 8550, DOI 10.17487/RFC8550, Certificate Handling", RFC 8550, DOI 10.17487/RFC8550,
April 2019, <https://www.rfc-editor.org/info/rfc8550>. April 2019, <https://www.rfc-editor.org/info/rfc8550>.
skipping to change at page 12, line 5 skipping to change at page 12, line 24
[RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. [RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J.
Kasten, "Automatic Certificate Management Environment Kasten, "Automatic Certificate Management Environment
(ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, (ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019,
<https://www.rfc-editor.org/info/rfc8555>. <https://www.rfc-editor.org/info/rfc8555>.
[RFC8616] Levine, J., "Email Authentication for Internationalized [RFC8616] Levine, J., "Email Authentication for Internationalized
Mail", RFC 8616, DOI 10.17487/RFC8616, June 2019, Mail", RFC 8616, DOI 10.17487/RFC8616, June 2019,
<https://www.rfc-editor.org/info/rfc8616>. <https://www.rfc-editor.org/info/rfc8616>.
7.2. Informative References
[RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
Header Fields", RFC 4021, DOI 10.17487/RFC4021, March
2005, <https://www.rfc-editor.org/info/rfc4021>.
[RFC8058] Levine, J. and T. Herkula, "Signaling One-Click
Functionality for List Email Headers", RFC 8058,
DOI 10.17487/RFC8058, January 2017,
<https://www.rfc-editor.org/info/rfc8058>.
Appendix A. Acknowledgements Appendix A. Acknowledgements
Thank you to Andreas Schulze, Gerd v. Egidy, James A. Baker, Ben Thank you to Andreas Schulze, Gerd v. Egidy, James A. Baker, Ben
Schwartz, Peter Yee and Michael Jenkins for suggestions, comments, Schwartz, Peter Yee, Hilarie Orman, Michael Jenkins, Barry Leiba,
and corrections on this document. Fraser Tweedale and Benjamin Kaduk for suggestions, comments, and
corrections on this document.
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 UK
EMail: alexey.melnikov@isode.com EMail: alexey.melnikov@isode.com
 End of changes. 38 change blocks. 
152 lines changed or deleted 208 lines changed or added

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