ACME Working Group Y. Sheffer
Internet-Draft Intuit
Intended status: Standards Track D. Lopez
Expires: December 18, 2017 O. Gonzalez de Dios
A. Pastor Perales
Telefonica I+D
T. Fossati
June 16, 2017

Use of Short-Term, Automatically-Renewed (STAR) Certificates to Delegate Authority over Web Sites


This memo proposes an ACME extension to enable the issuance of short-term and automatically renewed certificates. This allows a domain name owner to delegate the use of certificates to another party, while retaining the capability to cancel this delegation at any time with no need to rely on certificate revocation mechanisms.

[RFC Editor: please remove before publication]

While the draft is being developed, the editor’s version can be found at

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on December 18, 2017.

Copyright Notice

Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents ( in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents

1. Introduction: A Solution for the HTTPS CDN Use Case

A content provider (referred to in this document as Domain Name Owner, DNO) has agreements in place with one or more Content Delivery Networks (CDNs) that are contracted to serve its content over HTTPS. The CDN terminates the HTTPS connection at one of its edge cache servers and needs to present its clients (browsers, set-top-boxes) a certificate whose name matches the authority of the URL that is requested, i.e. that of the DNO. However, many DNOs balk at sharing their long-term private keys with another organization and, equally, CDN providers would rather not have to handle other parties’ long-term secrets. This problem has been discussed at the IETF under the LURK (limited use of remote keys) title.

This document proposes a solution to the above problem that involves the use of short-term certificates with a DNO’s name on them, and a scheme for handling the naming delegation from the DNO to the CDN. The generated short-term credentials are automatically renewed by an ACME Certification Authority (CA) [I-D.ietf-acme-acme] and routinely rotated by the CDN on its edge cache servers. The DNO can end the delegation at any time by simply instructing the CA to stop the automatic renewal and let the certificate expire shortly thereafter.

Using short-term certificates makes revocation cheap and effective [Topalovic] [I-D.iab-web-pki-problems] in case of key compromise or of termination of the delegation; seamless certificate issuance and renewal enable the level of workflow automation that is expected in today’s cloud environments. Also, compared to other keyless-TLS solutions [I-D.cairns-tls-session-key-interface] [I-D.erb-lurk-rsalg], the proposed approach doesn’t suffer from scalability issues or increase in connection setup latency, while requiring virtually no changes to existing COTS caching software used by the CDN.

This document describes the ACME extension. A companion document [I-D.sheffer-acme-star-request] describes how the CDN can request the DNO to initiate the protocol with the ACME server.

1.1. Cloud Use Case

A similar use case is that of cloud infrastructure components, such as load balancers and Web Application Firewalls (WAF). These components are typically provisioned with the DNO’s certificate, and similarly to the CDN use case, many organizations would prefer to manage the private key only on their own cloud-based or on-premise hosts, often on Hardware Security Modules (HSMs).

Here again, the STAR solution allows the DNO to delegate authority over the domain to the cloud provider, with the ability to revoke this authority at any time.

1.2. Terminology

Domain Name Owner, the owner of a domain that needs to be delegated.
Name Delegation Consumer, the entity to which the domain name is delegated for a limited time. This is often a CDN (in fact, readers may note the similarity of the two acronyms).
Content Delivery Network, a widely distributed network that serves the domain’s web content to a wide audience at high performance.
Short-Term, Automatically Renewed X.509 certificates.
The IETF Automated Certificate Management Environment, a certificate management protocol.
A Certificate Authority that implements the ACME protocol.

1.3. Conventions used in this document

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 [RFC2119].

2. Protocol Flow

For clarity, we describe how the proposed ACME extension can be used in a system that consists of an NDC, an ACME Client (the DNO) and an ACME Server. Only the latter part (ACME Client to ACME Server) is in scope of this document.

The protocol flow can be split into two: a STAR interface, used by NDC and DNO to agree on the name delegation, and the extended ACME interface, used by DNO to obtain the short-term and automatically renewed certificate from the CA, which is eventually consumed by the NDC. The latter is also used to terminate the delegation, if so needed.

Communication between the NDC and the DNO (the STAR interface) is out of scope of this document. It may take the form described in [I-D.sheffer-acme-star-request], some other online protocol, or may even be through manual generation of the CSR.

The following subsections describe the three main phases of the protocol:

This diagram presents the entities involved in the protocol and their interactions during the different phases.

                                 |    STAR Proxy   |
                                 |      (DNO)      |
                       Bootstrap +-----------------+ Bootstrap
                     +---------->+  STAR  |  ACME  +-----------+
                     |           | Server | Client | Terminate |
                     |           +--------+--------+           |
                     |                                         v
                 +--------+                                +--------+
                 |  STAR  |            Refresh             |  ACME  |
                 | Client +------------------------------->| Server |
                 | (NDC)  |                                |  (CA)  |
                 +--------+                                +--------+

2.1. Bootstrap

The DNO, in its role as an ACME client, requests the CA to issue a STAR certificate, i.e., one that:

Other than that, the ACME protocol flows as normal between DNO and CA, in particular DNO is responsible for satisfying the requested ACME challenges until the CA is willing to issue the requested certificate. Per normal ACME processing, the DNO is given back an Order ID for the issued STAR certificate to be used in subsequent interaction with the CA (e.g., if the certificate needs to be terminated.)

The bootstrap phase ends when the DNO obtains the OK from the ACME CA.

2.2. Refresh

The CA automatically re-issues the certificate (using the same CSR) before it expires and publishes it to the URL that the NDC has come to know at the end of the bootstrap phase. The NDC downloads and installs it. This process goes on until either:

        STAR                    ACME/STAR
        Client                  Server
          |     Retrieve cert     |                     [...]
          |<--------------------->|                      |
          |                       +------.              /
          |                       |      |             /
          |                       | Automatic renewal :
          |                       |      |             \
          |                       |<-----'              \
          |     Retrieve cert     |                      |
          |<--------------------->|                   72 hours
          |                       |                      |
          |                       +------.              /
          |                       |      |             /
          |                       | Automatic renewal :
          |                       |      |             \
          |                       |<-----'              \
          |     Retrieve cert     |                      |
          |<--------------------->|                   72 hours
          |                       |                      |
          |                       +------.              /
          |                       |      |             /
          |                       | Automatic renewal :
          |                       |      |             \
          |                       |<-----'              \
          |                       |                      |
          |         [...]         |                    [...]

Figure 1: Auto renewal

2.3. Termination

The DNO may request early termination of the STAR certificate by including the Order ID in a certificate termination request to the ACME interface, defined below. After the CA receives and verifies the request, it shall:

Note that it is not necessary to explicitly revoke the short-term certificate.

   STAR                    STAR                   ACME/STAR
   Client                  Proxy                  Server
     |                       |                       |
     |                       |  Terminate Order ID   |
     |                       +---------------------->|
     |                       |                       +-------.
     |                       |                       |       |
     |                       |                       |  End auto renewal  
     |                       |                       |  Remove cert link
     |                       |                       |  etc.
     |                       |                       |       |
     |                       |         Done          |<------'
     |                       |<----------------------+
     |                       |                       |
     |                                               |
     |                 Retrieve cert                 |
     |                 Error: terminated             |
     |                                               |

Figure 2: Termination

3. Protocol Details

This section describes the protocol’s details, namely the extensions to the ACME protocol required to issue STAR certificates.

3.1. ACME Extensions between Proxy and Server

This protocol extends the ACME protocol, to allow for recurrent orders.

3.1.1. Extending the Order Resource

The Order resource is extended with the following attributes:

    "recurrent": true,
    "recurrent-total-lifetime": 365, // requested lifetime of the
                                     // recurrent registration, in days
    "recurrent-certificate-validity": 7
       // requested validity of each certificate, in days

These attributes are included in a POST message when creating the order, as part of the “payload” encoded object. They are returned when the order has been created, and the ACME server MAY adjust them at will, according to its local policy.

3.1.2. Canceling a Recurrent Order

An important property of the recurrent Order is that it can be cancelled by the domain name owner, with no need for certificate revocation. We use the DELETE message to cancel the Order:

DELETE /acme/order/1 HTTP/1.1

Which returns:

HTTP/1.1 202 Deleted

The server MUST NOT issue any additional certificates for this Order, beyond the certificate that is available for collection at the time of deletion.

3.2. Indicating Support of Recurrent Orders

ACME supports sending arbitrary extensions when creating an Order, and as a result, there is no need to explicitly indicate support of this extension. The Proxy MUST verify that the “recurrent” attribute was understood, as indicated by the “recurrent” attribute included in the created Order. Since the standard ACME protocol does not allow to explicitly cancel a pending Order (the DELETE operation above is an extension), a Proxy that encounters an non-supporting server will probably let the Order expire instead of following through with the authorization process.

3.3. ACME Authorization

The DNO MUST restrict the authorizations it requests from the ACME server to only those that cannot be spoofed by a malicious NDC. In most cases the NDC will have strong control of HTTP content under the delegated domain, and therefore HTTPS-based authorization MUST NOT be used. See also Section 5.1.

3.4. Fetching the Certificates

The certificate is fetched from the certificate endpoint, as per [I-D.ietf-acme-acme], Sec. 7.4.2 “Downloading the Certificate”. The server MUST include an Expires header that indicates expiry of the specific certificate. When the certificate expires, the client MAY assume that a newer certificate is already in place.

A certificate MUST be replaced by its successor at the latest halfway through its lifetime (the period between its notBefore and notAfter times).

4. Operational Considerations

4.1. Certificate Transparency (CT) Logs

TBD: larger logs and how to deal with them.

5. Security Considerations

5.1. Restricting CDNs to the Delegation Mechanism

Currently there are no standard methods for the DNO to ensure that the CDN cannot issue a certificate through mechanisms other than the one described here, for the URLs under the CDN’s control. For example, regardless of the STAR solution, a rogue CDN employee can use the ACME protocol (or proprietary mechanisms used by various CAs) to create a fake certificate for the DNO’s content because ACME authorizes its requests using information that may be under the adversary’s control.

The best solution currently being worked on would consist of several related configuration steps:

This solution is recommended in general, even if an alternative to the mechanism described here is used.

6. Acknowledgments

This work is partially supported by the European Commission under Horizon 2020 grant agreement no. 688421 Measurement and Architecture for a Middleboxed Internet (MAMI). This support does not imply endorsement.

7. References

7.1. Normative References

[I-D.ietf-acme-acme] Barnes, R., Hoffman-Andrews, J. and J. Kasten, "Automatic Certificate Management Environment (ACME)", Internet-Draft draft-ietf-acme-acme-06, March 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.

7.2. Informative References

[CAB-CAA] CA/Browser Forum, "Ballot 187 – Make CAA Checking Mandatory", March 2017.
[I-D.cairns-tls-session-key-interface] Cairns, K., Mattsson, J., Skog, R. and D. Migault, "Session Key Interface (SKI) for TLS and DTLS", Internet-Draft draft-cairns-tls-session-key-interface-01, October 2015.
[I-D.erb-lurk-rsalg] Erb, S. and R. Salz, "A PFS-preserving protocol for LURK", Internet-Draft draft-erb-lurk-rsalg-01, May 2016.
[I-D.iab-web-pki-problems] Housley, R. and K. O'Donoghue, "Improving the Public Key Infrastructure (PKI) for the World Wide Web", Internet-Draft draft-iab-web-pki-problems-05, October 2016.
[I-D.ietf-acme-caa] Landau, H., "CAA Record Extensions for Account URI and ACME Method Binding", Internet-Draft draft-ietf-acme-caa-01, February 2017.
[RFC6844] Hallam-Baker, P. and R. Stradling, "DNS Certification Authority Authorization (CAA) Resource Record", RFC 6844, DOI 10.17487/RFC6844, January 2013.
[Topalovic] Topalovic, E., Saeta, B., Huang, L., Jackson, C. and D. Boneh, "Towards Short-Lived Certificates", 2012.

Appendix A. Document History

[[Note to RFC Editor: please remove before publication.]]

A.1. draft-ietf-acme-star-00

A.2. draft-sheffer-acme-star-02

A.3. draft-sheffer-acme-star-01

A.4. draft-sheffer-acme-star-00

A.5. draft-sheffer-acme-star-lurk-00

Authors' Addresses

Yaron Sheffer Intuit EMail:
Diego Lopez Telefonica I+D EMail:
Oscar Gonzalez de Dios Telefonica I+D EMail:
Antonio Agustin Pastor Perales Telefonica I+D EMail:
Thomas Fossati Nokia EMail: