<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc sortrefs="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category="std" docName="draft-spaghetti-sidrops-rpki-doa-00" ipr="trust200902" xml:lang="en" sortRefs="true" version="3">
  <front>
    <title abbrev="RPKI DOA">
      Resource Public Key Infrastructure (RPKI) object profile for Discard Origin Authorizations (DOA)
    </title>
    <seriesInfo name="Internet-Draft" value="draft-spaghetti-sidrops-rpki-doa-00"/>
    <author fullname="Job Snijders" initials="J." surname="Snijders">
      <organization>Fastly</organization>
      <address>
        <postal>
          <street/>
          <code/>
          <city>Amsterdam</city>
          <country>Netherlands</country>
        </postal>
        <email>job@fastly.com</email>
      </address>
    </author>
    <author fullname="Mikael Abrahamsson" initials="M." surname="Abrahamsson">
      <organization abbrev="NTT">NTT Ltd.</organization>
      <address>
        <postal>
          <street/>
          <code/>
          <city>Stockholm</city>
          <country>Sweden</country>
        </postal>
        <email>mikael@swm.pp.se</email>
      </address>
    </author>
    <author fullname="Ben Maddison" initials="B." surname="Maddison">
      <organization abbrev="Workonline">Workonline Communications</organization>
      <address>
        <postal>
          <street/>
          <city>Cape Town</city>
          <code/>
          <country>South Africa</country>
        </postal>
        <email>benm@workonline.africa</email>
      </address>
    </author>
    <abstract>
      <t>
        This document defines a Cryptographic Message Syntax (CMS) profile for Discard Origin Authorizations (DOAs), for use with the Resource Public Key Infrastructure (RPKI).
        A DOA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block tagged with a specific set of Border Gateway Protocol (BGP) Communities, to signal a request to discard IP traffic destined towards the tagged IP prefix.
      </t>
    </abstract>
    <note>
      <name>Requirements Language</name>
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>
        Internet operators commonly provide a means for adjacent networks to advertise routes in BGP with the intention that traffic matching such a route be discarded, rather than being forwarded towards the advertising network.
        This is referred to as Remotely Triggered Blackholing (RTBH), and is typically acheived through the use of a BGP Community <xref target="RFC1997"/>.
        <xref target="RFC7999"/> defines a "well known" community value for this purpose.
        The route used to signal an RTBH request is referred to as an RTBH route.
      </t>
      <t>
        Inter-AS RTBH signalling, however, is in tension with the deployment of Route Origin Validation (ROV) based on the Resource Public Key Infrastructure (RPKI) <xref target="RFC6811"/>.
        Because a blackhole route is likely to have a prefix length greater than permitted in any covering ROA, an operator wishing to deploy routing policy to discard BGP paths with an ROV status of "Invalid", and simultaneously maintain a blackhole signalling service must choose either:
      </t>
      <ol>
        <li>
            to exempt blackhole routes from processing based on ROV status, thus foregoing the benefit of ROV altogether; or
        </li>
        <li>
            to insist that users of the blackhole signalling service create ROAs with a sufficiently large "maxLength" values to accomodate blackhole routes.
        </li>
      </ol>
      <t>
        This document defines a Cryptographic Message Syntax (CMS) <xref target="RFC5652"/> profile for Discard Origin Authorizations (DOAs), for use with the Resource Public Key Infrastructure (RPKI) <xref target="RFC6480"/>, along with associated processing rules.
      </t>
      <t>
        DOAs can be used to validate whether incoming BGP route announcements carrying specific BGP Communities are meant to signify a request to discard IP traffic towards the IP destination carried in the BGP route.
        This enhances the concepts of <xref target="RFC3882"/> and <xref target="RFC7999"/>, and can co-exist with deployed ROV policy.
      </t>
    </section>
    <section anchor="profile">
      <name>DOA EncapsulatedContentInfo</name>
      <t>
        DOA follows the Signed Object Template for the RPKI <xref target="RFC6488"/>.
      </t>
      <section anchor="asn1_mod">
        <name>ASN.1 Module</name>
        <t>
          The following ASN.1 module specifies the encapContentInfo component for DOA objects:
        </t>
        <sourcecode type="asn.1" originalSrc="RpkiDiscardOriginAuthorization-2021.asn">RpkiDiscardOriginAuthorization-2021
 { iso(1) member-body(2) us(840) rsadsi(113549)
   pkcs(1) pkcs9(9) smime(16) mod(0) TBD }

DEFINITIONS EXPLICIT TAGS ::=
BEGIN

IMPORTS
 CONTENT-TYPE
 FROM CryptographicMessageSyntax-2010 -- in [RFC6268]
   { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
     pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }

 IPAddressOrRange, IPAddressRange, IPAddress, ASId
 FROM IPAddrAndASCertExtn -- in [RFC3779]
   { iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) mod(0)
     id-mod-ip-addr-and-as-ident(30) } ;

ct-discardOriginAuthorization CONTENT-TYPE ::=
   { TYPE DiscardOriginAuthorization IDENTIFIED BY
     id-ct-discardOriginAuthorization }

id-ct-discardOriginAuthorization OBJECT IDENTIFIER ::=
   { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
     pkcs-9(9) id-smime(16) id-ct(1) TBD }

DiscardOriginAuthorization ::= SEQUENCE {
   version             [0] INTEGER DEFAULT 0,
   ipAddrBlocks        IPListRange,
   originAsID          ASId,
   peerAsIDs           [1] SEQUENCE SIZE(1..MAX) OF ASId OPTIONAL,
   communities         [2] SEQUENCE SIZE(1..MAX) OF Community
}

IPListRange ::= SEQUENCE (SIZE(1..MAX)) OF IPAddressFamilyRange

IPAddressFamilyRange ::= SEQUENCE {
   addressFamily        OCTET STRING (SIZE(2..3)),
   addressOrRange       IPAddressOrRange,
   prefixLengthRange    PrefixLengthRange OPTIONAL -- if omitted, assume hostroutes
}

PrefixLengthRange ::= SEQUENCE {
   minLength            INTEGER,
   maxLength            INTEGER
}

Community ::= CHOICE {
   bgpCommunity        [0] OCTET STRING (SIZE(4)),
   bgpLargeCommunity   [1] OCTET STRING (SIZE(12))
}

END
</sourcecode>
      </section>
      <section anchor="econtent_type">
        <name>The DOA eContentType</name>
        <t>
          The eContentType for a DOA is defined as id-ct-discardOriginAuthorization as specified in <xref target="asn1_mod"/>.
        </t>
        <t>
          This OID MUST appear both within the eContentType in the encapContentInfo object as well as the ContentType signed attribute in the signerInfo object (see <xref target="RFC6488"/>).
        </t>
      </section>
      <section anchor="econtent">
        <name>The DOA eContent</name>
        <t>
          The content of a DOA is formally defined as DiscardOriginAuthorization as specified in <xref target="asn1_mod"/>
        </t>
        <section>
          <name>version</name>
          <t>
            The version number of the DiscardOriginAuthorization MUST be 0.
          </t>
        </section>
        <section>
          <name>ipAddrBlocks</name>
          <t>
            The IP address prefixes for which the announcement of RTBH routes is authorized.
            The IP address resources contained here are the resources used to mark the authorization, and MUST match the set of resources listed by the EE certificate carried in the CMS certificates field.
            See <xref target="RFC6482"/> Section 3.3 for a similar, but not entirely similar appraoch.
            A notable difference is the absense of MaxLength, and instead a PrefixLengthRange is used.
            If no PrefixLengthRange is present, only the "host route" prefix length (i.e. 32 for IPv4 and 128 for IPv6) is authorized.
          </t>
        </section>
        <section>
          <name>originAsID</name>
          <t>
            The asID field contains the AS number that is authorized to originate RTBH routes for the given IP address prefixes.
            The asID does not have to be contained by the resources listed on the EE certificate.
          </t>
        </section>
        <section>
          <name>peerAsIDs</name>
          <t>
            The peerAsIDs field contains zero or more AS numbers that are authorized to propagate routes intended to signal an RTBH request for the given IP address prefixes.
            The peerAsIDs do not have to be contained by the resources listed on the EE certificate.
            Network operators MUST only accept the RTBH request if it was received from any listed peerAsIDs.
            The peerAsIDs field allows DOAs to be used to validate RTBH routes with one AS hop between originator and receipient.
          </t>
        </section>
        <section>
          <name>communities</name>
          <t>
            The communities field contains the Classic BGP communities or Large BGP Communities which are to be the 'trigger' to start RTBH.
            TBD: are communities 'and' or 'or'?
          </t>
        </section>
      </section>
    </section>
    <section anchor="validation">
      <name>DOA Validation</name>
      <t>
        To validate a DOA the relying party MUST perform all the validation checks specified in <xref target="RFC6488"/> as well as the following additional DOA-specific validation step:
      </t>
      <ul>
        <li>
          The IP delegation extension <xref target="RFC3779"/> MUST be present in the end-entity certificate (contained in the DOA), and every IP address prefix present in the ipAddrBlocks component of the DOA eContent is contained within the set of IP addresses specified in the EE certificate's IP address delegation extension.
        </li>
      </ul>
    </section>
    <section anchor="rtr_extension">
      <name>RPKI-RTR protocol extensions</name>
      <t>TODO: Seperate document?</t>
    </section>
    <section anchor="route_matching">
      <name>BGP Route Matching</name>
      <t>
        TODO: Seperate document?
      </t>
      <t>
          A BGP speaker MAY assign to each path it receives from its peers one of 3 RTBH request validation states:
      </t>
      <ul>
        <li>
          Matched: a validated DOA object was found covering the prefix of the received path, and matching the contraints of the DOA;
        </li>
        <li>
          Unmatched: a validated DOA object was found covering the prefix of the received path, but the constraints of the DOA were not matched; or
        </li>
        <li>
          NotFound: a validated DOA object covering the prefix of the receieved path was not found.
        </li>
      </ul>
      <t>
        Where "covering" is used as in its definition in <xref target="RFC6811">Section 2</xref>.
      </t>
      <t>
        In order for a BGP path to be considered to have matched the constraints of a DOA object, the following conditions MUST be met:
      </t>
      <ul>
        <li>The route originated from the ASN listed in the ASId.</li>
        <li>The route was received from a PeerAS which is either the ASId or listed in the peerAsIDs field.</li>
        <li>The route's prefix length matches the listed permissible prefix lengths.</li>
        <li>The route is tagged with (TODO: one or more of?) the designated BGP community.</li>
      </ul>
    </section>
    <section anchor="rov_coexist">
      <name>Route Origin Validation Co-Existance</name>
      <t>
        It is important to observe that ROAs and DOAs can and will be issued for the same covered address space, and that the resulting ROV validation state MUST be entirely independent of the resulting DOA validation state.
      </t>
      <t>
        In particular it is expected that legitimate RTBH routes will commonly receive a DOA validation state of 'Matched' whilst also receiving a ROV validation state of 'Invalid' due to the (likely) longer prefix-length of an RTBH route.
      </t>
      <t>
        For this reason, it is recommended that operators construct policy so as to act on the DOA validation early in the routing policy application process, such that routes that are 'Matched' may be installed as RTBH routes, and routes that are 'Unmatched' or 'NotFound' can "fall-through" to be processed as "normal" routes, including the possible application of policy based on their ROV validation state.
      </t>
      <t>
        Critically, in order that operators are able to construct policy according to their needs conforming implementations MUST NOT take any policy action on a route based on either its DOA or ROV validation state by default.
        See also <xref target="RFC8481"/>.
      </t>
    </section>
    <section>
      <name>Exporting RTBH Routes</name>
      <t>
        The guidance of <xref target="RFC7999">Section 3.2</xref> that, in general, RTBH routes SHOULD NOT be propagated beyond the receiving AS continues to apply to RTBH routes validated in terms of the above mechanisms.
      </t>
      <t>
        The exception to this guidance is that an operator MAY propagate a received RTBH route to neighboring ASes if its own AS number appears in the peerAsIDs field of the matched DOA, since this indicates a desire by the issuer that neighbors of the local AS honour the route as a legitimate RTBH signal.
      </t>
      <t>
        To facilitate the construction of routing policies by operators that implemented this behaviour, conforming BGP speaker implementations SHOULD provide a means of distinguishing between 'Matched' routes for which the local AS appears in the peerAsIDs of the matched DOA from those for which it does not.
      </t>
    </section>
    <section anchor="operational">
      <name>Operational Considerations</name>
      <t>
        TODO
      </t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>
        TODO
      </t>
    </section>
    <section removeInRFC="true">
      <name>Implementation status</name>
      <t>
        This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in RFC 7942.
        The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs.
        Please note that the listing of any individual implementation here does not imply endorsement by the IETF.
        Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors.
        This is not intended as, and must not be construed to be, a catalog of available implementations or their features.
        Readers are advised to note that other implementations may exist.
      </t>
      <t>
        According to RFC 7942, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.
        It is up to the individual working groups to use this information as they see fit".
      </t>
      <ul>
        <li>
          A signer implementation <xref target="rpkimancer-doa"/> written in Python has been developed by Ben Maddison.
        </li>
      </ul>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section>
        <name>SMI Security for S/MIME CMS Module Identifier (1.2.840.113549.1.9.16.0)</name>
        <t>
          The IANA is requested to register the following entry for this document in the "SMI Security for S/MIME CMS Module Identifier (1.2.840.113549.1.9.16.0)" registry:
        </t>
        <artwork>
<![CDATA[
   Decimal   Description                      References
   -----------------------------------------------------------------------------
   [TBD]     id-mod-rpkiDOA                   [draft-spaghetti-sidrops-rpki-doa]
]]>
        </artwork>
        <t>
          Upon publication of this document, IANA is requested to reference the RFC publication instead of this draft.
        </t>
      </section>
      <section>
        <name>SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)</name>
        <t>
          The IANA is requested to register the following entry for this document in the "SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)" registry:
        </t>
        <artwork>
<![CDATA[
   Decimal   Description                      References
   -----------------------------------------------------------------------------
   [TBD]     id-ct-discardOriginAuthorization   [draft-spaghetti-sidrops-rpki-doa]
]]>
        </artwork>
        <t>
          Upon publication of this document, IANA is requested to reference the RFC publication instead of this draft.
        </t>
      </section>
      <section>
        <name>RPKI Signed Objects registry</name>
        <t>
          The IANA is requested to register the OID for the RPKI Discard Origin Authorization in the "RPKI Signed Objects" registry (<xref target="RFC6488"/>) as follows:
        </t>
        <artwork>
<![CDATA[
   Name          OID                          Reference
   ----------------------------------------------------
   DOA           1.2.840.113549.1.9.16.1.TBD  [RFC-TBD]
]]>
        </artwork>
      </section>
      <section>
        <name>RPKI Repository Name Schemes registry</name>
        <t>
          The IANA is requested to register the RPKI Discard Origin Authorization file extension in the "RPKI Repository Name Schemes" registry (<xref target="RFC6481"/>) as follows:
        </t>
        <artwork>
<![CDATA[
   Filename Extension  RPKI Object                  Reference
   ----------------------------------------------------------
   .doa                Discard Origin Authorization   [RFC-TBD]
]]>
        </artwork>
      </section>
      <section>
        <name>Media Types registry</name>
        <t>
          The IANA is requested to register the media type application/rpki-doa in the "Media Types" registry (<xref target="RFC6838"/>) as follows:
        </t>
        <artwork>
<![CDATA[
   Type name: application
   Subtype name: rpki-doa
   Required parameters: None
   Optional parameters: None
   Encoding considerations: binary
   Security considerations: Carries an RPKI Discard Origin Authorization
                            [RFC-TBD].
   Interoperability considerations: None
   Published specification: This document.
   Applications that use this media type: RPKI operators.
   Additional information:
     Content: This media type is a signed object, as defined
              in [RFC6488], which contains a payload of a set of matching
              criteria as defined above in [RFC-TBD].
     Magic number(s): None
     File extension(s): .doa
     Macintosh file type code(s):
   Person & email address to contact for further information:
     Job Snijders <job@fastly.com>
   Intended usage: COMMON
   Restrictions on usage: None
   Author: Job Snijders <job@fastly.com>
   Change controller: Job Snijders <job@fastly.com>
]]>
        </artwork>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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="RFC3779" target="https://www.rfc-editor.org/info/rfc3779" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3779.xml">
          <front>
            <title>X.509 Extensions for IP Addresses and AS Identifiers</title>
            <author initials="C." surname="Lynn" fullname="C. Lynn">
              <organization/>
            </author>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization/>
            </author>
            <author initials="K." surname="Seo" fullname="K. Seo">
              <organization/>
            </author>
            <date year="2004" month="June"/>
            <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="RFC3882" target="https://www.rfc-editor.org/info/rfc3882" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3882.xml">
          <front>
            <title>Configuring BGP to Block Denial-of-Service Attacks</title>
            <author initials="D." surname="Turk" fullname="D. Turk">
              <organization/>
            </author>
            <date year="2004" month="September"/>
            <abstract>
              <t>This document describes an operational technique that uses BGP communities to remotely trigger black-holing of a particular destination network to block denial-of-service attacks.  Black-holing can be applied on a selection of routers rather than all BGP-speaking routers in the network.  The document also describes a sinkhole tunnel technique using BGP communities and tunnels to pull traffic into a sinkhole router for analysis.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3882"/>
          <seriesInfo name="DOI" value="10.17487/RFC3882"/>
        </reference>
        <reference anchor="RFC5652" target="https://www.rfc-editor.org/info/rfc5652" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5652.xml">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author initials="R." surname="Housley" fullname="R. Housley">
              <organization/>
            </author>
            <date year="2009" month="September"/>
            <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" target="https://www.rfc-editor.org/info/rfc6481" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6481.xml">
          <front>
            <title>A Profile for Resource Certificate Repository Structure</title>
            <author initials="G." surname="Huston" fullname="G. Huston">
              <organization/>
            </author>
            <author initials="R." surname="Loomans" fullname="R. Loomans">
              <organization/>
            </author>
            <author initials="G." surname="Michaelson" fullname="G. Michaelson">
              <organization/>
            </author>
            <date year="2012" month="February"/>
            <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="RFC6488" target="https://www.rfc-editor.org/info/rfc6488" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6488.xml">
          <front>
            <title>Signed Object Template for the Resource Public Key Infrastructure (RPKI)</title>
            <author initials="M." surname="Lepinski" fullname="M. Lepinski">
              <organization/>
            </author>
            <author initials="A." surname="Chi" fullname="A. Chi">
              <organization/>
            </author>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization/>
            </author>
            <date year="2012" month="February"/>
            <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="RFC6838" target="https://www.rfc-editor.org/info/rfc6838" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6838.xml">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author initials="N." surname="Freed" fullname="N. Freed">
              <organization/>
            </author>
            <author initials="J." surname="Klensin" fullname="J. Klensin">
              <organization/>
            </author>
            <author initials="T." surname="Hansen" fullname="T. Hansen">
              <organization/>
            </author>
            <date year="2013" month="January"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC7999" target="https://www.rfc-editor.org/info/rfc7999" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7999.xml">
          <front>
            <title>BLACKHOLE Community</title>
            <author initials="T." surname="King" fullname="T. King">
              <organization/>
            </author>
            <author initials="C." surname="Dietzel" fullname="C. Dietzel">
              <organization/>
            </author>
            <author initials="J." surname="Snijders" fullname="J. Snijders">
              <organization/>
            </author>
            <author initials="G." surname="Doering" fullname="G. Doering">
              <organization/>
            </author>
            <author initials="G." surname="Hankins" fullname="G. Hankins">
              <organization/>
            </author>
            <date year="2016" month="October"/>
            <abstract>
              <t>This document describes the use of a well-known Border Gateway Protocol (BGP) community for destination-based blackholing in IP networks.  This well-known advisory transitive BGP community named "BLACKHOLE" allows an origin Autonomous System (AS) to specify that a neighboring network should discard any traffic destined towards the tagged IP prefix.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7999"/>
          <seriesInfo name="DOI" value="10.17487/RFC7999"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <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>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC1997" target="https://www.rfc-editor.org/info/rfc1997" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1997.xml">
          <front>
            <title>BGP Communities Attribute</title>
            <author initials="R." surname="Chandra" fullname="R. Chandra">
              <organization/>
            </author>
            <author initials="P." surname="Traina" fullname="P. Traina">
              <organization/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li">
              <organization/>
            </author>
            <date year="1996" month="August"/>
            <abstract>
              <t>This document describes an extension to BGP which may be used to pass additional information to both neighboring and remote BGP peers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1997"/>
          <seriesInfo name="DOI" value="10.17487/RFC1997"/>
        </reference>
        <reference anchor="RFC6480" target="https://www.rfc-editor.org/info/rfc6480" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6480.xml">
          <front>
            <title>An Infrastructure to Support Secure Internet Routing</title>
            <author initials="M." surname="Lepinski" fullname="M. Lepinski">
              <organization/>
            </author>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t>This document describes an architecture for an infrastructure to support improved security of Internet routing.  The foundation of this architecture is a Resource Public Key Infrastructure (RPKI) that represents the allocation hierarchy of IP address space and Autonomous System (AS) numbers; and a distributed repository system for storing and disseminating the data objects that comprise the RPKI, as well as other signed objects necessary for improved routing security.  As an initial application of this architecture, the document describes how a legitimate holder of IP address space can explicitly and verifiably authorize one or more ASes to originate routes to that address space.  Such verifiable authorizations could be used, for example, to more securely construct BGP route filters.   This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6480"/>
          <seriesInfo name="DOI" value="10.17487/RFC6480"/>
        </reference>
        <reference anchor="RFC6482" target="https://www.rfc-editor.org/info/rfc6482" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6482.xml">
          <front>
            <title>A Profile for Route Origin Authorizations (ROAs)</title>
            <author initials="M." surname="Lepinski" fullname="M. Lepinski">
              <organization/>
            </author>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization/>
            </author>
            <author initials="D." surname="Kong" fullname="D. Kong">
              <organization/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t>This document defines a standard profile for Route Origin Authorizations (ROAs).  A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6482"/>
          <seriesInfo name="DOI" value="10.17487/RFC6482"/>
        </reference>
        <reference anchor="RFC6811" target="https://www.rfc-editor.org/info/rfc6811" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author initials="P." surname="Mohapatra" fullname="P. Mohapatra">
              <organization/>
            </author>
            <author initials="J." surname="Scudder" fullname="J. Scudder">
              <organization/>
            </author>
            <author initials="D." surname="Ward" fullname="D. Ward">
              <organization/>
            </author>
            <author initials="R." surname="Bush" fullname="R. Bush">
              <organization/>
            </author>
            <author initials="R." surname="Austein" fullname="R. Austein">
              <organization/>
            </author>
            <date year="2013" month="January"/>
            <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="RFC8481" target="https://www.rfc-editor.org/info/rfc8481" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8481.xml">
          <front>
            <title>Clarifications to BGP Origin Validation Based on Resource Public Key Infrastructure (RPKI)</title>
            <author initials="R." surname="Bush" fullname="R. Bush">
              <organization/>
            </author>
            <date year="2018" month="September"/>
            <abstract>
              <t>Deployment of BGP origin validation based on Resource Public Key Infrastructure (RPKI) is hampered by, among other things, vendor misimplementations in two critical areas: which routes are validated and whether policy is applied when not specified by configuration. This document is meant to clarify possible misunderstandings causing those misimplementations; it thus updates RFC 6811 by clarifying that all prefixes should have their validation state set and that policy must not be applied without operator configuration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8481"/>
          <seriesInfo name="DOI" value="10.17487/RFC8481"/>
        </reference>
        <reference anchor="rpkimancer-doa" target="https://pypi.org/project/rpkimancer-doa/">
          <front>
            <title>rpkimancer-doa</title>
            <author initials="B." surname="Maddison">
              <organization>Workonline</organization>
            </author>
            <date year="2021" month="June"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>
        TODO
      </t>
    </section>
    <section removeInRFC="true">
      <name>Document Changelog</name>
      <section>
        <name>Individual Submission Phase</name>
        <ul>
          <li/>
        </ul>
      </section>
    </section>
  </back>
</rfc>
