rfc9733.original   rfc9733.txt 
ANIMA WG D. von Oheimb, Ed. Internet Engineering Task Force (IETF) D. von Oheimb, Ed.
Internet-Draft S. Fries Request for Comments: 9733 S. Fries
Intended status: Standards Track H. Brockhaus Category: Standards Track H. Brockhaus
Expires: 21 March 2025 Siemens ISSN: 2070-1721 Siemens
17 September 2024 February 2025
BRSKI-AE: Alternative Enrollment Protocols in BRSKI BRSKI-AE: Bootstrapping Remote Secure Key Infrastructure with
draft-ietf-anima-brski-ae-13 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-AE (Alternative Key Infrastructure (BRSKI) protocol, known as BRSKI with Alternative
Enrollment). Enrollment (BRSKI-AE). BRSKI-AE extends BRSKI to support certificate
BRSKI-AE extends BRSKI to support certificate enrollment mechanisms enrollment mechanisms instead of the originally specified use of
instead of the originally specified use of EST. It supports Enrollment over Secure Transport (EST). It supports certificate
certificate enrollment protocols, such as CMP, that use authenticated enrollment protocols such as the Certificate Management Protocol
self-contained signed objects for certification messages, allowing (CMP) that use authenticated self-contained signed objects for
for flexibility in network device onboarding scenarios. certification messages, allowing for flexibility in network device
The enhancements address use cases where the existing enrollment onboarding scenarios. The enhancements address use cases where the
mechanism may not be feasible or optimal, providing a framework for existing enrollment mechanism may not be feasible or optimal,
integrating suitable alternative enrollment protocols. providing a framework for integrating suitable alternative enrollment
This document also updates the BRSKI reference architecture to protocols. This document also updates the BRSKI reference
accommodate these alternative methods, ensuring secure and scalable architecture to accommodate these alternative methods, ensuring
deployment across a range of network environments. secure and scalable deployment across a range of network
environments.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-ietf-anima-brski-ae/.
Discussion of this document takes place on the anima Working Group
mailing list (mailto:anima@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/anima/. Subscribe at
https://www.ietf.org/mailman/listinfo/anima/.
Source for this draft and an issue tracker can be found at
https://github.com/anima-wg/anima-brski-ae.
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 21 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/rfc9733.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
1.1. Supported Scenarios . . . . . . . . . . . . . . . . . . . 5 1.1. Supported Scenarios
2. Terminology and abbreviations . . . . . . . . . . . . . . . . 6 2. Terminology and Abbreviations
3. Basic Requirements and Mapping to Solutions . . . . . . . . . 8 3. Basic Requirements and Mapping to Solutions
3.1. Solution Options for Proof of Possession . . . . . . . . 9 3.1. Solution Options for Proof of Possession
3.2. Solution Options for Proof of Identity . . . . . . . . . 9 3.2. Solution Options for Proof of Identity
4. Adaptations to BRSKI . . . . . . . . . . . . . . . . . . . . 11 4. Adaptations to BRSKI
4.1. Architecture . . . . . . . . . . . . . . . . . . . . . . 11 4.1. Architecture
4.2. Message Exchange . . . . . . . . . . . . . . . . . . . . 15 4.2. Message Exchange
4.2.1. Pledge - Registrar Discovery . . . . . . . . . . . . 15 4.2.1. Pledge - Registrar Discovery
4.2.2. Pledge - Registrar - MASA Voucher Exchange . . . . . 15 4.2.2. Pledge - Registrar - MASA Voucher Exchange
4.2.3. Pledge - Registrar - MASA Voucher Status Telemetry . 15 4.2.3. Pledge - Registrar - MASA Voucher Status Telemetry
4.2.4. Pledge - Registrar - RA/CA Certificate Enrollment . . 16 4.2.4. Pledge - Registrar - RA/CA Certificate Enrollment
4.2.5. Pledge - Registrar Enrollment Status Telemetry . . . 19 4.2.5. Pledge - Registrar Enrollment Status Telemetry
4.3. Enhancements to the Endpoint Addressing Scheme of 4.3. Enhancements to the Endpoint Addressing Scheme of BRSKI
BRSKI . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5. Instantiation with Existing Enrollment Protocols
5. Instantiation with Existing Enrollment Protocols . . . . . . 21 5.1. BRSKI-CMP: BRSKI-AE Instantiated with CMP
5.1. BRSKI-CMP: BRSKI-AE instantiated with CMP . . . . . . . . 21 5.2. Support of Other Enrollment Protocols
5.2. Support of Other Enrollment Protocols . . . . . . . . . . 23 6. IANA Considerations
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 7. Security Considerations
7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 8. Privacy Considerations
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 25 9. References
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 9.1. Normative References
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.2. Informative References
10.1. Normative References . . . . . . . . . . . . . . . . . . 25 Appendix A. Application Examples
10.2. Informative References . . . . . . . . . . . . . . . . . 26 A.1. Rolling Stock
Appendix A. Application Examples . . . . . . . . . . . . . . . . 29 A.2. Building Automation
A.1. Rolling Stock . . . . . . . . . . . . . . . . . . . . . . 29 A.3. Substation Automation
A.2. Building Automation . . . . . . . . . . . . . . . . . . . 29 A.4. Electric Vehicle Charging Infrastructure
A.3. Substation Automation . . . . . . . . . . . . . . . . . . 30 A.5. Infrastructure Isolation Policy
A.4. Electric Vehicle Charging Infrastructure . . . . . . . . 30 A.6. Sites with Insufficient Levels of Operational Security
A.5. Infrastructure Isolation Policy . . . . . . . . . . . . . 31 Acknowledgments
A.6. Sites with Insufficient Level of Operational Security . . 31 Contributors
Appendix B. History of Changes TBD RFC Editor: please delete . . 31 Authors' Addresses
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42
1. Introduction 1. Introduction
BRSKI [RFC8995] is typically used with Enrollment over Secure Bootstrapping Remote Secure Key Infrastructure (BRSKI) [RFC8995] is
Transport (EST, [RFC7030]) as the enrollment protocol for operator- typically used with Enrollment over Secure Transport (EST) [RFC7030]
specific device certificates, employing HTTP over TLS for secure as the enrollment protocol for operator-specific device certificates,
message transfer. BRSKI-AE is a variant using alternative enrollment employing HTTP over TLS for secure message transfer. BRSKI-AE is a
protocols with authenticated self-contained objects for the device variant using alternative enrollment protocols with authenticated
certificate enrollment. self-contained objects for the device certificate enrollment.
This approach offers several distinct advantages. It allows for the This approach offers several distinct advantages. It allows for the
authentication of the origin of requests and responses independently authentication of the origin of requests and responses independently
of message transfer mechanisms. This capability facilitates end-to- of message transfer mechanisms. This capability facilitates end-to-
end authentication (i.e., end-to-end proof of origin) across multiple end authentication (i.e., end-to-end proof of origin) across multiple
transport hops and supports the asynchronous operation of certificate transport hops and supports the asynchronous operation of certificate
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 is 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 Manufacturer Authorized Signing Authority (MASA) [RFC8995] and the
to the registrar, which is the access point of the target domain, registrar (which is the access point of the target domain) and to
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 [RFC8366] exchange a * The pledge first obtains via the voucher exchange [RFC8366] 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 Locally significant Device IDentifier * The pledge then obtains its Local Device Identifier (LDevID)
(IDevID, [IEEE_802.1AR-2018]). To this end, the pledge generates [IEEE_802.1AR-2018]. To this end, the pledge generates a private
a private key, called LDevID secret, and requests via the domain key, called an "LDevID secret". Then, it requests via the domain
registrar from the PKI of its new domain a domain-specific device registrar from the PKI of its new domain a domain-specific device
certificate, called LDevID certificate. On success, it receives certificate, called an "LDevID certificate". On success, it
the LDevID certificate along with its certificate chain. 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
* Facilitates secure message exchange over any type of transfer * facilitates secure message exchanges over any type of transfer
mechanism, including asynchronous delivery. mechanism, including asynchronous delivery.
It may be observed that the BRSKI voucher exchange between the It may be observed that the BRSKI voucher exchange between the
pledge, registrar, and MASA involves the use of authenticated self- pledge, registrar, and MASA involves the use of authenticated self-
contained objects, which inherently possess these properties. contained objects, which inherently possess these properties.
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 (RFC 8995) specifies the use It may be important to note that BRSKI [RFC8995] specifies the use of
of HTTP over TLS, but variations such as Constrained BRSKI HTTP over TLS, but variations such as Constrained BRSKI [cBRSKI],
[I-D.ietf-anima-constrained-voucher] which uses CoAP over DTLS, are which 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 LCMPP will necessitate additional IANA registrations, as
detailed in this document. Furthermore, additional specifications 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:
* Pledges and/or the target domain leverage an existing certificate * When pledges and/or the target domain leverage an existing
enrollment protocol other than EST, such as CMP. certificate enrollment protocol other than EST, such as CMP.
* The application context precludes the use of EST for certificate * When the application context precludes the use of EST for
enrollment due to factors such as: certificate enrollment due to factors such as when:
- The Registration Authority (RA) is not co-located with the - The Registration Authority (RA) is not co-located with the
registrar and requires end-to-end authentication of requesters, registrar and requires end-to-end authentication of requesters,
which EST does not support over multiple transport hops. which EST does not support over multiple transport hops.
- The RA or Certification Authority (CA) operator mandates - The RA or Certification Authority (CA) operator mandates
auditable proof of origin for Certificate Signing Requests auditable proof of origin for Certificate Signing Requests
(CSRs), which cannot be provided by TLS as it only offers (CSRs), which cannot be provided by TLS as it only offers
transient source authentication. transient source authentication.
- Certificates are requested for key types, such as Key - Certificates are requested for key types, such as Key
Encapsulation Mechanism (KEM) keys, that do not support signing Encapsulation Mechanism (KEM) keys, that do not support signing
or other single-shot proof-of-possession methods, as those or other single-shot proof-of-possession methods as those
described in [RFC6955]. EST, which relies on CSRs in PKCS #10 described in [RFC6955]. EST, which relies on CSRs in PKCS #10
[RFC2986] format, does not accommodate these key types because format [RFC2986], does not accommodate these key types because
it necessitates proof-of-possession methods that operate within it necessitates proof-of-possession methods that operate within
a single message, whereas proof of possession for KEM keys a single message, whereas proof of possession for KEM keys
requires prior receipt of a fresh challenge value. requires prior receipt of a fresh challenge value.
- The pledge implementation employs security libraries that do - The pledge implementation employs security libraries that do
not support EST or uses a TLS library lacking support for the not support EST or uses a TLS library lacking support for the
"tls-unique" value [RFC5929], which EST requires for the strong "tls-unique" value [RFC5929], which EST requires for the strong
binding of source authentication. binding of source authentication.
* Full RA functionality is not available on-site within the target * When full RA functionality is not available on-site within the
domain, and connectivity to an off-site RA may be intermittent or target domain, and connectivity to an off-site RA may be
entirely offline. intermittent or entirely offline.
* Authoritative actions by a local RA at the registrar are * When authoritative actions by a local RA at the registrar are
insufficient for fully and reliably authorizing pledge insufficient for fully and reliably authorizing pledge
certification requests, potentially due to a lack of access to certification requests, potentially due to a lack of access to
necessary data or inadequate security measures, such as the local necessary data or inadequate security measures, such as the local
storage of private keys. storage of private keys.
Bootstrapping may be managed in various ways depending on the Bootstrapping may be managed in various ways depending on the
application domain. Appendix A provides illustrative examples from application domain. Appendix A provides illustrative examples from
different industrial control system environments and operational different industrial control system environments and operational
contexts that motivate the support of alternative enrollment contexts that motivate the support of alternative enrollment
protocols. protocols.
2. Terminology and abbreviations 2. Terminology and Abbreviations
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 "OPTIONAL" in this document are to be interpreted as described in
BCP 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 relies on the terminology defined in [RFC8995], This document relies on the terminology defined in [RFC8995],
[RFC5280], and [IEEE_802.1AR-2018], partly repeated here. Also [RFC5280], and [IEEE_802.1AR-2018], which is partly repeated here.
several further terms are 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.
asynchronous: time-wise interrupted delivery of messages, asynchronous: the time-wise interrupted delivery of messages, here,
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: message requesting content to be included in the attribute request: a message requesting content to be included in
certification request the certification request.
attribute response: 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: placement of a domain component separately from the domain backend: the placement of a domain component separately from the
registrar; 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: Bootstrapping Remote Secure Key Infrastructure [RFC8995]
BRSKI-AE: BRSKI with *A*lternative *E*nrollment, a variation of BRSKI-AE: BRSKI with Alternative Enrollment. Refers to a variation
BRSKI [RFC8995] in which BRSKI-EST, the enrollment protocol of BRSKI [RFC8995] in which BRSKI-EST, the enrollment protocol
between pledge and the registrar, is replaced by enrollment between the pledge and the registrar, is replaced by enrollment
protocols that support end-to-end authentication of the pledge to protocols that support end-to-end authentication of the pledge to
the RA, such as Lightweight CMP (see LCMPP). the RA, such as Lightweight CMP (see LCMPP).
CA certs request: message requesting CA certificates CA: Certification Authority
CA certs response: message providing the answer to a CA certs CA certs request: a message requesting CA certificates.
request
certificate confirm: message stating to the backend PKI that the CA certs response: a message providing the answer to a CA certs
request.
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: message requesting a certificate with proof certification request: a message requesting a certificate with proof
of identity of identity.
certification response: 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] CMP: Certificate Management Protocol [RFC4210] [RFC9480]
CSR: Certificate Signing Request CSR: Certificate Signing Request
EST: Enrollment over Secure Transport [RFC7030] EST: Enrollment over Secure Transport [RFC7030]
IDevID: Initial Device IDentifier of a pledge, provided by the IDevID: Initial Device Identifier (of a pledge, provided by the
manufacturer and comprising a private key and the related X.509 manufacturer and comprising of a private key and the related X.509
certificate with its chain certificate with its chain).
LCMPP: Lightweight CMP Profile [RFC9483] LCMPP: Lightweight CMP Profile [RFC9483]
LDevID: Locally significant Device IDentifier of a pledge, provided LDevID: Local Device Identifier (of a pledge, provided by its target
by its target domain and comprising a private key and the related domain and comprising of a private key and the related X.509
X.509 certificate with its chain certificate with its chain).
local RA (LRA): a subordinate RA that is close to entities being LRA: Local Registration Authority. A subordinate RA that is close
enrolled and separate from a subsequent RA. In BRSKI-AE it is to entities being enrolled and separate from a subsequent RA. In
needed if a backend RA is used, and in this case, the LRA is co- BRSKI-AE, it is needed if a backend RA is used; in this case, the
located with the registrar. LRA is co-located with the registrar.
MASA: Manufacturer Authorized Signing Authority, provides vouchers MASA: Manufacturer Authorized Signing Authority. Provides vouchers.
off-site: locality of component or service or functionality, such as off-site: the locality of a component, service, or functionality
RA or CA, not at the site of the registrar. This may be a central (such as RA or CA) that is not at the site of the registrar. This
site or a cloud service, to which connection may be intermittent. may be a central site or a cloud service, to which connection may
be intermittent.
on-site: locality of a component or service or functionality at the on-site: the locality of a component, service, or functionality at
site of the registrar the site of the registrar.
PKI/registrar confirm: acknowledgment of the PKI on the certificate PKI/registrar confirm: an acknowledgment of the PKI on the
confirm certificate confirm.
pledge: device that is to be bootstrapped into a target domain. It pledge: a device that is to be bootstrapped into a target domain.
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 RA: Registration Authority. The PKI component to which a CA
typically delegates certificate management functions such as typically delegates certificate management functions such as
authenticating pledges and performing authorization checks on authenticating pledges and performing authorization checks on
certification requests 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: 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.
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
corresponding to the public key contained in a certification corresponding to the public key contained in a certification
request. This is typically achieved by a self-signature using the request. This is typically achieved by a self-signature using the
corresponding private key but can also be achieved indirectly, see corresponding private key but can also be achieved indirectly; see
[RFC4210], Section 4.3. [RFC4210], Section 4.3.
* Proof of identity, also called proof of origin: provides data * Proof of identity (also called "proof of origin"): provides data
origin authentication of the certification request. Typically, origin authentication of the certification request. Typically,
this is achieved by a signature using the pledge IDevID secret this is achieved by a signature using the pledge IDevID secret
over some data, which needs to include a sufficiently strong over some data, which needs to include a sufficiently strong
identifier of the pledge, such as the device serial number identifier of the pledge, such as the device serial number
typically included in the subject of the IDevID certificate. typically included in the subject of the IDevID certificate.
The remainder of this section gives a non-exhaustive list of solution The remainder of this section gives a non-exhaustive list of solution
examples, based on existing technology described in IETF documents. examples, based on existing technology described in IETF documents.
3.1. Solution Options for Proof of Possession 3.1. Solution Options for Proof of Possession
Certificate signing request (CSR) objects: CSRs are data structures Certificate Signing Request (CSR) objects are data structures
protecting only the integrity of the contained data and providing protecting only the integrity of the contained data and providing
proof of possession for a (locally generated) private key. Important proof of possession for a (locally generated) private key. Important
types of CSR data structures are: types of CSR data structures are:
* PKCS #10 [RFC2986]. This very common form of CSR is self-signed * PKCS #10 [RFC2986]: This very common form of CSR is self-signed to
to protect its integrity and to prove possession of the private protect its integrity and to prove possession of the private key
key that corresponds to the public key included in the request. that corresponds to the public key included in the request.
* Certificate Request Message Format (CRMF, [RFC4211]). This less * Certificate Request Message Format (CRMF) [RFC4211]: This less
common but more general CSR format supports several ways of common but more general CSR format supports several ways of
integrity protection and proof of possession. Typically a self- integrity protection and proof of possession. Typically a self-
signature is used, which is generated over (part of) the structure signature is used, which is generated over (part of) the structure
with the private key corresponding to the included public key. with the private key corresponding to the included public key.
CRMF also supports further proof-of-possession methods for types CRMF also supports further proof-of-possession methods for types
of keys that do not have signing capability. For details see of keys that do not have signing capability. For details, see
[RFC4211], Section 4. [RFC4211], Section 4.
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 the authentication, (i.e., proof of identity of the requester) because
key pair involved is new and therefore does not yet have a confirmed the key pair involved is new and therefore does not yet have a
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 (the BRSKI context, the IDevID certificate)
enables proof of origin, which in turn supports an authorization enables proof of origin, which in turn supports an authorization
decision on the CSR. 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], also its variant EST-coaps [RFC9148], utilizes PKCS * EST [RFC7030] and its variant EST-coaps [RFC9148] utilize PKCS #10
#10 to encode Certificate Signing Requests (CSRs). While such a to encode CSRs. While such a CSR has not been designed to include
CSR has not been designed to include proof of origin, there is a proof of origin, there is a limited, indirect way of binding it to
limited, indirect way of binding it to the source authentication the source authentication of the underlying TLS session. This is
of the underlying TLS session. This is achieved by including in achieved by including in the CSR the tls-unique value [RFC5929]
the CSR the tls-unique value [RFC5929] resulting from the TLS resulting from the TLS handshake. As this is optionally supported
handshake. As this is optionally supported by the EST by the EST "/simpleenroll" endpoint used in BRSKI, and the TLS
"/simpleenroll" endpoint used in BRSKI and the TLS handshake handshake employed in BRSKI includes certificate-based client
employed in BRSKI includes certificate-based client authentication authentication of the pledge with its IDevID credentials, the
of the pledge with its IDevID credentials, the proof of pledge proof of pledge identity being an authenticated TLS client can be
identity being an authenticated TLS client can be bound to the bound to the CSR.
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
to authenticate and pre-authorize the pledge and to indicate this authenticate and pre-authorize the pledge and indicate this to the
to the (second) RA by signing the forwarded certification request (second) RA. This is done by signing the forwarded certification
with its private key and a related certificate that has the id-kp- request with its private key and a related certificate that has
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 PKCS #10-formatted CSRs
with a Full PKI Request message sent to the "/fullcmc" endpoint. with a Full PKI Request message sent to the "/fullcmc" endpoint.
This would allow for source authentication at the message level, This would allow for source authentication at the message level,
such that the registrar could forward it to external RAs in a such that the registrar could forward it to external RAs in a
meaningful way. This approach is so far not sufficiently meaningful way. This approach is so far not sufficiently
described and likely has not been implemented. described and likely has not been implemented.
* SCEP [RFC8894] supports using a shared secret (passphrase) or an * The Simple Certificate Enrolment Protocol (SCEP) [RFC8894]
existing certificate to protect CSRs based on SCEP Secure Message supports using a shared secret (passphrase) or an existing
Objects using CMS wrapping ([RFC5652]). Note that the wrapping certificate to protect CSRs based on SCEP Secure Message Objects
using an existing IDevID in SCEP is referred to as 'renewal'. using Cryptographic Message Syntax (CMS) wrapping [RFC5652]. Note
This way SCEP does not rely on the security of the underlying that the wrapping using an existing IDevID in SCEP is referred to
message transfer. as "renewal". This way, SCEP does not rely on the security of the
underlying message transfer.
* CMP [RFC4210] [RFC9480] supports using a shared secret * CMP [RFC4210] [RFC9480] supports using a shared secret
(passphrase) or an existing certificate, which may be an IDevID (passphrase) or an existing certificate, which may be an IDevID
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.
* CMC [RFC5272] also supports utilizing a shared secret (passphrase) * Certificate Management over CMS (CMC) [RFC5272] also supports
or an existing certificate to protect certification requests, utilizing a shared secret (passphrase) or an existing certificate
which can be either in CRMF or PKCS #10 structure. The proof of to protect certification requests, which can be either in a CRMF
identity can be provided as part of a FullCMCRequest, based on CMS or PKCS #10 structure. The proof of identity can be provided as
[RFC5652] and signed with an existing IDevID secret. Thus, CMC part of a FullCMCRequest based on CMS [RFC5652] and signed with an
does not rely on the security of the underlying message transfer. existing IDevID secret. Thus, CMC does not rely on the 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 page 12, line 43 skipping to change at line 543
. +---------+ +---------------------------------------+ . . +---------+ +---------------------------------------+ .
. | |<----+ 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 as BRSKI but with a more flexible placement of the authentication and
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 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: same requirements as in BRSKI, see [RFC8995], * Join Proxy: This has the same requirements as in BRSKI (see
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
protocol with authenticated self-contained objects for protocol with authenticated self-contained objects for
certification requests. To this end, the URI scheme for certification requests. To this end, the URI scheme for
addressing endpoints at the registrar is generalized (see addressing endpoints at the registrar is generalized (see
Section 4.3). Section 4.3).
2. Rather than having full RA functionality, the registrar MAY 2. Rather than having full RA functionality, the registrar MAY
act as a local registration authority (LRA) and delegate part act as a Local Registration Authority (LRA) and delegate part
of its involvement in certificate enrollment to a backend RA. of its involvement in certificate enrollment to a backend RA.
In such scenarios, the registrar optionally checks In such scenarios, the registrar optionally checks
certification requests it receives from pledges and forwards certification requests it receives from pledges and forwards
them to the backend RA, which performs the remaining parts of them to the backend RA, which performs the remaining parts of
the enrollment request validation and authorization. Note the enrollment request validation and authorization. Note
that to this end the backend RA may need information regarding that to this end, the backend RA may need information
the authorization of pledges from the registrar or from other regarding the authorization of pledges from the registrar or
sources. On the way back, the registrar forwards responses by from other sources. On the way back, the registrar forwards
the PKI to the pledge on the same channel. responses by the PKI to the pledge on the same channel.
To support end-to-end authentication of the pledge across the To support end-to-end authentication of the pledge across the
registrar to the backend RA, the certification request signed registrar to the backend RA, the certification request signed
by the pledge needs to be upheld and forwarded by the by the pledge needs to be upheld and forwarded by the
registrar. Therefore, the registrar cannot use for its registrar. Therefore, for its communication with the PKI, the
communication with the PKI an enrollment protocol that is registrar cannot use an enrollment protocol that is different
different from the enrollment protocol used between the pledge from the enrollment protocol used between the pledge and the
and the registrar. registrar.
3. The use of a certificate enrollment protocol with 3. The use of a certificate enrollment protocol with
authenticated self-contained objects gives freedom how to authenticated self-contained objects gives freedom with how to
transfer enrollment messages between the pledge and an RA. transfer enrollment messages between the pledge and an RA.
BRSKI demands that the RA accept certification requests for BRSKI demands that the RA accept certification requests for
LDevIDs only with the consent of the registrar. BRSKI-AE LDevIDs only with the consent of the registrar. BRSKI-AE also
guarantees this also in case that the RA is not part of the guarantees this in the case that the RA is not part of the
registrar, even if the message exchange with backend systems registrar, even if the message exchange with backend systems
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 to 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: functionality as described in BRSKI [RFC8995]. The voucher * MASA: This has the functionality as described in BRSKI [RFC8995].
exchange with the MASA via the domain registrar is performed as The voucher exchange with the MASA via the domain registrar is
described in BRSKI. performed as described in BRSKI.
Note: From the definition of the interaction with the MASA in Note: From the definition of the interaction with the MASA in
[RFC8995], Section 5 follows that it may be synchronous (using [RFC8995], Section 5 follows that it may be synchronous (using
voucher request with nonces) or asynchronous (using nonceless voucher requests with nonces) or asynchronous (using nonceless
voucher requests). voucher requests).
* Ownership tracker: as defined in BRSKI. * Ownership Tracker: This is as defined in BRSKI.
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: performs centralized certificate management functions as a * RA: This performs centralized certificate management functions as
public-key infrastructure for the domain operator. As far as not a public-key infrastructure for the domain operator. As far as
already done by the domain registrar, it performs the final not already done 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: generates domain-specific certificates * CA (also called "domain CA"): This generates domain-specific
according to certification requests that have been authenticated certificates according to certification requests that have been
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 BRSKI [RFC8995], Section 2.1 and the
architectural changes, the original protocol flow is divided into architectural changes, the original protocol flow is divided into
several phases showing commonalities and differences to the original several phases showing commonalities and differences with the
approach as follows. original approach as follows.
* Discovery phase: mostly as in BRSKI step (1). For details see * Discovery phase: This is mostly as in step (1) of [RFC8995]. For
Section 4.2.1. details, see Section 4.2.1.
* Identification phase: same as in BRSKI step (2). * Identification phase: This is the same as in step (2) of
[RFC8995].
* Voucher exchange phase: same as in BRSKI steps (3) and (4). * Voucher exchange phase: This is the same as in steps (3) and (4)
of [RFC8995].
* Voucher status telemetry: same as in BRSKI directly after step * Voucher status telemetry: This is the same as directly after step
(4). (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 For transporting the certificate enrollment request and response
messages, the (D)TLS channel established between pledge and messages, the (D)TLS channel established between pledge and
registrar is REQUIRED to use. To this end, the enrollment registrar is REQUIRED to use. 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: the final exchange of BRSKI step (5). * Enrollment status telemetry: This is the final exchange of step
(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 BRSKI [RFC8995], Section 2.1 is
kept, with one major exception. After finishing the Imprint step kept, with one major exception. After finishing the Imprint step
(4), the Enroll step (5) MUST be performed with an enrollment (4), the Enroll step (5) MUST be performed with an enrollment
protocol utilizing authenticated self-contained objects, as explained protocol utilizing authenticated self-contained objects, as explained
in Section 3. Section 5 discusses selected suitable enrollment in Section 3. Section 5 discusses selected suitable enrollment
protocols and options applicable. protocols and options applicable.
An abstract overview of the BRSKI-AE protocol can be found at An abstract overview of the BRSKI-AE protocol can be found at
[BRSKI-AE-overview]. [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 BRSKI [RFC8995], Section 4 does not support
the discovery of registrars with enhanced feature sets. A pledge can the discovery of registrars with enhanced feature sets. A pledge
not find out in this way whether discovered registrars support the cannot 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 registrars. For further discussion, see [BRSKI-DISCOVERY].
[I-D.ietf-anima-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 This replaces the EST integration for PKI bootstrapping described in
[RFC8995], Section 5.9 (while [RFC8995], Section 5.9.4 remains as the [RFC8995], Section 5.9 (while [RFC8995], Section 5.9.4 remains as the
final phase, see below). 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 the below Figure 2 Note: The message exchanges marked OPTIONAL in Figure 2 below cover
cover all those supported by the use of EST in BRSKI. The last all those supported by the use of EST in BRSKI. The last OPTIONAL
OPTIONAL one, namely certificate confirmation, is not supported by one, namely certificate confirmation, is not supported by EST but by
EST, but by CMP and other enrollment protocols. 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 page 17, line 43 skipping to change at line 756
|[OPTIONAL certificate confirmation] | | |[OPTIONAL certificate confirmation] | |
|------- Certificate Confirm (7) ---->| | |------- Certificate Confirm (7) ---->| |
| | [OPTIONAL forwarding] | | | [OPTIONAL forwarding] |
| |--- Certificate Confirm--->| | |--- Certificate Confirm--->|
| |<-- 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 off- components of the operator (RA, CA, etc.) may be intermittent or
line. 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 The label [OPTIONAL forwarding] in Figure 2 means that on receiving a
from a pledge a request message of the given type, the registrar MAY 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 and of the
local RA possibly co-located with the registrar, the enrollment local RA possibly co-located with the registrar, the enrollment
skipping to change at page 18, line 29 skipping to change at line 784
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
an error response in case it determines that such a request should be an error response in case it determines that such a request should be
rejected, for instance, because is not properly authenticated or not rejected, for instance, because it is not properly authenticated or
authorized.Also, certificate confirmation messages will usually be authorized. Also, certificate confirmation messages will usually be
forwarded to the backend PKI, but if the registrar knows that they forwarded to the backend PKI, but if the registrar knows that they
are not needed or wanted there it can acknowledge such messages are not needed or wanted there, it can acknowledge such messages
directly. directly.
The following list provides an abstract description of the flow The following list provides an abstract description of the flow
depicted in Figure 2. depicted in Figure 2.
* CA Certs Request (1): The pledge optionally requests the latest * CA Certs Request (1): The pledge optionally requests the latest
relevant CA certificates. This ensures that the pledge has the relevant CA certificates. This ensures that the pledge has the
complete set of current CA certificates beyond the pinned-domain- complete set of current CA certificates beyond the pinned-domain-
cert (which is contained in the voucher and which may be just the cert (which is contained in the voucher and which may be just the
domain registrar certificate). domain registrar certificate).
* CA Certs Response (2): This MUST contain any intermediate CA * CA Certs Response (2): This MUST contain any intermediate CA
certificates that the pledge may need to validate certificates and certificates that the pledge may need to validate certificates and
MAY contain the LDevID trust anchor. MAY contain the LDevID trust anchor.
* Attribute Request (3): Typically, the automated bootstrapping * Attribute Request (3): Typically, the automated bootstrapping
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
in the Certification Request (5) additional attributes that are additional attributes that are specific to the target domain in
specific to the target domain. 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 ACP domain. name field required for enrollment into an Autonomic Control 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): This MUST contain on success 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.
* Certificate Confirm (7): An optional confirmation sent after the * Certificate Confirm (7): This is an optional confirmation that is
requested certificate has been received and validated. If sent, sent after the requested certificate has been received and
it MUST contain a positive or negative confirmation by the pledge validated. If sent, it MUST contain a positive or negative
to the PKI whether the certificate was successfully enrolled and confirmation by the pledge to the PKI whether the certificate was
fits its needs. successfully enrolled and fits its needs.
* PKI/Registrar Confirm (8): An acknowledgment by the PKI that MUST * PKI/Registrar Confirm (8): This is an acknowledgment by the PKI
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 to the
PKI described above is independent of the mandatory enrollment status PKI described above is independent of the mandatory enrollment status
telemetry done between the pledge and the registrar in the final telemetry done between the pledge and the registrar in the final
phase of BRSKI-AE, described next. 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 BRSKI, this is described as part of the certificate enrollment
step, but due to the generalization on 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
see also 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 and the The addressing scheme in BRSKI for certification requests, related CA
related CA certificates and CSR attributes retrieval functions uses certificates, and CSR attributes retrieval functions uses the
the definition from EST [RFC7030]. Here is the example of simple definition from EST [RFC7030]. An example of simple enrollment is:
enrollment: "/.well-known/est/simpleenroll". This approach is "/.well-known/est/simpleenroll". This approach is generalized to the
generalized to the following notation: "/.well-known/<enrollment- following notation: "/.well-known/<enrollment-protocol>/<request>" in
protocol>/<request>" in which <enrollment-protocol> refers to a which <enrollment-protocol> refers to a certificate enrollment
certificate enrollment protocol. Note that enrollment is considered protocol. Note that here, enrollment is considered a message
here a message sequence that contains at least a certification sequence that contains at least a certification request and a
request and a certification response. The following conventions are certification response. The following conventions are used to
used to provide maximal compatibility with BRSKI: provide maximal compatibility with BRSKI:
* <enrollment-protocol>: MUST reference the protocol being used. * <enrollment-protocol>: This MUST reference the protocol being
Existing values include 'est' [RFC7030] as in BRSKI and 'cmp' as used. Existing values include 'est' [RFC7030] as in BRSKI and
in [RFC9483] and Section 5.1 below. Values for other existing 'cmp' as in [RFC9483] and Section 5.1 below. Values for other
protocols such as CMC and SCEP, as well as for 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, * <request>: If present, this path component MUST describe the
depending on the enrollment protocol being used, the operation operation requested depending on the enrollment protocol being
requested. Enrollment protocols are expected to define their used. Enrollment protocols are expected to define their request
request endpoints, as done by existing protocols (see also endpoints, as is done by existing protocols (also see Section 5).
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
protocol(s) that it can use. It will recognize whether the protocol protocol(s) that it can use. It will recognize whether the protocol
it uses and the specific request it wants to perform are understood it uses and the specific request it wants to perform are understood
and supported by the domain registrar by sending the request to the and supported by the domain registrar. This is done by sending the
respective endpoint according to the above addressing scheme and then request to the respective endpoint according to the above addressing
evaluating the HTTP status code of the response. If the pledge uses scheme and then evaluating the HTTP status code of the response. If
endpoints that are not standardized, it risks that the registrar does the pledge uses endpoints that are not standardized, it risks that
not recognize a request and thus may reject it, even if the registrar the registrar does not recognize a request and thus may reject it
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
skipping to change at page 21, line 37 skipping to change at line 931
/.well-known/cmp/initialization /.well-known/cmp/initialization
/.well-known/cmp/pkcs10 /.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) [RFC9483] rather than [RFC4210] and [RFC9480], as the
subset of CMP defined in LCMPP sufficiently meets the required subset of CMP defined in LCMPP sufficiently meets the required
functionality. 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
the CMP client can be stronger than for EST because they do not the CMP client can be stronger than for EST because they do not
need to be performed hop-by-hop, but are usually end-to-end. need to be performed hop-by-hop but are usually end-to-end.
* CA Certs Request (1) and Response (2): * CA Certs Request (1) and Response (2): Requesting CA certificates
Requesting CA certificates is OPTIONAL. is OPTIONAL. If supported, it SHALL be implemented as specified
If supported, it SHALL be implemented as specified in [RFC9483], in [RFC9483], Section 4.3.1.
Section 4.3.1.
* Attribute Request (3) and Response (4): * Attribute Request (3) and Response (4): Requesting certification
Requesting certification request attributes is OPTIONAL. request attributes is OPTIONAL. If supported, it SHALL be
If supported, it SHALL be implemented as specified in [RFC9483], implemented as specified in [RFC9483], Section 4.3.3.
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): * Certification Request (5) and Response (6): Certificates SHALL be
Certificates SHALL be requested and provided as specified in LCMPP requested and provided as specified in LCMPP [RFC9483],
[RFC9483], Section 4.1.1 (based on CRMF) or [RFC9483], Section 4.1.1 (based on CRMF) or [RFC9483], Section 4.1.4 (based
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 If additional trust anchors beyond the pinned-domain-cert need to
to be conveyed to the pledge, this SHOULD be done in the caPubs be conveyed to the pledge, this SHOULD be done in the caPubs field
field of the certification response rather than through a CA Certs of the certification response rather than through a CA Certs
Response. Response.
* Certificate Confirm (7) and PKI/Registrar Confirm (8): * Certificate Confirm (7) and PKI/Registrar Confirm (8): Explicit
Explicit confirmation of new certificates to the RA/CA MAY be used confirmation of new certificates to the RA/CA MAY be used as
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 CMP,
enrollment status telemetry with the registrar at the BRSKI level enrollment status telemetry with the registrar at the BRSKI level
will be performed as described in [RFC8995], Section 5.9.4. 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 Section 4.4 and Section 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
security and privacy considerations, refer to Section 7 and security and privacy considerations, refer to Sections 7 and 8.
Section 8. 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
[I-D.ietf-anima-constrained-voucher], using CoAP for enrollment [cBRSKI], using CoAP for enrollment message transport as described by
message transport as described by CoAP Transport for CMP [RFC9482]. CoAP Transfer for CMP [RFC9482]. In such scenarios, the EST-specific
In such scenarios, the EST-specific parts of parts of [cBRSKI] do not apply.
[I-D.ietf-anima-constrained-voucher] 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), registrars with CMP support is not available (cf. Section 4.2.1), the
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 BRSKI [RFC8995], Appendix B, but use the service name
"brski-reg-cmp" (as defined in Section 6) instead of "brski- "brski-reg-cmp" (as defined in Section 6) instead of "brski-
registrar" (as defined in [RFC8995], Section 8.6). Note that this registrar" (as defined in [RFC8995], Section 8.6). Note that this
approach does not support join proxies. approach does not 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.
The fullCMC variant of EST sketched in [RFC7030], Section 2.5 might The fullCMC variant of EST sketched in [RFC7030], Section 2.5 might
also be used here. For EST-fullCMC further specification is also be used here. For EST-fullCMC, further specification is
necessary. necessary.
6. IANA Considerations 6. IANA Considerations
This document requires one IANA action: register in the Service Name IANA has registered the following service name in the "Service Name
and Transport Protocol Port Number Registry and Transport Protocol Port Number Registry"
(https://www.iana.org/assignments/service-names-port-numbers/service- <https://www.iana.org/assignments/service-names-port-numbers/service-
names-port-numbers.xhtml) the following service name. names-port-numbers.xhtml>.
*Service Name:* brski-reg-cmp Service Name: brski-reg-cmp
*Transport Protocol(s):* tcp Transport Protocol(s): tcp
*Assignee:* IESG iesg@ietf.org (mailto:iesg@ietf.org) Description: Bootstrapping Remote Secure Key Infrastructure
*Contact:* IETF chair@ietf.org (mailto:chair@ietf.org) registrar with CMP capabilities according to the Lightweight CMP
*Description:* Bootstrapping Remote Secure Key Infrastructure Profile (LCMPP) [RFC9483]
registrar with CMP capabilities according to the Lightweight CMP Assignee: IESG iesg@ietf.org (mailto:iesg@ietf.org)
Profile (LCMPP, [RFC9483]) Contact: IETF chair@ietf.org (mailto:chair@ietf.org)
*Reference:* [THISRFC] Reference: RFC 9733
Note: We chose here the suffix "cmp" 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 the
normative CMP instantiation of BRSKI-AE, which implies adherence to normative CMP instantiation of BRSKI-AE, which implies adherence to
LCMPP is necessary and sufficient. 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 BRSKI [RFC8995], Section 11
apply to the discovery and voucher exchange as well as for the status apply 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 pertains also 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 can domain-specific certificate, it must be made sure that a pledge
not circumvent the registrar in the decision of whether it is granted cannot circumvent the registrar in the decision of whether it is
an LDevID certificate by the CA. There are various ways how to granted an LDevID certificate by the CA. There are various ways to
fulfill this, including: fulfill this, including:
* implicit consent * implicit consent;
* the registrar signals its consent to the RA out-of-band before or * the registrar signaling its consent to the RA out-of-band before
during the enrollment phase, for instance by entering the pledge or during the enrollment phase, for instance, by entering the
identity in a database. pledge identity in a database;
* the registrar provides 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. possibly in a TLS tunnel; and
* the registrar explicitly states its consent by signing, in * the registrar explicitly stating its consent by signing the
addition to the pledge, the authenticated self-contained authenticated self-contained certificate enrollment request
certificate enrollment request message. 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 consent on a
certification request by forwarding the request to a PKI entity using certification request by forwarding the request to a PKI entity using
a connection authenticated with a certificate containing an id-kp- a connection authenticated with a certificate containing an id-kp-
cmcRA extension. cmcRA extension.
When CMP is used, the security considerations laid out in the LCMPP When CMP is used, the security considerations laid out in LCMPP
[RFC9483] apply. [RFC9483] apply.
8. Privacy Considerations 8. Privacy Considerations
The privacy considerations laid out in BRSKI [RFC8995], Section 10 The privacy considerations laid out in BRSKI [RFC8995], Section 10
apply as well. apply as 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. This in turn 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.
9. Acknowledgments 9. References
We thank Eliot Lear for his contributions as a co-author at an
earlier draft stage.
We thank Brian E. Carpenter, Michael Richardson, and Giorgio
Romanenghi for their input and discussion on use cases and call
flows.
Moreover, we thank Toerless Eckert (document shepherd), Barry Leiba
(SECdir review), Mahesh Jethanandani (IETF area director), Meral
Shirazipour (Gen-ART reviewer), Reshad Rahman (YANGDOCTORS reviewer),
Deb Cooley, Gunter Van de Velde, John Scudder, Murray Kucherawy,
Roman Danyliw, and Éric Vyncke (IESG reviewers), Michael Richardson
(ANIMA design team member), as well as Rajeev Ranjan, Rufus Buschart,
Andreas Reiter, and Szofia Fazekas-Zisch (Siemens colleagues) for
their reviews with suggestions for improvements.
10. References
10.1. Normative References 9.1. Normative References
[IEEE_802.1AR-2018] [IEEE_802.1AR-2018]
IEEE, "IEEE Standard for Local and Metropolitan Area IEEE, "IEEE Standard for Local and Metropolitan Area
Networks - Secure Device Identity", IEEE 802.1AR-2018, Networks - Secure Device Identity", IEEE 802.1AR-2018,
DOI 10.1109/IEEESTD.2018.8423794, August 2018, DOI 10.1109/IEEESTD.2018.8423794, August 2018,
<https://ieeexplore.ieee.org/document/8423794>. <https://ieeexplore.ieee.org/document/8423794>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/rfc/rfc5280>. <https://www.rfc-editor.org/info/rfc5280>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8995] Pritikin, M., Richardson, M., Eckert, T., Behringer, M., [RFC8995] Pritikin, M., Richardson, M., Eckert, T., Behringer, M.,
and K. Watsen, "Bootstrapping Remote Secure Key and K. Watsen, "Bootstrapping Remote Secure Key
Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995, Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995,
May 2021, <https://www.rfc-editor.org/rfc/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/rfc/rfc9483>. <https://www.rfc-editor.org/info/rfc9483>.
10.2. Informative References 9.2. Informative References
[BRSKI-AE-overview] [BRSKI-AE-OVERVIEW]
S. Fries and D. von Oheimb, "BRSKI-AE Protocol Overview", von Oheimb, D., Ed., Fries, S., and H. Brockhaus, "Update
March 2023, on BRSKI-AE: Alternative Enrollment Protocols in BRSKI",
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>. Graphics on slide 4 of enrollment-protocols-in-brski-00>.
the status update on the BRSKI-AE draft 04 at IETF 116.
[I-D.ietf-anima-brski-discovery] [BRSKI-DISCOVERY]
Eckert, T. T. and E. Dijk, "Discovery for BRSKI 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-04, 25 July 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-04>. brski-discovery-05>.
[I-D.ietf-anima-constrained-voucher] [cBRSKI] Richardson, M., Van der Stok, P., Kampanakis, P., and E.
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-25, 8 July Draft, draft-ietf-anima-constrained-voucher-26, 8 January
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- 2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
anima-constrained-voucher-25>. anima-constrained-voucher-26>.
[IEC-62351-9] [IEC-62351-9]
International Electrotechnical Commission, "IEC 62351 - International Electrotechnical Commission, "Power systems
Power systems management and associated information management and associated information exchange - Data and
exchange - Data and communications security - Part 9: communications security - Part 9: Cyber security key
Cyber security key management for power system equipment", management for power system equipment", IEC 62351-9:2017,
IEC 62351-9, May 2017. May 2017, <https://webstore.iec.ch/en/publication/30287>.
[ISO-IEC-15118-2] [ISO-IEC-15118-2]
International Standardization Organization / International International Organization for Standardization, "Road
Electrotechnical Commission, "ISO/IEC 15118-2 Road
vehicles - Vehicle-to-Grid Communication Interface - Part vehicles - Vehicle-to-Grid Communication Interface - Part
2: Network and application protocol requirements", ISO/ 2: Network and application protocol requirements",
IEC 15118-2, April 2014. ISO 15118-2:2014, April 2014,
<https://www.iso.org/standard/55366.html>.
[NERC-CIP-005-5] [NERC-CIP-005-5]
North American Reliability Council, "Cyber Security - North American Electric Reliability Council, "Cyber
Electronic Security Perimeter", CIP 005-5, December 2013. Security - Electronic Security Perimeter", CIP 005-5,
December 2013.
[OCPP] Open Charge Alliance, "Open Charge Point Protocol 2.0.1 [OCPP] Open Charge Alliance, "Open Charge Point Protocol 2.0.1
(Draft)", December 2019. (Draft)", December 2019.
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986, Request Syntax Specification Version 1.7", RFC 2986,
DOI 10.17487/RFC2986, November 2000, DOI 10.17487/RFC2986, November 2000,
<https://www.rfc-editor.org/rfc/rfc2986>. <https://www.rfc-editor.org/info/rfc2986>.
[RFC4210] Adams, C., Farrell, S., Kause, T., and T. Mononen, [RFC4210] Adams, C., Farrell, S., Kause, T., and T. Mononen,
"Internet X.509 Public Key Infrastructure Certificate "Internet X.509 Public Key Infrastructure Certificate
Management Protocol (CMP)", RFC 4210, Management Protocol (CMP)", RFC 4210,
DOI 10.17487/RFC4210, September 2005, DOI 10.17487/RFC4210, September 2005,
<https://www.rfc-editor.org/rfc/rfc4210>. <https://www.rfc-editor.org/info/rfc4210>.
[RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure
Certificate Request Message Format (CRMF)", RFC 4211, Certificate Request Message Format (CRMF)", RFC 4211,
DOI 10.17487/RFC4211, September 2005, DOI 10.17487/RFC4211, September 2005,
<https://www.rfc-editor.org/rfc/rfc4211>. <https://www.rfc-editor.org/info/rfc4211>.
[RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS [RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS
(CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008, (CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008,
<https://www.rfc-editor.org/rfc/rfc5272>. <https://www.rfc-editor.org/info/rfc5272>.
[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
RFC 5652, DOI 10.17487/RFC5652, September 2009, RFC 5652, DOI 10.17487/RFC5652, September 2009,
<https://www.rfc-editor.org/rfc/rfc5652>. <https://www.rfc-editor.org/info/rfc5652>.
[RFC5929] Altman, J., Williams, N., and L. Zhu, "Channel Bindings [RFC5929] Altman, J., Williams, N., and L. Zhu, "Channel Bindings
for TLS", RFC 5929, DOI 10.17487/RFC5929, July 2010, for TLS", RFC 5929, DOI 10.17487/RFC5929, July 2010,
<https://www.rfc-editor.org/rfc/rfc5929>. <https://www.rfc-editor.org/info/rfc5929>.
[RFC6955] Schaad, J. and H. Prafullchandra, "Diffie-Hellman Proof- [RFC6955] Schaad, J. and H. Prafullchandra, "Diffie-Hellman Proof-
of-Possession Algorithms", RFC 6955, DOI 10.17487/RFC6955, of-Possession Algorithms", RFC 6955, DOI 10.17487/RFC6955,
May 2013, <https://www.rfc-editor.org/rfc/rfc6955>. May 2013, <https://www.rfc-editor.org/info/rfc6955>.
[RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed., [RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed.,
"Enrollment over Secure Transport", RFC 7030, "Enrollment over Secure Transport", RFC 7030,
DOI 10.17487/RFC7030, October 2013, DOI 10.17487/RFC7030, October 2013,
<https://www.rfc-editor.org/rfc/rfc7030>. <https://www.rfc-editor.org/info/rfc7030>.
[RFC8366] Watsen, K., Richardson, M., Pritikin, M., and T. Eckert, [RFC8366] Watsen, K., Richardson, M., Pritikin, M., and T. Eckert,
"A Voucher Artifact for Bootstrapping Protocols", "A Voucher Artifact for Bootstrapping Protocols",
RFC 8366, DOI 10.17487/RFC8366, May 2018, RFC 8366, DOI 10.17487/RFC8366, May 2018,
<https://www.rfc-editor.org/rfc/rfc8366>. <https://www.rfc-editor.org/info/rfc8366>.
[RFC8894] Gutmann, P., "Simple Certificate Enrolment Protocol", [RFC8894] Gutmann, P., "Simple Certificate Enrolment Protocol",
RFC 8894, DOI 10.17487/RFC8894, September 2020, RFC 8894, DOI 10.17487/RFC8894, September 2020,
<https://www.rfc-editor.org/rfc/rfc8894>. <https://www.rfc-editor.org/info/rfc8894>.
[RFC8994] Eckert, T., Ed., Behringer, M., Ed., and S. Bjarnason, "An [RFC8994] Eckert, T., Ed., Behringer, M., Ed., and S. Bjarnason, "An
Autonomic Control Plane (ACP)", RFC 8994, Autonomic Control Plane (ACP)", RFC 8994,
DOI 10.17487/RFC8994, May 2021, DOI 10.17487/RFC8994, May 2021,
<https://www.rfc-editor.org/rfc/rfc8994>. <https://www.rfc-editor.org/info/rfc8994>.
[RFC9148] van der Stok, P., Kampanakis, P., Richardson, M., and S. [RFC9148] van der Stok, P., Kampanakis, P., Richardson, M., and S.
Raza, "EST-coaps: Enrollment over Secure Transport with Raza, "EST-coaps: Enrollment over Secure Transport with
the Secure Constrained Application Protocol", RFC 9148, the Secure Constrained Application Protocol", RFC 9148,
DOI 10.17487/RFC9148, April 2022, DOI 10.17487/RFC9148, April 2022,
<https://www.rfc-editor.org/rfc/rfc9148>. <https://www.rfc-editor.org/info/rfc9148>.
[RFC9480] Brockhaus, H., von Oheimb, D., and J. Gray, "Certificate [RFC9480] Brockhaus, H., von Oheimb, D., and J. Gray, "Certificate
Management Protocol (CMP) Updates", RFC 9480, Management Protocol (CMP) Updates", RFC 9480,
DOI 10.17487/RFC9480, November 2023, DOI 10.17487/RFC9480, November 2023,
<https://www.rfc-editor.org/rfc/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/rfc/rfc9482>. November 2023, <https://www.rfc-editor.org/info/rfc9482>.
[UNISIG-Subset-137] [UNISIG-Subset-137]
UNISIG, "Subset-137; ERTMS/ETCS On-line Key Management UNISIG, "ERTMS/ETCS On-line Key Management FFFIS", Subset-
FFFIS; V1.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/sites/default/files/filesystem/
ertms/ccs_tsi_annex_a_-_mandatory_specifications/ ertms/ccs_tsi_annex_a_-_mandatory_specifications/
set_of_specifications_3_etcs_b3_r2_gsm-r_b1/index083_- set_of_specifications_3_etcs_b3_r2_gsm-r_b1/index083_-
_subset-137_v100.pdf>. _subset-137_v100.pdf>.
http://www.kmc-subset137.eu/index.php/download/
Appendix A. Application Examples Appendix A. Application Examples
This informative annex provides some detail 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, which communicate within the railroad car actuators, and controllers. These communicate within the railroad
but also exchange information between railroad cars forming a train, car but also exchange information between railroad cars, forming a
with track-side equipment, and/or possibly with backend systems. train with track-side equipment and/or possibly with backend systems.
These devices are typically unaware of backend system connectivity. These devices are typically unaware of backend system connectivity.
Enrolling certificates may be done during maintenance cycles of the Enrolling certificates may be done during maintenance cycles of the
railroad car, but can already be prepared during operation. Such railroad car but can already be prepared during operation. Such
asynchronous enrollment will include generating certification asynchronous enrollment will include generating certification
requests, which are collected and later forwarded for processing requests, which are collected and later forwarded for processing
whenever the railroad car gets connectivity with the backend PKI of whenever the railroad car gets connectivity with the backend PKI of
the operator. The authorization of the certification request is then the operator. The authorization of the certification request is then
done based on the operator's asset/inventory information in the done based on the operator's asset/inventory information in the
backend. 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 specifying the ETRAM/ETCS online key management for in the Subset-137, which specifies the ETRAM/ETCS online key
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
controllers that are connected to each other in a local network but controllers that are connected to each other in a local network but
with only limited or no connectivity to a central building management with only limited or no connectivity to a central building management
system. This problem may occur during installation time but also system. This problem may occur during installation time but also
during operation. In such a situation a service technician collects during operation. In such a situation, a service technician collects
the necessary data and transfers it between the local network and the the necessary data and transfers it between the local network and the
central building management system, e.g., using a laptop or a mobile central building management system, e.g., using a laptop or a mobile
phone. This data may comprise parameters and settings required in phone. This data may comprise parameters and settings required in
the operational phase of the sensors/actuators, like a component the operational phase of the sensors/actuators, like a component
certificate issued by the operator to authenticate against other certificate issued by the operator to authenticate against other
components and services. components and services.
The collected data may be provided by a domain registrar already The collected data may be provided by a domain registrar already
existing in the local network. In this case connectivity to the existing in the local network. In this case, connectivity to the
backend PKI may be facilitated by the service technician's laptop. backend PKI may be facilitated by the service technician's laptop.
Alternatively, the data can also be collected from the pledges Alternatively, the data can also be collected from the pledges
directly and provided to a domain registrar deployed in a different directly and provided to a domain registrar deployed in a different
network in preparation for the operational phase. In this case, network in preparation for the operational phase. In this case,
connectivity to the domain registrar may also be facilitated by the connectivity to the domain registrar may also be facilitated by the
service technician's laptop. service technician's laptop.
A.3. Substation Automation A.3. Substation Automation
In electrical substation automation scenarios, a control center In electrical substation automation scenarios, a control center
typically hosts PKI services to issue certificates for Intelligent typically hosts PKI services to issue certificates for Intelligent
Electronic Devices operated in a substation. Communication between Electronic Devices (IEDs) operated in a substation. Communication
the substation and control center is performed through a between the substation and control center is performed through a
proxy/gateway/DMZ, which terminates protocol flows. Note that proxy/gateway/DMZ, which terminates protocol flows. Note that
[NERC-CIP-005-5] requires inspection of protocols at the boundary of [NERC-CIP-005-5] requires inspection of protocols at the boundary of
a security perimeter (the substation in this case). In addition, a security perimeter (in this case, the substation). In addition,
security management in substation automation assumes central support security management in substation automation assumes central support
of several enrollment protocols to support the various capabilities of several enrollment protocols to support the various capabilities
of IEDs from different vendors. The IEC standard IEC62351-9 of IEDs from different vendors. The IEC standard IEC62351-9
[IEC-62351-9] specifies for the infrastructure side mandatory support [IEC-62351-9] specifies mandatory support of two enrollment protocols
of two enrollment protocols: SCEP [RFC8894] and EST [RFC7030], while for the infrastructure side, SCEP [RFC8894] and EST [RFC7030], while
an Intelligent Electronic Device may support only one of them. an IED may support only one of them.
A.4. Electric Vehicle Charging Infrastructure A.4. Electric Vehicle Charging Infrastructure
For electric vehicle charging infrastructure, protocols have been For electric vehicle charging infrastructure, protocols have been
defined for the interaction between the electric vehicle and the defined for the interaction between the electric vehicle and the
charging point (e.g., ISO 15118-2 [ISO-IEC-15118-2]) as well as charging point (e.g., ISO 15118-2 [ISO-IEC-15118-2]) as well as
between the charging point and the charging point operator (e.g. between the charging point and the charging point operator (e.g.,
OCPP [OCPP]). Depending on the authentication model, unilateral or OCPP [OCPP]). Depending on the authentication model, unilateral or
mutual authentication is required. In both cases, the charging point mutual authentication is required. In both cases, the charging point
uses an X.509 certificate to authenticate itself in TLS channels uses an X.509 certificate to authenticate itself in TLS channels
between the electric vehicle and the charging point. The management between the electric vehicle and the charging point. The management
of this certificate depends, among others, on the selected backend of this certificate depends, among other things, on the selected
connectivity protocol. In the case of OCPP, this protocol is meant backend connectivity protocol. In the case of OCPP, this protocol is
to be the only communication protocol between the charging point and meant to be the only communication protocol between the charging
the backend, carrying all information to control the charging point and the backend, carrying all information to control the
operations and maintain the charging point itself. This means that charging operations and maintain the charging point itself. This
the certificate management needs to be handled in-band of OCPP. This means that the certificate management needs to be handled in-band of
requires the ability to encapsulate the certificate management OCPP. This requires the ability to encapsulate the certificate
messages in a transport-independent way. Authenticated self- management messages in a transport-independent way. Authenticated
containment will support this by allowing the transport without a self-containment will support this by allowing the transport without
separate enrollment protocol, binding the messages to the identity of a separate enrollment protocol, binding the messages to the identity
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 This refers to any case in which network infrastructure is normally
isolated from the Internet as a matter of policy, most likely for isolated from the Internet as a matter of policy, most likely for
security reasons. In such a case, limited access to external PKI security reasons. In such a case, limited access to external PKI
services will be allowed in carefully controlled short periods of services will be allowed in carefully controlled short periods of
time, for example when a batch of new devices is deployed, and time (for example, when a batch of new devices is deployed) and
forbidden or prevented at other times. forbidden or prevented at other times.
A.6. Sites with Insufficient Level 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. registrars with co-located RAs may not be able to fulfill. In
Especially the CA/Browser forum currently increases the security particular, the CA/Browser forum currently increases the security
requirements in the certificate issuance procedures for publicly requirements in the certificate issuance procedures for publicly
trusted certificates, i.e., those placed in trust stores of browsers, trusted certificates, i.e., those placed in trust stores of browsers,
which may be used to connect with devices in the domain. In case the which may be used to connect with devices in the domain. In case the
on-site components of the target domain can not be operated securely on-site components of the target domain cannot be operated securely
enough for the needs of an RA, this service should be transferred to enough for the needs of an RA, this service should be transferred to
an off-site backend component that has a sufficient level of an off-site backend component that has a sufficient level of
security. security.
Appendix B. History of Changes TBD RFC Editor: please delete Acknowledgments
List of reviewers:
* Toerless Eckert (document shepherd)
* Barry Leiba (SECdir)
* Mahesh Jethanandani (IETF area director)
* Meral Shirazipour (Gen-ART reviewer)
* Deb Cooley, Gunter Van de Velde, John Scudder, Murray Kucherawy,
Roman Danyliw, and Éric Vyncke (IESG reviewers)
* Michael Richardson (ANIMA design team)
* Rajeev Ranjan, Rufus Buschart, Szofia Fazekas-Zisch, etc.
(Siemens)
* Reshad Rahman (YANGDOCTORS reviewer). Note that YANGDOCTORS Early
review of 2021-08-15 (https://datatracker.ietf.org/doc/review-
ietf-anima-brski-async-enroll-03-yangdoctors-early-rahman-
2021-08-15/) referred to the PRM aspect of draft-ietf-anima-brski-
async-enroll-03 (https://datatracker.ietf.org/doc/draft-ietf-
anima-brski-async-enroll/03/). This has been carved out of the
draft to a different one and thus is no more applicable here.
IETF draft ae-12 -> ae-13:
* Due to IANA requirement, shorten service name "brski-registrar-
cmp" to "brski-reg-cmp"
and change contact for service name registration from IESG to IETF
* Address Deb Cooley's DISCUSS by adding an item to the requirements
list Section 5.1 making the source of the initial trust anchor
explicit.
Including the vouchers in Figure 2 would not fit because the
figure has a different scope (namely, certificate enrollment) and
would get overloaded.
* Address Gunter Van de Velde's comments by taking over essentially
all his rewrites of text to help the structure and simplify
reading the content, while keeping the original message, as it
helps improve document quality
* Address John Scudder's comments by tweaking Section 2, fully
alphabetizing terms
* Address Murray Kucherawy's comment by adapting terminology
entries, leaving out 'communication' from 'asynchronous
communication' and 'synchronous communication'
* Address Roman Danyliw's comments by updating reference
I-D.eckert-anima-brski-discovery to I-D.ietf-anima-brski-discovery
and adding Section 8, which refers to the BRSKI privacy
considerations.
* Address Éric Vyncke's comment by replacing 'production' by
'manufacturing'
IETF draft ae-11 -> ae-12:
* Fix minor issues introduced during authors' response to the AD
review,
including nits spotted in the Gen-ART review by Meral Shirazipour
IETF draft ae-10 -> ae-11:
* In response to AD review by Mahesh Jethanandani,
- replace most occurrences of 'Note:' by 'Note that' or the like
- move 2nd paragraph of abstract to the introduction
- remove section 1.2 and merge its first paragraph with the
preceding section
- reconsider normative language, replacing one 'may' by 'MAY' in
section 4.1
- fix several ambiguities and hard-to-read sentences by re-
phrasing them
- make wording more consistent, in particular: 'certification
request'
- fix a number of (mostly grammar) nits
* Improve item on limitations of PKCS#10 regarding keys that cannot
sign
IETF draft ae-09 -> ae-10:
* Add reference to RFC 8633 at first occurrence of 'voucher' (fixes
#37)
* Update reference of CoAP Transfer for CMP from I-D to RFC 9482
* Move RFC 4210 and RFC 9480 references from normative to
informative
* Fix p10 vs. pkcs10 entry in list of example endpoints in
Section 4.3
* Minor fix in Figure 1 and few text tweaks due to Siemens-internal
review
* Extend the list of reviewers and acknowledgments by two Siemens
colleagues
IETF draft ae-08 -> ae-09:
* In response to review by Toerless,
- tweak abstract to make meaning of 'alternative enrollment' more
clear
- expand on first use not "well-known" abbreviations, such as
'EST',
adding also a references on their first use
- add summary and reason for choosing CMP at end of Section 3.2
- remove paragraph on optimistic discovery in controlled
environments
- mention role of reviewers also in acknowledgments section
* A couple of grammar and spelling fixes
IETF draft ae-07 -> ae-08:
* Update references to service names in Section 5.1
IETF draft ae-06 -> ae-07:
* Update subsections on discovery according to discussion in the
design team
* In Section 5.1, replace 'mandatory' by 'REQUIRED' regarding
adherence to LCMPP,
in response to SECDIR Last Call Review of ae-06 by Barry Leiba
IETF draft ae-05 -> ae-06:
* Extend section on discovery according to discussion in the design
team
* Make explicit that MASA voucher status telemetry is as in BRSKI
* Add note that on delegation, RA may need info on pledge
authorization
IETF draft ae-04 -> ae-05:
* Remove entries from the terminology section that should be clear
from BRSKI
* Tweak use of the terms IDevID and LDevID and replace PKI RA/CA by
RA/CA
* Add the abbreviation 'LCMPP' for Lightweight CMP Profile to the
terminology section
* State clearly in Section 5.1 that LCMPP is mandatory when using
CMP
* Change URL of BRSKI-AE-overview graphics to slide on IETF 116
meeting material
IETF draft ae-03 -> ae-04:
* In response to SECDIR Early Review of ae-03 by Barry Leiba,
- replace 'end-to-end security' by the more clear 'end-to-end
authentication'
- restrict the meaning of the abbreviation 'AE' to 'Alternative
Enrollment'
- replace 'MAY' by 'may' in requirement on delegated registrar
actions
- re-phrase requirement on certification request exchange,
avoiding MANDATORY
- mention that further protocol names need be put in Well-Known
URIs registry
- explain consequence of using non-standard endpoints, not
following SHOULD
- remove requirement that 'caPubs' field in CMP responses SHOULD
NOT be used
- add paragraph in security considerations on additional use of
TLS for CMP
* In response to further internal reviews and suggestions for
generalization,
- significantly cut down the introduction because the original
motivations and most explanations are no more needed and would
just make it lengthy to read
- sort out asynchronous vs. offline transfer, off-site vs.
backend components
- improve description of CSRs and proof of possession vs. proof
of origin
- clarify that the channel between pledge and registrar is not
restricted to TLS, but in connection with constrained BRSKI may
also be DTLS. Also move the references to Constrained BRSKI
and CoAPS to better contexts.
- clarify that the registrar must not be circumvented in the
decision to grant and LDevID, and give hints and
recommendations how to make sure this
- clarify that the cert enrollment phase may involve additional
messages and that BRSKI-AE replaces [RFC8995], Section 5.9
(except Section 5.9.4)
- the certificate enrollment protocol needs to support transport
over (D)TLS only as far as its messages are transported between
pledge and registrar.
- the certificate enrollment protocol chosen between pledge and
registrar needs to be used also for the upstream enrollment
exchange with the PKI only if end-to-end authentication shall
be achieved across the registrar to the PKI.
- add that with CMP, further trust anchors SHOULD be transported
via caPubs
- remove the former Appendix A: "Using EST for Certificate
Enrollment", moving relevant points to the list of scenarios in
Section 1.1: "Supported Scenarios",
- streamline the item on EST in Section 3.2: "Solution Options
for Proof of Identity",
- various minor editorial improvements like making the wording
more consistent
IETF draft ae-02 -> ae-03:
* In response to review by Toerless Eckert,
- many editorial improvements and clarifications as suggested,
such as the comparison to plain BRSKI, the description of
offline vs. synchronous message transfer and enrollment, and
better differentiation of RA flavors.
- clarify that for transporting certificate enrollment messages
between pledge and registrar, the TLS channel established
between these two (via the join proxy) is used and the
enrollment protocol MUST support this.
- clarify that the enrollment protocol chosen between pledge and
registrar MUST also be used for the upstream enrollment
exchange with the PKI.
- extend the description and requirements on how during the
certificate enrollment phase the registrar MAY handle requests
by the pledge itself and otherwise MUST forward them to the PKI
and forward responses to the pledge.
* Change "The registrar MAY offer different enrollment protocols" to
"The registrar MUST support at least one certificate enrollment
protocol ..."
* In response to review by Michael Richardson,
- slightly improve the structuring of the Message Exchange
Section 4.2 and add some detail on the request/response
exchanges for the enrollment phase
- merge the 'Enhancements to the Addressing Scheme' Section 4.3
with the subsequent one: 'Domain Registrar Support of
Alternative Enrollment Protocols'
- add reference to SZTP (RFC 8572)
- extend venue information
- convert output of ASCII-art figures to SVG format
- various small other text improvements as suggested/provided
* Remove the tentative informative application to EST-fullCMC
* Move Eliot Lear from co-author to contributor, add Eliot to the
acknowledgments
* Add explanations for terms such as 'target domain' and 'caPubs'
* Fix minor editorial issues and update some external references
IETF draft ae-01 -> ae-02:
* Architecture: clarify registrar role including RA/LRA/enrollment
proxy
* CMP: add reference to CoAP Transport for CMPV2 and Constrained
BRSKI
* Include venue information
From IETF draft 05 -> IETF draft ae-01:
* Renamed the repo and files from 'anima-brski-async-enroll' to
'anima-brski-ae'
* Added graphics for abstract protocol overview as suggested by
Toerless Eckert
* Balanced (sub-)sections and their headers
* Added details on CMP instance, now called BRSKI-CMP
From IETF draft 04 -> IETF draft 05:
* David von Oheimb became the editor.
* Streamline wording, consolidate terminology, improve grammar, etc.
* Shift the emphasis towards supporting alternative enrollment
protocols.
* Update the title accordingly - preliminary change to be approved.
* Move comments on EST and detailed application examples to
informative annex.
* Move the remaining text of section 3 as two new sub-sections of
section 1.
From IETF draft 03 -> IETF draft 04:
* Moved UC2-related parts defining the pledge in responder mode to a
separate document. This required changes and adaptations in
several sections. Main changes concerned the removal of the
subsection for UC2 as well as the removal of the YANG model
related text as it is not applicable in UC1.
* Updated references to the Lightweight CMP Profile (LCMPP).
* Added David von Oheimb as co-author.
From IETF draft 02 -> IETF draft 03:
* Housekeeping, deleted open issue regarding YANG voucher-request in
UC2 as voucher-request was enhanced with additional leaf.
* Included open issues in YANG model in UC2 regarding assertion
value agent-proximity and CSR encapsulation using SZTP sub
module).
From IETF draft 01 -> IETF draft 02:
* Defined call flow and objects for interactions in UC2. Object
format based on draft for JOSE signed voucher artifacts and
aligned the remaining objects with this approach in UC2 .
* Terminology change: issue #2 pledge-agent -> registrar-agent to
better underline agent relation.
* Terminology change: issue #3 PULL/PUSH -> pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.
* Communication approach between pledge and registrar-agent changed
by removing TLS-PSK (former section TLS establishment) and
associated references to other drafts in favor of relying on
higher layer exchange of signed data objects. These data objects
are included also in the pledge-voucher-request and lead to an
extension of the YANG module for the voucher-request (issue #12).
* Details on trust relationship between registrar-agent and
registrar (issue #4, #5, #9) included in UC2.
* Recommendation regarding short-lived certificates for registrar-
agent authentication towards registrar (issue #7) in the security
considerations.
* Introduction of reference to agent signing certificate using SKID
in agent signed data (issue #11).
* Enhanced objects in exchanges between pledge and registrar-agent
to allow the registrar to verify agent-proximity to the pledge
(issue #1) in UC2.
* Details on trust relationship between registrar-agent and pledge
(issue #5) included in UC2.
* Split of use case 2 call flow into sub sections in UC2.
From IETF draft 00 -> IETF draft 01:
* Update of scope in Section 1.1 to include in which the pledge acts
as a server. This is one main motivation for use case 2.
* Rework of use case 2 to consider the transport between the pledge
and the pledge-agent. Addressed is the TLS channel establishment
between the pledge-agent and the pledge as well as the endpoint
definition on the pledge.
* First description of exchanged object types (needs more work)
* Clarification in discovery options for enrollment endpoints at the
domain registrar based on well-known endpoints in Section 4.3 do
not result in additional /.well-known URIs. Update of the
illustrative example. Note that the change to /brski for the
voucher-related endpoints has been taken over in the BRSKI main
document.
* Updated references.
* Included Thomas Werner as additional author for the document.
From individual version 03 -> IETF draft 00:
* Inclusion of discovery options of enrollment endpoints at the
domain registrar based on well-known endpoints in Section 4.3 as
replacement of section 5.1.3 in the individual draft. This is
intended to support both use cases in the document. An
illustrative example is provided.
* Missing details provided for the description and call flow in
pledge-agent use case UC2, e.g. to accommodate distribution of CA
certificates.
* Updated CMP example in Section 5 to use Lightweight CMP instead of
CMP, as the draft already provides the necessary /.well-known
endpoints.
* Requirements discussion moved to separate section in Section 3.
Shortened description of proof-of-identity binding and mapping to
existing protocols.
* Removal of copied call flows for voucher exchange and registrar
discovery flow from [RFC8995] in Section 4 to avoid doubling or
text or inconsistencies.
* Reworked abstract and introduction to be more crisp regarding the
targeted solution. Several structural changes in the document to
have a better distinction between requirements, use case
description, and solution description as separate sections.
History moved to appendix.
From individual version 02 -> 03:
* Update of terminology from self-contained to authenticated self-
contained object to be consistent in the wording and to underline
the protection of the object with an existing credential. Note
that the naming of this object may be discussed. An alternative
name may be attestation object.
* Simplification of the architecture approach for the initial use
case having an off-site PKI.
* Introduction of a new use case utilizing authenticated self-
contain objects to onboard a pledge using a commissioning tool
containing a pledge-agent. This requires additional changes in
the BRSKI call flow sequence and led to changes in the
introduction, the application example,and also in the related
BRSKI-AE call flow.
* Update of provided examples of the addressing approach used in
BRSKI to allow for support of multiple enrollment protocols in
Section 4.3.
From individual version 01 -> 02:
* Update of introduction text to clearly relate to the usage of
IDevID and LDevID.
* Definition of the addressing approach used in BRSKI to allow for
support of multiple enrollment protocols in Section 4.3. This
section also contains a first discussion of an optional discovery
mechanism to address situations in which the registrar supports
more than one enrollment approach. Discovery should avoid that
the pledge performs a trial and error of enrollment protocols.
* Update of description of architecture elements and changes to
BRSKI in Section 4.1.
* Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
Section 3 and in Section 5.
From individual version 00 -> 01:
* Update of examples, specifically for building automation as well
as two new application use cases in Appendix A.
* Deletion of asynchronous interaction with MASA to not complicate
the use case. Note that the voucher exchange can already be
handled in an asynchronous manner and is therefore not considered
further. This resulted in removal of the alternative path the
MASA in Figure 1 and the associated description in Section 4.1.
* Enhancement of description of architecture elements and changes to We thank Eliot Lear for his contributions as a co-author at an
BRSKI in Section 4.1. earlier draft stage.
* Consideration of existing enrollment protocols in the context of We thank Brian E. Carpenter, Michael Richardson, and Giorgio
mapping the requirements to existing solutions in Section 3. Romanenghi for their input and discussion on use cases and call
flows.
* New section starting Section 5 with the mapping to existing Moreover, we thank Toerless Eckert (document shepherd); Barry Leiba
enrollment protocols by collecting boundary conditions. (SECdir review); Mahesh Jethanandani (IETF area director); Meral
Shirazipour (Gen-ART reviewer); Reshad Rahman (YANGDOCTORS reviewer);
Deb Cooley, Gunter Van de Velde, John Scudder, Murray Kucherawy,
Roman Danyliw, and Éric Vyncke (IESG reviewers); Michael Richardson
(ANIMA design team member); and Rajeev Ranjan, Rufus Buschart,
Andreas Reiter, and Szofia Fazekas-Zisch (Siemens colleagues) for
their reviews with suggestions for improvements.
Contributors Contributors
Eliot Lear Eliot Lear
Cisco Systems Cisco Systems
Richtistrasse 7 Richtistrasse 7
CH-8304 Wallisellen CH-8304 Wallisellen
Switzerland Switzerland
Phone: +41 44 878 9200 Phone: +41 44 878 9200
Email: lear@cisco.com Email: lear@cisco.com
 End of changes. 190 change blocks. 
991 lines changed or deleted 463 lines changed or added

This html diff was produced by rfcdiff 1.48.