Network Working Group | F. Fieau, Ed. |
Internet-Draft | E. Stephan |
Intended status: Standards Track | Orange |
Expires: January 4, 2018 | S. Mishra |
Verizon | |
July 03, 2017 |
CDNI interfaces update for HTTPS delegation
draft-fieau-cdni-interfaces-https-delegation-01
The delivery of content over HTTPS involving multiple CDNs raises credential management issues. This document recalls the methods under study at the IETF. Then it specifies the updates needed in CDNI Control and Metadata interfaces to setup HTTPS delegation between an uCDN and dCDN.
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 http://datatracker.ietf.org/drafts/current/.
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 January 4, 2018.
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 (http://trustee.ietf.org/license-info) 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.
When content is delivered over HTTPS using one or more CDNs along the path, credential management is required. This is specifically required when an entity delegates delivery of encrypted content to another trusted entity. This document presents updates needed in CDNI Control and Metadata interfaces to setup HTTPS delegation between an uCDN and dCDN.
Several delegation methods are currently proposed within several IETF working groups (refer to [I-D.fieau-cdni-https-delegation] for an overview of delegation works ongoing at the IETF). They specify separately the provisioning of their credentials.
This document specifies an update to the CDNI control / Triggers and Metadata interfaces to support these methods. Furthermore, it includes a proposal of registry to enable the adding of new methods in the future.
Section 2 is about terminology used in this document. Section 3 presents delegation methods specified at the IETF. Section 4 introduces a secured delegation object for CDNI. Section 5 addresses the delegation methods objects. Section 6 describes simple data types. Section 7 is about an IANA registry for delegation methods. Section 8 raises the security issues. Section 9 opens the discussion.
This document uses terminology from CDNI framework documents such as CDNi framework document [RFC7336], CDNI requirements [RFC7337] and CDNI interface specifications documents: CDNI Metadata interface [RFC8006], CDNI Control interface / Triggers [RFC8007] and Logging interface [RFC7937].
A few methods are currently being proposed at the IETF to handle delegation of HTTPS delivery between entities respecting those constraints (refer to [I-D.fieau-cdni-https-delegation]). Note that many of these methods are still an ongoing work at the IETF within specific WGs.
We however anticipate the need to handle delegation in interconnected CDNs and a need to address within the CDNI WG. Despite the types of delegation methods, we need a common framework in CDNI that would provide new requirements on the CDNI interfaces.
This document considers the following methods supporting HTTPS delegation and may be used between two or more CDNs with applicable interface support following the CDNI framework, such as the CI/Triggers and Metadata Interface:
- Sub-certificates [I-D.rescorla-tls-subcerts] likely to be a TLS WG draft.
- Short-term certificates in ACME using STAR API [I-D.ietf-acme-star]
As expressed in [I-D.rescorla-tls-subcerts], when HTTPS origin delivery is requested for a specific domain, the delegate, i.e. a dCDN, presents the Origin, or uCDN certificate or even, "delegated_credential" instead of its own certificate at the TLS handshake to the end.
When HTTPS delegation has been set for a specific domain, the dCDN should present the Origin or uCDN certificate or "delegated_credential" instead of its own certificate when content delivery is requested.
The SecuredDelegation object metadata aims at describing a secured delegation between an uCDN and dCDN by indicating the delegated domain, the start and end of a delegation, and the delegation method used.
property: delegateddomain
property: pathpattern
property: timewindow
Property: delegationmethod
As an example: a SecuredDelegation object (which contains a TimeWindow object, DelegationMethod and a HostMatch) that only allows the dCDN to deliver content to clients between 09:00 01/01/2000 UTC and 17:00 01/01/2000 UTC:
SecuredDelegation object: { "generic-metadata-type": "MI.SecuredDelegation", "generic-metadata-value": { “timewindow”: {start: 946717200, end: 946746000}, “delegationMethod”: AcmeStarDelegationMethod, “pathpattern”: { "pattern": "/movies/*", "case-sensitive": true }, ”delegatedDomain": “www.origin.com”, } }
Such as object shall be conveyed over the CDNI metadata interface.
This section defines the delegation methods objects metadata used by a securedDelegation. Each method consists of 4 phases:
This section defines the AcmeStarDelegationMethod object which describes metadata related to the use of Acme Star API presented in [I-D.ietf-acme-star]
Property: starproxy
Property: acmeserver
Property: credentialslocationuri
Property: periodicity
As an example, AcmeStarDelegationMethod object could express the Acme-Star-delegation as the following:
AcmeStarDelegationMethod: { "generic-metadata-type": "MI.AcmeStarDelegationMethod", "generic-metadata-value": { “starproxy”: “10.2.2.2”, “acmeserver”: “10.2.3.3”, "credentialslocationuri": “www.ucdn.com/credentials”, "periodicity": 36000 } }
TBD
This section describes the simple data types that are used for properties for objects in this document.
A time value expressed in seconds.
Type: Integer
This document requests the registration of the following entries under the "CDNI Payload Types" registry hosted by IANA regarding “CDNI delegation”:
+----------------------------+---------------+ | Payload Type | Specification | +----------------------------+---------------+ | MI.AcmeStarDelegationMethod| TBD | | MI.SubCertDelegationMethod | TBD | | ... | | +----------------------------+---------------+
Purpose: The purpose of this Payload Type is to distinguish AcmeStarDelegationMethod MI objects (and any associated capability advertisement)
Interface: MI/FCI
Encoding: see Section 5.1
Purpose: The purpose of this Payload Type is to distinguish SubcertsDelegationMethod MI objects (and any associated capability advertisement)
Interface: MI/FCI
Encoding: see Section 5.2
The CI/T interface and Metadata interface need only to specify mechanisms for delegation between uCDN and dCDN without the use of actual transfer of encrypting keys within the interface messages. The uCDN actions must be limited to in specifying its support for methods it prefers for delegation, actual delegation and revocation of any delegation. The dCDN similarly, must indicate delegation methods it supports. Any subsequent communications enabling delegation must be limited to the agreed delegation method. Additionally, the HTTPS delegation framework must comply with security considerations as specified within RFC 8007 [CDNI Control Interfaces].
More prospective works include:
- Keyless SSL / LURK [I-D.mglt-lurk-tls]: No WG is currently addressing Lurk.
- Out-of-Band encoding redirection [I-D.reschke-http-oob-encoding]
Should they be considered as delegation methods for CDNI?
[I-D.fieau-cdni-https-delegation] | Fieau, F., Emile, S. and S. Mishra, "HTTPS delegation in CDNI", Internet-Draft draft-fieau-cdni-https-delegation-01, March 2017. |
[I-D.ietf-acme-star] | Sheffer, Y., Lopez, D., Dios, O., Pastor, A. and T. Fossati, "Use of Short-Term, Automatically-Renewed (STAR) Certificates to Delegate Authority over Web Sites", Internet-Draft draft-ietf-acme-star-00, June 2017. |
[I-D.mglt-lurk-tls] | Migault, D., "LURK Protocol for TLS/DTLS1.2 version 1.0", Internet-Draft draft-mglt-lurk-tls-01, March 2017. |
[I-D.reschke-http-oob-encoding] | Reschke, J. and S. Loreto, "'Out-Of-Band' Content Coding for HTTP", Internet-Draft draft-reschke-http-oob-encoding-12, June 2017. |
[I-D.rescorla-tls-subcerts] | Barnes, R., Iyengar, S., Sullivan, N. and E. Rescorla, "Delegated Credentials for TLS", Internet-Draft draft-rescorla-tls-subcerts-01, March 2017. |