<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.1 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-biggs-acme-sso-01" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.7.0 -->
  <front>
    <title abbrev="ACME-SSO">Automated Certificate Management Environment (ACME) Extension for Single Sign On Challenges</title>
    <seriesInfo name="Internet-Draft" value="draft-biggs-acme-sso-01"/>
    <author initials="A." surname="Biggs" fullname="Andrew Biggs">
      <organization>Cisco</organization>
      <address>
        <email>adb@cisco.com</email>
      </address>
    </author>
    <author initials="R.L." surname="Barnes" fullname="Richard L. Barnes">
      <organization>Cisco</organization>
      <address>
        <email>rlb@ipv.sx</email>
      </address>
    </author>
    <author initials="R." surname="Moynihan" fullname="Rory Moynihan">
      <organization>Cisco</organization>
      <address>
        <email>rmoyniha@cisco.com</email>
      </address>
    </author>
    <date year="2021" month="April" day="08"/>
    <area>General</area>
    <workgroup>TODO Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document specifies an extension to the ACME protocol <xref target="RFC8555" format="default"/> to enable
ACME servers to validate a client's control of an email identifier using single
sign-on (SSO) technologies.  An extension to the CAA <xref target="RFC8659" format="default"/> resource
record specification is also defined to provide domain owners a means to declare
a set of SSO providers that ACME servers may rely upon when employing SSO for
identifier validation on their domain.</t>
    </abstract>
    <!--
<note title="Discussion Venues" removeInRFC="true">
<t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/git@sqbu-github.cisco.com:rocket-skates/draft-ietf-acme-saml"/>.</t>
</note>
-->
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Applications are increasingly using end-to-end encryption to
protect user content and frequently use email addresses to
identify users.  In such contexts, the use of X.509 certificates binding email
addresses to public keys is a natural authentication mechanism.  If the issuer
of the certificate is separate from the application provider, and validates
control of the email address independently of the application provider, then the
resulting certificate can be used to provide end-to-end authentication, in the
sense that the application provider is unable to impersonate the authenticated
user.</t>
      <t>Historically, certificates for email addresses have been difficult to obtain.
Current end-to-end encrypted communications applications typically rely on
laborious, error-prone manual authentication processes, often based on comparing
opaque "security codes" or "safety numbers".  Thus, in practice, end-to-end
encrypted communications are usually vulnerable to impersonation attacks by the
application provider.</t>
      <t>When ACME was first introduced, its primary focus was on issuing certificates
for domain names, and the base specification contains challenges for validating
a client's control over a domain name identifier <xref target="RFC8555" format="default"/>.  ACME has since
been extended to support validation email identifiers
<xref target="I-D.ietf-acme-email-smime" format="default"/>, in support of the issuance of certificates
containing email addresses.  This latter specification defines a validation
method using SMTP, which is unsuitable for applications other than MUAs.</t>
      <t>This specification introduces a new ACME challenge type to enable validation of
email identifiers using common web-oriented single sign on (SSO) identity
standards such as SAML <xref target="SAML" format="default"/> and OpenID Connect <xref target="OPENID" format="default"/>.  These standards
generally follow a pattern whereby a client initiates authentication with a
browser request to some service, the service redirects the client to an identity
provider, the provider authenticates the client, the provider redirects the
client back to the service along with some assertion as to the client's
identity, and finally the service produces some credential or resource
authorization to the client.</t>
      <t>The details of the interaction described above can become complex, and are well
documented in the aforementioned specifications.  However, since these are
web-based interactions, an ACME client need only know how to launch the initial
authentication request by opening a given URL within a browser context, and then
recognizing when that interaction has concluded.  Once concluded, an ACME
client can query the ACME server for the status of the challenge to determine
whether or not it was successful and, if successful, complete the standard ACME
issuance flow.  When properly integrated with an application, this extension can
allow fully automated certificate issuance, with no user interaction at all.</t>
      <t>Note that all interactions between an ACME server and the identity providers it
relies upon are governed by the specifications of the web-based authentication
protocols supported by those services.  These are therefore considered out of
scope for this document.</t>
      <t>This document also defines extensions to the Certificate Authority Authorization
(CAA) DNS Resource Record type that allows the operators of email domains to
express authorizations policies related to email certificates.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" toc="default">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="protocol-overview" numbered="true" toc="default">
      <name>Protocol Overview</name>
      <t>The general flow of an SSO challenge is illustrated below, within the context
of a standard ACME certificate issuance order.  It begins with a new order
request to the server, and a response that indicates the authorizations that
must be satisfied by the client.  The client performs a request on one of these
authorizations, and the server response includes a series of challenges that
may be used to satisfy the authorization.  Among these may be one or more
challenges of type <tt>sso-01</tt>, each with a distinct "start URL" for initiating
a browser-based authentication flow.</t>
      <t>If the client is already browser-based, it may simply navigate directly to the
SSO start URL, providing a redirect URI as a query parameter such that control
can eventually return to the client on completion of the authentication flow.
If the client is not browser-based, it may launch a native or embedded browser
and direct it to the SSO start URL.  In many cases this initial request will be
serviced directly by the ACME server, however this is not required.  The
initial request will ultimately redirect the client to an identity provider,
along with a request object specific to the SSO standard being employed (e.g. a
SAML request).</t>
      <figure>
        <name>Overview of the SSO Challenge Flow</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Client                                                    ACME Server

~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ACME client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

request new order             ------->
                              <-------        required authorizations
request authorization         ------->
                              <-------   SSO challenge with start URL

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Browser ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

request on SSO start URL      ------->
                              <-------      ACME redirect to provider
                                            w/ authentication request

             provider authenticates client (not shown)

provider redirect to ACME     ------->
w/ identity assertion
                                          validate provider assertion
                                            record challenge as valid
                              <-------             redirect to client

~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ACME client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

request challenge             ------->
                              <-------                          valid
request finalize (CSR)        ------->
                              <-------                   finalize URL
finalize                      ------->
                              <-------                    certificate
]]></artwork>
      </figure>
      <t>On successful authentication to the identity provider, the client is redirected
back to the origin of the provider request, where the provider assertion (e.g.
a SAML assertion) is verified, and the ACME server records the associated
challenge as having been validated (or not).  The client may then be redirected
to a redirect URI that was optionally provided as a parameter on the initial
SSO start request.</t>
      <t>The navigation of the browser back to the redirect URI indicates to the client
that the authentication flow has completed.  At this point the client can
invoke the challenge URL to determine whether or not it has been recorded as
valid, and subsequently complete the usual ACME issuance flow.</t>
    </section>
    <section anchor="acme-email-identifier-type" numbered="true" toc="default">
      <name>ACME email Identifier Type</name>
      <t>The <tt>sso-01</tt> challenge type described in this document applies exclusively to
order requests with identifiers of type "email", as described in detail in
"Extensions to Automatic Certificate Management Environment for end-user S/MIME
certificates" <xref target="I-D.ietf-acme-email-smime" format="default"/>.  Implementations MUST NOT present
challenges of type <tt>sso-01</tt> as options for validation of non-email type
identifiers.</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
"identifier": { "type": "email", "value":"alice@example.org"}
]]></artwork>
    </section>
    <section anchor="sso-01" numbered="true" toc="default">
      <name>ACME sso-01 Challenge Type</name>
      <t>The <tt>sso-01</tt> challenge type challenges the client to prove control over an
identifier by browsing to the indicated <tt>sso_url</tt> and completing an SSO login
for that identifier.  A challenge of this type MUST include all
required fields described in section 8 of <xref target="RFC8555" format="default"/>.  In addition, the
following fields are defined for this specific type of challenge:</t>
      <dl>
        <dt>
sso_url (required, string):  </dt>
        <dd>
          <t>The URL from which a web-based identifier validation flow may be initiated.
The server must include sufficient information in the URL to allow it to
associate the request to a specific challenge so that the challenge status
can be updated when the SSO provider redirects the client back to the server.</t>
        </dd>
        <dt>
sso_provider (optional, string):  </dt>
        <dd>
          <t>The domain of the SSO provider relied upon for this challenge.  An ACME
server MAY rely upon any number of providers for validating a given
identifier, however each MUST be represented as a distinct entry in the
<tt>challenges</tt> array. It allows clients to disambiguate lists of providers and
choose the most appropriate one.</t>
        </dd>
      </dl>
      <t>The optional <tt>sso_provider</tt> field is provided as a guide to the client in
selecting which <tt>sso-01</tt> challenge to fulfill.  For example, a client with access
to a browsing context that already has authentication state for a given SSO
provider might choose to use a challenge for that provider in order to avoid the
need for user interaction.  If an <tt>sso_provider</tt> value is not specified, then
the web page indicated in the <tt>sso_url</tt> field SHOULD allow the user to select
which SSO provider is used for login.  The server MUST NOT present more than one
<tt>sso-01</tt> challenge in a single authorization with the same <tt>sso_provider</tt> value,
including the "value" in which the field is not provided (that is, at most one
<tt>sso-01</tt> challenge may omit the <tt>sso_provider</tt> field).</t>
      <t>A client fulfills to the challenge by first sending an ACME response, then
browsing to the SSO URL.  The challenge response has a single, optional field:</t>
      <dl>
        <dt>
redirect_uri (optional, string):  </dt>
        <dd>
          <t>If present, the client will be redirected to the given URI on completion of
the <tt>sso-01</tt> challenge.</t>
        </dd>
      </dl>
      <t>The <tt>redirect_uri</tt> value provides a means for recognizing and resuming client
control at the conclusion of an <tt>sso-01</tt> type challenge.  For web-based clients,
this may mean the redirection of the browser back to the client.  For native
clients, this may mean the redirection of the browser to a custom scheme
handler.  A client can also recognize that the SSO process has completed by
polling the challenge resource; even a client that receives explicit
notification via a <tt>redirect_uri</tt> callback SHOULD verify that the challenge is
now valid.</t>
      <t>The server MUST set the status of the challenge to <tt>processing</tt> after receiving
a response from the client.  If the client completes the required SSO
interaction and the resulting identity assertion validates the claimed email
identifier, then the status of the challenge is set to <tt>valid</tt>.  If the client
fails to complete the SSO interaction or the interaction fails to validates the
claimed identifier, then the status of the challenge is set to <tt>invalid</tt>.</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
{
     "type": "sso-01",
     "url": "https://example.org/acme/chall/prV_B7yEyA4",
     "status": "pending",
     "sso_url": "https://example.org/acme/start-sso/",
     "sso_provider": "https://identity-provider.org/sso"
}
]]></artwork>
    </section>
    <section anchor="single-sign-on-order-fulfillment" numbered="true" toc="default">
      <name>Single Sign-On &amp; Order fulfillment</name>
      <t>The SSO URL allows the client to initiate the SSO flow. It is recommended that
this flow be executed in the user's browser. The server must accept GET requests for the SSO URL. On reciept of such a request the must redirect the client to the appropriate SSO provider so that the user may be
appropriately authenticated.
When the SSO provider has successfully authenticated the user it will redirect
the client back to the CA, to a location provided by the CA when the SSO flow was initiated, with an appropriate attestation. The server MUST then verify the providers attestation is valid as specified in the SAML <xref target="SAML" format="default"/> or Open ID <xref target="OPENID" format="default"/> specifications. Additionally The server MUST verify that the IdP's attestation is valid for the email address the challenge is intended to validate. When the attestation verification is complete it must then update the order status accordingly based on the outcome of the verification. See the {Guidance} section for more information.</t>
      <t>As defined in section 7.4 of <xref target="RFC8555" format="default"/> once the client has been authorized it can proceed with order finalisation. The client SHOULD
include the users email identifier in subjectAltName, and if no other identifiers are included in the cert, put it in commonName of the CSR that is submitted
to the server.</t>
    </section>
    <section anchor="Guidance" numbered="true" toc="default">
      <name>Guidance for Email Verification</name>
      <t>In order to issue a certificate the ACME server requires that the email address be attested by an authoritative service for that email identifier.
When the ACME server receives a response from the SSO provider it must verify the provider attestation for the user and then must update the apporpriate challenge status.
If the verification of the provider attestation is successful the server updates the challenge status to valid; if not it updates the status to invalid.
Any attestation service and method should employ methods to ensure the confidentiality and integrity using the guidance specific to the protocol and/or service chosen.</t>
      <section anchor="saml" numbered="true" toc="default">
        <name>SAML</name>
        <t>In the case where SAML is the preferred protocol it is recommended that the 'SSO Profiles of SAML' be used as guidance when implementing the ability to get and handle SAML assertions. In this scenario, an identity provider will act as the asserting party that will generate SAML assertions about a subject (user). The ACME server acts as the relying party that receives assertions from the identity provider. The ACME server should use the relaystate parameter to track order requests between it and the relevant identity provider. When the ACME server receives SAML assertions from the identity provider it should use the afforementioned relaystate to find the order request for which the assertion has been returned. Then using the assertion the ACME server extracts the asserted email identifier and verifies that it matches exactly the email address for which has been specififed in the order. The email address is defined by NameID or specified by the NameIdentifier in the received SAML assertion. This is dependent on the specific SAML configuration for the identity provider. See also <xref target="SAML" format="default"/>.
Note that there may be specific configuration required to ensure that the email address is appropriately asserted in the SAML assertion generated by the identity provider.</t>
      </section>
      <section anchor="openid" numbered="true" toc="default">
        <name>OpenID</name>
        <t>In this scenario, an OpenID provider will act as the asserting party that will generate ID Tokens about a subject (user). The ACME server acts as the relying party that receives ID Tokens from the OpenID provider. The ACME server only requires ID Tokens with Claims which identify a user - it does not require codes or any other token types and should not request them. It should use the state parameter of the authorize request to track order requests between it OpenID providers. The ACME server on receipt of ID tokens uses the state parameter value to find the appropriate order information. The claims within the ID Token are then used to verify that the email identifier matches exactly the email address for which has been specififed in the order. Specifically the email address will be defined by the email attribute of the ID Token. The server MUST also check that the email_verified attribute of the token is set. The order state is updated with the appropriate valid or invalid state indicating the outcome of this verification.</t>
      </section>
    </section>
    <section anchor="caa-for-email-address-certificates" numbered="true" toc="default">
      <name>CAA for Email Address Certificates</name>
      <t>The holder of a DNS domain can provision CAA resource records to control which
CAs are authorized to issue certificates for the domain and its subdomains
<xref target="RFC8659" format="default"/>. Here, we extend CAA to allow control over issuance of
certificates for email addresses within that domain.  The following controls are
available:</t>
      <ul spacing="normal">
        <li>Which CAs may issue email certificates</li>
        <li>What validation methods they may use</li>
        <li>What SSO providers the CA may use (a new mechanism defined here)</li>
      </ul>
      <t>The Relevant RRSet for an email address is located using the "domain" portion of
the email address.  CAA is only supported for email addresses using the
"dot-atom" production for the domain portion, in which case the domain portion
is a DNS domain name <xref target="RFC5322" format="default"/>.  The Relevant RRSet is the Relevant RRSet for
this FQDN, according to the algorithm defined in <xref target="RFC8659" format="default"/>.</t>
      <t>Before issuing a certificate, a compliant CA MUST check for publication of a
Relevant RRset. If such an RRset exists, a CA MUST NOT issue a certificate
unless the CA determines that either (1) the certificate request is consistent
with the applicable CAA RRset or (2) an exception specified in the relevant CP
or CPS applies. If the Relevant RRset for an email address contains no Property
Tags that restrict issuance (for instance, if it contains only iodef Property
Tags or only Property Tags unrecognized by the CA), CAA does not restrict
issuance.</t>
      <t>A certificate request MAY specify more than one email address. Issuers MUST
verify authorization for all email addresses specified in the request.</t>
      <section anchor="caa-issueemail-property" numbered="true" toc="default">
        <name>CAA issueemail property</name>
        <t>The CAA <tt>issueemail</tt> property has the same syntax as the <tt>issue</tt> property, and
similar semantics.  The only difference is that the designated CA is being
authorized to issue email address certificates rather than domain name
certificates.  The CA is requested to:</t>
        <ol spacing="normal" type="1"><li>Perform CAA issue restriction processing for the FQDN, and</li>
          <li>Grant authorization to issue certificates containing email addresses with
domain part equal to the FQDN to the holder of the issuer-domain-name or a
party acting under the explicit authority of the holder of the
issuer-domain-name.</li>
        </ol>
        <artwork name="" type="" align="left" alt=""><![CDATA[
example.com. IN CAA 0 issueemail "ca1.example.net"
example.com. IN CAA 0 issueemail "ca2.example.net"
]]></artwork>
        <t>A CA consulting CAA records in the process of issuing an email address
certificate MUST rely only on <tt>issueemail</tt> Property Tags.  In particular, <tt>issue</tt>
Property Tags MUST be ignored.  Presence of an issueemail Property Tag does not
authorize issuance of certificates containing the FQDN or related Wildcard
Domain Names.</t>
      </section>
      <section anchor="usage-of-the-caa-validationmethods-parameter" numbered="true" toc="default">
        <name>Usage of the CAA validationmethods Parameter</name>
        <t>As with domain names, validation of email addresses can be controlled with the
<tt>validationmethods</tt> parameter.  Validation methods SHOULD NOT be included in
this parameter if they are not applicable to email identifiers.  As of this
writing, the only validation methods defined for email identifiers are
<tt>smime-01</tt> and <tt>sso-01</tt> (see <xref target="I-D.ietf-acme-email-smime" format="default"/> and <xref target="sso-01" format="default"/>).</t>
        <t>For example:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
example.com. IN CAA 0 issueemail "ca1.example.net; validationmethods=email-reply-00"
example.com. IN CAA 0 issueemail "ca2.example.net; validationmethods=email-reply-00,sso-01"
]]></artwork>
        <t>The above CAA resource record set declares a policy whereby compliant CAs will
not issue certificates on the example.com domain unless they self-identify as
either ca1.example.net or ca2.example.net.  In addition, if these are ACME CAs,
then ca1.example.net may only present <tt>smime-01</tt> challenges, whereas
ca2.example.net may present both <tt>smime-01</tt> and <tt>sso-01</tt> challenges.</t>
      </section>
      <section anchor="caa-ssoproviders-parameter" numbered="true" toc="default">
        <name>CAA ssoproviders Parameter</name>
        <t>This document also defines the <tt>ssoproviders</tt> CAA parameter for the <tt>issueemail</tt>
Properties. The value of this parameter, if specified, MUST be a comma-separated
string of zero or more domain names identifying SSO providers.</t>
        <t>These domain names correspond to the <tt>sso_provider</tt> attribute of an <tt>sso-01</tt>
challenge.  The <tt>ssoproviders</tt> parameter SHOULD NOT be provided if <tt>sso-01</tt> is
not an allowed challenge type (e.g., if the Property has a <tt>validationmethods</tt>
parameter that does not include <tt>sso-01</tt>).</t>
        <t>The presence of this parameter constrains the Property to which it is attached.
A CA MUST only consider a Property with the <tt>ssoproviders</tt> parameter to
authorize issuance validation with the <tt>sso-01</tt> validation method if the SSO
provider being used is identified by one of the domain names in the
comma-separated list.</t>
        <t>The value of the <tt>ssoproviders</tt> parameter MUST comply with the following ABNF
<xref target="RFC5234" format="default"/>:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
provider-domain-name = issuer-domain-name ; see RFC 8659
        ssoproviders = [\*(provider-domain-name ",") provider-domain-name]
]]></artwork>
        <t>Extending the previous example to constrain <tt>ca2.example.net</tt> to only use two
specific SSO providers:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
example.com. IN CAA 0 issueemail "ca1.example.net; validationmethods=email-reply-00"
example.com. IN CAA 0 issueemail "ca2.example.net; \
  validationmethods=smime-01,sso-01 \
  ssoproviders=idp1.example.net,idp2.example.net"
]]></artwork>
        <t>The presence of this parameter MUST be regarded by compliant CAs as a
restriction on the set of providers they are allowed to rely upon for <tt>sso-01</tt>
type challenges.  However, an implementation MAY choose to not rely upon any
one or all providers named in this property.</t>
        <t>If this parameter is present but has a zero-length value, implementations MUST
NOT rely on any SSO provider.  Since the <tt>sso-01</tt> challenge requires an SSO
provider, the effect is thus the same as if the <tt>validationmethods</tt> parameter
were present and did not include <tt>sso-01</tt>.</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document is an extension to ACME to provide an additional validation method
for email identifiers.  For general security considerations related to the ACME
certificate issuance process, see <xref target="RFC8555" format="default"/>.</t>
      <t>As usual with ACME validation methods, the security of SSO validation comes down
to the risk of the validation process being subverted and the strength of the
binding between the validation process and the ACME transaction.</t>
      <t>The binding of the validation process to the ACME transaction is managed via the
transaction association mechanisms built into the underlying SSO protocols.  For
example, in OpenID Connect, the relying party provides a <tt>state</tt> value in
its authentication request, which the SSO provider returns alongside the
authentication response <xref target="OPENID" format="default"/>.</t>
      <t>As to the security of the SSO-based authentication itself, the usual risks and
mitigations associated with user login apply.  If the authentication is based
solely on passwords, then an attacker that can obtain a user's password can
obtain certificates for that user's email address.  Standard mitigations such as
multi-factor authentication are common features of SSO providers.  Especially to
the degree that these mitigations provide protections against phishing (as for
example with WebAuthentication <xref target="W3C.REC-webauthn-1-20190304" format="default"/>), they also
protect against the risk that the CA could direct the client to a phishing site
instead of the real SSO provider.</t>
      <t>In SSO-based certificate issuance, the SSO provided is trusted to assert whether
a given user owns a given email address.  A malicious SSO provider could falsify
these assertions to cause a CA relying on it to issue a bad certificate.  This
risk is especially acute given that the ACME client is trusted to choose which
SSO provider is used for a given validation -- a malicious client can direct the
CA to use an SSO provider that the client has subverted.</t>
      <t>The CA's choice of trusted SSO providers is the first line of defense against
these risks.  The client can only choose from among the SSO providers offered by
the CA, so if the CA is judicious in its choice of SSO providers, it can reduce
the risk of misissuance.  The <tt>ssoproviders</tt> CAA parameter provides a second
line of defense, allowing an email domain operator to further restrict the
client's choice to the specific set of SSO providers authorized by the email
domain operator.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>[[ TODO ]]</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes">
              <organization/>
            </author>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews">
              <organization/>
            </author>
            <author fullname="D. McCarney" initials="D." surname="McCarney">
              <organization/>
            </author>
            <author fullname="J. Kasten" initials="J." surname="Kasten">
              <organization/>
            </author>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names.  Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate.  As of this writing, this verification is done through a collection of ad hoc mechanisms.  This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance.  The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC8659" target="https://www.rfc-editor.org/info/rfc8659">
          <front>
            <title>DNS Certification Authority Authorization (CAA) Resource Record</title>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker">
              <organization/>
            </author>
            <author fullname="R. Stradling" initials="R." surname="Stradling">
              <organization/>
            </author>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews">
              <organization/>
            </author>
            <date month="November" year="2019"/>
            <abstract>
              <t>The Certification Authority Authorization (CAA) DNS Resource Record allows a DNS domain name holder to specify one or more Certification Authorities (CAs) authorized to issue certificates for that domain name. CAA Resource Records allow a public CA to implement additional controls to reduce the risk of unintended certificate mis-issue.  This document defines the syntax of the CAA record and rules for processing CAA records by CAs.</t>
              <t>This document obsoletes RFC 6844.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8659"/>
          <seriesInfo name="DOI" value="10.17487/RFC8659"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC5322" target="https://www.rfc-editor.org/info/rfc5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick">
              <organization/>
            </author>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages.  This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="SAML" target="http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf">
          <front>
            <title>Assertions and Protocol for the OASIS Security Assertion</title>
            <author initials="S." surname="Cantor">
              <organization/>
            </author>
            <author initials="J." surname="Kemp">
              <organization/>
            </author>
            <author initials="R." surname="Philpott">
              <organization/>
            </author>
            <author initials="E." surname="Maler">
              <organization/>
            </author>
            <date year="2005" month="March"/>
          </front>
        </reference>
        <reference anchor="OPENID" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author initials="N." surname="Sakimura">
              <organization/>
            </author>
            <author initials="J." surname="Bradley">
              <organization/>
            </author>
            <author initials="M." surname="Jones">
              <organization/>
            </author>
            <author initials="B." surname="De Medeiros">
              <organization/>
            </author>
            <author initials="C." surname="Mortimore">
              <organization/>
            </author>
            <date year="2014" month="November"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-acme-email-smime" target="https://www.ietf.org/archive/id/draft-ietf-acme-email-smime-14.txt">
          <front>
            <title>Extensions to Automatic Certificate Management Environment for end-user S/MIME certificates</title>
            <author fullname="Alexey Melnikov">
              <organization>Isode Ltd</organization>
            </author>
            <date day="15" month="February" year="2021"/>
            <abstract>
              <t>   This document specifies identifiers and challenges required to enable
   the Automated Certificate Management Environment (ACME) to issue
   certificates for use by email users that want to use S/MIME.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-email-smime-14"/>
        </reference>
        <reference anchor="W3C.REC-webauthn-1-20190304" target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304">
          <front>
            <title>Web Authentication:An API for accessing Public Key Credentials Level 1</title>
            <author fullname="Dirk Balfanz" initials="D." surname="Balfanz">
              <organization/>
            </author>
            <author fullname="Alexei Czeskis" initials="A." surname="Czeskis">
              <organization/>
            </author>
            <author fullname="Jeff Hodges" initials="J." surname="Hodges">
              <organization/>
            </author>
            <author fullname="J.C. Jones" initials="J." surname="Jones">
              <organization/>
            </author>
            <author fullname="Michael Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="Akshay Kumar" initials="A." surname="Kumar">
              <organization/>
            </author>
            <author fullname="Huakai Liao" initials="H." surname="Liao">
              <organization/>
            </author>
            <author fullname="Rolf Lindemann" initials="R." surname="Lindemann">
              <organization/>
            </author>
            <author fullname="Emil Lundberg" initials="E." surname="Lundberg">
              <organization/>
            </author>
            <date day="4" month="March" year="2019"/>
          </front>
          <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-webauthn-1-20190304"/>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Eric Rescorla, Ryan Hurst, and J.C. Jones for
providing feedback on this document and the ideas that went into it.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
