<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-doesburg-sidrops-nullscheme-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="Null Scheme for the RPKI">Null Scheme for Signed Objects in the Resource Public Key Infrastructure (RPKI)</title>
    <seriesInfo name="Internet-Draft" value="draft-doesburg-sidrops-nullscheme-00"/>
    <author fullname="Dirk Doesburg">
      <organization/>
      <address>
        <postal>
          <country>The Netherlands</country>
        </postal>
        <email>dirk@ddoesburg.nl</email>
      </address>
    </author>
    <date year="2025" month="September" day="06"/>
    <area>Operations and Management</area>
    <workgroup>SIDR Operations</workgroup>
    <abstract>
      <?line 59?>

<t>This document specifies the Null Scheme for use in Signed Objects in the Resource Public Key Infrastructure (RPKI).
The Null Scheme is a niche signature scheme that can replace the redundant and costly use of actual digital signatures from so-called "one-time-use" key pairs in Signed Objects.
The Null Scheme has as public key the digest of the message to be signed, and the signature is always empty. When a Null Scheme public key is the subject of a Signed Object's one-time-use End-Entity (EE) certificate, it establishes a secure binding between the issuer of the EE certificate and the message to be signed. This is cheaper in terms of size and verification time than using a real signature scheme, while providing the same security guarantees.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-doesburg-sidrops-nullscheme/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SIDR Operations Working Group mailing list (<eref target="mailto:sidrops@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sidrops/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sidrops/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies the Null Scheme for use in Signed Objects in the Resource Public Key Infrastructure (RPKI) <xref target="RFC6480"/>.
The Null Scheme is a niche signature scheme that can replace the redundant and costly use of actual digital signatures from so-called "one-time-use" key pairs in RPKI Signed Objects <xref target="RFC6488"/>.</t>
      <t>Signed Objects contain an End-Entity (EE) certificate issued by a Certificate Authority (CA). This EE certificate usually contains a public key corresponding to a one-time-use key pair, which is used to sign a single CMS signed-data object <xref target="RFC5652"/>. The practice of using each key pair for only one Signed Object enables the use of a CRL <xref target="RFC5280"/> to revoke individual objects. However, it means that each Signed Object consists of two signatures and a public key, whereas, intuitively, only one signature should be needed to bind the object to its issuer.</t>
      <t>The Null Scheme is <em>not</em> an actual digital signature algorithm, or even a One-Time Signature <xref target="OTS"/>: it requires the (single) message to be signed to be known before the public key can be generated.</t>
      <t>Essentially, the Null Scheme works as follows:</t>
      <ul spacing="normal">
        <li>
          <t>the public key is the digest of the single message to be signed,</t>
        </li>
        <li>
          <t>there is no private key, and</t>
        </li>
        <li>
          <t>the signature is always empty.</t>
        </li>
      </ul>
      <t>Signature generation has to happen together with generation of the public key, taking the message to be signed as input. A public key cannot be generated without the message being known in advance. Verification is done by simply comparing the message digest with the public key.</t>
      <t>As the input to a signing algorithm when signing a CMS signed-data object is the output of the Message Digest Calculation Process defined in <xref section="5.4" sectionFormat="of" target="RFC5652"/>, the Null Scheme's public key is technically directly the input of the signing algorithm, rather than a digest of that input. This avoids an unnecessary extra hashing step.</t>
      <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="related-work">
        <name>Related Work</name>
        <t>The Null Scheme is inspired by the idea that the one-time-use key pairs in RPKI Signed Objects could be replaced using One-Time Signature (OTS) algorithms, such as hash-based Lamport or Winternitz signatures as used in XMSS <xref target="RFC8391"/> and LMS <xref target="RFC8554"/>. While this could be a suitable post-quantum alternative to current signature schemes, these hash-based OTS algorithms have large signatures. It was then observed that the requirements for the one-time-use key pairs in Signed Objects are even weaker than those offered by OTS algorithms: it is possible to know the message to be signed before generating the key pair.</t>
        <t>The Null Scheme takes advantage of this to achieve optimal size and verification time while preserving the structure and validation process of Signed Objects. This makes it possible to introduce the Null Scheme in the RPKI without requiring any changes to its specifications such as <xref target="RFC6480"/> and <xref target="RFC6488"/>: only the algorithms specification <xref target="RFC7935"/> needs to be updated.</t>
        <section anchor="attribute-certificates">
          <name>Attribute Certificates</name>
          <t>Several other niche signature schemes exist that have some similarities to the Null Scheme, but serve a different purpose.
<xref target="RFC5755"/> describes the use of 'Attribute Certificates' that can allow something other than a public key to be the subject of an X509 certificate. Through using the 'ObjectDigestInfo' holder type (see <xref section="7.3" sectionFormat="of" target="RFC5755"/>) something equivalent to the Null Scheme can be achieved: the 'holder' of an Attribute Certificate is the digest of an RPKI Signed Object's payload. However, compared to the Null Scheme, using Attribute Certificates in place of plain X.509 EE certificates would require much more extensive changes to the RPKI specifications, making it operationally less practical to introduce.</t>
        </section>
        <section anchor="no-signature">
          <name>No-Signature</name>
          <t><xref section="C.1" sectionFormat="of" target="RFC5272"/> and <xref target="I-D.ietf-lamps-x509-alg-none-00"/> define a No-Signature algorithm for signatures in X.509 certificates and CMS signed-data objects. These specifications are intended for use-cases where a signature is not needed at all. However, in RPKI Signed Objects, <em>something</em> is needed to bind the Signed Object to an EE certificate. This can be achieved by removing the signature from the CMS signed-data (as in the No-Signature scheme) only if the signed-data is linked to the EE certificate in some other way. That binding is provided by the Null Scheme through the EE certificate's public key. Many alternative ways to provide such a binding exist (such as using Attribute Certificates as mentioned above), but require more extensive changes to the structure of Signed Objects.</t>
        </section>
        <section anchor="relying-on-digest-in-manifests">
          <name>Relying on digest in Manifests</name>
          <t>Another more radical way of reducing the cryptographic overhead in the RPKI is to remove the CMS signed-data wrapper and EE certificate from Signed Objects (other than Manifests <xref target="RFC6486"/>) entirely, and instead rely on the digest of the Signed Object being listed in a valid Manifest. This is a major change to the workings of the RPKI. It would reduce the cryptographic overhead much more (removing a public key and not one but two signatures per object), but would be very hard to introduce in practice.</t>
        </section>
      </section>
    </section>
    <section anchor="definition">
      <name>Definition</name>
      <t>The Null Scheme <bcp14>MUST</bcp14> only be used to sign and verify the CMS signed-data object contained in an RPKI Signed Object <xref target="RFC6488"/>.
Consequently, when it is used, a Null Scheme public key appears as the subject of a one-time-use EE certificate attached in the <tt>certificates</tt> field of the Signed Object's CMS signed-data object. The Null Scheme signature appears in the single <tt>SignerInfo</tt> object included in the signed-data object's <tt>signerInfos</tt> field.</t>
      <t>As the Null Scheme requires the message to be signed to be known before the public key can be generated, it consists of two algorithms: <tt>SignOnce</tt> and <tt>Verify</tt>, rather than the usual <tt>KeyGen</tt>, <tt>Sign</tt>, and <tt>Verify</tt> algorithms.</t>
      <section anchor="public-key-and-signature-generation">
        <name>Public Key and Signature Generation</name>
        <t>The <tt>SignOnce</tt> algorithm takes as input the message to be signed <tt>m</tt>. It produces as output a public key <tt>pk</tt> and a signature <tt>sig</tt>.
As the Null Scheme must only be used to sign CMS signed-data objects, the input message <tt>m</tt> is the output of the Message Digest Calculation Process defined in <xref section="5.4" sectionFormat="of" target="RFC5652"/>. Therefore, although the Null Scheme's public key is always a digest of the message, the <tt>SignOnce</tt> algorithm actually returns its input <tt>m</tt> directly. The digest algorithm used is indicated by the <tt>SignerInfo</tt> object's <tt>digestAlgorithm</tt> field.</t>
        <figure anchor="alg-signonce">
          <name>Algorithm SignOnce(m)</name>
          <artwork><![CDATA[
  1. pk = m    # The output of the message digest calculation process
  2. sig = ""  # Empty octet string
  3. return (pk, sig)
]]></artwork>
        </figure>
      </section>
      <section anchor="signature-verification">
        <name>Signature Verification</name>
        <t>The <tt>Verify</tt> algorithm takes as input a message <tt>m</tt>, a public key <tt>pk</tt>, and a signature <tt>sig</tt>. Like <tt>SignOnce</tt>, the input <tt>m</tt> is the output of the Message Digest Calculation Process defined in <xref section="5.4" sectionFormat="of" target="RFC5652"/>. It produces as output either "valid" or "invalid".</t>
        <figure anchor="alg-verify">
          <name>Algorithm Verify(m, pk, sig)</name>
          <artwork><![CDATA[
  1. if sig == "" and pk == m then return "valid"
  2. return "invalid"
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
RPKINullScheme2025
  { iso(1) member-body(2) us(840) rsadsi(113549)
    pkcs(1) pkcs-9(9) smime(16) modules(0) null-scheme-2025(TBD) }
--
-- TODO: module ID to be replaced by IANA
--

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  PUBLIC-KEY, SIGNATURE-ALGORITHM
    FROM AlgorithmInformation-2009  -- RFC 5912
      { iso(1) i id-mod(0)
        id-mod-algorithmInformation-02(58) }
;

--
-- TODO: OIDs to be replaced by IANA
--
id-RPKI-NULL-SCHEME OBJECT IDENTIFIER ::= {
    identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) alg(6) TBD
  }

pk-RPKI-NULL-SCHEME PUBLIC-KEY ::= {
    IDENTIFIER id-RPKI-NULL-SCHEME
    -- The digest algorithm used to determine the input to the signing / verification
    -- algorithms is determined by the SignerInfo's digestAlgorithm field. The signing
    -- and verification algorithms themselves are not dependent on the digest algorithm,
    -- so we don't need PARAMS or distinct OIDs for pairing different digest algorithms.
    PARAMS ARE absent
    -- A Null Scheme public key should only be certified by EE certificates.
    -- So, in accordance with RFC6487, only the digitalSignature bit is valid.
    CERT-KEY-USAGE {digitalSignature} 
  }

sa-RPKI-NULL-SCHEME SIGNATURE-ALGORITHM ::= {
    IDENTIFIER id-RPKI-NULL-SCHEME
    PARAMS ARE absent
    PUBLIC-KEYS {pk-RPKI-NULL-SCHEME}
  }

END
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="security-reduction-to-second-preimage-resistance">
        <name>Security Reduction to Second-Preimage Resistance</name>
        <t>Although the Null Scheme cannot be used as a general-purpose digital signature algorithm, it does
provably provide the same security properties that are expected from normal digital signatures.</t>
        <t>Given a public key <tt>pk</tt> and corresponding message-signature pair <tt>(m, sig)</tt>, finding another valid message-signature pair <tt>(m', sig')</tt> is clearly impossible: a pair <tt>(m', sig')</tt> is only valid under public key <tt>pk</tt> if <tt>m' == pk</tt> and <tt>sig' == ""</tt>, and therefore <tt>m' == m</tt>.</t>
        <t>As the Null Scheme is used to sign CMS signed-data objects, it is, as with any other signature scheme, possible for two distinct messages to lead to the same message digest. Finding such a second message <tt>m'</tt> given a message <tt>m</tt> that is valid under public key <tt>pk</tt> is breaking the second-preimage resistance of <tt>H</tt>. This would not only allow forging (or reusing) a Null Scheme signature on <tt>m'</tt>, but also reusing the signature of any other signature scheme. This makes the Null Scheme strictly no less secure than any other signature scheme paired with the same digest algorithm <tt>H</tt>.</t>
        <!--

Slightly more formal security proofs are possible. However, the 'best' security notion SUF-CMA reduces very clearly to collision resistance, not second-preimage resistance. That's not bad, but intuitively second-preimage resistance is enough for actual security in practice. A proof for EUF-KMA reducing to second-preimage resistance is also possible, and I think due to the one-time-use nature that's actually a sufficient (if not equivalent) notion. But I've not seen EUF-KMA used in a one-time-signature context, so it'd be a rather uncommon (and therefore less useful) notion to provide a proof for. So I've opted to not include formal proofs and focus on the intuition applied in particular to the RPKI. Still, I'm keeping the proofs below for reference.

### SUF-CMA with Collision Resistant H

An adversary that breaks SUF-CMA security can, given a target public key `pk` and access to a signing oracle for messages of its choice, produce a valid forgery `(m', sig')` that is not one of the message-signature pairs `(m_i, sig_i)` previously obtained from the signing oracle.
As `sig_i` and `sig'` are always the empty string, this means that the adversary has found distinct messages `m'` and `m_i` such that both `H(m') = pk` and `H(m_i) = pk`, and thus `H(m') = H(m_i)`. This means that the adversary has found a collision in `H`, contradicting the assumption that `H` is collision resistant.

### EUF-KMA with Second-Preimage Resistant H

An adversary that breaks EUF-KMA security can, given a target public key `pk` and access to message-signature pairs `(m_i, sig_i)` for messages *not* of its choice, produce a valid forgery `(m', sig')` where `m'` is not one of the known messages `m_i`. Therefore, the adversary has, given `m_i` such that `H(m_i) = pk`, found a distinct message `m'` such that `H(m') = pk`. This contradicts the assumption that `H` is second-preimage resistant.

-->

</section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a value from the "SMI Security for S/MIME Module Identifier" registry <xref target="RFC7299"/> for the ASN.1 module <tt>RPKINullScheme2025</tt> defined in this document, and a value for <tt>id-RPKI-NULL-SCHEME-SHA256</tt> from the "SMI Security for PKIX Algorithms" registry <xref target="RFC7299"/>.</t>
      <t>Editorial note: the assigned OID values will need to be added in the ASN.1 module, and test vectors regenerated using the definitive value for <tt>id-RPKI-NULL-SCHEME-SHA256</tt>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC6487">
          <front>
            <title>A Profile for X.509 PKIX Resource Certificates</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a standard profile for X.509 certificates for the purpose of supporting validation of assertions of "right-of-use" of Internet Number Resources (INRs). The certificates issued under this profile are used to convey the issuer's authorization of the subject to be regarded as the current holder of a "right-of-use" of the INRs that are described in the certificate. This document contains the normative specification of Certificate and Certificate Revocation List (CRL) syntax in the Resource Public Key Infrastructure (RPKI). This document also specifies profiles for the format of certificate requests and specifies the Relying Party RPKI certificate path validation procedure. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6487"/>
          <seriesInfo name="DOI" value="10.17487/RFC6487"/>
        </reference>
        <reference anchor="RFC6480">
          <front>
            <title>An Infrastructure to Support Secure Internet Routing</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="February" year="2012"/>
            <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="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="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7299">
          <front>
            <title>Object Identifier Registry for the PKIX Working Group</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>When the Public-Key Infrastructure using X.509 (PKIX) Working Group was chartered, an object identifier arc was allocated by IANA for use by that working group. This document describes the object identifiers that were assigned in that arc, returns control of that arc to IANA, and establishes IANA allocation policies for any future assignments within that arc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7299"/>
          <seriesInfo name="DOI" value="10.17487/RFC7299"/>
        </reference>
        <reference anchor="FIPS.180-4">
          <front>
            <title>Secure hash standard</title>
            <author>
              <organization/>
            </author>
            <date year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.180-4"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6486">
          <front>
            <title>Manifests for the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a "manifest" for use in the Resource Public Key Infrastructure (RPKI). A manifest is a signed object (file) that contains a listing of all the signed objects (files) in the repository publication point (directory) associated with an authority responsible for publishing in the repository. For each certificate, Certificate Revocation List (CRL), or other type of signed objects issued by the authority that are published at this repository publication point, the manifest contains both the name of the file containing the object and a hash of the file content. Manifests are intended to enable a relying party (RP) to detect certain forms of attacks against a repository. Specifically, if an RP checks a manifest's contents against the signed objects retrieved from a repository publication point, then the RP can detect "stale" (valid) data and deletion of signed objects. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6486"/>
          <seriesInfo name="DOI" value="10.17487/RFC6486"/>
        </reference>
        <reference anchor="RFC7935">
          <front>
            <title>The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="G. Michaelson" initials="G." role="editor" surname="Michaelson"/>
            <date month="August" year="2016"/>
            <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 (CRLs), Cryptographic Message Syntax (CMS) signed objects and certification requests as well as for the relying parties (RPs) that verify these digital signatures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7935"/>
          <seriesInfo name="DOI" value="10.17487/RFC7935"/>
        </reference>
        <reference anchor="RFC8391">
          <front>
            <title>XMSS: eXtended Merkle Signature Scheme</title>
            <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
            <author fullname="D. Butin" initials="D." surname="Butin"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
            <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8391"/>
          <seriesInfo name="DOI" value="10.17487/RFC8391"/>
        </reference>
        <reference anchor="RFC8554">
          <front>
            <title>Leighton-Micali Hash-Based Signatures</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Curcio" initials="M." surname="Curcio"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8554"/>
          <seriesInfo name="DOI" value="10.17487/RFC8554"/>
        </reference>
        <reference anchor="RFC5755">
          <front>
            <title>An Internet Attribute Certificate Profile for Authorization</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This specification defines a profile for the use of X.509 Attribute Certificates in Internet Protocols. Attribute certificates may be used in a wide range of applications and environments covering a broad spectrum of interoperability goals and a broader spectrum of operational and assurance requirements. The goal of this document is to establish a common baseline for generic applications requiring broad interoperability as well as limited special purpose requirements. The profile places emphasis on attribute certificate support for Internet electronic mail, IPsec, and WWW security applications. This document obsoletes RFC 3281. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5755"/>
          <seriesInfo name="DOI" value="10.17487/RFC5755"/>
        </reference>
        <reference anchor="RFC5272">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t>
              <t>1. The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t>
              <t>2. The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t>
              <t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5272"/>
          <seriesInfo name="DOI" value="10.17487/RFC5272"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-x509-alg-none-00">
          <front>
            <title>Unsigned X.509 Certificates</title>
            <author fullname="David Benjamin" initials="D." surname="Benjamin">
              <organization>Google LLC</organization>
            </author>
            <date day="20" month="March" year="2025"/>
            <abstract>
              <t>   This document defines a placeholder X.509 signature algorithm that
   may be used in contexts where the consumer of the certificate does
   not intend to verify the signature.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-x509-alg-none-00"/>
        </reference>
        <reference anchor="PQC-for-the-RPKI">
          <front>
            <title>Post-Quantum Cryptography for the RPKI</title>
            <author initials="D." surname="Doesburg">
              <organization/>
            </author>
            <date year="2025" month="June" day="27"/>
          </front>
          <refcontent>MSc Thesis, Radboud University</refcontent>
        </reference>
        <reference anchor="OTS">
          <front>
            <title>Constructing Digital Signatures from a One Way Function</title>
            <author initials="L." surname="Lamport">
              <organization/>
            </author>
            <date year="1979" month="October" day="18"/>
          </front>
          <refcontent>SRI International, CSL-98</refcontent>
        </reference>
      </references>
    </references>
    <?line 242?>

<section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>The following test vector is a base-64 encoded RPKI Signed Object containing an EE certificate with as subject a Null Scheme public key matching the signed content. The EE certificate is issued by an RSA key pair, whose public key is also added below.</t>
      <t>Editorial note: the test vectors below are generated using placeholder OID value <tt>1.3.6.1.4.1.64241.1.1</tt> for <tt>id-RPKI-NULL-SCHEME-SHA256</tt>. Once IANA has assigned a value, the test vectors will need to be regenerated using that definitive OID value.</t>
      <figure anchor="testvector-signedobject">
        <name>RPKI Signed Object with Null Scheme EE Certificate</name>
        <artwork><![CDATA[
MIIExwYJKoZIhvcNAQcCoIIEuDCCBLQCAQMxDTALBglghkgBZQMEAgEwKAYLKoZI
hvcNAQkQARigGQQXMBUCAQUwEDAOBAIAATAIMAYDBAB7DCKgggPLMIIDxzCCAq+g
AwIBAgIUfsjuEOuYMPFgVb8W26Oa9upWd3owDQYJKoZIhvcNAQELBQAwMzExMC8G
A1UEAxMoRTU4QzAzRjlGQUNDM0I5QUIxMEY3OEJEQTZDODZDNkQ1N0IyNTBGMzAe
Fw0yNTA5MTkxODQ5MzNaFw0yNjA5MTgxODU0MzNaMDMxMTAvBgNVBAMTKDhGQjJE
NkY0MjkzNTNCMENBRTQ0MDM5NjRDOUI3MDk3N0I5M0RDMDAwMTAMBgorBgEEAYP1
cQEBAyEAs4nZPXR8JArehzIBiIrCTWPw2Hw2w+m5L+uO+7aW7FmjggHEMIIBwDAd
BgNVHQ4EFgQUj7LW9Ck1OwyuRAOWTJtwl3uT3AAwHwYDVR0jBBgwFoAU5YwD+frM
O5qxD3i9pshsbVeyUPMwDgYDVR0PAQH/BAQDAgeAMFwGA1UdHwRVMFMwUaBPoE2G
S3JzeW5jOi8vbG9jYWxob3N0L3JlcG8vY2hpbGQvMC9FNThDMDNGOUZBQ0MzQjlB
QjEwRjc4QkRBNkM4NkM2RDU3QjI1MEYzLmNybDBoBggrBgEFBQcBAQRcMFowWAYI
KwYBBQUHMAKGTHJzeW5jOi8vbG9jYWxob3N0L3JlcG8vb25saW5lLzAvRTU4QzAz
RjlGQUNDM0I5QUIxMEY3OEJEQTZDODZDNkQ1N0IyNTBGMy5jZXIwawYIKwYBBQUH
AQsEXzBdMFsGCCsGAQUFBzALhk9yc3luYzovL2xvY2FsaG9zdC9yZXBvL2NoaWxk
LzAvMzEzMjMzMmUzMTMyMmUzMzM0MmUzMDJmMzIzNDJkMzIzNDIwM2QzZTIwMzUu
cm9hMBgGA1UdIAEB/wQOMAwwCgYIKwYBBQUHDgIwHwYIKwYBBQUHAQcBAf8EEDAO
MAwEAgABMAYDBAB7DCIwDQYJKoZIhvcNAQELBQADggEBAI/6f6QVtlCDdeUtSaDY
+hcI3MQy8I68o3u7dBK492bzhEHX94EbXF8vJCqqckBCHUUJwOb2MfUiUq0ZjUyG
baBksk+4k55CaFTi0QAgbnCYZ+08bTCd61yc7bYiyPpHOW3MWX9evTir+h2uFJyT
ETWtkb7APGJgTA9KtIxCj2rNveKv+gmci/mi3FMELLn/y0QAexBMVPIyU142KUrM
X5SeHvHYz9QzXwpyhKVeyqD3wMTe+I70mEMnCjMZTHGSYsfykXbXKmAmnk76SB7n
C1MCy8BhCUBLBAn+QcK4aTpqVi3i/2V2a3EZm+nfcNB/kb/wMCCYawrS6XjFpWL8
LoYxgaYwgaMCAQOAFI+y1vQpNTsMrkQDlkybcJd7k9wAMAsGCWCGSAFlAwQCAaBr
MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABGDAcBgkqhkiG9w0BCQUxDxcNMjUw
OTE5MTg1NDMzWjAvBgkqhkiG9w0BCQQxIgQgaoUbRc3K1OCIGMdQhz9HjaFxJhrc
dEXSKTTashDvSv0wDAYKKwYBBAGD9XEBAQQA
]]></artwork>
      </figure>
      <t>The EE certificate in the Signed Object is issued with the following RSA public key:</t>
      <figure anchor="testvector-issuer">
        <name>RSA Public Key of EE Certificate Issuer</name>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2nyEbcU+KLPQYfV+NYVD
2GVy06sXSoWSMbHl4BNgpkyaVT+wmXfiBq5RT33Nb5bm6mNsX6rZzRBm9BT6p5wb
y+eMpVHqbrLb4JfBXSQnq+7132iTkfgBbIt5v5Z2Ly6UfiBb/Ftpz/5NeYpDpd65
A0qngooYjY6Loyjvfoa53Rc40/bfWGkValseQ0qrww9t3ztejpWUIY8p5FzNdjeV
XfkB1DgMmllLAUcRb+yC844oEGNJyZL1Stspo9+HVLUOUUXpoylXjd7rOStuq8Y1
JGa6VWHq6q0hwd67oEcZRwGmExJKhvuRPy+Udk1a2S3X60s9pqMOd4Soo5cKtul4
ZQIDAQAB
-----END PUBLIC KEY-----
]]></artwork>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank Moritz Müller, Ralph Koning and Lisa Bruder who supervised the thesis that led to the idea of the Null Scheme, and especially to Job Snijders for his valuable comments and suggestions on earlier drafts of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
d5h+SwBiZFfeObyPBeN+Mx7yCi5/FoG/0eKOCnioNoL0OWSuCtbkEidmEn2T
j3y2mL3J5rPX8N/NdeE6D5/5j39fRwQ7xdwc+ctE8floPvHlIWn7yDqGFiNK
wyUhM2746pqmfq0Gj0/euzZZmk25bVY8uLaoVipKo12R2/pXtSc3lLEznszG
yntbV+WxunqSBw0cI/FBs7bcscf1dvtNV/owqL9Sq3JLkTVZ7smaLg+qiqzc
VitP4/H4uQGLVr82lYr8eTGW5JWmyGOtPwqnC7W1GOjPtfHL8O61cNMyygv/
1Sp6q2o7TaHaUNrySt+oX3rlri7J+b4qf+lep9e/bm/kTWfq1Nv9ZlXPaaV2
X/vS1UGxpT6q7d57tVV9rzZn7Xwzp62bPaWub2Qq1VY5+CGX9N7sq1Vtl/RN
02DXpnhtDNf6ObymV/UvvScvlXHzRZH13lN1Um9PH1WpORvk9Ols0+w1K7ra
VDq9dg4eLjWnnWqrrxX16qwIK5b0XKeqV4H0nqwr4F+UsarKg+e8ZLZVRV6r
cnjtvj+/de4e5YBONppia0Gl9/q8KjysCquLealxsWhd3Bqvt7X5dDwG9Gia
sqrKloQkPbSv1dq43Z/eNl7LlVm+tVovOnLrtfcYrZzioleU5dXDalB96eSm
ijJe1Ty5XxqsqhejQJdapc+vatEu++EkHL7Qdf9ZX1XH7OFnuf1wpcjtqjym
sl5b1UHg1sOq86LX9FXfUJ49tVCXusXHDX0tTVv23XJYL08Hr1/eELhuFB8d
s363HBQm/rDeXuqVcq3Zm4AcmvVW/10BSW3aU0eR2lN11Zma1+1ZR2nO9Gv4
r9Cp9ovtqZYHFW4a8+Z6WFU8ZTxGwdWUtglEdUy95q1e5YEmPa0GitLuP+jy
U7338HNqhoVSaLyWnMZGXsa4kf5DwFmXpu9v2spYDbR4YUluh+rbRrH0Wliv
VMI62EFN2ciNyay8NovOYrDxlo3CF8iiFhr18saqlNfvbwpca3rG69dMQnIA
1xt9qm/0eX+j9/Q1+9zoOfZZfZzrG23TrD7O+Ke20gvtzXsPPjf9hWTOyxOA
FlORJqvK1ard0uXVqjLeklkda4iD5LeMghzdqWixEjwM9i0rW5PVjllfdTwG
xGpXN6Ob9kvkVKoW7UddozqQLiYmAL69vtNu7rzi4tZSnq7LheFmoj68la/V
4VvtbvlY+fw0Z0rlod9/XLWGBX3Ut/ufufdpf12XhoYyC2cX17NSqWLUenau
LY+HbmXwfpG7G/Yq1k1+bd4OB/b62X9ovRb117cyXfbs4GJSWNQe1z1J7b1G
s+Gt/Fx/HPfk8lOkfVWmhaC5pE/Li/HctK/mdrGmq42Ge7WG2emXor88a+t+
/rrw1AdbeCt16cPyYbAptzdvK389eQKD+KwWwW7phXabm6u6W5nq772HencQ
jtazt+Hb01yeu7Pbm65y60qVvF5Z3ymTSl9pKLJ70Tafro2e//liF+2rwkvB
KKrv8wt3ZDaVq9nwaqVXKgNjFXRv3qY1/7VxJzW8wdfYGKzGhg7OtCXXtIt1
ftn2m71QD2btqjNbD81H63ZWXsm6DGB7rdS7cs2RV+CxDSWQdMWrV7qf9a42
LFbb6qO8Abc0Dj8nM7teXuWUSkdW6lXZVMaz7bV2/6v6ZTb1aX8ltXoq+r48
WMPmdYo+L/1g+0sbt8eG1x92zOJTvlXR6rrVnmzKD1Oj9vU4CUzJUt+6T72e
EU6qy+4yB15q8MQQJ9er5TcAT7stb7cJMazxqJbhUS9+MYzvGR5JOVhWkU4k
IDlInSNjO4nHcgb3yKGnbSKRdKm2+RBmFdss4l7EzQz+YRt3oqNOsM2PfzCk
KtpUbqZFBmZTk+UWKPNOxvuV8RN8V+WCu1aHZv/iqfHcHoxeLpqDl6pUqL+s
czfhW9d77erDB+daaY792dp46V2s5m8jW/ksdXrFYnNYGs5v5s3w7SZ433SU
eVnp3fil1VBaX1Ddf3n4HAaN4fXjSHnrtt3Pi9t8sWD3ZqOxMtSi0rL0Xmis
b/ow3fCqFvmbq1KTDvyqb92UJDn36Y49bzAd3DS89XQ58oxSsWNe566Go9f6
7AXyKNrOfQarVTkqbiI69V/72uDOL9U2TWtKX6S30UzJV8f63HEact/sDC/W
lbvra0+tNx/X7418Nwp9r3zx8NLot/r9N99bO29T6zZodaPF590gLz3WjZuX
14fPm8/cZGXd3Hqq+d5Z1efq1+PTZLnoPK8v+tYsbxS6xbebXFj2P/WWdd31
vJL5FC2ca+m9rVXltqxwTanN6oGejoFPvNAcww5UnzpYA+XgLsiIxh4XZw2I
bGKl6FBrzN5ogLn5P4pBrT+djFBkJwKT/F8GEF1fB08KsNaR4c6gYArwBRD9
X//ZcbCf2TEcf0KePJFbW6RhhwZRggUmnZDiQlbt4xsCrNc+YVsdoS36Bs72
nCh75UWUszsnoXFKys7jsv4ePP7oDUnXtaewAN+fm/Cm94K9PoIdOPa6Bg4M
F2Ns47JDvFB4YicVSjz+T4+EyYsPcYUGKee/ARh1SeEuRQAA

-->

</rfc>
