<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by John Mattsson for use with xml2rfc -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" []>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc strict="yes" ?>
<?rfc toc="yes" ?>
<?rfc tocdepth="3" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc iprnotified="no" ?>

<rfc category="info" ipr="trust200902" docName="draft-mattsson-acme-use-cases-00">

<front>

<title abbrev="ACME Use Cases">Additional Use Cases for Automatic Certificate Management (ACME)</title>

<author initials='J.M' surname="Mattsson" fullname='John Mattsson'>
	<organization abbrev="Ericsson">Ericsson AB</organization>
	<address>
		<postal>
			<street>SE-164 80 Stockholm</street>
			<country>Sweden</country>
		</postal>
		<email>john.mattsson@ericsson.com</email>
	</address>
</author>

<author initials='R.S' surname="Skog" fullname='Robert Skog'>
	<organization abbrev="Ericsson">Ericsson AB</organization>
	<address>
		<postal>
			<street>SE-164 80 Stockholm</street>
			<country>Sweden</country>
		</postal>
		<email>robert.skog@ericsson.com</email>
	</address>
</author>

<date />

<area />

<workgroup />

<keyword />

<abstract>

	<t>Contacting a CA is just one way in which a newly deployed HTTPS server can get hold of the certificate to use. This document describes additional (and common) use cases that fall into the major guiding use case for ACME as stated by [I-D.barnes-acme], “obtaining certificates for Web sites”.</t>

</abstract>

</front>


<middle>

<section title="Introduction">

<t>It is well known that security features should be on by default and automatically configured. Otherwise the risk is overwhelming that the security features are left unused, or used in non-secure ways. One important task that benefits from more automation is certificate management.</t>

    <t>The document [I-D.barnes-acme] describes the use case where an HTTPS web server contacts a certification authority (CA) to request (and often pay for) a new domain validation certificate for a domain. But contacting a CA is just one way in which a newly deployed HTTPS server can get hold of the certificate to use.</t>
    
    <t>This document describes additional (and common) use cases that fall into the major guiding use case for ACME as stated by [I-D.barnes-acme], “obtaining certificates for Web sites”. To fulfill the needs of these use cases, we introduce the following certificate management function for ACME:
        
        <list style="symbols">
            
            <t>Certificate Download</t>
            
        </list>
        
        where the ACME server is not the CA, but rather a server operated by the domain owner.
        </t>

    <t>Just as the main scenario in [I-D.barnes-acme], the scenarios in this document often uses a collection of ad hoc mechanisms. And while [I-D.barnes-acme] mentions the already horrible 1-3 hours to obtain and install certificates for a newly deployed HTTPS server, the process of transferring an existing certificate can be even more time consuming, and people flying back on forth just to manually transfer certificates is not unheard of.</t>
    
</section>


<section title="Additional Use Cases">

<t>A newly deployed HTTPS server replacing or complementing an existing HTTPS server should import an existing certificate instead of buying a new. In the flow diagram in Figure 1, the new HTTPS server (ACME CLIENT) requests, downloads, and imports an existing certificate from a server (ACME SERVER). A PKCS#10 Certificate Signing Request (CSR) cannot be used as that creates a new certificate. Instead the client sends a request (here called CertDownload) to request download of an existing certificate. Authorization may e.g. be based on authentication of the computer operator.</t>

<figure anchor="f1" title="Downloading existing certificate"><artwork align="center"><![CDATA[
ACME CLIENT                   ACME SERVER


Identifier      ------->

                <-------      Challenges

Responses       ------->

                <-------      Authorization

CertDownload    ------->

                <-------      Certificate
]]></artwork></figure>


<t>A large domain with several virtualized HTTPS servers is likely to have a centralized certificate repository, and a newly deployed HTTPS server should download a certificate from the central repository. The flow diagram in Figure 2 shows two separate ACME sessions. First the repository (acting as an ACME client) requests a new certificate from the CA (ACME server). Secondly the HTTPS server (ACME client) downloads the certificate from the repository (now acting as an ACME server). The two sessions are usually separated in time.</t>

<figure anchor="f2" title="Downloading certificate from central repository"><artwork align="center"><![CDATA[
HTTPS SERVER                  REPOSITORY                              CA


                              Identifier       ------->

                                               <-------       Challenges

                              Responses        ------->

                                               <-------    Authorization

                              CSR              ------->

                                               <-------      Certificate
Identifier      ------->

                <-------      Challenges

Responses       ------->

                <-------      Authorization

CertDownload    ------->

                <-------      Certificate     
]]></artwork></figure>


<t>A newly deployed HTTPS server operated by another juridical person (e.g. a CDN provider) cannot (and shouldn’t be able to) prove ownership of the domain. The message flow in Figure 2 with two serial ACME sessions might be used also in this case. But the domain owner might be unwilling to distribute its ordinary long-term domain certificate. Instead the domain owner might only authorize the HTTPS sever to obtain a certificate with certain restriction. The restrictions could be that the certificate is only valid for a certain subdomain (e.g. cdn-aXtckW7K3Rgf29UPuGUF@example.com) and with a restricted lifetime (days instead of years). In this case two parallel ACME sessions may be used where the HTTPS server first contacts the domain owner, who proves ownership of the domain to the CA, and then forwards the newly issued certificate to the HTTPS server. An example message flow is shown in Figure 3. Authorization may e.g. be based on the HTTPS server proving ownership of a DV, OV, or EV certificate (perhaps issued in an earlier ACME session).</t>

<figure anchor="f3" title="Obtaining certificate with restrictions"><artwork align="center"><![CDATA[
HTTPS SERVER                  DOMAIN OWNER                            CA


Identifier      ------->
                              Identifier       ------->

                                               <-------       Challenges
                <-------      Challenges


Responses       ------->
                              Responses        ------->

                                               <-------    Authorization
                <-------      Authorization


CSR             ------->
                              CSR              ------->

                                               <-------      Certificate
                <-------      Certificate     
]]></artwork></figure>

</section>

</middle>

<back>

<references>

<?rfc include="reference.I-D.draft-barnes-acme-01.xml"?>

</references>

</back>

</rfc>