<?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.31 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ling-sidrops-rov-tag-profile-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ROV_TAG">A Profile for ROV Deployment Transparency</title>
    <seriesInfo name="Internet-Draft" value="draft-ling-sidrops-rov-tag-profile-00"/>
    <author fullname="Sitong Ling">
      <organization>Zhongguancun Lab</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lingst@zgclab.edu.cn</email>
      </address>
    </author>
    <author fullname="Ke Xu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Qi Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qli01@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Zhuotao Liu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhuotaoliu@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Xiaoliang Wang">
      <organization>Capital Normal University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangxiaoliang@cnu.edu.cn</email>
      </address>
    </author>
    <date year="2026" month="February" day="06"/>
    <area>Security</area>
    <workgroup>SIDROPS</workgroup>
    <keyword>RPKI, ROV, BGP, security</keyword>
    <abstract>
      <?line 84?>

<t>This document defines a Cryptographic Message Syntax (CMS) protected
content type for ROV Deployment Transparency (ROV_TAG) objects for use
with the Resource Public Key Infrastructure (RPKI).  An ROV_TAG is a
digitally signed object through which an Autonomous System (AS) that
has deployed Route Origin Validation (ROV) can declare its ROV
deployment status.  When validated, an ROV_TAG's eContent can be
used by ASes to identify which ASes have deployed ROV, enabling secure
path selection and optimized ROV validation that reduces redundant
validation operations in partial ROV deployment scenarios.</t>
    </abstract>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Route Origin Validation (ROV) <xref target="RFC6811"/> is a critical security
mechanism for BGP routing that uses the Resource Public Key
Infrastructure (RPKI) to verify the legitimacy of route
announcements.  However, ROV deployment is currently partial, with
a significant portion of ASes not yet having deployed ROV.</t>
      <t>In partial ROV deployment scenarios, two problems arise:</t>
      <ol spacing="normal" type="1"><li>
          <t>Security vulnerabilities: Even if an AS has deployed ROV and filters
invalid route announcements, the AS may still have its traffic
hijacked if upstream ASes have not deployed ROV.  This occurs because
upstream ASes that have not deployed ROV may accept and propagate
hijacked routes, allowing attackers to redirect traffic through
upstream paths where ROV has not been deployed.</t>
        </li>
        <li>
          <t>Validation redundancy: Each AS independently re-validates ROV and is
unable to leverage previous validation results.</t>
        </li>
      </ol>
      <t>This document defines a profile for ROV Deployment Transparency
(ROV_TAG) objects that allows ASes to register their ROV deployment
status in RPKI.  This provides transparency about which ASes have
deployed ROV, enabling secure path selection and optimized ROV
validation that reduces redundant validation operations.  See Section 3
for detailed use cases.</t>
      <t>This CMS <xref target="RFC5652"/> protected content type definition conforms to the
<xref target="RFC6488"/> template for RPKI signed objects.  In accordance with
Section 4 of <xref target="RFC6488"/>, this document defines:</t>
      <ol spacing="normal" type="1"><li>
          <t>The object identifier (OID) that identifies the ROV_TAG signed
object.  This OID appears in the eContentType field of the
encapContentInfo object as well as the content-type signed
attribute within the signerInfo structure.</t>
        </li>
        <li>
          <t>The ASN.1 syntax for the ROV_TAG content, which is the payload
signed by the AS.  The ROV_TAG content is encoded using the ASN.1
<xref target="X.680"/> Distinguished Encoding Rules (DER) <xref target="X.690"/>.</t>
        </li>
        <li>
          <t>The steps required to validate an ROV_TAG beyond the validation
steps specified in <xref target="RFC6488"/>.</t>
        </li>
      </ol>
      <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="terminology">
        <name>Terminology</name>
        <t>This document uses the following terminology:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Origin AS</strong>: The Autonomous System (AS) that originates a BGP route
announcement.  The Origin AS is defined as the last AS in the AS_PATH
attribute of the BGP route announcement, as specified in <xref target="RFC4271"/>.</t>
          </li>
          <li>
            <t><strong>Non-origin AS</strong>: Any AS in the AS_PATH of a BGP route announcement
that is not the Origin AS.  In an AS_PATH containing multiple ASes,
all ASes except the last one (the Origin AS) are non-origin ASes.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="the-rovtag">
      <name>The ROV_TAG</name>
      <section anchor="the-rovtag-content-type">
        <name>The ROV_TAG Content Type</name>
        <t>The content-type for an ROV_TAG is defined as id-ct-ROVTAG, which has
the numerical value of 1.2.840.113549.1.9.16.1.TBD.  This OID <bcp14>MUST</bcp14>
appear both within the eContentType in the encapContentInfo structure
as well as the content-type signed attribute within the signerInfo
structure (see <xref target="RFC6488"/>).</t>
      </section>
      <section anchor="the-rovtag-econtent">
        <name>The ROV_TAG eContent</name>
        <t>The content of an ROV_TAG identifies the AS that has deployed ROV.</t>
        <t>The eContent of an ROV_TAG is an instance of ROVDeploymentAttestation,
formally defined by the following ASN.1 module:</t>
        <t>```
RPKI-ROV-TAG-2026
  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
     pkcs-9(9) smime(16) modules(0) id-mod-rpki-rov-tag-2026(TBD) }</t>
        <t>DEFINITIONS EXPLICIT TAGS ::=
BEGIN</t>
        <t>IMPORTS
  CONTENT-TYPE
  FROM CryptographicMessageSyntax-2010  -- RFC 6268
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
       pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } ;</t>
        <t>id-ct-ROVTAG OBJECT IDENTIFIER ::=
  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
    pkcs-9(9) id-smime(16) id-ct(1) rovtag(TBD) }</t>
        <t>ct-ROVTAG CONTENT-TYPE ::=
  { TYPE ROVDeploymentAttestation IDENTIFIED BY id-ct-ROVTAG }</t>
        <t>ROVDeploymentAttestation ::= SEQUENCE {
  version        [0] INTEGER DEFAULT 0,
  asID           ASID,
  rovDeployed    BOOLEAN }</t>
        <t>ASID ::= INTEGER (0..4294967295)</t>
        <t>END
```</t>
        <t>Note that this content appears as the eContent within the
encapContentInfo as specified in <xref target="RFC6488"/>.</t>
      </section>
      <section anchor="version">
        <name>version</name>
        <t>The version number of the ROVDeploymentAttestation that complies with
this specification <bcp14>MUST</bcp14> be 0 and <bcp14>MUST</bcp14> be explicitly encoded.</t>
      </section>
      <section anchor="asid">
        <name>asID</name>
        <t>The asID field contains the AS number of the Autonomous System that is
declaring its ROV deployment status.</t>
      </section>
      <section anchor="rovdeployed">
        <name>rovDeployed</name>
        <t>The rovDeployed field is a BOOLEAN that indicates whether the AS has
deployed ROV.  Since only ASes that have deployed ROV register ROV_TAG
objects, this field <bcp14>MUST</bcp14> be set to TRUE.</t>
        <t>For ASes that provide transit services (i.e., ASes that forward
traffic for other ASes) that have deployed ROV, it is <bcp14>RECOMMENDED</bcp14> that
they register an ROV_TAG object with rovDeployed set to TRUE.  Stub
ASes (end networks, content providers, etc. that do not provide transit
services) <bcp14>MAY</bcp14> register ROV_TAG objects but are not required to do so.</t>
      </section>
      <section anchor="rovtag-validation">
        <name>ROV_TAG Validation</name>
        <t>To validate an ROV_TAG, a relying party <bcp14>MUST</bcp14> perform all the validation
checks specified in <xref target="RFC6488"/> as well as the following additional
ROV_TAG-specific validation steps:</t>
        <ul spacing="normal">
          <li>
            <t>The Autonomous System Identifier Delegation Extension <xref target="RFC3779"/>
              <bcp14>MUST</bcp14> be present in the end-entity (EE) certificate contained within
the ROV_TAG.  The asID in the ROV_TAG eContent <bcp14>MUST</bcp14> match the ASId
specified by the EE certificate's Autonomous System Identifier
Delegation Extension.</t>
          </li>
          <li>
            <t>The Autonomous System Identifier Delegation Extension <bcp14>MUST</bcp14> contain
exactly one "id" element (Section 3.2.3.6 of <xref target="RFC3779"/>) and <bcp14>MUST
NOT</bcp14> contain any "inherit" elements (Section 3.2.3.3 of <xref target="RFC3779"/>)
or "range" elements (Section 3.2.3.7 of <xref target="RFC3779"/>).</t>
          </li>
          <li>
            <t>The IP Address Delegation Extension <xref target="RFC3779"/> <bcp14>MUST</bcp14> be absent.</t>
          </li>
          <li>
            <t>The rovDeployed field <bcp14>MUST</bcp14> be present and <bcp14>MUST</bcp14> be set to TRUE.
Since only ASes that have deployed ROV register ROV_TAG objects,
this field <bcp14>MUST</bcp14> always be TRUE.</t>
          </li>
        </ul>
        <t>If any of the above checks fail, the ROV_TAG in its entirety <bcp14>MUST</bcp14> be
considered invalid and an error <bcp14>SHOULD</bcp14> be logged.</t>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <section anchor="secure-path-selection">
        <name>Secure Path Selection</name>
        <t>In partial ROV deployment scenarios, when an AS filters a hijacked route
announcement received from an upstream AS through ROV validation, this
indicates that the upstream AS has accepted and propagated the hijacked
route.  This may occur because the upstream AS has not deployed ROV or
is not properly performing ROV validation.  In this situation, the AS
<bcp14>SHOULD</bcp14> avoid using paths through that upstream AS for traffic destined
to the affected prefix.</t>
        <t>To implement this defensive measure, an AS can use ROV_TAG
information obtained from its RPKI Relying Party (RP) to identify
alternative paths from the BGP route announcements it has already
received.  An alternative path is one where the immediate upstream AS
has deployed ROV (i.e., has registered an ROV_TAG object with
rovDeployed set to TRUE).  The AS checks the ROV deployment status of
upstream ASes in the AS_PATH of received route announcements against
the ROV_TAG information.  If such alternative paths exist, the AS <bcp14>MAY</bcp14>
prefer them over the path through the upstream AS that propagated the
hijacked route.</t>
        <t>This approach is based on the following reasoning:</t>
        <ul spacing="normal">
          <li>
            <t>If an upstream AS has deployed ROV, it will filter invalid route
announcements and will not propagate hijacked routes.</t>
          </li>
          <li>
            <t>If an upstream AS has deployed ROV, it may also implement secure
path selection (i.e., avoid paths through upstream ASes that have
propagated hijacked route announcements when it detects such
announcements).  This creates a mechanism where ASes can prefer paths
through upstream ASes that have deployed ROV.  The logic is
straightforward: if an AS detects that an upstream AS has propagated
a hijacked route announcement (by filtering it through ROV validation),
it <bcp14>SHOULD</bcp14> select an alternative secure path.  Conversely, if no
hijacked route announcements are detected from an upstream AS, that
upstream AS is considered secure, and there is no need to select an
alternative path.</t>
          </li>
          <li>
            <t>Therefore, if an alternative path exists where the immediate
upstream AS has deployed ROV, that path is more likely to be secure
from that point forward, reducing the risk that traffic will be
hijacked.</t>
          </li>
        </ul>
        <t>The decision to use alternative paths is a matter of local policy.
An AS <bcp14>MAY</bcp14>:</t>
        <ul spacing="normal">
          <li>
            <t>Continue using normal BGP path selection when no hijacked route
announcements are detected.</t>
          </li>
          <li>
            <t>When an AS filters a hijacked route announcement received from an
upstream AS, consider alternative paths (where the immediate
upstream AS has deployed ROV) as a defensive measure to avoid the
path through the upstream AS that propagated the hijacked route.</t>
          </li>
          <li>
            <t>Fall back to normal BGP path selection if no alternative paths with
ROV-deployed upstream ASes are available.</t>
          </li>
        </ul>
        <t>This addresses the security vulnerability problem by enabling ASes to
avoid paths through upstream ASes that have propagated hijacked routes.
Such paths are identified through ROV validation.  When alternative
secure paths are available, this reduces the risk of route hijacking
even in partial ROV deployment scenarios.</t>
        <t>Note: This is a heuristic defensive mechanism and does not provide
cryptographic security guarantees.  The use of alternative paths is
<bcp14>OPTIONAL</bcp14> and subject to local policy.</t>
      </section>
      <section anchor="optimized-rov-validation">
        <name>Optimized ROV Validation</name>
        <t>When an AS receives a BGP route announcement, it can use ROV_TAG
information obtained from its RPKI Relying Party (RP) to optimize ROV
validation and reduce redundant validation operations.  The AS checks
the AS_PATH of the received route announcement against the ROV_TAG
information to determine whether any non-origin ASes in the path have
deployed ROV (i.e., have registered an ROV_TAG object with rovDeployed
set to TRUE).</t>
        <t>For AS_PATH parsing, the AS <bcp14>MUST</bcp14> check all ASes in the AS_PATH,
including ASes that appear multiple times due to AS_PATH prepending.
If the AS_PATH contains AS_SET or AS_CONFED_SET segments (as defined
in <xref target="RFC9774"/>), the AS <bcp14>MAY</bcp14> check ASes within these segments for
compatibility, though these segment types are deprecated.</t>
        <t>The validation rule is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If the AS_PATH contains only the Origin AS (i.e., the route is
received directly from the origin), the AS <bcp14>MUST</bcp14> perform ROV
validation.</t>
          </li>
          <li>
            <t>If the AS_PATH contains multiple ASes, the AS checks whether any
non-origin AS in the AS_PATH has deployed ROV by querying the ROV_TAG
information.  If any non-origin AS in the AS_PATH has deployed ROV,
the AS <bcp14>SHOULD</bcp14> skip ROV validation, assuming that at least one
upstream AS that has deployed ROV has already performed validation.
This assumption is based on the ROV_TAG information indicating ROV
deployment, but does not guarantee that validation was actually
performed.  If no non-origin AS in the AS_PATH has deployed ROV,
the AS <bcp14>MUST</bcp14> perform ROV validation.</t>
          </li>
          <li>
            <t>If ROV_TAG information is unavailable (e.g., due to repository
synchronization issues or the AS not supporting ROV_TAG), the AS
<bcp14>MUST</bcp14> perform ROV validation.</t>
          </li>
          <li>
            <t>If an implementer chooses not to skip validation even when a
non-origin AS in the AS_PATH has deployed ROV, the AS <bcp14>MUST</bcp14> still
perform ROV validation.</t>
          </li>
        </ul>
        <t>This addresses the validation redundancy problem by reducing redundant
ROV validation operations.  The logic is straightforward: if any
non-origin AS in the AS_PATH has deployed ROV (as indicated by ROV_TAG
information), it is assumed that validation has been performed, and
downstream ASes can skip redundant validation.  This ensures that at
least one AS in the path performs ROV validation, maintaining security
while reducing redundancy.</t>
        <t>Note: This optimization is <bcp14>OPTIONAL</bcp14>.  ASes that do not implement this
optimization will continue to perform ROV validation for all received
route announcements, maintaining the same security properties as
traditional ROV deployment.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>This section discusses operational aspects of ROV_TAG deployment and
usage.</t>
      <section anchor="querying-rovtag-information">
        <name>Querying ROV_TAG Information</name>
        <t>ROV_TAG objects are stored in the RPKI repository alongside other RPKI
objects (e.g., ROAs, ASPAs).  Relying Parties (RPs) process ROV_TAG
objects as part of their standard RPKI repository synchronization and
validation procedures, as specified in <xref target="RFC6488"/>.</t>
        <t>ASes obtain ROV_TAG information from their RPKI Relying Party (RP)
(e.g., through RPKI-to-Router protocols such as <xref target="RFC6810"/> or
<xref target="RFC8210"/>).  ASes can query this information efficiently to determine
whether upstream ASes have deployed ROV.  Real-time queries to the
RPKI repository or RP are not required during BGP path selection.</t>
      </section>
      <section anchor="performance-considerations">
        <name>Performance Considerations</name>
        <t>The number of ASes that provide transit services is relatively small
compared to the total number of ASes, which means the total number of
ROV_TAG objects is expected to be manageable.  This results in minimal
storage and query overhead compared to other RPKI objects such as ROAs.</t>
        <t>Query operations for ROV_TAG information can be performed efficiently
using standard data structures (e.g., hash tables keyed by AS number),
enabling fast lookups during BGP path selection.</t>
      </section>
      <section anchor="deployment-recommendations">
        <name>Deployment Recommendations</name>
        <t>For ASes that provide transit services and have deployed ROV, it is
<bcp14>RECOMMENDED</bcp14> that they register an ROV_TAG object with rovDeployed set
to TRUE.  This provides transparency about ROV deployment.  It also
enables downstream ASes to make informed path selection decisions and
enables optimized ROV validation that reduces redundant validation
operations.</t>
        <t>Stub ASes (end networks, content providers, etc.) <bcp14>MAY</bcp14> register ROV_TAG
objects but are not required to do so.  This is because they typically
do not provide transit services, and their ROV deployment status is less
critical for path selection decisions.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>This section provides guidance for implementers of ROV_TAG support.</t>
      <t>ROV_TAG is a new RPKI object type.  Existing RPKI RP implementations
that do not support ROV_TAG will simply ignore ROV_TAG objects during
repository synchronization, as per the RPKI validation rules specified
in <xref target="RFC6488"/>.  This ensures backward compatibility: ROV_TAG objects
do not interfere with existing RPKI operations, and ASes that have not
deployed ROV_TAG support can continue to operate normally.</t>
      <t>RP implementations that support ROV_TAG <bcp14>SHOULD</bcp14>:</t>
      <ul spacing="normal">
        <li>
          <t>Validate ROV_TAG objects according to the validation steps specified
in Section 2.7.</t>
        </li>
        <li>
          <t>Make validated ROV_TAG information available to ASes (e.g., through
RPKI-to-Router protocols such as <xref target="RFC6810"/> or <xref target="RFC8210"/>).</t>
        </li>
      </ul>
      <t>The number of ROV_TAG objects is expected to be relatively small
compared to other RPKI objects such as ROAs.  This is because only ASes
that provide transit services are expected to register ROV_TAG objects.</t>
      <t>Implementers that choose to implement the optimized ROV validation
described in Section 3.2 <bcp14>SHOULD</bcp14>:</t>
      <ul spacing="normal">
        <li>
          <t>Obtain ROV_TAG information from the RPKI Relying Party (RP) (e.g.,
through RPKI-to-Router protocols such as <xref target="RFC6810"/> or <xref target="RFC8210"/>).</t>
        </li>
        <li>
          <t>Implement efficient AS_PATH parsing to identify all ASes in the
AS_PATH, including handling AS_PATH prepending and deprecated AS_SET
or AS_CONFED_SET segments for compatibility.</t>
        </li>
        <li>
          <t>Implement efficient ROV_TAG lookup mechanisms, such as hash tables
keyed by AS number, to quickly determine whether ASes in the AS_PATH
have deployed ROV by querying the ROV_TAG information.</t>
        </li>
        <li>
          <t>Provide configuration options to enable or disable optimized ROV
validation.  This allows operators to make informed decisions based on
their operational requirements and risk tolerance.</t>
        </li>
        <li>
          <t>Log optimized ROV validation decisions (e.g., when validation is
skipped) to facilitate troubleshooting and security auditing.</t>
        </li>
        <li>
          <t>Handle cases where ROV_TAG information is unavailable gracefully by
reverting to performing ROV validation for all received route
announcements.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC6481"/>, <xref target="RFC6485"/>, and <xref target="RFC6488"/>
also apply to ROV_TAG objects.</t>
      <t>There is no assumption of confidentiality for the data in an ROV_TAG;
it is anticipated that ROV_TAG objects will be stored in repositories
that are accessible to all ISPs, and perhaps to all Internet users.
The purpose of an ROV_TAG is to convey transparency about ROV
deployment status.  Thus, the integrity of an ROV_TAG <bcp14>MUST</bcp14> be
established.  ROV_TAG objects are cryptographically signed and
validated according to <xref target="RFC6488"/>, ensuring that the ROV deployment
status information cannot be tampered with by intermediate ASes.</t>
      <t>The secure path selection mechanism described in Section 3.1 is a
heuristic approach and does not provide cryptographic security
guarantees.  The actual security properties depend on the operational
practices of upstream ASes.</t>
      <t>Regarding the optimized ROV validation use case (Section 3.2),
implementers and operators are advised to be aware of the following
security considerations:</t>
      <ul spacing="normal">
        <li>
          <t>Route Origin Hijacking vs. Path Hijacking: ROV and ROV_TAG address
Route Origin Hijacking attacks, where an AS announces prefixes it
does not own.  However, ROV and ROV_TAG do not address Path
Hijacking attacks, where an intermediate AS modifies the AS_PATH to
redirect traffic.  For example, an intermediate AS could modify the
AS_PATH to include an AS that has deployed ROV, even if that AS is
not actually in the path, which could cause downstream ASes to skip
ROV validation based on incorrect information.  However, even if
downstream ASes perform ROV validation, an intermediate AS that
modifies the AS_PATH can still redirect traffic through path
hijacking.  Path hijacking is a fundamental limitation of BGP and
requires other solutions such as BGPsec.</t>
        </li>
        <li>
          <t>Registration vs. Actual Deployment: An AS may register an ROV_TAG
with rovDeployed set to TRUE but not actually perform ROV validation.
This could cause downstream ASes to skip validation based on
incorrect information.  However, if an upstream AS does not perform
ROV validation, it may propagate invalid routes, which could be
detected by downstream ASes that perform ROV validation.  The
optimized ROV validation is <bcp14>OPTIONAL</bcp14>, and implementers can choose
to always perform validation if they prefer.</t>
        </li>
      </ul>
      <t>The optimized ROV validation is <bcp14>OPTIONAL</bcp14> and <bcp14>SHOULD</bcp14> only be implemented
after careful risk assessment.  ASes that do not implement this
optimization will continue to perform ROV validation for all received
route announcements, maintaining the same security properties as
traditional ROV deployment.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document will require IANA to assign values in several registries.
The specific assignments will be determined during the IETF review
process.  The following registrations are anticipated:</t>
      <ul spacing="normal">
        <li>
          <t>An OID for the RPKI-ROV-TAG-2026 ASN.1 module in the "SMI Security
for S/MIME Module Identifier" registry.</t>
        </li>
        <li>
          <t>An OID for the ROV_TAG content type in the "SMI Security for S/MIME
CMS Content Type" registry.</t>
        </li>
        <li>
          <t>An entry for ROV_TAG in the "RPKI Signed Object" registry.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <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="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC8174">
          <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>
        <reference anchor="RFC3779">
          <front>
            <title>X.509 Extensions for IP Addresses and AS Identifiers</title>
            <author fullname="C. Lynn" initials="C." surname="Lynn"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document defines two X.509 v3 certificate extensions. The first binds a list of IP address blocks, or prefixes, to the subject of a certificate. The second binds a list of autonomous system identifiers to the subject of a certificate. These extensions may be used to convey the authorization of the subject to use the IP addresses and autonomous system identifiers contained in the extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3779"/>
          <seriesInfo name="DOI" value="10.17487/RFC3779"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC6481">
          <front>
            <title>A Profile for Resource Certificate Repository Structure</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a profile for the structure of the Resource Public Key Infrastructure (RPKI) distributed repository. Each individual repository publication point is a directory that contains files that correspond to X.509/PKIX Resource Certificates, Certificate Revocation Lists and signed objects. This profile defines the object (file) naming scheme, the contents of repository publication points (directories), and a suggested internal structure of a local repository cache that is intended to facilitate synchronization across a distributed collection of repository publication points and to facilitate certification path construction. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6481"/>
          <seriesInfo name="DOI" value="10.17487/RFC6481"/>
        </reference>
        <reference anchor="RFC6485">
          <front>
            <title>The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document specifies the algorithms, algorithms' parameters, asymmetric key formats, asymmetric key size, and signature format for the Resource Public Key Infrastructure (RPKI) subscribers that generate digital signatures on certificates, Certificate Revocation Lists, and signed objects as well as for the relying parties (RPs) that verify these digital signatures. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6485"/>
          <seriesInfo name="DOI" value="10.17487/RFC6485"/>
        </reference>
        <reference anchor="RFC6488">
          <front>
            <title>Signed Object Template for the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="A. Chi" initials="A." surname="Chi"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a generic profile for signed objects used in the Resource Public Key Infrastructure (RPKI). These RPKI signed objects make use of Cryptographic Message Syntax (CMS) as a standard encapsulation format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6488"/>
          <seriesInfo name="DOI" value="10.17487/RFC6488"/>
        </reference>
        <reference anchor="RFC6810">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>In order to verifiably validate the origin Autonomous Systems of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data from a trusted cache. This document describes a protocol to deliver validated prefix origin data to routers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6810"/>
          <seriesInfo name="DOI" value="10.17487/RFC6810"/>
        </reference>
        <reference anchor="RFC6811">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6811"/>
          <seriesInfo name="DOI" value="10.17487/RFC6811"/>
        </reference>
        <reference anchor="RFC8210">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 1</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>In order to verifiably validate the origin Autonomous Systems and Autonomous System Paths of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data and router keys from a trusted cache. This document describes a protocol to deliver them.</t>
              <t>This document describes version 1 of the RPKI-Router protocol. RFC 6810 describes version 0. This document updates RFC 6810.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8210"/>
          <seriesInfo name="DOI" value="10.17487/RFC8210"/>
        </reference>
        <reference anchor="RFC9774">
          <front>
            <title>Deprecation of AS_SET and AS_CONFED_SET in BGP</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="L. Hannachi" initials="L." surname="Hannachi"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>BCP 172 (i.e., RFC 6472) recommends not using AS_SET and AS_CONFED_SET AS_PATH segment types in the Border Gateway Protocol (BGP). This document advances that recommendation to a standards requirement in BGP; it prohibits the use of the AS_SET and AS_CONFED_SET path segment types in the AS_PATH. This is done to simplify the design and implementation of BGP and to make the semantics of the originator of a BGP route clearer. This will also simplify the design, implementation, and deployment of various BGP security mechanisms. This document updates RFC 4271 by deprecating the origination of BGP routes with AS_SET (Type 1 AS_PATH segment) and updates RFC 5065 by deprecating the origination of BGP routes with AS_CONFED_SET (Type 4 AS_PATH segment). Finally, it obsoletes RFC 6472.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9774"/>
          <seriesInfo name="DOI" value="10.17487/RFC9774"/>
        </reference>
        <reference anchor="X.680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="name" value="ITU-T Recommendation"/>
          <seriesInfo name="value" value="X.680"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="name" value="ITU-T Recommendation"/>
          <seriesInfo name="value" value="X.690"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6268">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
      </references>
    </references>
    <?line 553?>

<section anchor="example-rovtag-econtent-payload">
      <name>Example ROV_TAG eContent Payload</name>
      <t>Below is an example of a DER-encoded ROV_TAG eContent with annotation
following the '#' character.</t>
      <t>Example: Transit AS with ROV deployed</t>
      <t><tt>
$ echo 30080201000203000D050201FF | xxd -r -ps | openssl asn1parse \
  -inform DER -dump -i
0:d=0  hl=2 l=   8 cons: SEQUENCE
2:d=1  hl=2 l=   1 prim:  INTEGER   :00        # version = 0
5:d=1  hl=2 l=   3 prim:  INTEGER   :0D05      # asID = 3333
10:d=1  hl=2 l=   1 prim:  BOOLEAN   :FF        # rovDeployed = TRUE
</tt></t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
