Internet-Draft | RPKI BPKI Rollover | July 2024 |
Misell | Expires 9 January 2025 | [Page] |
This document extends the RPKI setup protocol to allow the server and client to update their Trust Anchor CA keys in-band.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 9 January 2025.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The RPKI setup protocol specified in [RFC8183] does not specify a mechanism for key rollover of the CA keys exchanged during the setup process. This document extends [RFC6492] and [RFC8181] to allow both the server and client to update their TA CA keys in-band.¶
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in [BCP14] when, and only when, they appear in all capitals, as shown here.¶
This document does not define a method to negotiate usage of these new extensions. It is up to operators to use out-of-band mechanisms to agree on support for this document.¶
All new XML elements defined in this document belong to the namespace of
https://as207960.net/spec/rpki/setup-update/
. This document uses the XML namespace prefix of
setup_update
however compliant implementations MUST accept other namespace
prefixes.¶
The type
field of the message
element in the
http://www.apnic.net/specs/rescerts/up-down/
namespace, and the type
field of the
msg
element in the http://www.hactrn.net/uris/rpki/publication-spec/
namespace are
extended with the following new values:¶
The messages for these extensions are defined below.¶
update_client_certificate
message
The value of the message type
element for this request is:¶
type="update_client_certificate"¶
Payload:¶
<setup_update:new_child_bpki_ta xmnls:setup_update="https://as207960.net/spec/rpki/setup-update/"> [New child TA CA] </setup_update:new_child_bpki_ta>¶
The child CA MUST be encoded as specified in [RFC8183]¶
This command directs the server to update its stored TA for the client. The server MUST update its stored certificate or respond with a Request-Not-Performed Response. If the client receives a Request-Not-Performed Response it MUST continue to use its old TA.¶
updated_client_certificate_accepted
message
The value of the message type
element for this request is:¶
type="updated_client_certificate_accepted"¶
This message has no payload.¶
Receipt of this message by a client in response to an update_client_certificate
message
indicates the server has accepted the client's new TA and that the client MUST use
its new TA in all future exchanges.¶
request_updated_server_certificate
message
The value of the message type
element for this request is:¶
type="request_updated_server_certificate"¶
This message has no payload.¶
This message indicates a request from the client to the server for the server's new TA CA, if
available. Servers MUST respond with an updated_server_certificate
unless an internal error occurred.¶
Clients SHOULD send this message periodically to check for a new TA from the parent.¶
updated_server_certificate
message
The value of the message type
element for this request is:¶
type="updated_server_certificate"¶
Payload:¶
<setup_update:new_parent_bpki_ta xmnls:setup_update="https://as207960.net/spec/rpki/setup-update/"> [New parent TA CA] </setup_update:new_parent_bpki_ta>¶
OR¶
<setup_update:no_new_parent_bpki_ta xmnls:setup_update="https://as207960.net/spec/rpki/setup-update/"/>¶
The parent CA MUST be encoded as specified in [RFC8183]¶
This response either includes the parents new TA if one is available, or a statement that the parent doesn't have a new TA it wishes to communicate to its client.¶
The value of the message "type" element for this request is:¶
type="accept_updated_server_certificate"¶
This message has no payload.¶
This message indicates that the client has accepted the server's new TA. Future exchanges MUST use the parent's new TA.¶
Each CMS message in [RFC6492] and [RFC8181] must be signed by an EE certificate. Due to the sensitive nature of updating the TA a standard EE cannot be used to update the TA and ensure sufficient security.¶
The EE certificate used to sign a CMS message containing a message relating to a TA MUST include an rpkiBpkiTAUpdate X.509 extendedKeyUsage. If a client or a server receives a message relating to TAs not including this EKU it MUST reject the message.¶
The rpkiBpkiTAUpdate has the OID of 1.3.6.1.4.1.56292.1.2.1
¶
The [RFC6492] error codes are extended with the following additional codes:¶
The [RFC8181] error codes are extended with the following additional codes:¶