<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-su-sidrops-rpki-rp-incremental-validation-01" category="info" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="RPKI RP Incremental Validation">Considerations for Incremental Validation in RPKI Relying Parties</title>
    <seriesInfo name="Internet-Draft" value="draft-su-sidrops-rpki-rp-incremental-validation-01"/>
    <author initials="Y." surname="Su" fullname="Yingying Su">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>suyy@mail.zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Qin" fullname="Lancheng Qin">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qinlc@mail.zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Yu" fullname="Yirong Yu">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>yuyr@mail.zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Operations and Management</area>
    <workgroup>SIDROPS</workgroup>
    <keyword>RPKI, Relying Party</keyword>
    <abstract>
      <?line 53?>

<t>RPKI Relying Parties (RPs) synchronize repository data and validate RPKI objects to produce validated payloads. Incremental repository synchronization can reduce data transfer, but it does not necessarily reduce validation work. After a repository update, an RP may repeat parsing, cryptographic verification, and other validation processing for objects whose relevant inputs have not changed. This repeated work can increase validation latency and resource consumption, particularly as the RPKI data set grows and as future cryptographic transitions, including a possible transition to post-quantum cryptography (PQC), change processing costs. This document describes the operational problem and design space for incremental validation in RPs and discusses general correctness and security considerations for reusing previously computed validation state. For the same repository snapshot, trust anchor set, validation policy, validation time, and applicable RPKI validation rules, incremental validation is expected to produce the same validated payload output as full validation. This document does not specify a particular algorithm or cache structure, modify RPKI object formats or repository synchronization protocols, change existing validation semantics, or require RPs to implement incremental validation.</t>
    </abstract>
  </front>
  <middle>
    <?line 57?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>RPKI Relying Parties (RPs) validate resource certificates and signed objects, such as Route Origin Authorizations (ROAs) and Autonomous System Provider Authorization (ASPA) objects, to derive validated payloads for use in routing security. The validation process evaluates objects in the context of the applicable certification relationships, resource authorizations, manifests, Certificate Revocation Lists (CRLs), and validation time. These checks ensure that the resulting validated payloads reflect the applicable RPKI validation rules and the current validation context.</t>
      <t>Repository synchronization and validation are distinct operations. Repository synchronization mechanisms, such as the RPKI Repository Delta Protocol (RRDP) <xref target="RFC8182"/>, can incrementally retrieve repository changes without requiring the complete retrieval of all repository data after every update. However, incremental synchronization does not necessarily imply incremental validation. After an incremental repository update, an RP may still repeat validation processing for many unchanged objects. Such processing may include parsing and decoding object contents, verifying cryptographic signatures, evaluating certificate and signed-object validity, and deriving validated payloads.</t>
      <t>Incremental validation aims to reduce repeated validation work by retaining state from previous validation cycles and reusing it when the information relevant to a validation result remains applicable to the current repository snapshot and validation context. Different approaches may retain different kinds of state and therefore differ in the amount of work they can avoid and the state they need to maintain. Regardless of the approach used, for the same repository snapshot, trust anchor set, validation policy, validation time, and applicable RPKI validation rules, incremental validation is expected to produce the same validated payload output as full validation.</t>
      <t>This document discusses the operational problem and design space of incremental validation in RPs, together with general principles for correct reuse, failure handling, and security considerations. It does not define a particular incremental validation algorithm, mandate a specific cache structure, or require all RP implementations to adopt incremental validation. It does not change RPKI object formats, repository synchronization protocols, or the validation semantics defined by the applicable RPKI specifications.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="sec-operational-problem">
      <name>Operational Problem</name>
      <section anchor="sec-repository-synchronization">
        <name>Repository Synchronization and Validation</name>
        <t>RPKI repository synchronization and validation address different tasks. Repository synchronization updates the local set of repository data, while validation determines which objects are valid under the applicable RPKI specifications and derives validated payloads from valid payload-carrying signed objects. The RPKI Repository Delta Protocol (RRDP) <xref target="RFC8182"/> supports incremental synchronization through delta files when applicable, allowing an RP to retrieve repository changes without retrieving a complete repository snapshot for every update. However, reducing the amount of data transferred during synchronization does not necessarily reduce the amount of validation work performed afterward.</t>
        <t>For example, consider a CA publication point containing many RPKI objects, including ROAs. When a ROA changes, the corresponding manifest must reflect the current object set and the hash of the changed object. The RP needs to process the current manifest and check the objects it references against the current repository data. Even if most other objects referenced by the manifest remain unchanged, an RP that performs full validation after each synchronization cycle may repeat parsing and decoding, cryptographic signature verification, certificate and signed-object validation, and validated payload generation for those unchanged objects. Similar repeated processing may occur for subordinate CA certificates and objects in other parts of the RPKI tree.</t>
      </section>
      <section anchor="sec-operational-impact">
        <name>Operational Impact</name>
        <t>Repeated validation processing can affect RP operation in several ways:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Validation latency and payload freshness:</strong> Validation processing contributes to the time between the availability of updated repository data and the production of updated validated payloads. Even when repository synchronization completes quickly, repeated validation work may delay the availability of the resulting payloads. Reducing unnecessary validation work may shorten validation cycles and enable RPs to validate more frequently, thereby improving validated payload freshness.</t>
          </li>
          <li>
            <t><strong>Computational and memory resource consumption:</strong> Repeated parsing, cryptographic verification, and other validation operations can increase CPU consumption. Processing large numbers of objects may also increase transient memory requirements. At the same time, retaining cached validation state introduces its own memory, storage, and maintenance costs. The benefits of incremental validation therefore depend not only on the processing time avoided, but also on the resources required to maintain and use the cached state.</t>
          </li>
          <li>
            <t><strong>Growth in RPKI data and future cryptographic transitions:</strong> As the number and size of RPKI objects increase, the amount of work performed during a full validation cycle may also increase. This can place additional pressure on validation latency and computational resources, particularly when only a portion of the repository changes between successive validation cycles. In addition, a future transition to post-quantum cryptography (PQC), if adopted for RPKI, may change cryptographic verification costs, signature sizes, and other processing requirements. These potential changes provide an additional reason to consider approaches that avoid unnecessary repeated processing.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-terminology">
      <name>Terminology</name>
      <t>The following terms are used in this document.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Full Validation:</strong> Validation of the objects currently reachable from the accepted trust anchors in a repository snapshot, under the applicable RPKI validation rules and current validation context, without reusing previously computed validation state to skip otherwise applicable validation processing.</t>
        </li>
        <li>
          <t><strong>Incremental Validation:</strong> A validation process that uses state retained from an earlier validation cycle to avoid repeating selected validation processing, while accounting for changes to the current repository data, validation dependencies, and validation context. Incremental validation is intended to produce the same validated payload output as full validation under the same inputs and applicable validation rules.</t>
        </li>
        <li>
          <t><strong>Validation Cycle:</strong> A single execution of validation for a repository snapshot under a given validation context.</t>
        </li>
        <li>
          <t><strong>Cached Validation State:</strong> Validation results or intermediate data retained from an earlier validation cycle for possible reuse. Depending on the approach, this state may include signature-verification results, parsed-object data, object-validation results, or PP-level validation state.</t>
        </li>
        <li>
          <t><strong>Effective Resource Context:</strong> The effective set of IP address and AS number resources of a CA, as determined by the applicable RPKI validation rules. This resource set provides the resource authorization context for validating the RPKI objects published by that CA at its publication point.</t>
        </li>
        <li>
          <t><strong>Validated Payload:</strong> Information derived from a successfully validated payload-carrying RPKI signed object. Depending on the object type, this may include VRPs, VAPs, or Router Keys. The validated payload output of a validation cycle is the collection of such information produced for that cycle.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-general-principles">
      <name>General Principles for Correct Incremental Validation</name>
      <t>The following principles describe how an RP can reuse cached validation state while preserving the results of full validation.</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Equivalence with Full Validation.</strong> For the same repository snapshot, trust anchor set, validation policy, validation time, and applicable RPKI validation rules, incremental validation is expected to produce the same validated payload output as full validation. Reusing previously computed validation state must not change the validation result for the current inputs.</t>
        </li>
        <li>
          <t><strong>Top-Down Validation and Current Object Reachability.</strong> The RP must process the current RPKI validation tree top-down, starting from the trust anchors accepted for the current validation cycle, and determine which objects are currently reachable through valid certification relationships. Cached validation state may be used to avoid repeating validation checks, but it must not bypass the determination of current object reachability. Only objects that are currently reachable and valid can contribute to the validated payload output.</t>
        </li>
        <li>
          <t><strong>Object Identity and Current Publication State.</strong> Before reusing a cached validation result, the RP must establish that the current object corresponds to the object represented by the cached result and belongs to the current publication state defined by the manifest. The object's content must match the hash specified in the current manifest. An object that is no longer included in the current manifest must not contribute to the current output solely because its previous validation result remains cached.</t>
        </li>
        <li>
          <t><strong>Current Validation Context and Dependencies.</strong> A cached validation result can be reused only when the conditions affecting that result remain satisfied. These include, as applicable, the current validation time and certificate validity intervals, CRL and revocation status, effective IP address and AS number resources, trust anchor set, and validation policy. When one of these conditions changes, the RP must reassess the cached results that depend on it. Results that remain applicable may still be reused; affected results must be re-evaluated as necessary.</t>
        </li>
        <li>
          <t><strong>Unavailable or Inconsistent Cached State.</strong> If required information is missing, cached state is inconsistent with the current repository data, or its integrity cannot be established, the RP must not assume that the affected results remain valid. The RP should revalidate the affected objects and their dependent validation state, or perform full validation when necessary.</t>
        </li>
      </ol>
    </section>
    <section anchor="incremental-validation-design-space">
      <name>Incremental Validation Design Space</name>
      <section anchor="sec-signature-cache">
        <name>Signature-Verification Result Caching</name>
        <t><strong>Basic approach.</strong> Signature-verification result caching retains the result of a previously successful cryptographic signature verification for possible reuse in a later validation cycle. It aims to avoid repeating the cryptographic computation when the same verification operation is encountered again.</t>
        <t><strong>Cached information.</strong> An implementation using this approach needs to retain sufficient information to identify a signature-verification operation and its result. Such information may include:</t>
        <ul spacing="normal">
          <li>
            <t>The signed input used by the signature-verification operation, or its digest where applicable.</t>
          </li>
          <li>
            <t>The signature value.</t>
          </li>
          <li>
            <t>The public key used for verification.</t>
          </li>
          <li>
            <t>The signature algorithm and its relevant parameters.</t>
          </li>
          <li>
            <t>The successful verification result.</t>
          </li>
        </ul>
        <t><strong>Reuse conditions.</strong> A cached successful result can be reused only when the current verification operation uses the same signed input, signature value, public key, algorithm, and relevant parameters as the operation recorded in the cache. If no matching successful result exists, or any of these inputs differs, the RP needs to perform the cryptographic signature verification again.</t>
        <t><strong>Checks still required.</strong> Reusing a signature-verification result does not establish that the RPKI object is valid. The RP must still perform the other applicable validation checks for the object under the current validation context. Depending on the object type, these checks may include certificate and signed-object validity intervals, certificate revocation status, resource authorization, consistency with the current manifest, and other requirements defined by the applicable RPKI specifications. A cached signature-verification result cannot replace these checks or determine whether the object can contribute to the current validated payload output.</t>
        <t><strong>Applicability and limitations.</strong> This approach can be applied to signature-verification operations for different RPKI object types without requiring the RP to cache the complete validation state of each object. Its main benefit is avoiding repeated cryptographic computations when the verification inputs remain unchanged. However, it does not, by itself, avoid the parsing and decoding needed to obtain the verification inputs, other object-validation checks, or validated payload generation. Its benefit may be greater when signature verification accounts for a substantial share of the total validation cost. A future transition to post-quantum cryptography (PQC) may change signature-verification costs and could increase the value of this approach if verification becomes more computationally expensive.</t>
      </section>
      <section anchor="sec-object-level-reuse">
        <name>Object-Validation-State Caching</name>
        <t><strong>Basic approach.</strong> Object-validation-state caching reuses the validation result previously computed for an individual RPKI object. When the object and the conditions affecting its validation remain unchanged, an RP can reuse the cached result instead of repeating object parsing, cryptographic signature verification, and other validation processing that is no longer necessary. This approach allows an RP to reuse the results for unchanged objects even when other objects in the same publication point have changed.</t>
        <t><strong>Cached information.</strong> An implementation using this approach needs to retain sufficient information to identify the object, determine the context under which it was validated, and recover its previous validation result. Such information may include:</t>
        <ul spacing="normal">
          <li>
            <t>An identifier for the object.</t>
          </li>
          <li>
            <t>The identity of the parent CA and its effective IP address and AS number resources under which the object was validated.</t>
          </li>
          <li>
            <t>The relevant validity intervals.</t>
          </li>
          <li>
            <t>The serial number of the certificate whose revocation status affects the object.</t>
          </li>
          <li>
            <t>The previous validation status and, for an object that failed validation, the failure reason when needed to determine whether the cause of failure has changed.</t>
          </li>
          <li>
            <t>For a valid manifest, the filenames and corresponding hashes of the objects it lists.</t>
          </li>
          <li>
            <t>For a valid CRL, the serial numbers of revoked certificates.</t>
          </li>
          <li>
            <t>For valid payload-carrying objects, the derived validated payload, such as VRPs or VAPs, as applicable. For valid subordinate CA certificates, the effective resources needed to continue processing their publication points.</t>
          </li>
        </ul>
        <t><strong>Reuse conditions.</strong> A cached validation result can be reused when the current object corresponds to the cached object, is included in the current manifest with content matching the hash specified in that manifest, and is reached through a parent CA whose identity and effective resources match those associated with the cached result.</t>
        <t><strong>Checks still required.</strong> Before using the cached result, the RP needs to check the object's relevant validity intervals against the current validation time and consult the current valid CRL to determine whether the relevant certificate is revoked. If a previously valid object is no longer valid at the current validation time, or the relevant certificate is revoked, the cached successful result cannot be used to treat the object as valid in the current validation cycle. If a previous validation failure occurred because the validation time was earlier than the object's <tt>notBefore</tt> time, and the current time has since entered its validity interval, the object needs to be fully validated before it can be treated as valid. Similarly, if a previous failure was caused by certificate revocation and the current valid CRL no longer lists the relevant certificate as revoked, the object needs to be validated again before it can be treated as valid.</t>
        <t><strong>Use of cached results.</strong> After the required checks succeed, the cached result can be used in the current validation cycle. For a valid payload-carrying object, its cached validated payload can contribute to the current output. For a valid subordinate CA certificate, the RP can use its effective resources to continue processing the subordinate CA's publication point, where the applicability of cached results must be determined separately.</t>
        <t><strong>Applicability and limitations.</strong> Object-validation-state caching can reduce repeated processing for individual objects without requiring an entire publication point to remain unchanged. Its effectiveness depends on how frequently cached object results remain applicable and on the cost of maintaining and checking the associated state. It requires the RP to determine reuse eligibility for each object and to account for changes in the object's parent CA context, validity, and revocation status.</t>
      </section>
      <section anchor="sec-pp-level-reuse">
        <name>Manifest-/Publication-Point-Level Reuse</name>
        <t><strong>Basic approach.</strong> A CA publishes its RPKI objects at a publication point (PP). The manifest associated with the PP identifies the expected set of published objects and records their hashes. Although the manifest is an object and the PP is a publication location, both are directly associated with the set of objects published by the CA. This document therefore discusses reuse of validation state for this set as one design category, referred to as manifest-/publication-point-level reuse. This approach treats the validation state associated with a CA's PP as a unit for reuse. When the relevant inputs and validation context remain unchanged, an RP can reuse the cached state for the entire PP instead of repeating full validation of the manifest and each object. This can avoid substantial processing when a PP remains unchanged between validation cycles.</t>
        <t><strong>Cached information.</strong> An implementation using this approach needs to retain sufficient state to determine whether the cached PP result remains applicable and to reconstruct the result for the current validation cycle. Such state may include:</t>
        <ul spacing="normal">
          <li>
            <t>The identity of the CA certificate and the effective IP address and AS number resources under which the PP was validated.</t>
          </li>
          <li>
            <t>The identity and validity interval of the manifest and CRL.</t>
          </li>
          <li>
            <t>For each object listed in the manifest, its identity, validation status, and relevant validity interval. A failure reason may also be retained when it helps determine whether a previous validation failure can be resolved in a later cycle.</t>
          </li>
          <li>
            <t>For valid payload-carrying objects, the derived validated payload. For valid subordinate CA certificates, the effective resources needed to continue processing their PPs.</t>
          </li>
        </ul>
        <t><strong>Reuse conditions.</strong> Whole-PP reuse can be considered when the following conditions hold:</t>
        <ul spacing="normal">
          <li>
            <t>The CA certificate accepted in the current top-down validation corresponds to the CA certificate associated with the cached PP state.</t>
          </li>
          <li>
            <t>The current effective resources of the CA match those recorded in the cached state.</t>
          </li>
          <li>
            <t>The current manifest and CRL are unchanged from their cached versions and remain valid at the current validation time.</t>
          </li>
          <li>
            <t>All objects listed in the current manifest are present in the current repository, and their contents match the hashes recorded in the manifest.</t>
          </li>
        </ul>
        <t><strong>Checks still required.</strong> Even when the conditions for whole-PP reuse hold, the RP needs to check the validity intervals of the cached objects against the current validation time. An object that is no longer valid at the current validation time cannot contribute to the current validated payload output. If a previous validation failure occurred only because the validation time was earlier than the object's <tt>notBefore</tt> time, and the current time has since entered its validity interval, the object needs to be fully validated before it can be treated as valid. These checks allow time-dependent changes to be handled without requiring full validation of every object in the PP.</t>
        <t><strong>Use of cached results.</strong> After these checks, the cached validated payloads of objects that remain valid can contribute to the current output. Valid subordinate CA certificates can be used to continue top-down processing of their respective PPs. The RP needs to determine separately whether each subordinate CA's cached validation state remains applicable; reuse of a parent PP does not establish that its subordinate PPs can also be reused.</t>
        <t><strong>Applicability and limitations.</strong> This approach can avoid repeated validation work across an unchanged PP, but it requires the RP to retain and check sufficient state to determine whether the cached result remains applicable. Its effectiveness depends on how frequently PPs remain unchanged between validation cycles and on the cost of maintaining the associated cached state.</t>
      </section>
      <section anchor="sec-hybrid-approaches">
        <name>Hybrid Approaches</name>
        <t><strong>Basic approach.</strong> Hybrid approaches can combine publication-point-level reuse and object-validation-state caching. They are useful when a CA's publication point has changed, but many of its published objects remain unchanged. For example, when a manifest is updated to reflect changes to a small number of ROAs, the previous validation result for the entire PP cannot be reused as the result for the current publication state. However, the validation results of unchanged ROAs may still be reusable.</t>
        <t><strong>Reuse-path selection.</strong> An RP can first determine whether the conditions for whole-PP reuse described in Section 5.3 are satisfied:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Whole-PP reuse:</strong> If the CA certificate, effective resource context, manifest, and CRL remain unchanged and the other reuse conditions hold, the RP can reuse the cached validation state for its entire PP.</t>
          </li>
          <li>
            <t><strong>Full validation:</strong> If the CA certificate identity or effective resource context has changed, the affected PP needs to be fully validated under the current context.</t>
          </li>
          <li>
            <t><strong>Object-level reuse:</strong> If the CA identity and effective resource context remain unchanged but the manifest or CRL has changed, the RP can instead process the current manifest and CRL and attempt object-level reuse. The current manifest and CRL must be valid for the PP to be processed as valid in the current validation cycle.</t>
          </li>
        </ul>
        <t><strong>Object-level reuse and revalidation.</strong> When object-level reuse is used, the current manifest determines the set of objects to be processed. For each object in that set, the RP can reuse its cached validation result if the object matches the cached object. The RP must check the current validity intervals and revocation status as applicable. Previously failed objects must also be revalidated when the condition that caused the failure no longer applies, such as when an object enters its validity interval or a previously revoked certificate is no longer listed as revoked in the current valid CRL. Objects that are new, have changed, or do not satisfy the reuse conditions need to be fully validated. Objects no longer included in the current manifest do not contribute to the current validated payload output.</t>
        <t><strong>Use of cached results.</strong> After the required checks succeed, cached validated payloads can contribute to the current output, and valid subordinate CA certificates can be used to continue processing their publication points.</t>
        <t><strong>Applicability and limitations.</strong> Combining publication-point-level and object-level reuse allows an RP to avoid repeating validation work both when an entire PP remains unchanged and when only some of its objects have changed. This approach is particularly useful when repository updates affect only a small portion of a PP. Its effectiveness depends on how frequently PP-level or object-level reuse conditions are satisfied and on the cost of maintaining and checking the associated cached state.</t>
      </section>
    </section>
    <section anchor="correctness-and-failure-handling">
      <name>Correctness and Failure Handling</name>
      <section anchor="sec-correctness-target">
        <name>Correctness Target</name>
        <t>For the same repository snapshot, trust anchor set, validation policy, validation time, and applicable RPKI validation rules, incremental validation is expected to produce the same validated payload output as full validation. This equivalence is the primary correctness objective of incremental validation, regardless of the cache and reuse strategies used.</t>
      </section>
      <section anchor="sec-cache-state">
        <name>Uncertain or Inconsistent Cache State</name>
        <t>If cached validation state is missing, inconsistent with the current repository data, or insufficient to determine whether a previous result remains applicable, the RP should not reuse the affected result. The RP should revalidate the affected objects and their dependent validation state, or perform full validation of the affected PP when necessary. A partial or failed validation result should not replace a previously successful cache entry as though the current validation had completed successfully.</t>
      </section>
      <section anchor="sec-fallback">
        <name>Fallback</name>
        <t>If the current repository data for a PP cannot be used, for example, because its manifest or CRL is invalid or the repository data is inconsistent with the manifest, an RP may fall back, according to local policy, to the last successfully validated version of that PP. If the cached validation state for that version still satisfies the PP-level reuse conditions, the RP may reuse the cached result, subject to checks required by the current validation time. Otherwise, the RP needs to validate the previous PP data under the current validation context before using its results.</t>
      </section>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>Cached validation state can be corrupted, modified without authorization, or rolled back to an earlier state. Such changes may cause an RP to reuse incorrect validation results. Implementations should protect cached state against these risks. If the integrity of cached state cannot be established, the affected results should not be reused without revalidation.</t>
      <t>Incorrect reuse may also cause an RP to overlook changes in certificate validity, revocation status, effective resource context, or manifest membership. Implementations should ensure that cache reuse does not bypass the checks required to determine whether an object remains valid under the current validation context.</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA requests.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8182" target="https://www.rfc-editor.org/info/rfc8182" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8182.xml">
        <front>
          <title>The RPKI Repository Delta Protocol (RRDP)</title>
          <author fullname="T. Bruijnzeels" initials="T." surname="Bruijnzeels"/>
          <author fullname="O. Muravskiy" initials="O." surname="Muravskiy"/>
          <author fullname="B. Weber" initials="B." surname="Weber"/>
          <author fullname="R. Austein" initials="R." surname="Austein"/>
          <date month="July" year="2017"/>
          <abstract>
            <t>In the Resource Public Key Infrastructure (RPKI), Certificate Authorities (CAs) publish certificates, including end-entity certificates, Certificate Revocation Lists (CRLs), and RPKI signed objects to repositories. Relying Parties retrieve the published information from those repositories. This document specifies a new RPKI Repository Delta Protocol (RRDP) for this purpose. RRDP was specifically designed for scaling. It relies on an Update Notification File which lists the current Snapshot and Delta Files that can be retrieved using HTTPS (HTTP over Transport Layer Security (TLS)), and it enables the use of Content Distribution Networks (CDNs) or other caching infrastructures for the retrieval of these files.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8182"/>
        <seriesInfo name="DOI" value="10.17487/RFC8182"/>
      </reference>
      <reference anchor="I-D.ietf-sidrops-aspa-profile" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-profile-30" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-profile.xml">
        <front>
          <title>A Profile for Autonomous System Provider Authorization</title>
          <author fullname="Job Snijders" initials="J." surname="Snijders">
            <organization>BSD Software Development</organization>
          </author>
          <author fullname="Alexander Azimov" initials="A." surname="Azimov">
            <organization>Yandex</organization>
          </author>
          <author fullname="Eugene Uskov" initials="E." surname="Uskov">
            <organization>JetLend</organization>
          </author>
          <author fullname="Randy Bush" initials="R." surname="Bush">
            <organization>Internet Initiative Japan</organization>
          </author>
          <author fullname="Russ Housley" initials="R." surname="Housley">
            <organization>Vigil Security, LLC</organization>
          </author>
          <author fullname="Ben Maddison" initials="B." surname="Maddison">
            <organization>Workonline</organization>
          </author>
          <date day="29" month="October" year="2026"/>
          <abstract>
            <t>This document defines a Cryptographic Message Syntax (CMS) protected content type for Autonomous System Provider Authorization (ASPA) objects for use with the Resource Public Key Infrastructure (RPKI). An ASPA is a digitally signed object through which the issuer (the holder of an Autonomous System identifier), can authorize one or more other Autonomous Systems (ASes) as its transit providers. When validated, an ASPA's eContent can be used for detection and mitigation of route leaks.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-profile-30"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 256?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA91d23Ijx5F9x1f0jh4kTQCwRpZjZdprmyIli2FKhMgZObQO
R7gBFIDyNLqhrm5SkGL+Zb9lv2zzVlVZfQE5o11vhPSgIYG+VGXl5eTJrOJs
Nps0tinMWXZRlc6uTZ03Fn7KNlWdXZWr2uxN2eRF9m1e2DV9l9kyu1385Sq7
NcXRlttskdeNNW6SL5e1uT+TLxcjt0/W1arM9/DGdZ1vmplrZ/Deujq4WX14
beF/MxtvnN2HG2cfvZhUS1cVpjHubNIe4GP8Af85m6zg/9uqPp7B8DbVZGIP
9VnW1K1rPv7oo99+9PEkr01+lt0cwgzzcp19lZf5ll41eajq19u6ag9n2d3V
5e3N4m7y2hzh0zXPaJrM9ziZ5G2zq+qzSTabZPBSd5Z9N8/uWviFp/cdXEvX
02dVvc1L+yO9+yz7z11VbrdtXq7aMrvOlxUMCgYP15l9bouzzLXH45/wx/mP
21WRL+dm3c5XJVywsg1M8jNj/wnPxt+rtmxw3hc7W+YTNZzrefaNLcN4ruFt
OwPj4Q/fckDf27JY/dwRgYC+0wKq4aX8yVuO5tge6587mMt5dm3DYC7zkn9N
R/LSwWN2bZ69Ku29qR08PY6iqVA3yz81ctHTR1FW9R7ecA+Km2W3X1x8+uLT
j/HHq9nl3JpmE0wid4d8dqirjQUbnczn88lkNptl+dI1db5qJpMhS8w+uF24
DzN3hAUHEdsfTVabQwWDByFmYC85Kb+YlmGDrZb/NKvGwaQyeN+6XZlwwTo7
5Meiytdunhi1emh8F/uIFYizNvQUeh+MtnQbU0+zZdtktsnWFYyzrJqsNCvj
XF7b4ujviDafoVXOs/NNY+os1y9k85/CRNDV7HO8+WDyBoZa43JMs1V9PDTV
ts4PO7vKYPHsxq7oqVOaftXs4KHqXTBtHAoKEr2fF8jDrnIowMLc5yWMvTy0
8Okuvzc0/tUuL7dmPc9e7qyTQYDEcOAkBXJmuUtmVcAl5epIw6iNq9oaZr0C
p9TuDzzAA67kqi3yGsSSw6rsZJlIms40GfiqB3Zi8PWmbdradKZMMrfk7KY4
jKJd49zyDITo7LIw6gpa9so1s+/B6pp2rx91zD5YfHPx4VSmquW0glucTB38
eouKka2NW9V2aXjUlfe4oDBwJ7x2T6OGq+y2zEC/Ye4ob+X1tawo2vBE19at
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
bekw43xxAAA=

-->

</rfc>
