rfc9677.original   rfc9677.txt 
Network Working Group F. Fieau Internet Engineering Task Force (IETF) F. Fieau
Internet-Draft E. Stephan Request for Comments: 9677 E. Stephan
Intended status: Standards Track Orange Category: Standards Track Orange
Expires: 9 March 2025 G. Guillaume ISSN: 2070-1721 G. Bichot
C. Christoph C. Neumann
Broadpeak Broadpeak
5 September 2024 October 2024
CDNI Metadata for Delegated Credentials Content Delivery Network Interconnection (CDNI) Metadata for Delegated
draft-ietf-cdni-https-delegation-subcerts-12 Credentials
Abstract Abstract
The delivery of content over HTTPS involving multiple Content The delivery of content over HTTPS involving multiple Content
Delivery Networks (CDNs) raises credential management issues. This Delivery Networks (CDNs) raises credential management issues. This
document defines metadata in the CDNI Control and Metadata interface document defines metadata in the Content Delivery Network
to setup HTTPS delegation using delegated credentials from an Interconnection (CDNI) Control and Metadata interface to set up HTTPS
Upstream CDN (uCDN) to a Downstream CDN (dCDN). delegation using delegated credentials from an upstream CDN (uCDN) to
a downstream CDN (dCDN).
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 9 March 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9677.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology
3. CDNI Footprint and Capabilities Advertisement interface (FCI) 3. CDNI Footprint and Capabilities Advertisement Interface (FCI)
capabilities object for delegated credentials . . . . . . 3 Capabilities Object for Delegated Credentials
3.1. FCI.DelegatedCredentials . . . . . . . . . . . . . . . . 4 3.1. FCI.DelegatedCredentials
3.2. Expected usage of the property number of supported 3.2. Expected Usage of the Property Number of Supported
delegated credentials . . . . . . . . . . . . . . . . . . 5 Delegated Credentials
4. CDNI Metadata interface (MI) metadata object for delegated 4. CDNI Metadata Interface (MI) Metadata Object for Delegated
credentials . . . . . . . . . . . . . . . . . . . . . . . 5 Credentials
5. Delegated credentials call flow . . . . . . . . . . . . . . . 7 5. Delegated Credentials Call Flow
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 6. IANA Considerations
6.1. CDNI MI DelegatedCredentials Payload Type . . . . . . . . 9 6.1. CDNI MI.DelegatedCredentials Payload Type
6.2. CDNI FCI DelegatedCredentials Payload Type . . . . . . . 9 6.2. CDNI FCI.DelegatedCredentials Payload Type
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 10 8. Privacy Considerations
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 9. References
9.1. Normative References . . . . . . . . . . . . . . . . . . 11 9.1. Normative References
9.2. Informative References . . . . . . . . . . . . . . . . . 12 9.2. Informative References
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses
1. Introduction 1. Introduction
Content delivery over HTTPS utilizing one or more Content Delivery Content delivery over HTTPS utilizing one or more Content Delivery
Networks (CDNs) along the delivery path necessitates the management Networks (CDNs) along the delivery path necessitates the management
of credentials. This requirement is particularly pertinent when an of credentials. This requirement is particularly pertinent when an
entity delegates the delivery of content via HTTPS to another trusted entity delegates the delivery of content via HTTPS to another trusted
entity. entity.
This document specifies the CDNI Metadata interface for establishing This document specifies the CDNI Metadata interface for establishing
HTTPS delegation through the use of delegated credentials, as defined HTTPS delegation through the use of delegated credentials, as defined
in [RFC9345]) between an upstream CDN (uCDN) and a downstream CDN in [RFC9345], between an upstream CDN (uCDN) and a downstream CDN
(dCDN). (dCDN).
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
This document uses terminology from CDNI framework documents: CDNI This document uses terminology from the CDNI specifications -- CDNI
framework document [RFC7336], CDNI requirements [RFC7337] and CDNI framework [RFC7336], CDNI requirements [RFC7337], and CDNI Metadata
interface specifications documents: CDNI Metadata interface interface [RFC8006].
[RFC8006].
3. CDNI Footprint and Capabilities Advertisement interface (FCI) 3. CDNI Footprint and Capabilities Advertisement Interface (FCI)
capabilities object for delegated credentials Capabilities Object for Delegated Credentials
A dCDN should advertise its supported delegation methods using the A dCDN should advertise its supported delegation methods using the
Footprint and Capabilities Advertisement interface (FCI) as defined Footprint and Capabilities Advertisement interface (FCI) as defined
in [RFC8008]. The FCI.Metadata object enables a dCDN to communicate in [RFC8008]. The FCI.Metadata object enables a dCDN to communicate
its capabilities and the Metadata Interface (MI) objects it supports. its capabilities and the Metadata interface (MI) objects it supports.
To indicate support for delegated credentials, the dCDN should To indicate support for delegated credentials, the dCDN should
announce the support for MI.DelegatedCredentials, as illustrated in announce the support for MI.DelegatedCredentials, as illustrated in
the example below. the example below.
{ {
"capabilities": [ "capabilities": [
{ {
"capability-type": "FCI.Metadata", "capability-type": "FCI.Metadata",
"capability-value": { "capability-value": {
"metadata": [ "metadata": [
skipping to change at page 4, line 18 skipping to change at line 144
number of delegated credentials supported by the dCDN. This number number of delegated credentials supported by the dCDN. This number
typically (but not necessarily) corresponds to the number of servers typically (but not necessarily) corresponds to the number of servers
designated by the dCDN to support delegated credentials. designated by the dCDN to support delegated credentials.
The property PrivateKeyEncryptionKey contains a public key provided The property PrivateKeyEncryptionKey contains a public key provided
by the dCDN that MUST be used by the uCDN to encrypt private keys by the dCDN that MUST be used by the uCDN to encrypt private keys
whenever such private keys are transmitted to the dCDN using whenever such private keys are transmitted to the dCDN using
MI.DelegatedCredentials (see Section 4). MI.DelegatedCredentials (see Section 4).
Property: number-delegated-certs-supported Property: number-delegated-certs-supported
Description: Number of delegated credentials supported by the dCDN.
Description: Number of delegated credentials supported by the Type: integer
dCDN. Mandatory-to-Specify: Yes
Type: integer
Mandatory-to-Specify: Yes
Property: PrivateKeyEncryptionKey Property: PrivateKeyEncryptionKey
Description: Public key in JSON Web Key (JWK) format [RFC7517] of
Description: Public key in JWK format ([RFC7517]) of the dCDN to the dCDN to be used by the uCDN to encrypt private keys.
be used by the uCDN to encrypt private keys. Type: string
Mandatory-to-Specify: No
Type: string
Mandatory-to-Specify: No
The following is an example of the FCI.DelegatedCredentials. The following is an example of the FCI.DelegatedCredentials.
{ {
"capabilities": [ "capabilities": [
{ {
"capability-type": "FCI.DelegatedCredentials", "capability-type": "FCI.DelegatedCredentials",
"capability-value": { "capability-value": {
"number-delegated-certs-supported": 10 "number-delegated-certs-supported": 10
} }
"footprints": [ "footprints": [
<Footprint objects> <Footprint objects>
] ]
} }
] ]
} }
3.2. Expected usage of the property number of supported delegated 3.2. Expected Usage of the Property Number of Supported Delegated
credentials Credentials
The dCDN uses the FCI.DelegatedCredentials object to announce the The dCDN uses the FCI.DelegatedCredentials object to announce the
number of servers that support delegated credentials number of servers that support delegated credentials.
When the uCDN receives the FCI.DelegatedCredentials object it can When the uCDN receives the FCI.DelegatedCredentials object, it can
issue the supported number of delegated credentials to the dCDN. issue the supported number of delegated credentials to the dCDN.
When configuring the dCDN, the uCDN MAY decide to provide less than When configuring the dCDN, the uCDN MAY decide to provide less than
the maximum supported delegated credentials to the dCDN. Note that, the maximum supported delegated credentials to the dCDN. Note that,
within a dCDN, different deployment possibilities of the delegated within a dCDN, different deployment possibilities of the delegated
credentials on the endpoints exist. The dCDN MAY use one single credentials on the endpoints exist. The dCDN MAY use one single
delegated credential and deploy it on multiple endpoints. delegated credential and deploy it on multiple endpoints.
Alternatively, the dCDN MAY deploy a different delegated credential Alternatively, the dCDN MAY deploy a different delegated credential
for each endpoint (provided that the uCDN delivers enough different for each endpoint (provided that the uCDN delivers enough different
delegated credentials). This choice is at the discretion of the dCDN delegated credentials). This choice is at the discretion of the dCDN
and depends on the number of delegated credentials provided by the and depends on the number of delegated credentials provided by the
uCDN. uCDN.
The FCI.DelegationCredentials object does not address expiry and The FCI.DelegationCredentials object does not address expiry or
renewal of delegated credentials. Once the uCDN has provided renewal of delegated credentials. Once the uCDN has provided
delegated credentials via the MI, uCDN SHOULD monitor the provided delegated credentials via the MI, the uCDN SHOULD monitor the
credentials and their expiry times and timely refresh dCDN provided credentials and their expiry times and SHOULD refresh dCDN
credentials via the MI. The uCDN may decide not to monitor the credentials via the MI in a timely manner. The uCDN may decide not
validity period of delegated credentials and not to refresh the to monitor the validity period of delegated credentials and not to
credentials, for example in cases of short-term one shot deployments refresh the credentials, for example, in cases of short-term one-shot
or once it decided to deprovision a dCDN. If the delegated deployments or once it has decided to deprovision a dCDN. If the
credential is not renewed on time by the uCDN, the servers of the delegated credential is not renewed on time by the uCDN, the servers
dCDN that only have expired delegated credentials MUST refuse any new of the dCDN that only have expired delegated credentials MUST refuse
TLS connection that requires an up-to-date delegated credential. any new TLS connection that requires an up-to-date delegated
credential.
4. CDNI Metadata interface (MI) metadata object for delegated 4. CDNI Metadata Interface (MI) Metadata Object for Delegated
credentials Credentials
As expressed in [RFC9345], when an uCDN has delegated to a dCDN, the As expressed in [RFC9345], when an uCDN has delegated to a dCDN, the
dCDN presents the "delegated_credential" during the TLS handshake dCDN presents the "delegated_credential" (rather than its own
[RFC8446] to the User Agent, instead of its own certificate. This certificate) during the TLS handshake [RFC8446] to the User Agent.
implies that the dCDN is also in the possession of the private key This implies that the dCDN is also in the possession of the private
corresponding to the public key in DelegatedCredential.cred key corresponding to the public key in DelegatedCredential.cred
[RFC9345]. This allows the User Agent to verify the signature in [RFC9345]. This allows the User Agent to verify the signature in a
CertificateVerify message ([RFC8446] Section 4.4.3.) sent and signed CertificateVerify message (Section 4.4.3 of [RFC8446]) sent and
by the dCDN. signed by the dCDN.
This section defines the MI.DelegatedCredentials object containing an This section defines the MI.DelegatedCredentials object containing an
array of delegated credentials and optionally the corresponding array of delegated credentials and optionally the corresponding
private keys. The CDNI MI [RFC8006] describes the CDNI metadata private keys. The CDNI MI [RFC8006] describes the CDNI metadata
distribution mechanisms according to which a dCDN can retrieve the distribution mechanisms according to which a dCDN can retrieve the
MI.DelegatedCredentials object from the uCDN. MI.DelegatedCredentials object from the uCDN.
The properties of the MI.DelegatedCredentials object are as follows: The properties of the MI.DelegatedCredentials object are as follows:
Property: delegated-credentials Property: delegated-credentials
Description: Array of delegated credentials
Description: Array of delegated credentials Type: Array of DelegatedCredentialObject objects
Mandatory-to-Specify: Yes
Type: Array of DelegatedCredentialObject objects
Mandatory-to-Specify: Yes
The DelegatedCredentialObject object is composed of the following The DelegatedCredentialObject object is composed of the following
properties: properties:
Property: delegated-credential Property: delegated-credential
Description: Base64-encoded (as defined in Section 4 of [RFC4648])
Description: Base64-encoded (as defined in Section 4 of version of a CertificateEntry as defined in Section 4.4.2 of
[RFC4648]) version of a CertificateEntry as defined in [RFC8446]. The CertificateEntry MUST contain a
[RFC8446] Section 4.4.2. The CertificateEntry MUST contain a DelegatedCredential structure (as defined in [RFC9345]) using the
DelegatedCredential structure (as defined in [RFC9345]) using extension in the CertificateEntry of its end-entity certificate
the extension in the CertificateEntry of its end-entity (see Section 4.1.1 of [RFC9345]).
certificate (see [RFC9345] section 4.1.1) Type: string
Mandatory-to-Specify: Yes
Type: string
Mandatory-to-Specify: Yes
Property: private-key Property: private-key
Description: Encrypted private key corresponding to the public key
Description: Encrypted private key corresponding to the public contained in the DelegatedCredential. The envelope format for
key contained in the DelegatedCredential. The envelope format this property is JSON Web Encryption (JWE) [RFC7516] using the
for this property is JWE [RFC7516] using the base64 compact base64 compact serialization (Section 7.1 of [RFC7516]).
serialization (Section 7.1 of [RFC7516]). Type: string
Mandatory-to-Specify: No
Type: string
Mandatory-to-Specify: No
The private-key property is not mandatory. If not specified, it is The private-key property is not mandatory. If not specified, it is
assumed that the dCDN generated the public-private key pair for the assumed that the dCDN generated the public-private key pair for the
delegated credential itself and provided the public key information delegated credential itself and provided the public key information
with an out-of-band mechanism to the uCDN. See Section 7 for with an out-of-band mechanism to the uCDN. See Section 7 for
constraints regarding the usage of the private key. constraints regarding the usage of the private key.
If the private-key property is used, the transported private key MUST If the private-key property is used, the transported private key MUST
be encrypted using the PrivateKeyEncryptionKey specified in be encrypted using the PrivateKeyEncryptionKey specified in
FCI.DelegatedCredentials. The envelope format for this property MUST FCI.DelegatedCredentials. The envelope format for this property MUST
use JWE [RFC7516] using the base64 compact serialization (Section 7.1 use JWE [RFC7516] using the base64 compact serialization (Section 7.1
of [RFC7516]), whereas the private key is included as JWE Ciphertext of [RFC7516]), whereas the private key is included as JWE Ciphertext
in the JWE. The JWE content-type field MAY be used signal the media in the JWE. The JWE content-type field MAY be used to signal the
type of the encrypted key. media type of the encrypted key.
Below, please see an example MI.DelegatedCredential Object. Below, please see an example of an MI.DelegatedCredentials object.
{ {
"generic-metadata-type": "MI.DelegatedCredentials", "generic-metadata-type": "MI.DelegatedCredentials",
"generic-metadata-value": { "generic-metadata-value": {
"delegated-credentials": [ "delegated-credentials": [
{"delegated-credential": {"delegated-credential":
"cBBfm8KK6pPz/tdgKyedwA... "cBBfm8KK6pPz/tdgKyedwA...
iXCCIAmzMM0R8FLI3Ba0UQ=="}, iXCCIAmzMM0R8FLI3Ba0UQ=="},
{"delegated-credential": {"delegated-credential":
"4pyIGtjFdys1+9y/4sS/Fg... "4pyIGtjFdys1+9y/4sS/Fg...
J+h9lnRY/xgmi65RLGKoRw=="}, J+h9lnRY/xgmi65RLGKoRw=="},
{"delegated-credential": {"delegated-credential":
"6PWFO0g2AXvUaULXLObcVA... "6PWFO0g2AXvUaULXLObcVA...
HXoldT/qaYCCNEyCc8JM2A=="} HXoldT/qaYCCNEyCc8JM2A=="}
] ]
} }
} }
5. Delegated credentials call flow 5. Delegated Credentials Call Flow
An example call-flow using delegated credentials is depicted in An example call-flow using delegated credentials is depicted in
Figure 1. Figure 1. The steps are as follows.
1. It is assumed that the uCDN has been provisioned and configured 1. It is assumed that the uCDN has been provisioned and configured
with a certificate. Note that it is out of scope of CDNI and the with a certificate. Note that it is out of scope of CDNI and the
present document how and from where (e.g., CSP) the uCDN acquired its present document how and from where (e.g., which Content Service
certificate. Provider) the uCDN acquired its certificate.
2. The uCDN generates a set of delegated credentials (here it is 2. The uCDN generates a set of delegated credentials (here it is
assumed that public keys of the dCDN are known). Note that the uCDN assumed that public keys of the dCDN are known). Note that the
may generate this material at different points in time, e.g., in uCDN may generate this material at different points in time,
advance to have a pool of delegated credentials or on-demand when the e.g., in advance to have a pool of delegated credentials or on
dCDN announces its maximum number of supported delegated credentials. demand when the dCDN announces its maximum number of supported
delegated credentials.
3. Using the CDNI FCI [RFC8008], the dCDN advertises 3. Using the CDNI FCI [RFC8008], the dCDN advertises
MI.DelegatedCredentials capabilities to the uCDN. The dCDN further MI.DelegatedCredentials capabilities to the uCDN. The dCDN
uses FCI.DelegatedCredentials to advertise the maximum number of further uses FCI.DelegatedCredentials to advertise the maximum
supported delegated credentials. number of supported delegated credentials.
4. Using the CDNI MI [RFC8006], the dCDN acquires the 4. Using the CDNI MI [RFC8006], the dCDN acquires the
MI.DelegatedCredentials, retrieving an array of delegated MI.DelegatedCredentials, retrieving an array of delegated
credentials. credentials.
5. The client establishes a TLS connection with an endpoint of the 5. The client establishes a TLS connection with an endpoint of the
dCDN according to [RFC9345] using the delegated credentials retrieved dCDN according to [RFC9345] using the delegated credentials
in step 4. retrieved in step 4.
6. When some delegated credentials are about to expire, the uCDN 6. When some delegated credentials are about to expire, the uCDN
uses the CDNI MI [RFC8006] to provide new, valid delegated uses the CDNI MI [RFC8006] to provide new, valid delegated
credentials. credentials.
User-Agent dCDN uCDN User-Agent dCDN uCDN
| | | | | |
| | [1.uCDN acquires its certificate | | [1. uCDN acquires its certificate
| | out of scope of CDNI] | | out of scope of CDNI]
| | | | | |
| | [2.generation of | | [2. generation of
| | delegated credentials] | | delegated credentials]
| | | | | |
| 3. CDNI FCI used to | 3. CDNI FCI used to
| advertise support of MI.DelegatedCredentials | advertise support of MI.DelegatedCredentials
| and announce number of delegated credentials | and announce number of delegated credentials
| supported using FCI.DelegatedCredentials | supported using FCI.DelegatedCredentials
| |-------------------->+ | |-------------------->+
| | | | | |
| 4. CDNI MI used to | 4. CDNI MI used to
| provide the MI.DelegatedCredential object | provide the MI.DelegatedCredentials object
| |<--------------------+ | |<--------------------+
| | | | | |
. .
. .
. .
[5. TLS handshake according | [5. TLS handshake according |
to [RFC9345]] . | to [RFC9345]] . |
|<------------------->| | |<------------------->| |
| | | | | |
. .
. .
. .
| 6.Some delegated credentials about to expire. | 6. Some delegated credentials about to expire.
| CDNI MI used to | CDNI MI used to
| provide new MI.DelegatedCredential object | provide new MI.DelegatedCredentials object
| |<--------------------+ | |<--------------------+
| | | | | |
Figure 1: Example call-flow of Delegated credentials in CDNI Figure 1: Example Call Flow of Delegated Credentials in CDNI
6. IANA Considerations 6. IANA Considerations
This document requests IANA registration of the following entries IANA has registered the following payload types in the "CDNI Payload
under the "CDNI Payload Types" registry hosted by IANA regarding Types" registry in the "Content Delivery Network Interconnection
"CDNI delegation": (CDNI) Parameters" registry group.
+--------------------------+---------------+ +==========================+===============+
| Payload Type | Specification | | Payload Type | Specification |
+==========================+===============+
| MI.DelegatedCredentials | RFC 9677 |
+--------------------------+---------------+ +--------------------------+---------------+
| MI.DelegatedCredentials | RFCthis | | FCI.DelegatedCredentials | RFC 9677 |
+--------------------------+---------------+
| FCI.DelegatedCredentials | RFCthis |
+--------------------------+---------------+ +--------------------------+---------------+
Table 1 Table 1
[RFC Editor: Please replace RFCthis with the published RFC number for Sections 6.1 and 6.2 provide additional necessary information for the
this document.] registration of those CDNI payload types (see Section 2.2 of
[RFC7736]).
The Section 6.1 and Section 6.2 below provide additional necessary
information for the IANA registration of CDNI payload-types
parameters (see [RFC7736] Section 2.2).
6.1. CDNI MI DelegatedCredentials Payload Type 6.1. CDNI MI.DelegatedCredentials Payload Type
Purpose: The purpose of this Payload Type is to distinguish Purpose: The purpose of this payload type is to distinguish
delegated credentials MI Objects delegated credentials MI objects.
Interface: MI/FCI Interface: MI/FCI
Encoding: see Section 4 Encoding: See Section 4.
6.2. CDNI FCI DelegatedCredentials Payload Type 6.2. CDNI FCI.DelegatedCredentials Payload Type
Purpose: The purpose of this Payload Type is to advertise the number Purpose: The purpose of this payload type is to advertise the number
of delegated credentials needed (and any associated capability of delegated credentials needed (and any associated capability
advertisement) advertisement).
Interface: FCI Interface: FCI
Encoding: see Section 3.1 Encoding: See Section 3.1.
7. Security Considerations 7. Security Considerations
The extensions defined enable providing delegated credentials to The extensions defined enable providing delegated credentials to
dCDNs. A delegated credential can only be used by a dCDN if it is in dCDNs. A delegated credential can only be used by a dCDN if it is in
possession of the associated private key. Similarly, an attacker possession of the associated private key. Similarly, an attacker
requires access to the private key in order to exploit delegated requires access to the private key in order to exploit a delegated
credential and impersonate dCDN nodes. Thus, leakage of only the credential and impersonate dCDN nodes. Thus, leakage of only the
delegated credential without the private key represents a limited delegated credential without the private key represents a limited
security risk. security risk.
Delegated credentials and associated private keys are short-lived Delegated credentials and associated private keys are short-lived
(per default the maximum validity period set to 7 days in [RFC9345]) (per default, the maximum validity period is set to 7 days in
and as such a single leaked delegated credential with its private key [RFC9345]) and as such a single leaked delegated credential with its
represents a limited security risk. Still, it is NOT RECOMMENDED to private key represents a limited security risk. Still, it is NOT
send private keys through the MI. Omitting the private key further RECOMMENDED to send private keys through the MI. Omitting the
limits the possibility exploits by an attacker to exploit the private key further limits the possible ways an attacker could
delegated credential. exploits the delegated credential.
If despite this recommendation, the private key is communicated via If this recommendation is not followed, i.e., the private key is
the MI, the transported private key MUST be encrypted within a JWE communicated via the MI, the transported private key MUST be
envelope using the encryption key (PrivateKeyEncryptionKey) provided encrypted within a JWE envelope using the encryption key
within the FCI.DelegatedCredentials by the dCDN. The JWE encryption (PrivateKeyEncryptionKey) provided within the
key (PrivateKeyEncryptionKey) MUST have a strength equal or larger FCI.DelegatedCredentials by the dCDN. The JWE encryption key
(PrivateKeyEncryptionKey) MUST have a strength equal to or larger
than the private key it is encrypting for transport. Note that the than the private key it is encrypting for transport. Note that the
specified encryption method does not offer forward secrecy. If the specified encryption method does not offer forward secrecy. If the
dCDN's encryption key becomes compromised in the future, then all dCDN's encryption key becomes compromised in the future, then all
encrypted JWEs will become compromised. Due to the short-lived encrypted JWEs will become compromised. Due to the short-lived
nature of delegated credentials, the impact is limited. nature of delegated credentials, the impact is limited.
It is also important to ensure that an attacker is not able to It is also important to ensure that an attacker is not able to
systematically retrieve a consecutive or consistent set of delegated systematically retrieve a consecutive or consistent set of delegated
credentials and associated private keys. Such an attack would allow credentials and associated private keys. Such an attack would allow
the attacker to systematically impersonate dCDN nodes. The MI the attacker to systematically impersonate dCDN nodes. The MI
objects defined in the present document are transferred via the objects defined in the present document are transferred via the
interfaces defined in CDNI [RFC8006]. [RFC8006] describes how to interfaces defined in CDNI [RFC8006]. [RFC8006] describes how to
secure these interfaces, protecting the integrity, confidentiality secure these interfaces, protecting the integrity and
and ensuring the authenticity of the dCDN and uCDN, which should confidentiality, as well as ensuring the authenticity of the dCDN and
prevent an attacker to systematically retrieve delegated credential uCDN, which should prevent an attacker from systematically retrieving
and associated private keys. delegated credentials and associated private keys.
8. Privacy Considerations 8. Privacy Considerations
The information, FCI, and MI objects defined in the present document The FCI and MI objects and the information defined in the present
do not contain any personally identifiable information (PII). As document do not contain any personally identifiable information
such this document does not change or alter the Confidentiality and (PII). As such, this document does not change or alter the
Privacy Consideration outlined in the CDNI Metadata and Footprint and confidentiality and privacy considerations outlined in Section 8.2 of
Capabilities RFCs [RFC8006]. [RFC8006] and Section 7 of [RFC8008].
A single or systematic retrieval of delegated credentials and A single or systematic retrieval of delegated credentials and
associated private keys would allow the attacker to decrypt any data associated private keys would allow the attacker to decrypt any data
sent by the end user intended for the end service, which may include sent by the end user intended for the end service, which may include
PII. PII.
9. References 9. References
9.1. Normative References 9.1. Normative References
skipping to change at page 12, line 28 skipping to change at line 507
Network Interconnection (CDNI) Requirements", RFC 7337, Network Interconnection (CDNI) Requirements", RFC 7337,
DOI 10.17487/RFC7337, August 2014, DOI 10.17487/RFC7337, August 2014,
<https://www.rfc-editor.org/info/rfc7337>. <https://www.rfc-editor.org/info/rfc7337>.
[RFC7736] Ma, K., "Content Delivery Network Interconnection (CDNI) [RFC7736] Ma, K., "Content Delivery Network Interconnection (CDNI)
Media Type Registration", RFC 7736, DOI 10.17487/RFC7736, Media Type Registration", RFC 7736, DOI 10.17487/RFC7736,
December 2015, <https://www.rfc-editor.org/info/rfc7736>. December 2015, <https://www.rfc-editor.org/info/rfc7736>.
Authors' Addresses Authors' Addresses
Frederic Fieau Frédéric Fieau
Orange Orange
40-48, avenue de la Republique 40-48, avenue de la République
92320 Chatillon 92320 Châtillon
France France
Email: frederic.fieau@orange.com Email: frederic.fieau@orange.com
Emile Stephan Emile Stephan
Orange Orange
2, avenue Pierre Marzin 2, avenue Pierre Marzin
22300 Lannion 22300 Lannion
France France
Email: emile.stephan@orange.com Email: emile.stephan@orange.com
 End of changes. 60 change blocks. 
195 lines changed or deleted 177 lines changed or added

This html diff was produced by rfcdiff 1.48.