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

Abstract

   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.

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 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 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
   (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



Fieau, et al.            Expires January 4, 2018                [Page 1]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Known delegation methods  . . . . . . . . . . . . . . . . . .   3
   4.  SecuredDelegation object definition . . . . . . . . . . . . .   3
   5.  Delegation methods  . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  AcmeStarDelegationMethod object . . . . . . . . . . . . .   6
     5.2.  SubcertsDelegationMethod object . . . . . . . . . . . . .   7
   6.  Metadata Simple Data Type Descriptions  . . . . . . . . . . .   7
     6.1.  Periodicity . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  IANA considerations . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  CDNI MI AcmeStarDelegationMethod Payload Type . . . . . .   7
     7.2.  CDNI MI SubCertsDelegationMethod Payload Type . . . . . .   8
   8.  Security considerations . . . . . . . . . . . . . . . . . . .   8
   9.  Discussion  . . . . . . . . . . . . . . . . . . . . . . . . .   8
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   8
     10.2.  Informative References . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   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.



Fieau, et al.            Expires January 4, 2018                [Page 2]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   Section 8 raises the security issues.  Section 9 opens the
   discussion.

2.  Terminology

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

3.  Known delegation methods

   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]

4.  SecuredDelegation object definition

   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.





Fieau, et al.            Expires January 4, 2018                [Page 3]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   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

      type: HostMatch

      Description: It describes the delegated hostname, restricted to
      Hostname.  HostMatch is defined in RFC8006 section 4.3.3.  This
      value should match the SAN value in certificates.

   property: pathpattern

      type: PathPattern

      Description: a PathPattern object contains a PathPattern object
      with a path to match against a resource's URI path in order to
      trigger the delegation.  It is described in RFC8006, 4.1.4.

   property: timewindow

      type: TimeWindow

      Description: Describes delegation start and end times.  Timewindow
      is defined in RFC8006 section 4.2.

   Property: delegationmethod

      type: DelegationMethod

      Description: the delegation method(s) used between a uCDN and a
      dCDN (ex.  Subcerts, short term cert, etc.), as defined in the
      next section.

   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:











Fieau, et al.            Expires January 4, 2018                [Page 4]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   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.

5.  Delegation methods

   This section defines the delegation methods objects metadata used by
   a securedDelegation.  Each method consists of 4 phases:

   o  Bootstrapping: bootstrapping a secured delegation consists in
      providing the dCDN with enough parameters to set it up, e.g.  ACME
      servers, Key Servers, etc..

   o  Credential renewal: In case of certificates based approaches,
      [I-D.rescorla-tls-subcerts] and [I-D.ietf-acme-star], there is a
      need in CDNI to periodically provision and update credentials
      (certificates or private keys) on the dCDNs for a given delegated
      domain.

   o  Expiration/Revocation: expiration of delegation can occur for
      multiple reasons: changes in delegation rights, delegation
      validity is over.  In [I-D.rescorla-tls-subcerts] or
      [I-D.ietf-acme-star] approaches, the uCDN may implicitly enforce
      revocation and will prevent any dCDN to renew certificates, or
      access credentials, when delegation is expired.

   o  Logging: Regarding logging aspects, we consider to log usages and
      errors related to a delegated domain.  As an example, CDNI logs
      include: supported delegation method(s), credentials renewal
      requests, credential revocation notice, mutual agreement for
      selected credential method to use, credentials download status for
      a specific domain, as well as errors, related to credentials
      transfer, or crypto aspects such as bad cypher suite supports,
      revoked delegations, etc.



Fieau, et al.            Expires January 4, 2018                [Page 5]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


5.1.  AcmeStarDelegationMethod object

   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

      Type: Endpoint

      Description: Used to advertise the STAR Proxy to the dCDN.
      Endpoint type defined in RFC8006, section 4.3.3

   Property: acmeserver

      Type: Endpoint

      Description: used to advertise the ACME server to the dCDN.
      Endpoint type is defined in RFC8006, section 4.3.3

   Property: credentialslocationuri

      Type: Link

      Description: expresses the location of the credentials to be
      fetched by the dCDN.  Link type is as defined in RFC8006, section 
      4.3.1

   Property: periodicity

      Type: Periodicity

      description: expresses the credentials renewal periodicity.  See
      next section on simple meta data type.

   As an example, AcmeStarDelegationMethod object could express the
   Acme-Star-delegation as the following:














Fieau, et al.            Expires January 4, 2018                [Page 6]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   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
       }
   }


5.2.  SubcertsDelegationMethod object

   TBD

6.  Metadata Simple Data Type Descriptions

   This section describes the simple data types that are used for
   properties for objects in this document.

6.1.  Periodicity

   A time value expressed in seconds.

   Type: Integer

7.  IANA considerations

   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           |
   | ...                        |               |
   +----------------------------+---------------+


7.1.  CDNI MI AcmeStarDelegationMethod Payload Type

   Purpose: The purpose of this Payload Type is to distinguish
   AcmeStarDelegationMethod MI objects (and any associated capability
   advertisement)




Fieau, et al.            Expires January 4, 2018                [Page 7]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   Interface: MI/FCI

   Encoding: see Section 5.1

7.2.  CDNI MI SubCertsDelegationMethod Payload Type

   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

8.  Security considerations

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

9.  Discussion

   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?

10.  References

10.1.  Normative References

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246,
              DOI 10.17487/RFC5246, August 2008,
              <http://www.rfc-editor.org/info/rfc5246>.




Fieau, et al.            Expires January 4, 2018                [Page 8]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
              <http://www.rfc-editor.org/info/rfc5280>.

   [RFC7336]  Peterson, L., Davie, B., and R. van Brandenburg, Ed.,
              "Framework for Content Distribution Network
              Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336,
              August 2014, <http://www.rfc-editor.org/info/rfc7336>.

   [RFC7337]  Leung, K., Ed. and Y. Lee, Ed., "Content Distribution
              Network Interconnection (CDNI) Requirements", RFC 7337,
              DOI 10.17487/RFC7337, August 2014,
              <http://www.rfc-editor.org/info/rfc7337>.

   [RFC7937]  Le Faucheur, F., Ed., Bertrand, G., Ed., Oprescu, I., Ed.,
              and R. Peterkofsky, "Content Distribution Network
              Interconnection (CDNI) Logging Interface", RFC 7937,
              DOI 10.17487/RFC7937, August 2016,
              <http://www.rfc-editor.org/info/rfc7937>.

   [RFC8006]  Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma,
              "Content Delivery Network Interconnection (CDNI)
              Metadata", RFC 8006, DOI 10.17487/RFC8006, December 2016,
              <http://www.rfc-editor.org/info/rfc8006>.

   [RFC8007]  Murray, R. and B. Niven-Jenkins, "Content Delivery Network
              Interconnection (CDNI) Control Interface / Triggers",
              RFC 8007, DOI 10.17487/RFC8007, December 2016,
              <http://www.rfc-editor.org/info/rfc8007>.

10.2.  Informative References

   [I-D.fieau-cdni-https-delegation]
              Fieau, F., Emile, S., and S. Mishra, "HTTPS delegation in
              CDNI", draft-fieau-cdni-https-delegation-01 (work in
              progress), 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", draft-
              ietf-acme-star-00 (work in progress), June 2017.

   [I-D.mglt-lurk-tls]
              Migault, D., "LURK Protocol for TLS/DTLS1.2 version 1.0",
              draft-mglt-lurk-tls-01 (work in progress), March 2017.



Fieau, et al.            Expires January 4, 2018                [Page 9]


Internet-Draft      CDNI update for HTTPS delegation           July 2017


   [I-D.reschke-http-oob-encoding]
              Reschke, J. and S. Loreto, "'Out-Of-Band' Content Coding
              for HTTP", draft-reschke-http-oob-encoding-12 (work in
              progress), June 2017.

   [I-D.rescorla-tls-subcerts]
              Barnes, R., Iyengar, S., Sullivan, N., and E. Rescorla,
              "Delegated Credentials for TLS", draft-rescorla-tls-
              subcerts-01 (work in progress), March 2017.

Authors' Addresses

   Frederic Fieau (editor)
   Orange
   40-48, avenue de la Republique
   Chatillon  92320
   France

   Email: frederic.fieau@orange.com


   Emile Stephan
   Orange
   2, avenue Pierre Marzin
   Lannion  22300
   France

   Email: emile.stephan@orange.com


   Sanjay Mishra
   Verizon
   13100 Columbia Pike
   Silver Spring  MD 20904
   USA

   Email: sanjay.mishra@verizon.com














Fieau, et al.            Expires January 4, 2018               [Page 10]