<?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-pbs-sidrops-roaanycast-00" submissionType="IETF" category="bcp" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" indexInclude="true">

<front>
<title abbrev="ROAs for Unique Origin Anycast">Route Origin Authorization (ROA) Governance for Anycasted Services with Unique Origin ASNs</title><seriesInfo value="draft-pbs-sidrops-roaanycast-00" stream="IETF" status="bcp" name="Draft"></seriesInfo>
<author initials="L." surname="Poulopoulos" fullname="L. Poulopoulos"><organization>Verisign</organization><address><postal><street>Route du Petit Moncor 1E</street>
<city>Villars sur Glane</city>
<code>1752</code>
<country>Switzerland</country>
</postal><email>lpoulopoulos@verisign.com</email>
<uri>https://www.verisign.com/</uri>
</address></author><author initials="S." surname="Boudjema" fullname="S. Boudjema"><organization>Verisign</organization><address><postal><street>Route du Petit Moncor 1E</street>
<city>Villars sur Glane</city>
<code>1752</code>
<country>Switzerland</country>
</postal><email>sboudjema@verisign.com</email>
<uri>https://www.verisign.com/</uri>
</address></author><author initials="H." surname="Siddique" fullname="H. Siddique"><organization>Verisign</organization><address><postal><street>12061 Bluemont Way</street>
<city>Reston</city>
<code>20190</code>
<country>United States</country>
<region>VA</region>
</postal><email>hsiddique@verisign.com</email>
<uri>https://www.verisign.com/</uri>
</address></author><date year="2025" month="September" day="3"></date>
<area>Internet</area>
<workgroup>Network Working Group</workgroup>

<abstract>
<t>This document describes a set of best practices for the management of Route Origin Authorizations (ROAs) used to certify globally anycasted services with unique origin autonomous system numbers (ASNs) per node. It identifies key risk areas related to anycast-based ROA publication and how to mitigate technical risk for RPKI operations.</t>
</abstract>

</front>

<middle>

<section anchor="introduction"><name>Introduction</name>
<t>Anycasting, the origination of a prefix from multiple nodes, is an internet design pattern for improving the performance, stability and resiliency of global networks and is commonly implemented by DNS, CDN and DDoS protection service operators. This approach can result in lower latency and can simplify fail-over. An anycast node can be easily taken offline via withdrawl of its BGP route, causing traffic to automatically shift to other available nodes.</t>
<t>Anycast services originating from unique origin ASNs per node <xref target="RFC6382"></xref>, originate a single prefix from multiple distinct ASNs. The approach allows for more precise monitoring and troubleshooting of routing anomalies or hijacks. The primary benefit is enhanced observability of anycasted services, especially when a large number of nodes are in operation.</t>
<t>This design (distinct origin ASNs) calls for specific considerations when publishing Route Origin Authorizations (ROA). Certifying origins of a Multiple Origin Autonomous System (MOAS) prefix implies the existence of a set of ROAs to certify all origins of the prefix. Given the exclusive nature of route origin validation (ROV), partial ROA coverage of MOAS prefixes MUST be avoided, as it would result in &quot;INVALID&quot; prefix/origin pairs for non-covered origins. In this instance, absence of coverage is preferable over partial coverage as it would make all prefix/origin pairs resolve to RPKI &quot;UNKNOWN&quot;.</t>
<t>This document presents a set of recommendations meant to avoid partial ROA coverage of MOAS prefixes, by ensuring shared fate among the set of ROAs covering them.</t>

<section anchor="conventions-used-in-this-document"><name>Conventions Used in This Document</name>

<dl spacing="compact">
<dt>Anycast:</dt>
<dd>the practice of making a particular service address available in multiple, discrete, autonomous nodes, such that data-grams sent are routed to one of several available nodes <xref target="RFC4786"></xref>.</dd>
<dt>Multi-origin Autonomous System:</dt>
<dd>a particular setup of Anycast routing, where each node originating the same service is identified by a unique Autonomous System Number (ASN) <xref target="RFC6382"></xref>.</dd>
</dl>
<t>The terms &quot;MOAS Service&quot; and &quot;MOAS Prefix&quot; are used throughout this document as a convenience shorthand for the more verbose &quot;Globally Anycasted Service with Unique Origin Autonomous System Numbers per Node&quot;.</t>
<t>The terms &quot;covering&quot;, &quot;covered&quot;, when used to describe the effect of a ROA on a prefix/origin pair, are to be interpreted in the intuitive sense of &quot;certified by&quot;. They are not to be interpreted in the more restrictive sense employed by other writings, where &quot;covering&quot; only applies to the prefix of a prefix/origin pair <xref target="RFC6811"></xref> <xref target="RFC6483"></xref>.</t>
<t>They key words &quot;VALID&quot;, &quot;INVALID&quot; and &quot;UNKNOWN&quot;, are to be interpreted as RPKI validity states as described in <xref target="RFC6483"></xref> when, and only when, they appear in all capitals, as shown here.
ç
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>

<section anchor="single-prefix-minimal-roas"><name>Single-prefix Minimal ROAs</name>
<t>Separate ROAs SHOULD be published for each prefix/origin-AS pair of the MOAS prefix. This entails that these ROAs should contain a single prefix and the maximal length should be equal to the prefix length, i.e., be minimal ROAs <xref target="RFC9319"></xref>.</t>
<t>Doing so, ensures that routes of a MOAS prefix do not share fate with unrelated resources.</t>
</section>

<section anchor="sequential-use-ee-certificate"><name>Sequential-Use EE Certificate</name>
<t>A set of ROAs covering origins of a MOAS prefix SHOULD be signed using the same End-Entity (EE) certificate (a.k.a. &quot;sequential use&quot; EE certificate <xref target="RFC6487"></xref>).</t>
<t>This guarantees a common validity period among all origins of the prefix, avoiding partial expiry or partial revocation within the ROA set.</t>
<t>Moreover, using a single EE certificate for all ROAs covering a MOAS prefix avoids unnecessary CRL bloating.</t>
</section>

<section anchor="single-signing-time"><name>Single Signing Time</name>
<t>A set of ROAs covering origins of a MOAS prefix SHOULD present the same CMS signing time attribute.</t>
<t>This practice may also have positive consequences if the publication point uses the CMS signing time as a reference to override filesystem timestamps <xref target="RFC9589"></xref> <xref target="I-D.ietf-sidrops-publication-server-bcp"></xref>.</t>
</section>

<section anchor="synchronous-operations"><name>Synchronous Operations</name>
<t>Signing, publication and withdrawal of ROAs covering origins of a MOAS prefix SHOULD be synchronous to ensure shared fate among them and avoid partial coverage.</t>
<t>In the context of the RPKI publication protocol <xref target="RFC8181"></xref>, clients SHOULD request publication or withdrawal of all ROAs related to the MOAS prefix as part of a single publication query message, preferably avoiding operations on resources unrelated to the MOAS prefix. Reciprocally, publication servers SHOULD honor atomicity of transactions requested as part of a single query message.</t>
<t>When creating ROAs as the consequence of the addition of new origin node to a MOAS service, ROAs covering existing nodes of the prefix SHOULD be renewed at the same time to preserve common signing and validity times among all origins of the prefix.</t>
<t>More broadly, any modification to a ROA covering a MOAS prefix SHOULD be accompanied by changes to all ROAs covering the same MOAS prefix to preserve uniform validity attributes across the set. Consequently, these changes SHOULD be published within a single RPKI Repository Delta Protocol (RRDP) serial increment, to ensure synchronicity on the relying party end <xref target="RFC8182"></xref>.</t>
</section>

<section anchor="IANA"><name>IANA Considerations</name>
<t>This document makes no requests of IANA.</t>
</section>

<section anchor="security_considerations"><name>Security Considerations</name>
<t>This section will be added later based on community review and feedback</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.4786.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6382.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.8174.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.9319.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9589.xml"/>
</references>
<references><name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-publication-server-bcp.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.6811.xml"/>
</references>
</references>

</back>

</rfc>
