<?xml version="1.0" encoding="utf-8"?>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-yan-sidrops-rpki-terminology-03" submissionType="IETF" category="bcp" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" indexInclude="true">

<front>
<title abbrev="RPKI Terminology">RPKI Terminology</title><seriesInfo value="draft-yan-sidrops-rpki-terminology-03" status="bcp" name="Internet-Draft"></seriesInfo>
<author initials="Z.W." surname="Yan" fullname="Zhiwei Yan"><organization>CNNIC</organization><address><postal><street></street>
</postal><email>yan@cnnic.cn</email>
</address></author><author initials="T." surname="Bruijnzeels" fullname="Tim Bruijnzeels"><organization>RIPE NCC</organization><address><postal><street></street>
</postal><email>tim@ripe.net</email>
</address></author><author initials="T." surname="Harrison" fullname="Tom Harrison"><organization>APNIC</organization><address><postal><street></street>
</postal><email>tomh@apnic.net</email>
</address></author><author initials="S." surname="Silva Berenguer" fullname="Sofía Silva Berenguer"><organization>NRO</organization><address><postal><street></street>
</postal><email>sofia@apnic.net</email>
</address></author><date/>
<area>Internet</area>
<workgroup></workgroup>

<abstract>
<t>The Resource Public Key Infrastructure (RPKI) is defined in dozens of different RFCs.
The terminology used by implementers and developers of RPKI protocols, and by operators
of RPKI systems, can at times be inconsistent, leading to confusion. In an effort to
improve consistency in this respect, this document provides a single location for
definitions of commonly-used RPKI terms.</t>
</abstract>

</front>

<middle>

<section anchor="requirements-notation"><name>Requirements notation</name>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;,
&quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in
this document are to be interpreted as described in BCP 14 <xref target="RFC2119"></xref>
<xref target="RFC8174"></xref> when, and only when, they appear in all capitals, as shown here.</t>
</section>

<section anchor="introduction"><name>Introduction</name>
<t>The Resource Public Key Infrastructure (RPKI) is defined in dozens of
different RFCs. The terminology used by implementers and developers of
RPKI protocols, and by operators of RPKI systems, can at times be
inconsistent or imprecise, leading to confusion.</t>
<t>An example of this sort of problem arises in the context of RPKI implementation models.
The model where an address holder runs their own CA software deployment that communicates
with the relevant registry is often referred to as &quot;delegated RPKI&quot;, but at least some
Regional Internet Registries (RIRs) instead use the term &quot;self-hosted RPKI&quot;.</t>
<t>In an effort to improve consistency and precision in this respect, this document provides
a single location for definitions of commonly-used RPKI terms.</t>
</section>

<section anchor="basic"><name>Basic</name>
<t>Internet Number Resources (INRs): Autonomous System (AS) numbers, IPv4 addresses, and IPv6
addresses.</t>
<t>Regional Internet Registry (RIR): An INR registry recognized by IANA as a regional authority
for INR management.  At the time of writing, these are AFRINIC, APNIC, ARIN, LACNIC, and RIPE
NCC.  See <xref target="RFC7020"></xref> for more details.</t>
<t>National Internet Registry (NIR): An INR registry that is primarily concerned with the
delegation of resources within a specific economy, as opposed to the larger geographical
regions covered by an RIR.</t>
<t>Internet Service Provider (ISP): An organization that provides internet services to other
organizations.  An ISP will typically have an IP address or AS number delegation from an
RIR or an NIR.</t>
<t>Local Internet Registry (LIR): A term used in some regions as a synonym for ISP.</t>
<t>Certification Authority (CA): Certification Authorities in the RPKI are entities that receive
an RPKI CA certificate from an issuer. RPKI CA certificates bind a public key to INRs.  CAs can
use the corresponding private keys to sign verifiable statements pertaining to those INRs, such
as CA certificates issued to a subordinate CA with INRs that are a subset of the INRs held by
the CA, or ROAs, etc.</t>
<t>Repository: The repository is the component responsible for storing and distributing RPKI-signed
objects, such as Route Origination Authorizations (ROAs), Certificates, Certificate Revocation Lists
(CRLs), and Manifest files. It acts as a centralized or distributed database that enables RPKI
validators (relying parties) to fetch and validate routing security data. The key functions
include storing RPKI objects issued by CAs, using protocols like RRDP (RPKI Repository Delta
Protocol) <xref target="RFC8182"></xref> or rsync to synchronize data with RPKI validators, and
ensuring validators globally access the same authoritative data.</t>
<t>Relying Party (RP): A Relying Party (RP) is an entity that utilizes validated RPKI data to enhance
the security of Border Gateway Protocol (BGP) routing decisions. Key responsibilities include the
retrieval of RPKI objects (CA certificates, CRLs, manifests and other signed objects) from RPKI
repositories using protocols like rsync or RRDP. It will validate the certificate chain of trust
from end-entity certificates up to trusted root CA certificates, and also ensure that additional
signed object validation is performed as expected. RPs will typically generate validation results
that users can review, and will often also operate as an RPKI-Router <xref target="RFC8210"></xref> server. RP can
sometimes be referred to as an &quot;RPKI validator&quot; and different definitions can be referenced
interchangeably.</t>
<t>Address space holder: An entity that has been delegated INRs by an RIR or other authorized body.</t>
<t>Resource Allocation: Resource allocation refers to the authoritative process of assigning Internet
number resources to entities through a hierarchical trust framework, including sub allocation
processes. This process establishes cryptographic binding between resources and their legitimate
holders, enabling secure route validation.</t>
<t>Resource Revocation: Resource revocation refers to the process of invalidating compromised or
deauthorized INRs or their associated digital certificates. This ensures unauthorized entities
cannot misuse revoked resources for BGP route manipulation. In RPKI, resource delegation revocation
involves cascading revocation of all sub certificates/objects.</t>
</section>

<section anchor="signature-objects-and-associated-trust-data"><name>Signature Objects and Associated Trust Data</name>
<t>RPKI signed object: A cryptographically-secured data structure that has been signed by an RPKI
End-Entity (EE) resource certificate. Currently, RPKI signed objects include six categories:
Route Origination Authorization, Manifest, Ghostbusters, Autonomous System Provider Authorization,
Trust Anchor Key, Signed Checklist. See <xref target="RFC6488"></xref> for more details.</t>
<t>Route Origination Authorization (ROA): A type of RPKI signed object that can be issued by an IP
address holder in order to authorize an AS to originate routes to one or more of the holder's
prefixes.  See <xref target="RFC9582"></xref> for more details. A ROA includes an authorised origin AS and a set of
IP prefixes, each of them with an optional max length, which represents the maximum length of the IP
prefix that the origin AS is authorised to advertise.</t>
<t>Manifest: A type of RPKI signed object that provides a complete list of all the signed objects that
an authority has published to a given repository publication point.  The manifest includes the hashes
of each file as well.  The list of files and hashes helps RPs to detect unauthorized changes or
deletions.  See <xref target="RFC6486"></xref> for more details.</t>
<t>Ghostbusters record: A type of RPKI signed object for providing contact details for a given RPKI
repository publication point. See <xref target="RFC6493"></xref> for more details.</t>
<t>Autonomous System Provider Authorization (ASPA): A type of RPKI signed object that can be issued by
an AS holder as a statement about the ASes that operate as providers (upstreams) for the holder's AS.
ASPA is used for route leakage protection. See <xref target="I-D.ietf-sidrops-aspa-profile"></xref> and
<xref target="I-D.ietf-sidrops-aspa-verification"></xref> for more details.</t>
<t>Trust Anchor (TA) Key: A type of RPKI signed object that can be issued by a TA key holder as a statement
about the current public key for the TA, as well as the successor public key for the TA, in order to
facilitate the transition of RPs to that successor key. See <xref target="RFC9691"></xref> for more details.</t>
<t>RPKI Signed Checklist (RSC): A type of RPKI signed object that can be issued by an INR holder over an
arbitrary set of files. See <xref target="RFC9323"></xref> for more details.</t>
<t>Resource Certificate: Resource certificates are X.509 certificates that bind the holdership or
&quot;right-of-use&quot; assertions of Internet Number Resources (INR) (i.e., IP Addresses and Autonomous System
(AS) numbers) to a public key in the RPKI hierarchy. Allowing the entity that holds the corresponding
private key to sign attestations pertaining to a non-strict subset of the INRs contained on the Resource
Certificate. The CA and EE certificates, as well as the BGPsec router certificates in the RPKI system,
are referred to as resource certificates and are profiled in <xref target="RFC6487"></xref> and <xref target="RFC8209"></xref>.</t>
<t>End-Entity (EE) Certificate: EE Certificates are certificates for which the private key cannot be used
to sign subordinate certificates. There are two types of EE certificates used by the RPKI: Embedded EE
Certificates and BGPsec Router Certificates.</t>
<t>Embedded EE Certificate: Embedded EE Certificiates are issued by resource holder CAs to delegate the
authority attested by their allocation certificates <xref target="RFC6480"></xref>. RPKI Signed Objects <xref target="RFC6488"></xref>, such as
ROAs and Manifests, use an embedded EE certificate. When issuing an RPKI signed object, the private key
of the EE certificate is used to sign its content. A strict one-to-one exclusive mapping exists between
the EE certificate and the signed object. This non reusable setting can reduce the attack surface.</t>
<t>BGPsec Router Certificates: The BGPsec router certificate in RPKI is an X.509 end entity (EE) certificate,
which is used for authenticating the AS path in the BGPsec protocol, indicating that the router or routers
holding the corresponding private key have the authority to send secure route announcements (BGPsec UPDATEs)
on behalf of the AS specified in the certificate.The BGPsec router certificate is stored in the repository
of the issuing CA. Compared to other parts of RPKI, BGPsec uses different algorithms, key formats, and
signature formats, BGPsec RP needs to support the algorithms used to validate BGPsec signatures in <xref target="RFC8608"></xref>,
as well as the algorithms in <xref target="RFC7935"></xref> for validating signatures on BGPsec certificates, RPKI CA certificates,
and RPKI CRLs.</t>
<t>Trust Anchor (TA): A self-signed X.509 certificate representing the apex of trust in the RPKI hierarchy.
It attests holdership of Internet number resources and delegates authority to subordinate CAs. TA is the
ultimate arbiter of the RPKI trust chain, and RPs must configure trust anchors to initialize RPKI validation.</t>
<t>Trust Anchor Locator (TAL): A TAL is used by relying parties (RPs) to retrieve and validate a trust anchor
(TA) certification authority certificate used in RPKI validation, with its data format containing the TA URI
and the public key corresponding to the referenced object. During validation, the RP fetches the TA via the
URI and verifies the matching of the public key. It provides a secure bootstrap mechanism for the RPKI trust
hierarchy without requiring pre-distribution of TA certificates. See <xref target="RFC8630"></xref> for more details.</t>
<t>Certificate Revocation List (CRL): A digitally signed list issued by a certificate authority (CA) in the RPKI
system, enumerating the serial numbers of resource certificates that have been revoked before their scheduled
expiration date. CRLs provide a real-time mechanism to invalidate compromised or erroneous certificates within
the RPKI trust hierarchy. RPs can verify the revocation status of certificates during RPKI verification using CRL.</t>
<t>Chain of Trust: Resource Certificates in the RPKI are validated by way of an hierarchical chain of trust.
At the top level a Trust Anchor (TA) certificates is used for which trust is assumed by a Relying Party through
a configured TAL. The private key of the TA certificate can be used to sign subordinate CA certificates that
associate a public key with a non-strict subset of the INRs found in the TA. Trust in this association is
derived by RPs through the assumed trust in the TA and the verification of signatures. The private keys of
CA certificates can be used to sign further subordinate CA certificates. This resulting in an RPKI tree of
TA and CA certificates.</t>
</section>

<section anchor="rpki-repository"><name>RPKI Repository</name>
<t>Repository Publication Point: RPKI TA and CA certificates contain Subject Information Access fields with rsync
and RRDP related URIs that can be used by RPs to retrieve files signed by the private key pertaining to this
certificate. The 'id-ad-caRepository' entry is the Repository Publication Point for the certficate. It refers
to an rsync directory that contains the current certificates issued under this CA certificate, the most recent
CRL, the current manifest, and all other current signed objects that can be verified using an EE certificate
issued under this CA certifcate. See <xref target="RFC6481"></xref> and <xref target="RFC8182"></xref> for more details.</t>
<t>Repository Instance: A host comprising one or more repository publication points.</t>
<t>Repository Object (or Object): A terminal object in a repository publication point.</t>
<t>Repository Directory: Synonymous with Repository Publication Point.</t>
<t>RPKI Repository Name Scheme: The RPKI Repository Name Scheme defines the filename extensions format for RPKI
repository objects. Specifically, it includes:</t>
<table>
<thead>
<tr>
<th>Filename extension</th>
<th>RPKI Object</th>
<th>Reference</th>
</tr>
</thead>

<tbody>
<tr>
<td>.asa</td>
<td>Autonomous System Provider Authorization</td>
<td><xref target="I-D.ietf-sidrops-aspa-profile"></xref></td>
</tr>

<tr>
<td>.cer</td>
<td>Certificate</td>
<td><xref target="RFC6481"></xref></td>
</tr>

<tr>
<td>.crl</td>
<td>Certificate Revocation List</td>
<td><xref target="RFC6481"></xref></td>
</tr>

<tr>
<td>.gbr</td>
<td>Ghostbusters Record</td>
<td><xref target="RFC6493"></xref></td>
</tr>

<tr>
<td>.mft</td>
<td>Manifest</td>
<td><xref target="RFC6481"></xref></td>
</tr>

<tr>
<td>.roa</td>
<td>Route Origination Authorization</td>
<td><xref target="RFC9582"></xref></td>
</tr>

<tr>
<td>.sig</td>
<td>Signed Checklist</td>
<td><xref target="RFC9323"></xref></td>
</tr>

<tr>
<td>.tak</td>
<td>Trust Anchor Key</td>
<td><xref target="RFC9691"></xref></td>
</tr>
</tbody>
</table></section>

<section anchor="rpki-ca-deployment-models"><name>RPKI CA Deployment Models</name>
<t>Hosted model: An operating model where the issuing registry (typically an RIR) manages the RPKI objects and
associated repository on behalf of the resource holder. Resource holders use an interface provided by the
registry to create and manage their RPKI objects, which are then hosted by the registry.  This is sometimes
referred to in a registry-specific sense, e.g. &quot;APNIC-hosted RPKI&quot;.</t>
<t>Delegated model: An operating model where the address holder runs an independent RPKI CA instance as a child
CA of the issuing registry's parent CA.  The address holder's CA typically relies on the provisioning protocol
<xref target="RFC6492"></xref> in order to communicate with the registry's CA.  This is sometimes referred to as
&quot;self-hosted RPKI&quot;.</t>
<t>Hybrid model:  An operating model where the address holder runs an independent RPKI CA instance as a child of
the issuing registry's parent CA (like in the Delegated model) and uses the publication service provided by
the issuing registry, who will take care of the 24/7 availability of the repository. Currently, some RIRs and
NIRs offer the hybrid model.</t>
</section>

<section anchor="inter-ca-and-publication-server-communication"><name>Inter-CA and Publication Server communication</name>
<t>Parent CA: An entity that operates a CA that issues one or more CA subordintate certifates to child CAs.</t>
<t>Child CA: An entity that operates a CA that received on or more CA certificates from a parent. Note that an
 entity can be a child to its parent, but also be a parent to its own child CAs.</t>
<t>Provisioning Protocol: A protocol used by RPKI CAs to manage certificates issued by their parent CAs. See
<xref target="RFC6492"></xref> for more details.</t>
<t>Publication Protocol: A protocol used by RPKI CAs to send their RPKI objects to a server, with that server then
handling the distribution of those objects to RPs via rsync and other protocols. See <xref target="RFC8181"></xref> for more details.</t>
<t>Business PKI (BPKI): A PKI used in the RPKI out-of-band (OOB) protocol in order to establish and secure subsequent
interactions via the provisioning protocol and the publication protocol <xref target="RFC8183"></xref>.</t>
<t>Publication engine/publication server: The server providing the publication protocol service.</t>
<t>Publisher: An entity acting as a client of a publication server.</t>
</section>

<section anchor="rpki-repository-and-the-relying-party-communication"><name>RPKI Repository and the Relying Party Communication</name>
<t>Rsync: Rsync is a file synchronization and transfer tool designed to minimize data transfer time and bandwidth
usage by copying only the differences between source and destination files. It allows relying parties to
synchronize a local copy of the RPKI repository used for validation with the corresponding remote repositories.</t>
<t>RPKI Repository Delta Protocol (RRDP): Data synchronization protocol between repositories and the relying parties
<xref target="RFC8182"></xref>. It aims to replace rsync in the RPKI context, providing a more reliable, scalable, and HTTPS-based
incremental data synchronization mechanism, and ensuring that RPKI validators can quickly obtain the latest RPKI data.</t>
<t>Update Notification File: A type of file in RRDP that acts as a directory pointing to the latest snapshot and delta
files. This file allows relying parties to discover any changes between the repository state and the relying party's
cache.</t>
<t>Snapshot File: A type of file in RRDP that provides a complete copy of all RPKI objects (certificates, CRLs, manifests
and other signed objects) in a repository at a specific moment.</t>
<t>Delta File: A type of file in RRDP that contains incremental changes (additions, modifications, deletions) to the
relevant repository's RPKI data.</t>
<t>Same-Origin Policy (SOP): The Same-Origin Policy is a web security mechanism that restricts how resources from one
origin (domain, protocol, and port) can interact with resources from another origin. Used in RRDP to reduce problems
associated with inadvertent or malicious repository data.  See <xref target="RFC9674"></xref> for details.</t>
</section>

<section anchor="communication-between-rpki-and-routers"><name>Communication between RPKI and Routers</name>
<t>RPKI-Router Protocol (RTR): A protocol designed to securely distribute validated routing information from RPKI
validators to BGP routers. It enables routers to enforce Route Origin Validation (ROV) by dynamically receiving
and applying authorized prefix-to-AS mappings. See <xref target="RFC8210"></xref> and <xref target="I-D.ietf-sidrops-8210bis"></xref> for details.</t>
<t>Protocol Data Unit (PDU): A discrete protocol message in the RPKI-Router protocol.</t>
<t>Payload PDU: An RPKI-Router PDU that contains data for use by the router (e.g. the IPv4 Prefix PDU), as opposed
to the PDUs for the control mechanisms of the protocol (e.g. the End of Data PDU).</t>
</section>

<section anchor="using-of-signed-objects"><name>Using of signed objects</name>
<t>Route Origin Validation (ROV): A security mechanism designed to prevent route hijacking and misorigination in
BGP by verifying whether a given AS is authorized to announce specific IP address prefixes. Also known as
Prefix Origin Validation.</t>
<t>Validated ROA Payload (VRP): A data structure containing an origin ASN, a prefix, and the max-length for the
prefix, derived from a validated ROA. VRPs are typically produced by RPs as the the base output format for ROA
data.</t>
<t>Route Origin ASN: The origin AS number derived from a BGP route as follows, see <xref target="RFC6907"></xref> for details:</t>

<ul spacing="compact">
<li>the rightmost AS in the final segment of the AS_PATH attribute in the route if that segment is of type
AS_SEQUENCE; or</li>
<li>the BGP speaker's own AS number if that segment is of type AS_CONFED_SEQUENCE or AS_CONFED_SET or if the
AS_PATH is empty; or</li>
<li>the distinguished value &quot;NONE&quot; if the final segment of the AS_PATH attribute is of any other type.</li>
</ul>
<t>Covered: An IP address prefix 'covers' another prefix if the second prefix is a non-strict subset of the first
prefix.</t>
<t>ROV states: There are three validation states in ROV: Valid, Invalid, and Unknown (or Not Found).  See <xref target="RFC6483"></xref>
for details.</t>
<t>ASPA validation states: When using ASPA to validate the Border Gateway Protocol (BGP) AS_PATH attribute of
advertised routes, ASPA defines distinct verification algorithms and procedures for scenarios such as upstream
paths and downstream paths, and establishes three possible validation outcomes.</t>

<ul spacing="compact">
<li>Valid: The AS_PATH fully complies with ASPA authorization rules.</li>
<li>Invalid: The AS_PATH violates at least one ASPA authorization constraint.</li>
<li>Unknown: Inconclusive result due to missing ASPA data in RPKI repositories.</li>
</ul>
</section>

<section anchor="acknowledgments"><name>Acknowledgments</name>
<t>To be determined.</t>
</section>

</middle>

<back>
<references><name>References</name>
<references><name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>
<references><name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-8210bis.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-profile.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-verification.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6480.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6481.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6483.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6486.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6487.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6488.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6492.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6493.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6907.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7020.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7935.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8181.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8182.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8183.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8209.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8210.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8608.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8630.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9323.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9582.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9674.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9691.xml"/>
</references>
</references>

</back>

</rfc>
