Before an RP can use a signed object from the RPKI repository, RP software is required to check the signed-object syntax.
Section 3 of
RFC 6488 lists all the steps that RP software is required to execute in order to validate the top-level syntax of a repository signed object.
Note that these checks are necessary but not sufficient. Additional validation checks must be performed based on the specific type of signed object, as described in
Section 4.2.
To determine whether a manifest is valid, RP software is required to perform manifest-specific checks in addition to the generic signed-object checks specified in [
RFC 6488].
Specific checks for a manifest are described in
Section 4 of
RFC 6486. If any of these checks fail, indicating that the manifest is invalid, then the manifest will be discarded, and RP software will act as though no manifest were present.
To validate a Route Origin Authorization (ROA), RP software is required to perform all the checks specified in [
RFC 6488] as well as additional, ROA-specific validation steps. The IP Address Delegation extension [
RFC 3779] present in the end-entity (EE) certificate (contained within the ROA) must encompass each of the IP address prefix(es) in the ROA.
More details for ROA validation are specified in
Section 4 of
RFC 6482.
The Ghostbusters Record is optional; a publication point in the RPKI can have zero or more associated Ghostbusters Records. If a CA has at least one Ghostbusters Record, RP software is required to verify that this Ghostbusters Record conforms to the syntax of signed objects defined in [
RFC 6488].
The payload of this signed object is a (severely) profiled vCard. RP software is required to verify that the payload of Ghostbusters conforms to format as profiled in [
RFC 6493].
A BGPsec Router Certificate is a resource certificate, so it is required to comply with [
RFC 6487]. Additionally, the certificate must contain an AS Identifier Delegation extension (
Section 4.8.11 of
RFC 6487) and must not contain an IP Address Delegation extension (
Section 4.8.10 of
RFC 6487). The validation procedure used for BGPsec Router Certificates is analogous to the validation procedure described in
Section 7 of
RFC 6487, but it uses the constraints defined in
Section 3 of
RFC 8209.
Note that the cryptographic algorithms used by BGPsec routers are found in [
RFC 8608]. Currently, the algorithms specified in [
RFC 8608] and [
RFC 7935] are different. BGPsec RP software will need to support algorithms that are used to validate BGPsec signatures as well as the algorithms that are needed to validate signatures on BGPsec certificates, RPKI CA certificates, and RPKI CRLs.
For a given publication point, RP software ought to perform tests, as specified in
Section 6.1 of
RFC 6486, to determine the state of the manifest at the publication point. A manifest can be classified as either valid or invalid, and a valid manifest is either current or stale. An RP decides how to make use of a manifest based on its state, according to local (RP) policy.
If there are valid objects in a publication point that are not present on a manifest, [
RFC 6486] does not mandate specific RP behavior with respect to such objects.
In the absence of a manifest, an RP is expected to accept all valid signed objects present in the publication point (see
Section 6.2 of
RFC 6486). If a manifest is stale or invalid and an RP has no way to acquire a more recent valid manifest, the RP is expected to contact the repository manager via Ghostbusters Records and thereafter make decisions according to local (RP) policy (see Sections
6.3 and
6.4 of [
RFC 6486]).
RP software may encounter a stale manifest or CRL, or an expired CA certificate or ROA at a publication point. An RP is expected to use the information from the Ghostbusters Records to contact the maintainer of the publication point where any stale/expired objects were encountered. The intent here is to encourage the relevant CA and/or repository manager to update the stale or expired objects.