rfc9733v1.txt   rfc9733.txt 
Internet Engineering Task Force (IETF) D. von Oheimb, Ed. Internet Engineering Task Force (IETF) D. von Oheimb, Ed.
Request for Comments: 9733 S. Fries Request for Comments: 9733 S. Fries
Category: Standards Track H. Brockhaus Category: Standards Track H. Brockhaus
ISSN: 2070-1721 Siemens ISSN: 2070-1721 Siemens
February 2025 February 2025
BRSKI-AE: Bootstrapping Remote Secure Key Infrastructure with BRSKI with Alternative Enrollment (BRSKI-AE)
Alternative Enrollment
Abstract Abstract
This document defines enhancements to the Bootstrapping Remote Secure This document defines enhancements to the Bootstrapping Remote Secure
Key Infrastructure (BRSKI) protocol, known as BRSKI with Alternative Key Infrastructure (BRSKI) protocol, known as BRSKI with Alternative
Enrollment (BRSKI-AE). BRSKI-AE extends BRSKI to support certificate Enrollment (BRSKI-AE). BRSKI-AE extends BRSKI to support certificate
enrollment mechanisms instead of the originally specified use of enrollment mechanisms instead of the originally specified use of
Enrollment over Secure Transport (EST). It supports certificate Enrollment over Secure Transport (EST). It supports certificate
enrollment protocols such as the Certificate Management Protocol enrollment protocols such as the Certificate Management Protocol
(CMP) that use authenticated self-contained signed objects for (CMP) that use authenticated self-contained signed objects for
skipping to change at line 119 skipping to change at line 118
enrollment. Consequently, this provides architectural flexibility in enrollment. Consequently, this provides architectural flexibility in
determining the location and timing for the ultimate authentication determining the location and timing for the ultimate authentication
and authorization of certification requests while ensuring that the and authorization of certification requests while ensuring that the
integrity and authenticity of the enrollment messages are maintained integrity and authenticity of the enrollment messages are maintained
with full cryptographic strength. with full cryptographic strength.
This specification carries over the main characteristics of BRSKI, This specification carries over the main characteristics of BRSKI,
namely: namely:
* The pledge is assumed to have received its Initial Device * The pledge is assumed to have received its Initial Device
Identifier (IDevID) [IEEE_802.1AR-2018] credentials during its IDentifier (IDevID) [IEEE_802.1AR-2018] credentials during its
manufacturing. It uses them to authenticate itself to the manufacturing. It uses them to authenticate itself to the
Manufacturer Authorized Signing Authority (MASA) [RFC8995] and the Manufacturer Authorized Signing Authority (MASA) [RFC8995], to the
registrar (which is the access point of the target domain) and to registrar (which is the access point of the target domain), and to
possibly further components of the domain where it will be possibly further components of the domain where it will be
operated. operated.
* The pledge first obtains via the voucher exchange [RFC8366] a * The pledge first obtains via the voucher [RFC8366] exchange a
trust anchor for authenticating entities in the domain such as the trust anchor for authenticating entities in the domain such as the
domain registrar. domain registrar.
* The pledge then obtains its Local Device Identifier (LDevID) * The pledge then obtains its Locally Significant Device IDentifier
[IEEE_802.1AR-2018]. To this end, the pledge generates a private (LDevID) [IEEE_802.1AR-2018]. To this end, the pledge generates a
key, called an "LDevID secret". Then, it requests via the domain private key, called an "LDevID secret". Then, it requests via the
registrar from the PKI of its new domain a domain-specific device domain registrar from the PKI of its new domain a domain-specific
certificate, called an "LDevID certificate". On success, it device certificate, called an "LDevID certificate". On success,
receives the LDevID certificate along with its certificate chain. it receives the LDevID certificate along with its certificate
chain.
The objectives of BRSKI-AE are to enhance BRSKI by enabling LDevID The objectives of BRSKI-AE are to enhance BRSKI by enabling LDevID
certificate enrollment through the use of an alternative protocol to certificate enrollment through the use of an alternative protocol to
EST that: EST that:
* supports end-to-end authentication over multiple transport hops * supports end-to-end authentication over multiple transport hops
and and
* facilitates secure message exchanges over any type of transfer * facilitates secure message exchanges over any type of transfer
mechanism, including asynchronous delivery. mechanism, including asynchronous delivery.
skipping to change at line 160 skipping to change at line 160
The existing well-known URI structure used for BRSKI and EST messages The existing well-known URI structure used for BRSKI and EST messages
is extended by introducing an additional path element that specifies is extended by introducing an additional path element that specifies
the enrollment protocol being employed. the enrollment protocol being employed.
This specification allows the registrar to offer multiple enrollment This specification allows the registrar to offer multiple enrollment
protocols, enabling pledges and their developers to select the most protocols, enabling pledges and their developers to select the most
appropriate one based on the defined overall approach and specific appropriate one based on the defined overall approach and specific
endpoints. endpoints.
It may be important to note that BRSKI [RFC8995] specifies the use of It may be important to note that [RFC8995] specifies the use of HTTP
HTTP over TLS, but variations such as Constrained BRSKI [cBRSKI], over TLS, but variations such as Constrained BRSKI [cBRSKI], which
which uses the Constrained Application Protocol (CoAP) over DTLS, are uses the Constrained Application Protocol (CoAP) over DTLS, are
possible as well. In this context, "HTTP" and "TLS" are used as possible as well. In this context, "HTTP" and "TLS" are used as
references to the most common implementation, though variants using references to the most common implementation, though variants using
CoAP and/or DTLS are implied where applicable, as the distinctions CoAP and/or DTLS are implied where applicable, as the distinctions
are not pertinent here. are not pertinent here.
This specification, together with its referenced documents, is This specification, together with its referenced documents, is
sufficient to support BRSKI with the Certificate Management Protocol sufficient to support BRSKI with the Certificate Management Protocol
(CMP) [RFC9480] as profiled in the Lightweight CMP Profile (LCMPP) (CMP) [RFC9480] as profiled in the Lightweight CMP Profile (LCMPP)
[RFC9483]. Integrating BRSKI with an enrollment protocol or profile [RFC9483]. Integrating BRSKI with an enrollment protocol or profile
other than LCMPP will necessitate additional IANA registrations, as other than the LCMPP will necessitate additional IANA registrations,
detailed in this document. Furthermore, additional specifications as detailed in this document. Furthermore, additional specifications
may be required for the details of the protocol or profile, which may be required for the details of the protocol or profile, which
fall outside the scope of this document. fall outside the scope of this document.
1.1. Supported Scenarios 1.1. Supported Scenarios
BRSKI-AE is designed for use in scenarios such as the following: BRSKI-AE is designed for use in scenarios such as the following:
* When pledges and/or the target domain leverage an existing * When pledges and/or the target domain leverage an existing
certificate enrollment protocol other than EST, such as CMP. certificate enrollment protocol other than EST, such as CMP.
skipping to change at line 242 skipping to change at line 242
capitals, as shown here. capitals, as shown here.
This document relies on the terminology defined in [RFC8995], This document relies on the terminology defined in [RFC8995],
[RFC5280], and [IEEE_802.1AR-2018], which is partly repeated here. [RFC5280], and [IEEE_802.1AR-2018], which is partly repeated here.
Several further terms are also described here. Several further terms are also described here.
To be independent of the terminology of a specific enrollment To be independent of the terminology of a specific enrollment
protocol, this document utilizes generic terminology regarding PKI protocol, this document utilizes generic terminology regarding PKI
management operations. management operations.
The following terminology is used in this document:
asynchronous: the time-wise interrupted delivery of messages, here, asynchronous: the time-wise interrupted delivery of messages, here,
between a pledge and some backend system (e.g., an RA). between a pledge and some backend system (e.g., an RA).
attribute request: a message requesting content to be included in attribute request: a message requesting content to be included in
the certification request. the certification request.
attribute response: a message providing the answer to the attribute attribute response: a message providing the answer to the attribute
request. request.
authenticated self-contained object: a data structure that is authenticated self-contained object: a data structure that is
cryptographically bound to the identity of its originator by an cryptographically bound to the identity of its originator by an
attached digital signature on the actual object, using a private attached digital signature on the actual object, using a private
key of the originator such as the IDevID secret. key of the originator such as the IDevID secret.
backend: the placement of a domain component separately from the backend: the placement of a domain component separately from the
domain registrar; it may be on-site or off-site. domain registrar; it may be on-site or off-site.
BRSKI: Bootstrapping Remote Secure Key Infrastructure [RFC8995]
BRSKI-AE: BRSKI with Alternative Enrollment. Refers to a variation
of BRSKI [RFC8995] in which BRSKI-EST, the enrollment protocol
between the pledge and the registrar, is replaced by enrollment
protocols that support end-to-end authentication of the pledge to
the RA, such as Lightweight CMP (see LCMPP).
CA: Certification Authority
CA certs request: a message requesting CA certificates. CA certs request: a message requesting CA certificates.
CA certs response: a message providing the answer to a CA certs CA certs response: a message providing the answer to a CA certs
request. request.
certificate confirm: a message stating to the backend PKI that the certificate confirm: a message stating to the backend PKI that the
requester of a certificate received the new certificate and requester of a certificate received the new certificate and
accepted it. accepted it.
certification request: a message requesting a certificate with proof certification request: a message requesting a certificate with proof
of identity. of identity.
certification response: a message providing the answer to a certification response: a message providing the answer to a
certification request. certification request.
CMP: Certificate Management Protocol [RFC4210] [RFC9480] local RA: the same as LRA.
CSR: Certificate Signing Request
EST: Enrollment over Secure Transport [RFC7030]
IDevID: Initial Device Identifier (of a pledge, provided by the
manufacturer and comprising of a private key and the related X.509
certificate with its chain).
LCMPP: Lightweight CMP Profile [RFC9483]
LDevID: Local Device Identifier (of a pledge, provided by its target
domain and comprising of a private key and the related X.509
certificate with its chain).
LRA: Local Registration Authority. A subordinate RA that is close
to entities being enrolled and separate from a subsequent RA. In
BRSKI-AE, it is needed if a backend RA is used; in this case, the
LRA is co-located with the registrar.
MASA: Manufacturer Authorized Signing Authority. Provides vouchers.
off-site: the locality of a component, service, or functionality off-site: the locality of a component, service, or functionality
(such as RA or CA) that is not at the site of the registrar. This (such as RA or CA) that is not at the site of the registrar. This
may be a central site or a cloud service, to which connection may may be a central site or a cloud service, to which connection may
be intermittent. be intermittent.
on-site: the locality of a component, service, or functionality at on-site: the locality of a component, service, or functionality at
the site of the registrar. the site of the registrar.
PKI/registrar confirm: an acknowledgment of the PKI on the PKI/registrar confirm: an acknowledgment of the PKI on the
certificate confirm. certificate confirm.
pledge: a device that is to be bootstrapped into a target domain. pledge: a device that is to be bootstrapped into a target domain.
It requests an LDevID using IDevID credentials installed by its It requests an LDevID using IDevID credentials installed by its
manufacturer. manufacturer.
RA: Registration Authority. The PKI component to which a CA
typically delegates certificate management functions such as
authenticating pledges and performing authorization checks on
certification requests.
registrar: short for domain registrar. registrar: short for domain registrar.
site: the locality where an entity such as a pledge, registrar, or site: the locality where an entity such as a pledge, registrar, or
PKI component is deployed. The target domain may have multiple PKI component is deployed. The target domain may have multiple
sites. sites.
synchronous: the time-wise uninterrupted delivery of messages, here, synchronous: the time-wise uninterrupted delivery of messages, here,
between a pledge and a registrar or backend system (e.g., the between a pledge and a registrar or backend system (e.g., the
MASA). MASA).
target domain: the domain that a pledge is going to be bootstrapped target domain: the domain that a pledge is going to be bootstrapped
into. into.
The following abbreviations are used in this document:
BRSKI: Bootstrapping Remote Secure Key Infrastructure [RFC8995]
BRSKI-AE: BRSKI with Alternative Enrollment. Refers to a variation
of BRSKI [RFC8995] in which BRSKI-EST, the enrollment protocol
between the pledge and the registrar, is replaced by enrollment
protocols that support end-to-end authentication of the pledge to
the RA, such as CMP.
CA: Certification Authority
CMC: Certificate Management over CMS
CMP: Certificate Management Protocol [RFC4210] [RFC9480]
CMS: Cryptographic Message Syntax
CRMF: Certificate Request Message Format
CSR: Certificate Signing Request
EST: Enrollment over Secure Transport [RFC7030]
IDevID: Initial Device IDentifier (of a pledge, provided by the
manufacturer and comprising of a private key and the related X.509
certificate with its chain).
LCMPP: Lightweight CMP Profile [RFC9483]
LDevID: Locally Significant Device IDentifier (of a pledge, provided
by its target domain and comprising of a private key and the
related X.509 certificate with its chain).
LRA: Local Registration Authority. A subordinate RA that is close
to entities being enrolled and separate from a subsequent RA. In
BRSKI-AE, it is needed if a backend RA is used; in this case, the
LRA is co-located with the registrar.
MASA: Manufacturer Authorized Signing Authority. Provides vouchers.
RA: Registration Authority. The PKI component to which a CA
typically delegates certificate management functions such as
authenticating pledges and performing authorization checks on
certification requests.
SCEP: Simple Certificate Enrolment Protocol
3. Basic Requirements and Mapping to Solutions 3. Basic Requirements and Mapping to Solutions
Based on the intended target scenarios described in Section 1.1 and Based on the intended target scenarios described in Section 1.1 and
the application examples described in Appendix A, the following the application examples described in Appendix A, the following
requirements are derived to support authenticated self-contained requirements are derived to support authenticated self-contained
objects as containers carrying certification requests. objects as containers carrying certification requests.
The following properties are required for a certification request: The following properties are required for a certification request:
* Proof of possession: demonstrates access to the private key * Proof of possession: demonstrates access to the private key
skipping to change at line 395 skipping to change at line 409
It should be noted that the integrity protection of CSRs includes the It should be noted that the integrity protection of CSRs includes the
public key because it is part of the data signed by the corresponding public key because it is part of the data signed by the corresponding
private key. Yet, this signature does not provide data origin private key. Yet, this signature does not provide data origin
authentication, (i.e., proof of identity of the requester) because authentication, (i.e., proof of identity of the requester) because
the key pair involved is new and therefore does not yet have a the key pair involved is new and therefore does not yet have a
confirmed identity associated with it. confirmed identity associated with it.
3.2. Solution Options for Proof of Identity 3.2. Solution Options for Proof of Identity
Binding a Certificate Signing Request (CSR) to an existing Binding a Certificate Signing Request (CSR) to an existing
authenticated credential (the BRSKI context, the IDevID certificate) authenticated credential (which in the BRSKI context is the IDevID
enables proof of origin, which in turn supports an authorization certificate) enables proof of origin, which in turn supports an
decision on the CSR. authorization decision on the CSR.
The binding of data origin authentication to the CSR is typically The binding of data origin authentication to the CSR is typically
delegated to the protocol used for certificate management. This delegated to the protocol used for certificate management. This
binding may be achieved through security options in an underlying binding may be achieved through security options in an underlying
transport protocol such as TLS if the authorization of the transport protocol such as TLS if the authorization of the
certification request is (sufficiently) done at the next certification request is (sufficiently) done at the next
communication hop. Depending on the key type, the binding can also communication hop. Depending on the key type, the binding can also
be done in a stronger, transport-independent way by wrapping the CSR be done in a stronger, transport-independent way by wrapping the CSR
with a signature. with a signature.
This requirement is addressed by existing enrollment protocols in This requirement is addressed by existing enrollment protocols in
various ways, such as: various ways, such as:
* EST [RFC7030] and its variant EST-coaps [RFC9148] utilize PKCS #10 * EST [RFC7030] and its variant EST-coaps [RFC9148] utilize PKCS #10
to encode CSRs. While such a CSR has not been designed to include to encode CSRs. While such a CSR has not been designed to include
proof of origin, there is a limited, indirect way of binding it to proof of origin, there is a limited, indirect way of binding it to
the source authentication of the underlying TLS session. This is the source authentication of the underlying TLS session. This is
achieved by including in the CSR the tls-unique value [RFC5929] achieved by including in the CSR the "tls-unique" value [RFC5929]
resulting from the TLS handshake. As this is optionally supported resulting from the TLS handshake. As this is optionally supported
by the EST "/simpleenroll" endpoint used in BRSKI, and the TLS by the EST "/simpleenroll" endpoint used in BRSKI, and the TLS
handshake employed in BRSKI includes certificate-based client handshake employed in BRSKI includes certificate-based client
authentication of the pledge with its IDevID credentials, the authentication of the pledge with its IDevID credentials, the
proof of pledge identity being an authenticated TLS client can be proof of pledge identity being an authenticated TLS client can be
bound to the CSR. bound to the CSR.
Yet, this binding is only valid in the context of the TLS session Yet, this binding is only valid in the context of the TLS session
established with the registrar acting as the EST server and established with the registrar acting as the EST server and
typically also as an RA. So even such a cryptographic binding of typically also as an RA. So even such a cryptographic binding of
the authenticated pledge identity to the CSR is not visible nor the authenticated pledge identity to the CSR is not visible nor
verifiable to authorization points outside the registrar, such as verifiable to authorization points outside the registrar, such as
a (second) RA in the backend. What the registrar needs to do is a (second) RA in the backend. What the registrar needs to do is
authenticate and pre-authorize the pledge and indicate this to the authenticate and pre-authorize the pledge and indicate this to the
(second) RA. This is done by signing the forwarded certification (second) RA. This is done by signing the forwarded certification
request with its private key and a related certificate that has request with its private key and a related certificate that has
the id-kp-cmcRA extended key usage attribute. the id-kp-cmcRA extended key usage attribute.
[RFC7030], Section 2.5 sketches wrapping PKCS #10-formatted CSRs [RFC7030], Section 2.5 sketches wrapping CSRs formatted per PKCS
with a Full PKI Request message sent to the "/fullcmc" endpoint. #10 with a Full PKI Request message sent to the "/fullcmc"
This would allow for source authentication at the message level, endpoint. This would allow for source authentication at the
such that the registrar could forward it to external RAs in a message level, such that the registrar could forward it to
meaningful way. This approach is so far not sufficiently external RAs in a meaningful way. This approach is so far not
described and likely has not been implemented. sufficiently described and likely has not been implemented.
* The Simple Certificate Enrolment Protocol (SCEP) [RFC8894] * The Simple Certificate Enrolment Protocol (SCEP) [RFC8894]
supports using a shared secret (passphrase) or an existing supports using a shared secret (passphrase) or an existing
certificate to protect CSRs based on SCEP Secure Message Objects certificate to protect CSRs based on SCEP Secure Message Objects
using Cryptographic Message Syntax (CMS) wrapping [RFC5652]. Note using Cryptographic Message Syntax (CMS) wrapping [RFC5652]. Note
that the wrapping using an existing IDevID in SCEP is referred to that the wrapping using an existing IDevID in SCEP is referred to
as "renewal". This way, SCEP does not rely on the security of the as "renewal". This way, SCEP does not rely on the security of the
underlying message transfer. underlying message transfer.
* CMP [RFC4210] [RFC9480] supports using a shared secret * CMP [RFC4210] [RFC9480] supports using a shared secret
skipping to change at line 461 skipping to change at line 475
credential, to authenticate certification requests via the credential, to authenticate certification requests via the
PKIProtection structure in a PKIMessage. The certification PKIProtection structure in a PKIMessage. The certification
request is typically encoded utilizing CRMF, while PKCS #10 is request is typically encoded utilizing CRMF, while PKCS #10 is
supported as an alternative. Thus, CMP does not rely on the supported as an alternative. Thus, CMP does not rely on the
security of the underlying message transfer. security of the underlying message transfer.
* Certificate Management over CMS (CMC) [RFC5272] also supports * Certificate Management over CMS (CMC) [RFC5272] also supports
utilizing a shared secret (passphrase) or an existing certificate utilizing a shared secret (passphrase) or an existing certificate
to protect certification requests, which can be either in a CRMF to protect certification requests, which can be either in a CRMF
or PKCS #10 structure. The proof of identity can be provided as or PKCS #10 structure. The proof of identity can be provided as
part of a FullCMCRequest based on CMS [RFC5652] and signed with an part of a Full CMC Request based on CMS [RFC5652] and signed with
existing IDevID secret. Thus, CMC does not rely on the security an existing IDevID secret. Thus, CMC does not rely on the
of the underlying message transfer. security of the underlying message transfer.
To sum up, EST does not meet the requirements for authenticated self- To sum up, EST does not meet the requirements for authenticated self-
contained objects, but SCEP, CMP, and CMC do. This document contained objects, but SCEP, CMP, and CMC do. This document
primarily focuses on CMP as it has more industry adoption than CMC primarily focuses on CMP as it has more industry adoption than CMC
and SCEP has issues not detailed here. and SCEP has issues not detailed here.
4. Adaptations to BRSKI 4. Adaptations to BRSKI
To enable using alternative certificate enrollment protocols To enable using alternative certificate enrollment protocols
supporting end-to-end authentication, asynchronous enrollment, and supporting end-to-end authentication, asynchronous enrollment, and
skipping to change at line 532 skipping to change at line 546
| IDevID | . +-------+ +--------------+ . | IDevID | . +-------+ +--------------+ .
| | BRSKI-AE over TLS ^ . | | BRSKI-AE over TLS ^ .
+--------+ using, e.g., LCMPP | . +--------+ using, e.g., LCMPP | .
. | . . | .
...............................|......... ...............................|.........
on-site (local) domain components | on-site (local) domain components |
| |
| e.g., LCMPP | e.g., LCMPP
| |
.............................................|............... .............................................|...............
. Public-Key Infrastructure v . . Public-Key Infrastructure (PKI) v .
. +---------+ +---------------------------------------+ . . +---------+ +---------------------------------------+ .
. | |<----+ Registration Authority RA | . . | |<----+ Registration Authority RA | .
. | CA +---->| (unless part of Domain Registrar) | . . | CA +---->| (unless part of Domain Registrar) | .
. +---------+ +---------------------------------------+ . . +---------+ +---------------------------------------+ .
............................................................. .............................................................
backend (central or off-site) domain components backend (central or off-site) domain components
Figure 1: Architecture Overview Using Backend PKI Components Figure 1: Architecture Overview Using Backend PKI Components
The architecture overview in Figure 1 has the same logical elements The architecture overview in Figure 1 has the same logical elements
as BRSKI but with a more flexible placement of the authentication and as BRSKI but with a more flexible placement of the authentication and
authorization checks on certification requests. Depending on the authorization checks on certification requests. Depending on the
application scenario, the registrar MAY still do all of these checks application scenario, the registrar MAY still do all of these checks
(as is the case in BRSKI) or only do part of them. (as is the case in BRSKI) or only do part of them.
The following list describes the on-site components in the target The following list describes the on-site components in the target
domain of the pledge shown in Figure 1. domain of the pledge shown in Figure 1.
* Join Proxy: This has the same requirements as in BRSKI (see * Join Proxy: This has the same requirements as in [RFC8995] (see
[RFC8995], Section 4). [RFC8995], Section 4).
* Domain Registrar (including LRA or RA functionality): In BRSKI-AE, * Domain Registrar (including LRA or RA functionality): In BRSKI-AE,
the domain registrar has mostly the same functionality as in the domain registrar has mostly the same functionality as in
BRSKI, namely to act as the gatekeeper of the domain for BRSKI, namely to act as the gatekeeper of the domain for
onboarding new devices and to facilitate the communication of onboarding new devices and to facilitate the communication of
pledges with their MASA and the domain PKI. Yet, there are some pledges with their MASA and the domain PKI. Yet, there are some
generalizations and specific requirements: generalizations and specific requirements:
1. The registrar MUST support at least one certificate enrollment 1. The registrar MUST support at least one certificate enrollment
skipping to change at line 604 skipping to change at line 618
is unprotected and involves further transport hops. See is unprotected and involves further transport hops. See
Section 7 for details on how this can be achieved. Section 7 for details on how this can be achieved.
Despite the above generalizations of the enrollment phase, the final Despite the above generalizations of the enrollment phase, the final
step of BRSKI, namely the enrollment status telemetry, is kept as it step of BRSKI, namely the enrollment status telemetry, is kept as it
is. is.
The following list describes the components provided by the vendor or The following list describes the components provided by the vendor or
manufacturer outside the target domain. manufacturer outside the target domain.
* MASA: This has the functionality as described in BRSKI [RFC8995]. * MASA: This has the functionality as described in [RFC8995]. The
The voucher exchange with the MASA via the domain registrar is voucher exchange with the MASA via the domain registrar is
performed as described in BRSKI. performed as described in [RFC8995].
Note: From the definition of the interaction with the MASA in | Note: The definition of the interaction with the MASA in
[RFC8995], Section 5 follows that it may be synchronous (using | Section 5 of [RFC8995] implies that it may be synchronous
voucher requests with nonces) or asynchronous (using nonceless | (using voucher requests with nonces) or asynchronous (using
voucher requests). | nonceless voucher requests).
* Ownership Tracker: This is as defined in BRSKI. * Ownership Tracker: This is as defined in [RFC8995].
The following list describes backend target domain components, which The following list describes backend target domain components, which
may be located on-site or off-site in the target domain. may be located on-site or off-site in the target domain.
* RA: This performs centralized certificate management functions as * RA: This performs centralized certificate management functions as
a public-key infrastructure for the domain operator. As far as a PKI for the domain operator. In case these functions are not
not already done by the domain registrar, it performs the final entirely performed by the domain registrar, it performs the final
validation and authorization of certification requests. validation and authorization of certification requests.
Otherwise, the RA co-located with the domain registrar directly Otherwise, the RA co-located with the domain registrar directly
connects to the CA. connects to the CA.
* CA (also called "domain CA"): This generates domain-specific * CA (also called "domain CA"): This generates domain-specific
certificates according to certification requests that have been certificates according to certification requests that have been
authenticated and authorized by the registrar and/or an extra RA. authenticated and authorized by the registrar and/or an extra RA.
Based on the diagram in BRSKI [RFC8995], Section 2.1 and the Based on the diagram in [RFC8995], Section 2.1 and the architectural
architectural changes, the original protocol flow is divided into changes, the original protocol flow is divided into several phases
several phases showing commonalities and differences with the showing commonalities and differences with the original approach as
original approach as follows. follows.
* Discovery phase: This is mostly as in step (1) of [RFC8995]. For * Discover: This is mostly as in step (1) of [RFC8995]. For
details, see Section 4.2.1. details, see Section 4.2.1.
* Identification phase: This is the same as in step (2) of * Identify: This is the same as in step (2) of [RFC8995].
[RFC8995].
* Voucher exchange phase: This is the same as in steps (3) and (4) * Voucher exchange: This is the same as in steps (3) and (4) of
of [RFC8995]. [RFC8995].
* Voucher status telemetry: This is the same as directly after step * Voucher status telemetry: This is the same as directly after step
(4) in [RFC8995]. (4) in [RFC8995].
* Certificate enrollment phase: The use of EST in step (5) is * Certificate enrollment phase: The use of EST in step (5) is
changed to employing a certificate enrollment protocol that uses changed to employing a certificate enrollment protocol that uses
an authenticated self-contained object for requesting the LDevID an authenticated self-contained object for requesting the LDevID
certificate. certificate.
For transporting the certificate enrollment request and response It is REQUIRED to use the (D)TLS channel established between the
messages, the (D)TLS channel established between pledge and pledge and registrar to transport the certificate enrollment
registrar is REQUIRED to use. To this end, the enrollment request and response messages. To this end, the enrollment
protocol, the pledge, and the registrar need to support the use of protocol, the pledge, and the registrar need to support the use of
this existing channel for certificate enrollment. Due to this this existing channel for certificate enrollment. Due to this
architecture, the pledge does not need to establish additional architecture, the pledge does not need to establish additional
connections for certificate enrollment and the registrar retains connections for certificate enrollment and the registrar retains
full control over the certificate enrollment traffic. full control over the certificate enrollment traffic.
* Enrollment status telemetry: This is the final exchange of step * Enrollment status telemetry: This is the final exchange of step
(5) of [RFC8995]. (5) of [RFC8995].
4.2. Message Exchange 4.2. Message Exchange
The behavior of a pledge described in BRSKI [RFC8995], Section 2.1 is The behavior of a pledge described in [RFC8995], Section 2.1 is kept,
kept, with one major exception. After finishing the Imprint step with one major exception. After finishing the Imprint step (4), the
(4), the Enroll step (5) MUST be performed with an enrollment Enroll step (5) MUST be performed with an enrollment protocol
protocol utilizing authenticated self-contained objects, as explained utilizing authenticated self-contained objects, as explained in
in Section 3. Section 5 discusses selected suitable enrollment Section 3. Section 5 discusses selected suitable enrollment
protocols and options applicable. protocols and applicable options.
An abstract overview of the BRSKI-AE protocol can be found at An abstract overview of the BRSKI-AE protocol can be found in the
[BRSKI-AE-OVERVIEW]. graphics on slide 4 of [BRSKI-AE-overview].
4.2.1. Pledge - Registrar Discovery 4.2.1. Pledge - Registrar Discovery
Discovery as specified in BRSKI [RFC8995], Section 4 does not support Discovery as specified in [RFC8995], Section 4 does not support the
the discovery of registrars with enhanced feature sets. A pledge discovery of registrars with enhanced feature sets. A pledge cannot
cannot find out in this way whether discovered registrars support the find out in this way whether discovered registrars support the
certificate enrollment protocol it expects, such as CMP. certificate enrollment protocol it expects, such as CMP.
As a more general solution, the BRSKI discovery mechanism can be As a more general solution, the BRSKI discovery mechanism can be
extended to provide up-front information on the capabilities of extended to provide up-front information on the capabilities of
registrars. For further discussion, see [BRSKI-DISCOVERY]. registrars. For further discussion, see [BRSKI-discovery].
In the absence of such a generally applicable solution, BRSKI-AE In the absence of such a generally applicable solution, BRSKI-AE
deployments may use their particular way of doing discovery. deployments may use their particular way of doing discovery.
Section 5.1 defines a minimalist approach that MAY be used for CMP. Section 5.1 defines a minimalist approach that MAY be used for CMP.
4.2.2. Pledge - Registrar - MASA Voucher Exchange 4.2.2. Pledge - Registrar - MASA Voucher Exchange
The voucher exchange is performed as specified in [RFC8995]. The voucher exchange is performed as specified in [RFC8995].
4.2.3. Pledge - Registrar - MASA Voucher Status Telemetry 4.2.3. Pledge - Registrar - MASA Voucher Status Telemetry
The voucher status telemetry is performed as specified in [RFC8995], The voucher status telemetry is performed as specified in [RFC8995],
Section 5.7. Section 5.7.
4.2.4. Pledge - Registrar - RA/CA Certificate Enrollment 4.2.4. Pledge - Registrar - RA/CA Certificate Enrollment
This replaces the EST integration for PKI bootstrapping described in The specification in this section replaces the EST integration for
[RFC8995], Section 5.9 (while [RFC8995], Section 5.9.4 remains as the PKI bootstrapping described in [RFC8995], Section 5.9 (while
final phase; see below). [RFC8995], Section 5.9.4 remains as the final phase; see below).
The certificate enrollment phase may involve the transmission of The certificate enrollment phase may involve the transmission of
several messages. Details can depend on the application scenario, several messages. Details can depend on the application scenario,
the employed enrollment protocol, and other factors. the employed enrollment protocol, and other factors.
The only message exchange REQUIRED is for the actual certification The only message exchange REQUIRED is for the actual certification
request and response. Further message exchanges MAY be performed as request and response. Further message exchanges MAY be performed as
needed. needed.
Note: The message exchanges marked OPTIONAL in Figure 2 below cover | Note: The message exchanges marked OPTIONAL in Figure 2 below
all those supported by the use of EST in BRSKI. The last OPTIONAL | cover all those supported by the use of EST in BRSKI. The last
one, namely certificate confirmation, is not supported by EST but by | OPTIONAL one, namely certificate confirmation, is not supported
CMP and other enrollment protocols. | by EST but by CMP and other enrollment protocols.
+------+ +---------+ +--------+ +------+ +---------+ +--------+
|Pledge| |Domain | |Operator| |Pledge| |Domain | |Operator|
| | |Registrar| |RA/CA | | | |Registrar| |RA/CA |
| | |(JRC) | |(PKI) | | | |(JRC) | |(PKI) |
+------+ +---------+ +--------+ +------+ +---------+ +--------+
| | | | | |
|[OPTIONAL request of CA certificates]| | |[OPTIONAL request of CA certificates]| |
|------- CA Certs Request (1) ------->| | |------- CA Certs Request (1) ------->| |
| | [OPTIONAL forwarding] | | | [OPTIONAL forwarding] |
skipping to change at line 760 skipping to change at line 773
| |<-- PKI Confirm -----------| | |<-- PKI Confirm -----------|
|<------ PKI/Registrar Confirm (8) ---| | |<------ PKI/Registrar Confirm (8) ---| |
Figure 2: Certificate Enrollment Message Flow Figure 2: Certificate Enrollment Message Flow
It may be noted that connections between the registrar and the PKI It may be noted that connections between the registrar and the PKI
components of the operator (RA, CA, etc.) may be intermittent or components of the operator (RA, CA, etc.) may be intermittent or
offline. Messages should be sent as soon as sufficient transfer offline. Messages should be sent as soon as sufficient transfer
capacity is available. capacity is available.
The label [OPTIONAL forwarding] in Figure 2 means that on receiving a The label '[OPTIONAL forwarding]' in Figure 2 means that on receiving
request message of the given type from a pledge, the registrar MAY a request message of the given type from a pledge, the registrar MAY
answer the request directly. In this case, it MUST authenticate its answer the request directly. In this case, it MUST authenticate its
responses with the same credentials as used for authenticating itself responses with the same credentials as used for authenticating itself
at the TLS level for the voucher exchange. Otherwise, the registrar at the TLS level for the voucher exchange. Otherwise, the registrar
MUST forward the request to the RA and forward any resulting response MUST forward the request to the RA and forward any resulting response
back to the pledge. back to the pledge.
The decision of whether to forward a request or to answer it directly The decision of whether to forward a request or to answer it directly
can depend on various static and dynamic factors. They include the can depend on various static and dynamic factors. They include the
application scenario, the capabilities of the registrar and of the application scenario, the capabilities of the registrar, the
local RA possibly co-located with the registrar, the enrollment capabilities of the local RA possibly co-located with the registrar,
protocol being used, and the specific contents of the request. the enrollment protocol being used, and the specific contents of the
request.
Note that there are several options for how the registrar could be Note that there are several options for how the registrar could be
able to directly answer requests for CA certificates or for able to directly answer requests for CA certificates or for
certification request attributes. It could cache responses obtained certification request attributes. It could cache responses obtained
from the domain PKI and later use their contents for responding to from the domain PKI and later use their contents for responding to
requests asking for the same data. The contents could also be requests asking for the same data. The contents could also be
explicitly provisioned at the registrar. explicitly provisioned at the registrar.
Further note that certification requests typically need to be handled Further note that certification requests typically need to be handled
by the backend PKI, but the registrar can answer them directly with by the backend PKI, but the registrar can answer them directly with
skipping to change at line 814 skipping to change at line 828
occurs without local administrative configuration of the pledge. occurs without local administrative configuration of the pledge.
Nevertheless, there are cases in which the pledge may also include Nevertheless, there are cases in which the pledge may also include
additional attributes that are specific to the target domain in additional attributes that are specific to the target domain in
the Certification Request (5). To get these attributes in the Certification Request (5). To get these attributes in
advance, the attribute request may be used. advance, the attribute request may be used.
* Attribute Response (4): This MUST contain the attributes requested * Attribute Response (4): This MUST contain the attributes requested
in (3) to be included in the subsequent Certification Request (5). in (3) to be included in the subsequent Certification Request (5).
For example, [RFC8994], Section 6.11.7.2 specifies how the For example, [RFC8994], Section 6.11.7.2 specifies how the
attribute request is used to signal to the pledge the acp-node- attribute request is used to signal to the pledge the 'acp-node-
name field required for enrollment into an Autonomic Control Plane name' field required for enrollment into an Autonomic Control
(ACP) domain. Plane (ACP) domain.
* Certification Request (5): This MUST contain the authenticated * Certification Request (5): This MUST contain the authenticated
self-contained object ensuring both the proof of possession of the self-contained object ensuring both the proof of possession of the
corresponding private key and the proof of identity of the corresponding private key and the proof of identity of the
requester. requester.
* Certification Response (6): On success, this MUST contain the * Certification Response (6): On success, this MUST contain the
requested certificate and MAY include further information, like requested certificate and MAY include further information, like
certificates of intermediate CAs and any additional trust anchors. certificates of intermediate CAs and any additional trust anchors.
skipping to change at line 841 skipping to change at line 855
successfully enrolled and fits its needs. successfully enrolled and fits its needs.
* PKI/Registrar Confirm (8): This is an acknowledgment by the PKI * PKI/Registrar Confirm (8): This is an acknowledgment by the PKI
that MUST be sent on reception of the Certificate Confirm. that MUST be sent on reception of the Certificate Confirm.
The generic messages described above may be implemented using any The generic messages described above may be implemented using any
certificate enrollment protocol that supports authenticated self- certificate enrollment protocol that supports authenticated self-
contained objects for the certification request as described in contained objects for the certification request as described in
Section 3. Examples are available in Section 5. Section 3. Examples are available in Section 5.
Note that the optional certificate confirmation by the pledge to the | Note that the optional certificate confirmation by the pledge
PKI described above is independent of the mandatory enrollment status | to the PKI described above is independent of the mandatory
telemetry done between the pledge and the registrar in the final | enrollment status telemetry done between the pledge and the
phase of BRSKI-AE, which is described next. | registrar in the final phase of BRSKI-AE, which is described
| next.
4.2.5. Pledge - Registrar Enrollment Status Telemetry 4.2.5. Pledge - Registrar Enrollment Status Telemetry
The enrollment status telemetry is performed as specified in The enrollment status telemetry is performed as specified in
[RFC8995], Section 5.9.4. [RFC8995], Section 5.9.4.
In BRSKI, this is described as part of the certificate enrollment In [RFC8995], this is described as part of the certificate enrollment
step, but due to the generalization of the enrollment protocol step, but due to the generalization of the enrollment protocol
described in this document, it is regarded as a separate phase here. described in this document, it is regarded as a separate phase here.
4.3. Enhancements to the Endpoint Addressing Scheme of BRSKI 4.3. Enhancements to the Endpoint Addressing Scheme of BRSKI
BRSKI-AE extends the addressing scheme outlined in [RFC8995], BRSKI-AE extends the addressing scheme outlined in [RFC8995],
Section 5 to support alternative enrollment protocols that utilize Section 5 to support alternative enrollment protocols that utilize
authenticated, self-contained objects for certification requests authenticated, self-contained objects for certification requests
(also see Section 5). These extensions are designed to be compatible (also see Section 5). These extensions are designed to be compatible
with existing Registration Authorities (RAs) and Certification with existing Registration Authorities (RAs) and Certification
Authorities (CAs) that already support such enrollment protocols, Authorities (CAs) that already support such enrollment protocols,
enabling their use without requiring any modifications. enabling their use without requiring any modifications.
The addressing scheme in BRSKI for certification requests, related CA The addressing scheme in [RFC8995] for certification requests,
certificates, and CSR attributes retrieval functions uses the related CA certificates, and CSR attributes retrieval functions uses
definition from EST [RFC7030]. An example of simple enrollment is: the definition from EST [RFC7030]. An example of simple enrollment
"/.well-known/est/simpleenroll". This approach is generalized to the is: "/.well-known/est/simpleenroll". This approach is generalized to
following notation: "/.well-known/<enrollment-protocol>/<request>" in the following notation: "/.well-known/<enrollment-
which <enrollment-protocol> refers to a certificate enrollment protocol>/<request>" in which "<enrollment-protocol>" refers to a
protocol. Note that here, enrollment is considered a message certificate enrollment protocol. Note that here, enrollment is
sequence that contains at least a certification request and a considered a message sequence that contains at least a certification
certification response. The following conventions are used to request and a certification response. The following conventions are
provide maximal compatibility with BRSKI: used to provide maximal compatibility with BRSKI:
* <enrollment-protocol>: This MUST reference the protocol being * "<enrollment-protocol>": This MUST reference the protocol being
used. Existing values include 'est' [RFC7030] as in BRSKI and used. Existing values include 'est' [RFC7030] as in [RFC8995] and
'cmp' as in [RFC9483] and Section 5.1 below. Values for other 'cmp' as in [RFC9483] and Section 5.1 below. Values for other
existing protocols such as CMC and SCEP, as well as newly defined existing protocols such as CMC and SCEP, as well as newly defined
protocols, are outside the scope of this document. For use of the protocols, are outside the scope of this document. For use of the
<enrollment-protocol> and <request> URI components, they would "<enrollment-protocol>" and "<request>" URI components, they would
need to be specified in a suitable RFC and placed into the "Well- need to be specified in a suitable RFC and placed into the "Well-
Known URIs" registry, just as EST in [RFC7030]. Known URIs" registry, just as EST in [RFC7030].
* <request>: If present, this path component MUST describe the * "<request>": If present, this path component MUST describe the
operation requested depending on the enrollment protocol being operation requested depending on the enrollment protocol being
used. Enrollment protocols are expected to define their request used. Enrollment protocols are expected to define their request
endpoints, as is done by existing protocols (also see Section 5). endpoints, as is done by existing protocols (also see Section 5).
Well-known URIs for various endpoints on the domain registrar are Well-known URIs for various endpoints on the domain registrar are
already defined as part of the base BRSKI specification or indirectly already defined as part of the base BRSKI specification or indirectly
by EST. In addition, alternative enrollment endpoints MAY be by EST. In addition, alternative enrollment endpoints MAY be
supported by the registrar. supported by the registrar.
A pledge SHOULD use the endpoints defined for the enrollment A pledge SHOULD use the endpoints defined for the enrollment
skipping to change at line 913 skipping to change at line 928
even if the registrar supports the intended protocol and operation. even if the registrar supports the intended protocol and operation.
The following list of endpoints provides an illustrative example of a The following list of endpoints provides an illustrative example of a
domain registrar supporting several options for EST as well as for domain registrar supporting several options for EST as well as for
CMP to be used in BRSKI-AE. The listing contains the supported CMP to be used in BRSKI-AE. The listing contains the supported
endpoints to which the pledge may connect for bootstrapping. This endpoints to which the pledge may connect for bootstrapping. This
includes the voucher handling as well as the enrollment endpoints. includes the voucher handling as well as the enrollment endpoints.
The CMP-related enrollment endpoints are defined as well-known URIs The CMP-related enrollment endpoints are defined as well-known URIs
in CMP Updates [RFC9480] and the Lightweight CMP Profile [RFC9483]. in CMP Updates [RFC9480] and the Lightweight CMP Profile [RFC9483].
/.well-known/brski/voucherrequest * /.well-known/brski/voucherrequest
/.well-known/brski/voucher_status
/.well-known/brski/enrollstatus * /.well-known/brski/voucher_status
/.well-known/est/cacerts
/.well-known/est/csrattrs * /.well-known/brski/enrollstatus
/.well-known/est/fullcmc
/.well-known/cmp/getcacerts * /.well-known/est/cacerts
/.well-known/cmp/getcertreqtemplate
/.well-known/cmp/initialization * /.well-known/est/csrattrs
/.well-known/cmp/pkcs10
* /.well-known/est/fullcmc
* /.well-known/cmp/getcacerts
* /.well-known/cmp/getcertreqtemplate
* /.well-known/cmp/initialization
* /.well-known/cmp/pkcs10
5. Instantiation with Existing Enrollment Protocols 5. Instantiation with Existing Enrollment Protocols
This section maps the generic requirements to support proof of This section maps the generic requirements to support proof of
possession and proof of identity to selected existing certificate possession and proof of identity to selected existing certificate
enrollment protocols and specifies further aspects of using such enrollment protocols and specifies further aspects of using such
enrollment protocols in BRSKI-AE. enrollment protocols in BRSKI-AE.
5.1. BRSKI-CMP: BRSKI-AE Instantiated with CMP 5.1. BRSKI-CMP: BRSKI-AE Instantiated with CMP
In this document, references to CMP follow the Lightweight CMP In this document, references to CMP follow the Lightweight CMP
Profile (LCMPP) [RFC9483] rather than [RFC4210] and [RFC9480], as the Profile (LCMPP) from [RFC9483] rather than [RFC4210] and [RFC9480],
subset of CMP defined in LCMPP sufficiently meets the required as the subset of CMP defined in the LCMPP sufficiently meets the
functionality. required functionality.
Adherence to the LCMPP [RFC9483] is REQUIRED when using CMP. The Adherence to the LCMPP [RFC9483] is REQUIRED when using CMP. The
following specific requirements apply (refer to Figure 2): following specific requirements apply (refer to Figure 2):
* The validation of server response messages performed by the CMP * The validation of server response messages performed by the CMP
client within the pledge MUST be based on the trust anchor client within the pledge MUST be based on the trust anchor
established beforehand via the BRSKI voucher, i.e., on the pinned- established beforehand via the BRSKI voucher, i.e., on the pinned-
domain-cert. domain-cert.
Note that the integrity and authenticity checks on the RA/CA by Note that the integrity and authenticity checks on the RA/CA by
skipping to change at line 962 skipping to change at line 986
in [RFC9483], Section 4.3.1. in [RFC9483], Section 4.3.1.
* Attribute Request (3) and Response (4): Requesting certification * Attribute Request (3) and Response (4): Requesting certification
request attributes is OPTIONAL. If supported, it SHALL be request attributes is OPTIONAL. If supported, it SHALL be
implemented as specified in [RFC9483], Section 4.3.3. implemented as specified in [RFC9483], Section 4.3.3.
Alternatively, the registrar MAY modify the requested certificate Alternatively, the registrar MAY modify the requested certificate
contents as specified in [RFC9483], Section 5.2.3.2. contents as specified in [RFC9483], Section 5.2.3.2.
* Certification Request (5) and Response (6): Certificates SHALL be * Certification Request (5) and Response (6): Certificates SHALL be
requested and provided as specified in LCMPP [RFC9483], requested and provided as specified in the LCMPP from [RFC9483],
Section 4.1.1 (based on CRMF) or [RFC9483], Section 4.1.4 (based Section 4.1.1 (based on CRMF) or [RFC9483], Section 4.1.4 (based
on PKCS #10). on PKCS #10).
Proof of possession SHALL be provided in a manner suitable for the Proof of possession SHALL be provided in a manner suitable for the
key type. Proof of identity SHALL be provided by signature-based key type. Proof of identity SHALL be provided by signature-based
protection of the certification request message as outlined in protection of the certification request message as outlined in
[RFC9483], Section 3.2 using the IDevID secret. [RFC9483], Section 3.2 using the IDevID secret.
When the registrar forwards a certification request from the When the registrar forwards a certification request from the
pledge to a backend RA/CA, it is RECOMMENDED that the registrar pledge to a backend RA/CA, it is RECOMMENDED that the registrar
wraps the original certification request in a nested message wraps the original certification request in a nested message
signed with its own credentials, as described in [RFC9483], signed with its own credentials, as described in [RFC9483],
Section 5.2.2.1. This approach explicitly conveys the registrar's Section 5.2.2.1. This approach explicitly conveys the registrar's
consent to the RA while retaining the original certification consent to the RA while retaining the original certification
request with the proof of origin provided by the pledge's request with the proof of origin provided by the pledge's
signature. signature.
If additional trust anchors beyond the pinned-domain-cert need to If additional trust anchors beyond the pinned-domain-cert need to
be conveyed to the pledge, this SHOULD be done in the caPubs field be conveyed to the pledge, this SHOULD be done in the 'caPubs'
of the certification response rather than through a CA Certs field of the certification response rather than through a CA Certs
Response. Response.
* Certificate Confirm (7) and PKI/Registrar Confirm (8): Explicit * Certificate Confirm (7) and PKI/Registrar Confirm (8): Explicit
confirmation of new certificates to the RA/CA MAY be used as confirmation of new certificates to the RA/CA MAY be used as
specified in [RFC9483], Section 4.1.1. specified in [RFC9483], Section 4.1.1.
Note that independent of the certificate confirmation within CMP, | Note that independent of the certificate confirmation within
enrollment status telemetry with the registrar at the BRSKI level | CMP, enrollment status telemetry with the registrar at the
will be performed as described in [RFC8995], Section 5.9.4. | BRSKI level will be performed as described in [RFC8995],
| Section 5.9.4.
* If delayed delivery of CMP messages is needed (e.g., to support * If delayed delivery of CMP messages is needed (e.g., to support
enrollment over an asynchronous channel), it SHALL be performed as enrollment over an asynchronous channel), it SHALL be performed as
specified in Sections 4.4 and 5.1.2 of [RFC9483]. specified in Sections 4.4 and 5.1.2 of [RFC9483].
The mechanisms for exchanging messages between the registrar and The mechanisms for exchanging messages between the registrar and
backend PKI components (i.e., RA and/or CA) are outside the scope of backend PKI components (i.e., RA and/or CA) are outside the scope of
this document. CMP's independence from the message transfer this document. CMP's independence from the message transfer
mechanism allows for flexibility in choosing the appropriate exchange mechanism allows for flexibility in choosing the appropriate exchange
method based on the application scenario. For the applicable method based on the application scenario. For the applicable
skipping to change at line 1013 skipping to change at line 1038
Further guidance can be found in [RFC9483], Section 6. Further guidance can be found in [RFC9483], Section 6.
BRSKI-AE with CMP can also be combined with Constrained BRSKI BRSKI-AE with CMP can also be combined with Constrained BRSKI
[cBRSKI], using CoAP for enrollment message transport as described by [cBRSKI], using CoAP for enrollment message transport as described by
CoAP Transfer for CMP [RFC9482]. In such scenarios, the EST-specific CoAP Transfer for CMP [RFC9482]. In such scenarios, the EST-specific
parts of [cBRSKI] do not apply. parts of [cBRSKI] do not apply.
For BRSKI-AE scenarios where a general solution for discovering For BRSKI-AE scenarios where a general solution for discovering
registrars with CMP support is not available (cf. Section 4.2.1), the registrars with CMP support is not available (cf. Section 4.2.1), the
following minimalist approach MAY be used: Perform discovery as following minimalist approach MAY be used: Perform discovery as
defined in BRSKI [RFC8995], Appendix B, but use the service name defined in [RFC8995], Appendix B, but use the service name "brski-
"brski-reg-cmp" (as defined in Section 6) instead of "brski- reg-cmp" (as defined in Section 6) instead of "brski-registrar" (as
registrar" (as defined in [RFC8995], Section 8.6). Note that this defined in [RFC8995], Section 8.6). Note that this approach does not
approach does not support join proxies. support join proxies.
5.2. Support of Other Enrollment Protocols 5.2. Support of Other Enrollment Protocols
Further instantiations of BRSKI-AE can be done. They are left for Further instantiations of BRSKI-AE can be done. They are left for
future work. future work.
In particular, CMC [RFC5272] (using its in-band source authentication In particular, CMC [RFC5272] (using its in-band source authentication
options) and SCEP [RFC8894] (using its 'renewal' option) could be options) and SCEP [RFC8894] (using its 'renewal' option) could be
used. used.
skipping to change at line 1047 skipping to change at line 1072
Service Name: brski-reg-cmp Service Name: brski-reg-cmp
Transport Protocol(s): tcp Transport Protocol(s): tcp
Description: Bootstrapping Remote Secure Key Infrastructure Description: Bootstrapping Remote Secure Key Infrastructure
registrar with CMP capabilities according to the Lightweight CMP registrar with CMP capabilities according to the Lightweight CMP
Profile (LCMPP) [RFC9483] Profile (LCMPP) [RFC9483]
Assignee: IESG iesg@ietf.org (mailto:iesg@ietf.org) Assignee: IESG iesg@ietf.org (mailto:iesg@ietf.org)
Contact: IETF chair@ietf.org (mailto:chair@ietf.org) Contact: IETF chair@ietf.org (mailto:chair@ietf.org)
Reference: RFC 9733 Reference: RFC 9733
Note: We chose the suffix "cmp" here rather than some other | Note: We chose the suffix "cmp" here rather than some other
abbreviation like "lcmpp" mainly because this document defines the | abbreviation like "lcmpp" mainly because this document defines
normative CMP instantiation of BRSKI-AE, which implies adherence to | the normative CMP instantiation of BRSKI-AE, which implies
LCMPP is necessary and sufficient. | adherence to the LCMPP is necessary and sufficient.
7. Security Considerations 7. Security Considerations
The security considerations laid out in BRSKI [RFC8995], Section 11 The security considerations laid out in [RFC8995], Section 11 apply
apply to the discovery and voucher exchange as well as for the status to the discovery and voucher exchange as well as for the status
exchange information. exchange information.
In particular, even if the registrar delegates part or all of its RA In particular, even if the registrar delegates part or all of its RA
role during certificate enrollment to a separate system, it still role during certificate enrollment to a separate system, it still
must be made sure that the registrar takes part in the decision on must be made sure that the registrar takes part in the decision on
accepting or declining a request to join the domain, as required in accepting or declining a request to join the domain, as required in
[RFC8995], Section 5.3. As this also pertains to obtaining a valid [RFC8995], Section 5.3. As this also pertains to obtaining a valid
domain-specific certificate, it must be made sure that a pledge domain-specific certificate, it must be made sure that a pledge
cannot circumvent the registrar in the decision of whether it is cannot circumvent the registrar in the decision of whether it is
granted an LDevID certificate by the CA. There are various ways to granted an LDevID certificate by the CA. There are various ways to
skipping to change at line 1082 skipping to change at line 1107
pledge identity in a database; pledge identity in a database;
* the registrar providing its consent using an extra message that is * the registrar providing its consent using an extra message that is
transferred on the same channel as the enrollment messages, transferred on the same channel as the enrollment messages,
possibly in a TLS tunnel; and possibly in a TLS tunnel; and
* the registrar explicitly stating its consent by signing the * the registrar explicitly stating its consent by signing the
authenticated self-contained certificate enrollment request authenticated self-contained certificate enrollment request
message in addition to the pledge. message in addition to the pledge.
Note: If EST was used, the registrar could give implicit consent on a | Note: If EST was used, the registrar could give implicit
certification request by forwarding the request to a PKI entity using | consent on a certification request by forwarding the request to
a connection authenticated with a certificate containing an id-kp- | a PKI entity using a connection authenticated with a
cmcRA extension. | certificate containing an id-kp-cmcRA extension.
When CMP is used, the security considerations laid out in LCMPP When CMP is used, the security considerations laid out in the LCMPP
[RFC9483] apply. from [RFC9483] apply.
8. Privacy Considerations 8. Privacy Considerations
The privacy considerations laid out in BRSKI [RFC8995], Section 10 The privacy considerations laid out in [RFC8995], Section 10 apply as
apply as well. well.
Note that CMP messages themselves are not encrypted. This may give Note that CMP messages themselves are not encrypted. This may give
eavesdroppers insight into which devices are bootstrapped into the eavesdroppers insight into which devices are bootstrapped into the
domain. In turn, this might also be used to selectively block the domain. In turn, this might also be used to selectively block the
enrollment of certain devices. enrollment of certain devices.
To prevent such issues, the underlying message transport channel can To prevent such issues, the underlying message transport channel can
be encrypted. This is already provided by TLS between the pledge and be encrypted. This is already provided by TLS between the pledge and
the registrar, and for the onward exchange with backend systems, the registrar, and for the onward exchange with backend systems,
encryption may need to be added. encryption may need to be added.
skipping to change at line 1142 skipping to change at line 1167
Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995, Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995,
May 2021, <https://www.rfc-editor.org/info/rfc8995>. May 2021, <https://www.rfc-editor.org/info/rfc8995>.
[RFC9483] Brockhaus, H., von Oheimb, D., and S. Fries, "Lightweight [RFC9483] Brockhaus, H., von Oheimb, D., and S. Fries, "Lightweight
Certificate Management Protocol (CMP) Profile", RFC 9483, Certificate Management Protocol (CMP) Profile", RFC 9483,
DOI 10.17487/RFC9483, November 2023, DOI 10.17487/RFC9483, November 2023,
<https://www.rfc-editor.org/info/rfc9483>. <https://www.rfc-editor.org/info/rfc9483>.
9.2. Informative References 9.2. Informative References
[BRSKI-AE-OVERVIEW] [BRSKI-AE-overview]
von Oheimb, D., Ed., Fries, S., and H. Brockhaus, "Update von Oheimb, D., Ed., Fries, S., and H. Brockhaus, "Update
on BRSKI-AE: Alternative Enrollment Protocols in BRSKI", on BRSKI-AE: Alternative Enrollment Protocols in BRSKI",
IETF 116 - ANIMA Working Group Presentation, March 2023, IETF 116 - ANIMA Working Group Presentation, March 2023,
<https://datatracker.ietf.org/meeting/116/materials/ <https://datatracker.ietf.org/meeting/116/materials/
slides-116-anima-update-on-brski-ae-alternative- slides-116-anima-update-on-brski-ae-alternative-
enrollment-protocols-in-brski-00>. enrollment-protocols-in-brski-00>.
[BRSKI-DISCOVERY] [BRSKI-discovery]
Eckert, T. T. and E. Dijk, "BRSKI discovery and Eckert, T. T. and E. Dijk, "BRSKI discovery and
variations", Work in Progress, Internet-Draft, draft-ietf- variations", Work in Progress, Internet-Draft, draft-ietf-
anima-brski-discovery-05, 21 October 2024, anima-brski-discovery-05, 21 October 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-anima- <https://datatracker.ietf.org/doc/html/draft-ietf-anima-
brski-discovery-05>. brski-discovery-05>.
[cBRSKI] Richardson, M., Van der Stok, P., Kampanakis, P., and E. [cBRSKI] Richardson, M., Van der Stok, P., Kampanakis, P., and E.
Dijk, "Constrained Bootstrapping Remote Secure Key Dijk, "Constrained Bootstrapping Remote Secure Key
Infrastructure (cBRSKI)", Work in Progress, Internet- Infrastructure (cBRSKI)", Work in Progress, Internet-
Draft, draft-ietf-anima-constrained-voucher-26, 8 January Draft, draft-ietf-anima-constrained-voucher-26, 8 January
2025, <https://datatracker.ietf.org/doc/html/draft-ietf- 2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
anima-constrained-voucher-26>. anima-constrained-voucher-26>.
[IEC-62351-9] [IEC-62351-9]
International Electrotechnical Commission, "Power systems International Electrotechnical Commission, "Power systems
management and associated information exchange - Data and management and associated information exchange - Data and
communications security - Part 9: Cyber security key communications security - Part 9: Cyber security key
management for power system equipment", IEC 62351-9:2017, management for power system equipment", IEC 62351-9:2023,
May 2017, <https://webstore.iec.ch/en/publication/30287>. June 2023, <https://webstore.iec.ch/en/publication/66864>.
[ISO-IEC-15118-2] [ISO-IEC-15118-2]
International Organization for Standardization, "Road International Organization for Standardization, "Road
vehicles - Vehicle-to-Grid Communication Interface - Part vehicles - Vehicle-to-Grid Communication Interface - Part
2: Network and application protocol requirements", 2: Network and application protocol requirements",
ISO 15118-2:2014, April 2014, ISO 15118-2:2014, April 2014,
<https://www.iso.org/standard/55366.html>. <https://www.iso.org/standard/55366.html>.
[NERC-CIP-005-5] [NERC-CIP-005-5]
North American Electric Reliability Council, "Cyber North American Electric Reliability Council, "Cyber
skipping to change at line 1256 skipping to change at line 1281
<https://www.rfc-editor.org/info/rfc9480>. <https://www.rfc-editor.org/info/rfc9480>.
[RFC9482] Sahni, M., Ed. and S. Tripathi, Ed., "Constrained [RFC9482] Sahni, M., Ed. and S. Tripathi, Ed., "Constrained
Application Protocol (CoAP) Transfer for the Certificate Application Protocol (CoAP) Transfer for the Certificate
Management Protocol", RFC 9482, DOI 10.17487/RFC9482, Management Protocol", RFC 9482, DOI 10.17487/RFC9482,
November 2023, <https://www.rfc-editor.org/info/rfc9482>. November 2023, <https://www.rfc-editor.org/info/rfc9482>.
[UNISIG-Subset-137] [UNISIG-Subset-137]
UNISIG, "ERTMS/ETCS On-line Key Management FFFIS", Subset- UNISIG, "ERTMS/ETCS On-line Key Management FFFIS", Subset-
137, Version 1.0.0, December 2015, 137, Version 1.0.0, December 2015,
<https://www.era.europa.eu/sites/default/files/filesystem/ <https://www.era.europa.eu/system/files/2023-01/
ertms/ccs_tsi_annex_a_-_mandatory_specifications/ sos3_index083_-_subset-137_v100.pdf>.
set_of_specifications_3_etcs_b3_r2_gsm-r_b1/index083_-
_subset-137_v100.pdf>.
Appendix A. Application Examples Appendix A. Application Examples
This informative annex provides some details about application This informative annex provides some details about application
examples. examples.
A.1. Rolling Stock A.1. Rolling Stock
Rolling stock or railroad cars contain a variety of sensors, Rolling stock or railroad cars contain a variety of sensors,
actuators, and controllers. These communicate within the railroad actuators, and controllers. These communicate within the railroad
car but also exchange information between railroad cars, forming a car but also exchange information with other railroad cars of the
train with track-side equipment and/or possibly with backend systems. same train and with track-side equipment and/or possibly with backend
These devices are typically unaware of backend system connectivity. systems. These devices are typically unaware of backend system
Enrolling certificates may be done during maintenance cycles of the connectivity. Enrolling certificates may be done during maintenance
railroad car but can already be prepared during operation. Such cycles of the railroad car but can already be prepared during
asynchronous enrollment will include generating certification operation. Such asynchronous enrollment will include generating
requests, which are collected and later forwarded for processing certification requests, which are collected and later forwarded for
whenever the railroad car gets connectivity with the backend PKI of processing whenever the railroad car gets connectivity with the
the operator. The authorization of the certification request is then backend PKI of the operator. The authorization of the certification
done based on the operator's asset/inventory information in the request is then done based on the operator's asset/inventory
backend. information in the backend.
UNISIG has included a CMP profile for the enrollment of TLS client UNISIG has included a CMP profile for the enrollment of TLS client
and server X.509 certificates of on-board and track-side components and server X.509 certificates of on-board and track-side components
in the Subset-137, which specifies the ETRAM/ETCS online key in the Subset-137, which specifies the ETRAM/ETCS online key
management for train control systems [UNISIG-Subset-137]. management for train control systems [UNISIG-Subset-137].
A.2. Building Automation A.2. Building Automation
In building automation scenarios, a detached building or the basement In building automation scenarios, a detached building or the basement
of a building may be equipped with sensors, actuators, and of a building may be equipped with sensors, actuators, and
skipping to change at line 1351 skipping to change at line 1374
charging operations and maintain the charging point itself. This charging operations and maintain the charging point itself. This
means that the certificate management needs to be handled in-band of means that the certificate management needs to be handled in-band of
OCPP. This requires the ability to encapsulate the certificate OCPP. This requires the ability to encapsulate the certificate
management messages in a transport-independent way. Authenticated management messages in a transport-independent way. Authenticated
self-containment will support this by allowing the transport without self-containment will support this by allowing the transport without
a separate enrollment protocol, binding the messages to the identity a separate enrollment protocol, binding the messages to the identity
of the communicating endpoints. of the communicating endpoints.
A.5. Infrastructure Isolation Policy A.5. Infrastructure Isolation Policy
This refers to any case in which network infrastructure is normally The approach described in this section refers to any case in which
isolated from the Internet as a matter of policy, most likely for network infrastructure is normally isolated from the Internet as a
security reasons. In such a case, limited access to external PKI matter of policy, most likely for security reasons. In such a case,
services will be allowed in carefully controlled short periods of limited access to external PKI services will be allowed in carefully
time (for example, when a batch of new devices is deployed) and controlled short periods of time (for example, when a batch of new
forbidden or prevented at other times. devices is deployed) and forbidden or prevented at other times.
A.6. Sites with Insufficient Levels of Operational Security A.6. Sites with Insufficient Levels of Operational Security
The RA performing (at least part of) the authorization of a The RA performing (at least part of) the authorization of a
certification request is a critical PKI component and therefore certification request is a critical PKI component and therefore
requires higher operational security than components utilizing the requires higher operational security than components utilizing the
issued certificates for their security features. CAs may also demand issued certificates for their security features. CAs may also demand
higher security in the registration procedures from RAs, which domain higher security in the registration procedures from RAs, which domain
registrars with co-located RAs may not be able to fulfill. In registrars with co-located RAs may not be able to fulfill. In
particular, the CA/Browser forum currently increases the security particular, the CA/Browser forum currently increases the security
 End of changes. 59 change blocks. 
199 lines changed or deleted 222 lines changed or added

This html diff was produced by rfcdiff 1.48.