<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-plants-mtc-deploy-use-cases-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="MTC Use Cases">Merkle Tree Certificates Deployment Use Cases</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-plants-mtc-deploy-use-cases-00"/>
    <author initials="J." surname="Gray" fullname="John Gray">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road – Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author initials="J." surname="Klaussner" fullname="Jan Klaussner">
      <organization>Bundesdruckerei GmbH</organization>
      <address>
        <postal>
          <street>Kommandantenstr. 18</street>
          <city>Berlin</city>
          <code>10969</code>
          <country>Germany</country>
        </postal>
        <email>jan.klaussner@bdr.de</email>
      </address>
    </author>
    <author initials="L." surname="Tindell" fullname="Luke Tindell">
      <organization>UK National Cyber Security Centre</organization>
      <address>
        <postal>
          <country>United Kingdom</country>
        </postal>
        <email>luke.t2@ncsc.gov.uk</email>
      </address>
    </author>
    <author initials="G." surname="Mallaya" fullname="Ganesh Mallaya">
      <organization abbrev="AppViewX Inc">AppViewX Inc</organization>
      <address>
        <postal>
          <street>107 Spring Street</street>
          <city>Seattle, Washington</city>
          <country>USA</country>
        </postal>
        <email>ganesh.mallaya@appviewx.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="23"/>
    <area>Security</area>
    <workgroup>PKI, Logs, And Tree Signatures</workgroup>
    <keyword>Merkle Tree Certificate</keyword>
    <keyword>Post Quantum</keyword>
    <keyword>PKI</keyword>
    <abstract>
      <?line 70?>

<t>Merkle Tree Certificates (MTC)
I-D.ietf-plants-merkle-tree-certs has been defined for the
use case of the WebPKI.
In this document we explore when and how MTC in parts or full can be used in different
use cases. Some of this use-cases may provide benefit for private PKI usage.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/ietf-plants-wg/deploy-use-cases/draft-ietf-plants-mtc-deploy-use-cases.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-plants-mtc-deploy-use-cases/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        PKI, Logs, And Tree Signatures Working Group mailing list (<eref target="mailto:plants@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/plants"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/plants/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-plants-wg/deploy-use-cases"/>.</t>
    </note>
  </front>
  <middle>
    <?line 79?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>EdNote: Before getting into the nitty gritty, let's start with the potential benefit</t>
      <t>Merkle Tree Certificates (MTC) have been designed to solve two problems for the WebPKI:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Size.</strong> A <em>landmark-relative Merkle Tree Certificate</em> is small as it
  only contains a public key and a small Merkle Tree inclusion proof.</t>
        </li>
        <li>
          <t><strong>Downgrade Detection.</strong> MTC ensures Certificate Transparency is post-quantum secure, and with that
allows detection of post-quantum downgrade attacks.</t>
        </li>
      </ol>
      <t>Besides solving these two problems, MTC has additional benefits.</t>
      <t><strong>Batch Signing.</strong> MTC reduces the load on the CA because a single signature is used for a batch of certificates.</t>
      <t>A PKI that operates with any of these three challenges could benefit from MTC.
These advantages come with trade-offs:</t>
      <ol spacing="normal" type="1"><li>
          <t>The small <em>landmark-relative</em> MTCs can only be used if the verifier
has been updated with recent <em>landmarks</em>. If the verifier is stale, it
has to fall back to a larger <em>standalone</em> MTC or it will need a
mechanism to be able to fetch the latest landmarks (refresh its
state). The prover and verifier need a mechanism to negotiate whether
to use the landmark-relative or standalone certificate.</t>
        </li>
        <li>
          <t>For downgrade detection, the issuer needs to publish a log of issued
certificates.</t>
        </li>
        <li>
          <t>Batch sizing parameters will need to be carefully chosen to optimize
system efficiency based on the particular use-case.</t>
        </li>
      </ol>
      <section anchor="brief-overview-of-mtc">
        <name>Brief overview of MTC</name>
        <t>A Merkle Tree Certificate is a regular X509 certificate with two
differences:</t>
        <ol spacing="normal" type="1"><li>
            <t>Instead of a single signature, an MTC can contain zero or more signatures:
zero in the case of landmark-relative and one-or-more in case of standalone.
One is by the issuer, and others are added when certificate transparency is required.</t>
          </li>
          <li>
            <t>The contents of the certificate is not signed directly, but instead
a Merkle tree head is signed, together with providing a proof-of-inclusion
of the certificate contents in that Merkle tree.</t>
          </li>
        </ol>
        <t>The use of a Merkle tree allows for batch signing, and the cost of a signature is
amortized over the number of certificates at the leaf notes.</t>
        <t>If a verifier has out-of-band knowledge of the treehead used (which in
that case is called a <em>landmark</em>), then it can be satisfied with
the landmark-relative certificate that leaves out the signatures.</t>
      </section>
      <section anchor="batch-size-trade-offs">
        <name>Batch size trade-offs</name>
        <t>A PKI can make trade-offs when selecting MTC batch sizes for both
checkpoints and landmarks.</t>
        <t>For checkpoints the trade-off is between computational cost of signatures and
the size of standalone certificates. Smaller checkpoint batches require more
frequent signatures, but reduce the size of the inclusion proofs for standalone
certificates. Conversely, larger batches reduce the signature frequency but
increase the size of inclusion proofs for standalone certificates.</t>
        <t>For landmarks the trade-offs are between relying party storage costs and the
size of landmark-relative certificates. Fewer landmarks require less storage on
the relying party, but result in each landmark representing a larger Merkle
tree, which increases the size of the inclusion proof for the landmark-relative
certificate. Conversely, more frequent landmarks would give smaller proofs for
the landmark-relative certificate but require more storage on the relying party.</t>
        <t>Both batch sizes will be influenced by the specifics of the PKI, including the
frequency of certificate signing requests and acceptable issuance latency.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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="use-cases">
      <name>Use cases</name>
      <section anchor="verification-of-landmark-relative-merkle-tree-certificates-outside-the-webpki">
        <name>Verification of LandMark-Relative Merkle Tree Certificates outside the WebPKI</name>
        <t>Merkle Tree Certificates which only contain the inclusion proof
to a signed tree head can only be verified when the verifier contains the
landmark that completes the inclusion proof contained in the Certificate
signature field.  If the certificate is in a non webPKI environment where it has an
online connection it should be possible for the verifier to request a refresh
of its landmarks.  There are different ways this can be accomplished:</t>
        <ol spacing="normal" type="1"><li>
            <t>It can be done dynamically, on demand by the verifier.  A mechanism
that fetches landmarks from a distribution location could be added to
the certificate which could be used to complete this lookup.  Such a
mechanism could be similar to an X.509 CRLDP, except in this case it
could be a "Landmark Distribution Point".</t>
          </li>
          <li>
            <t>The landmarks could be fetched periodically by the verifier (or a
distribution system could push them down to the verifiers).</t>
          </li>
          <li>
            <t>They could be fetched by a locally defined policy.  For example they
could be pre-shared at a location governed by a local policy.</t>
          </li>
        </ol>
        <section anchor="landmark-distribution-point-fetching-mechanism">
          <name>Landmark Distribution Point Fetching Mechanism</name>
          <t>The ldpBaseURIs X509 V3 extension is held by the Issuer of the Signatureless
   Merkle Tree Certificate and contains the SEQUENCE of LandmarkDistributionPoints, each
   which is a LandmarkDistributionPoint of IA5String.  Each refers to a BaseURI location
   indicating where the landmarks are published.</t>
          <artwork><![CDATA[
id-pe-ldpBaseURIs OBJECT IDENTIFIER ::=  { id-pe TBD }

LandmarkDistributionPoints ::= SEQUENCE (1..MAX) OF LandmarkDistributionPoint

LandmarkDistributionPoint ::= IA5String
]]></artwork>
          <t>The Inclusion Proof structure defined in I-D.ietf-plants-merkle-tree-certs
   uses the following structure:</t>
          <artwork><![CDATA[
struct {
    uint64 start;
    uint64 end;
    HashValue inclusion_proof<0..2^16-1>;
    MTCSignature signatures<0..2^16-1>;
} MTCProof;
]]></artwork>
          <t>Note that it contains start and end values which indicate
   the corresponding parameters of the chosen subtree.  To request the
   required landmark, the client simply combines the URL as follows:</t>
          <t>LandmarkDistributionPoint?st=start?ed=end</t>
          <t>This allows the verifier to request the required landmark so the
   inclusion proof can be verified.</t>
          <t>The verifier needs to trust the issuer as per RFC 5280.</t>
        </section>
        <section anchor="format-of-landmark">
          <name>Format of Landmark</name>
          <t>The format of the landmark is defined in section 6.3.3
of I-D.ietf-plants-merkle-tree-certs</t>
          <t>As mentioned above, the verifier may need to request the landmark if it
is not readily available.</t>
          <t>This draft proposes an extension to the landmark format specified in section
6.3.3 of I-D.ietf-plants-merkle-tree-certs which defines a mechanism for
publishing active landmarks.</t>
          <t>The current landmark format describes the tree sizes associated for each
landmark.  However, it does not provide a mechanism for establishing a
cryptographic relationship between a previously published landmark and a
more recent landmark.  This document defines this mechanism as a Landmark
subtree consistency Proof.  It includes carrying the necessary hashes so
that there is a subtree consistency proof from one landmark to the next.
The calculation of the subtree consistency proof from one landmark to the
next can occur when a new landmark is published.  See section
4.4 of I-D.ietf-plants-merkle-tree-certs for information on subtree
consistency proofs.</t>
          <t>This will allow for periodic and incremental updates for clients that need to
request information from the LDP server.</t>
          <section anchor="landmark-subtree-consistency-proof">
            <name>Landmark subtree consistency proof</name>
            <t>A verifier requesting updated landmarks may require a lot of new landmarks.
Requiring the verifier to retrieve and validate every intermediate
landmark would increase both network traffic and signature
verification costs.</t>
            <t>To address this problem, this document defines a
LandmarkSubtreeProof object.  A LandmarkSubtreeProof provides cryptographic
evidence that a source landmark identified by one tree size is incorporated
into a target landmark identified by a larger tree size.</t>
            <t>The LandmarkSubtreeProof does not modify the landmark publication
format defined in Section 6.3.3.  Instead, it is published as a
separate resource by the Landmark Distribution Point Server
(LDP Server).</t>
            <t>The LandmarkSubtreeProof structure is defined as follows:</t>
            <artwork><![CDATA[
struct {
    uint64 source_tree_size;
    uint64 target_tree_size;

    HashValue consistency_proof<0..2^16-1>;
} LandmarkSubtreeProof;
]]></artwork>
            <t>Where:</t>
            <t>source_tree_size (similar to start in MTCProof):
   The tree size corresponding to the source landmark.</t>
            <t>target_tree_size (similar to end in MTCProof):
   The tree size corresponding to the target landmark.</t>
            <t>consistency_proof:
   A proof demonstrating that the source landmark tree is a
   subtree of the target landmark tree.</t>
            <t>The consistency_proof <bcp14>SHALL</bcp14> be constructed so that successful
verification demonstrates that all entries represented by the
source landmark are included in the target landmark and retain
their original ordering and contents.</t>
            <t>A LandmarkProof <bcp14>MAY</bcp14> be generated when a new landmark is
published and <bcp14>MAY</bcp14> be retained by the Landmark Distribution
Point for subsequent retrieval by the verifier as needed.</t>
          </section>
        </section>
        <section anchor="landmark-subtree-proof-retrieval">
          <name>Landmark Subtree Proof Retrieval</name>
          <t>A verifier validating an MTCProof obtains the corresponding
subtree information from the certificate and retrieves the
associated landmark file as described in Section 6.3.3.</t>
          <t>If the verifier possesses a trusted landmark whose tree size is
greater than the retrieved landmark's tree size, the verifier
<bcp14>MAY</bcp14> obtain a set of LandmarkSubtreeProofSet connecting the two
landmarks.</t>
          <section anchor="landmark-subtree-proof-set">
            <name>Landmark Subtree Proof Set</name>
            <t>A LandmarkSubtreeProofSet contains an ordered sequence of LandmarkSubtreeProof values. The first proof <bcp14>SHALL</bcp14> be verified against a trusted landmark root. Each subsequent proof <bcp14>SHALL</bcp14> be verified against the landmark root reconstructed from the preceding proof. Successful verification of all contained proofs establishes a cryptographic path from the trusted landmark to the target landmark.</t>
            <artwork><![CDATA[
struct {
    LandmarkSubtreeProof proofSet<0..2^16-1>;
} LandmarkSubtreeProofSet;
]]></artwork>
            <t>One possible retrieval mechanism is:</t>
            <artwork><![CDATA[
LandmarkDistributionPoint?
    source=<source_tree_size>&
    target=<target_tree_size>
]]></artwork>
            <t>TODO:  Agree on the URI format</t>
            <t>The Landmark Distribution Point Server <bcp14>SHALL</bcp14> return a
LandmarkSubtreeProofSet capable of demonstrating that the source landmark is
incorporated into the target landmark.</t>
          </section>
        </section>
        <section anchor="validation-procedure">
          <name>Validation Procedure</name>
          <t>A verifier <bcp14>SHALL</bcp14> perform the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>Extract the <tt>start</tt> and <tt>end</tt> values from the MTCProof.</t>
            </li>
            <li>
              <t>Retrieve the landmark file corresponding to the authenticated
subtree by contacting the LDP server (or retrieving it
from a local cache).</t>
            </li>
            <li>
              <t>Obtain a trusted target landmark if one is not already
cached. For example, a likely candidate would be the latest
landmark referenced by the Landmark File.</t>
            </li>
            <li>
              <t>Verify the signature(s) associated with the trusted target
landmark.  If signature verification fails, the verifier <bcp14>MUST</bcp14>
reject the certificate.</t>
            </li>
            <li>
              <t>If the source subtree landmark and trusted target landmark differ,
retrieve a LandmarkSubtreeProofSet that establishes a
sequence of authenticated subtree transitions between the
source landmark and the trusted target landmark.</t>
            </li>
            <li>
              <t>Verify each LandmarkSubtreeProof contained in the
LandmarkSubtreeProofSet in the order in which it appears.
The first proof <bcp14>SHALL</bcp14> be verified against the source
landmark. Each subsequent proof <bcp14>SHALL</bcp14> be verified against
the landmark root reconstructed from the preceding proof.</t>
            </li>
            <li>
              <t>Successful verification of the complete
LandmarkSubtreeProofSet <bcp14>SHALL</bcp14> establish that the source
landmark tree is a cryptographic prefix of the trusted
target landmark tree.</t>
            </li>
            <li>
              <t>Use the validated source landmark to verify the Inclusion
Proof contained within the MTCProof.</t>
            </li>
            <li>
              <t>Accept the certificate if all verification steps succeed.</t>
            </li>
          </ol>
          <t>Successful completion of this procedure establishes that the
certificate entry is included in the authenticated subtree
identified by the source landmark and that the source landmark
is cryptographically bound via the verified LandmarkSubtreeProofSet
to the trusted target landmark.</t>
        </section>
        <section anchor="efficiency-considerations">
          <name>Efficiency Considerations</name>
          <t>The purpose of LandmarkSubtreeProofs is to reduce the number of
landmarks and signatures that must be processed by a verifier.</t>
          <t>Without LandmarkSubtreeProofs, a verifier may be required to retrieve
multiple intermediate landmarks and validate the signatures
associated with each landmark before reaching a currently
trusted landmark.</t>
          <t>With LandmarkProofs, a verifier requires only:</t>
          <ul spacing="normal">
            <li>
              <t>the source landmark;</t>
            </li>
            <li>
              <t>the trusted target landmark; and</t>
            </li>
            <li>
              <t>a LandmarkSubtreeProofSet connecting the corresponding tree sizes.</t>
            </li>
          </ul>
          <t>As a result, the number of signature verification operations is
independent of the number of intermediate landmarks published
between the source and target landmarks.</t>
          <t>This property is particularly beneficial when signatures are
generated using computationally expensive algorithms,
including post-quantum signature algorithms.</t>
        </section>
        <section anchor="skip-links-for-efficiency">
          <name>Skip links for efficiency</name>
          <t>TODO:  Generating the consistency proof at the LDP server introduces an O(N^2) problem.  For efficiency, we likely want to cache landmark proofs as they are generated between each landmark.  For example 1-&gt;2, 2-&gt;3, 3-&gt;4 but also 1-&gt;3, 1-4, 2-4.  Thus O(n^2).  A better approach is to use a skip link which only generates O(Log(num_landmarks)) for each landmark.  For example, a system that issued a landmark every hour for 10 years would have 87,600 landmarks.  When landmark 87,601 is created, only 17 landmark proofs will need to be created.  It would also reduce the LandmarkSubtreeProofSet from O(num_landmarks) to O(Log(num_landmarks), greatly reducing bandwidth requirements!</t>
        </section>
        <section anchor="more-items-to-be-discussed">
          <name>More items to be discussed:</name>
          <ul spacing="normal">
            <li>
              <t>When a CA issues an MTC certificate, it will decide where the landmark will be published.  It needs to provide the LDP service.</t>
            </li>
            <li>
              <t>Current format uses start and end values from the inclusion proof.  This is nice because no other extension is needed in the EE certs</t>
            </li>
            <li>
              <t>Landmarks should be available in a predictable way.  The above format should meet this requirement.</t>
            </li>
            <li>
              <t>Do Landmark's contain a signature, or is it just the MTH and we use the cumulative landmarks along with the inclusion proof?
              </t>
              <ul spacing="normal">
                <li>
                  <t>A:  No, there is one trusted target that contains a signature.  That trusted target should be cached so that the full PQ signatures doesn't need to be continually downloaded.  This is where MTC gets its efficiency.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Is there a repository of test landmark certificates that we can use to test this mechanism?
              </t>
              <ul spacing="normal">
                <li>
                  <t>A:  Seems like a good hackathon project!</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="landmark-distribution-server">
          <name>Landmark Distribution server</name>
          <t>As mentioned above, the landmarks can be fetched dynamically as needed by
combining the start and end values from the MTCProof.  The LDP server fulfilling
these requests will need to parse the start and end values, aggregate the
require landmark subtrees together, and send the responce back to the client.
The responce format will be:</t>
          <t>TODO:  DEFINE responce format</t>
        </section>
      </section>
      <section anchor="batching-for-performance-optimization">
        <name>Batching for performance optimization</name>
        <t><strong>When</strong>
Signatures are expensive computational operations.  Systems where
high signature throughput is important are good candidates for the use
of batch signing, as it can provide a sizeable performance optimization
(for example, device certificates).  Merkle Trees with leaves of size N
can be computed as hashes of the toBeSigned data, with a single signature
over the root of that Merkle Tree.  For example, a Merkle tree of size
2^12 would have 2^11 leaves and could represent 2048 signatures.  The
verifier would only need to create a single signature for each batch
of 2048 toBeSigned data values.  Larger sizes could be used to meet the
operational requirements of the system.</t>
        <t><strong>Requirements</strong>
The verifier could use the mechanism defined in "Verification of
signatureless Merkle Tree Certificates" above to verifiy the signature
when certificates are used.</t>
        <t>TODO:  If a certificate is not used, the same kind of fetching mechanism
would be needed for the verifier but that would need to be provided by
some out-of-band mechanism.</t>
      </section>
      <section anchor="just-using-transparency">
        <name>Just using transparency</name>
        <t>TODO - discuss advantages of transparency logs
- Track mis-issued certificates in your private key
- CA's already have an audit trail - is there an advantage to using transparency logs
- Need a source of truth for cross checking</t>
      </section>
      <section anchor="certificate-revocation">
        <name>Certificate Revocation</name>
        <t>If a certificate is compromised, mis-issued or no longer trustworthy, revocation is
a mechanism that allows a certificate to be declared invalid.  It is a critical part
of RFC 5280 path building, and is required to support long-lived certificates in a
private PKI infrastructure.</t>
        <t>The two main types of revocation in use today are Certificate Revocation Lists (CRLs)
and OCSP (On-line certificate status Protocol).  A Certificate Revocation List (CRL)
is a digitally signed list published by a CA that identifies certificates that have
been revoked and should no longer be trusted before their expiration date.  Over time
they become large and stale, and require periodic download leading to increased
bandwidth, latency and delayed revocation awareness. OCSP creates individual proofs
for each certificate, requiring an updated signature for every updated request or
change in status of a certificate revocation.  In the context of much larger PQ
signatures like ML-DSA, a single revocation check increases from about 400 bytes to
around 4kb, which is 8 to 10 times larger!</t>
        <t>Merkle Tree-based revocation can be significantly more efficient than CRL and OCSP by
effectively using small cryptographic proof sizes along with batch signing.  For
example, in OCSP each proof is signed, in Merkle Tree Revocation, each proof becomes
a leaf-hash in the Merkle Tree.  A relying party only needs a small cryptographic
proof, typically logarithmic in the number of certificates, rather than downloading
an entire revocation list or contacting an online responder for each validation. This
reduces bandwidth consumption, eliminates dependence on highly available OCSP
infrastructure, and enables offline verification. As the number of revoked
certificates grows, Merkle proofs remain compact and scalable, making them
particularly attractive for large PKI deployments and post-quantum environments where
revocation artifacts and signatures may be substantially larger.</t>
      </section>
      <section anchor="code-signing-and-software-supply-chain-integrity">
        <name>Code Signing and Software Supply Chain Integrity</name>
        <t>The verification model for code signing differs fundamentally from TLS.  In a TLS
handshake, the server is present at verification time and format negotiation between
prover and verifier is possible.  A signed artifact is a static object: a binary,
container image or firmware update is signed once and subsequently verified at
deployment or execution time, potentially on a system with no network access and
potentially years after the signing event.  No live channel exists between the signer
and the verifier at the time of verification.</t>
        <t>This distinction has a direct consequence for MTC deployment in code signing contexts.
Landmark-relative certificates require the verifier to hold a cached landmark at the
time of verification.  A verifier operating on an air-gapped system, or validating an
artifact whose issuing CA has since been decommissioned, cannot be assumed to maintain
a current landmark cache.  Standalone MTCs <bcp14>SHOULD</bcp14> be used for code signing artifacts.
A standalone MTC carries the CA signature inline and can be verified using only the CA
public key held as a locally-configured trust anchor, with no network access required.</t>
        <t>The certificate size reduction that motivates landmark-relative certificates in TLS is
not a meaningful consideration in code signing.  A post-quantum CA signature embedded
in a binary of tens to hundreds of megabytes represents negligible overhead.</t>
        <section anchor="batch-signing-for-code-signing-certificate-authorities">
          <name>Batch Signing for Code Signing Certificate Authorities</name>
          <t>A code signing CA serving a large enterprise or a high-throughput CI/CD environment
may issue signing certificates at a volume that places real throughput demands on its
signing infrastructure.  With post-quantum signature algorithms, the per-operation
signing cost increases relative to classical algorithms.  MTC batch signing amortizes
this cost: the CA constructs a Merkle tree over a batch of certificate requests,
produces a single signature over the tree root and issues each certificate with its
inclusion proof.  The number of CA signing operations is reduced by a factor equal to
the batch size, independent of the algorithm used to produce the root signature.</t>
          <t>Code signing CAs <bcp14>SHOULD</bcp14> select batch sizes with reference to peak certificate issuance
volume and acceptable issuance latency.  Guidance on batch size trade-offs is provided
in Section 1.2 of this document.</t>
        </section>
        <section anchor="the-case-for-transparency-in-private-pki-code-signing">
          <name>The Case for Transparency in Private PKI Code Signing</name>
          <t>Private PKI code signing operates without any transparency requirement today.
Certificates issued by an enterprise CA for signing purposes are not recorded in any
independently accessible log.  This differs from Web PKI TLS certificates, which must
be disclosed to public Certificate Transparency logs as a condition of browser trust.
Code signing certificates issued by public CAs are also outside the scope of existing
Certificate Transparency requirements.</t>
          <t>The absence of transparency creates a specific structural vulnerability.  A CA audit
database is an asset under the administrative control of the PKI operator.  An attacker
who has obtained administrative access to the CA, or a privileged insider, can issue
signing certificates to unauthorized entities and subsequently modify the audit database
to suppress evidence of those issuances.  Because the CA and its audit database share
an administrative boundary, the audit database does not constitute an independent check
on CA behavior.</t>
          <t>An MTC transparency log operated independently from the issuing CA addresses this gap.
The Merkle-tree structure of the log means that once a batch tree head is signed and
published, any modification to prior log entries breaks the cryptographic chain.  An
independent party retaining a copy of published tree heads at any point can detect
subsequent modification.  This property holds even when the CA infrastructure is
subsequently compromised, because the log operator and the CA operator are separate
administrative entities.</t>
          <t>Recent software supply chain compromises have followed this pattern: the signing
certificate was valid, the artifact signatures were valid and no PKI mechanism existed
to detect anomalous signing activity prior to discovery through behavioral indicators.
An independently operated transparency log changes this property.  Any use of a
compromised or fraudulently issued signing certificate produces a record that cannot
be erased without detection by any party that has retained log state.</t>
        </section>
        <section anchor="transparency-log-requirements-for-code-signing">
          <name>Transparency Log Requirements for Code Signing</name>
          <t>For the transparency log to support anomaly detection and post-incident forensics in
code signing deployments, the log <bcp14>MUST</bcp14> record the following information per batch: the
signing algorithm used to produce the batch tree head signature, the timestamp of batch
creation and the issuing CA identity.  Per certificate entry, the log <bcp14>MUST</bcp14> record the
subject identity, the subject public key algorithm, key usage extension values and the
certificate validity period.</t>
          <t>Per-certificate algorithm metadata is required for post-quantum migration auditing.  An
organization asserting that its code signing infrastructure issued only post-quantum
certificates from a given date must be able to demonstrate this from the log record,
with cryptographic verifiability that an audit database alone cannot provide.</t>
          <t>The following structures define the information model for a code signing log entry.
Two-level recording is used: one record per batch captures the batch-level signing
metadata, and one record per certificate captures the subject-level metadata needed
for monitor evaluation and forensic queries.</t>
          <artwork><![CDATA[
struct CertMetadata {
    opaque subject_identity<0..2^16-1>;
    PublicKeyAlgorithm subject_key_algorithm;
    uint16 key_usage_flags;
    uint64 not_before;
    uint64 not_after;
    uint64 leaf_index;
}

struct CodeSigningLogEntry {
    uint64 batch_id;
    uint64 timestamp;
    SignatureAlgorithm batch_signing_algorithm;
    HashValue batch_tree_head;
    opaque issuing_ca_identity<0..2^16-1>;
    CertMetadata cert_entries<0..2^32-1>;
}
]]></artwork>
          <t>A signing receipt is the artifact-embedded object that binds a signed binary, container
image or firmware update to a specific log entry.  The receipt travels inside the
artifact's signature container alongside the standalone MTC.  A verifier extracts the
receipt, verifies the batch_root_signature against the locally-held CA trust anchor,
and then verifies the inclusion_proof to confirm that the signing certificate is a leaf
in the identified batch.</t>
          <artwork><![CDATA[
struct SigningReceipt {
    uint64 batch_id;
    uint64 leaf_index;
    HashValue inclusion_proof<0..2^16-1>;
    MTCSignature batch_root_signature;
    uint64 log_commit_timestamp;
    opaque log_operator_id<0..2^16-1>;
}
]]></artwork>
          <t>When a CA transitions its batch signing from one algorithm class to another, it <bcp14>MUST</bcp14>
publish an AlgorithmTransitionEvent to the transparency log before the first batch
signed under the new algorithm is distributed.  The ca_assertion_signature field is
produced by the CA over the remaining fields of the structure, using the signing key
corresponding to the new_batch_algorithm, providing cryptographic proof that the CA
holding the new key has authorized the transition record.</t>
          <artwork><![CDATA[
struct AlgorithmTransitionEvent {
    uint64 effective_batch_id;
    uint64 timestamp;
    SignatureAlgorithm previous_batch_algorithm;
    SignatureAlgorithm new_batch_algorithm;
    opaque ca_identity<0..2^16-1>;
    MTCSignature ca_assertion_signature;
}
]]></artwork>
        </section>
        <section anchor="independent-monitor">
          <name>Independent Monitor</name>
          <t>The transparency log for private PKI code signing <bcp14>MUST</bcp14> be operated independently from
the issuing CA.  A log under the administrative control of the CA operator does not
provide an independent check against the threats described in this section.</t>
          <t>An independent monitor consuming the log <bcp14>SHOULD</bcp14> maintain an authoritative register of
entities authorized to hold signing certificates and the algorithm classes they are
authorized to use.  The monitor <bcp14>SHOULD</bcp14> alert on: issuance of a signing certificate to
an entity absent from the authorization register; issuance of a classical algorithm
signing certificate to an entity recorded as having completed migration to post-quantum
algorithms; and any unexplained reduction in post-quantum algorithm usage across
successive batches.</t>
          <t>The MonitorAlert structure defines the information model for an alert raised by the
independent monitor.  The evidence_log_reference field carries a reference to the
specific CodeSigningLogEntry or AlgorithmTransitionEvent that triggered the alert,
allowing the recipient to independently verify the raw log data.</t>
          <artwork><![CDATA[
enum AlertType {
    UNAUTHORIZED_ISSUANCE,
    ALGORITHM_DOWNGRADE,
    MIGRATION_REGRESSION,
    FROZEN_DEVICE_ANOMALY
}

struct MonitorAlert {
    AlertType alert_type;
    opaque subject_identity<0..2^16-1>;
    uint64 batch_id;
    uint64 leaf_index;
    uint64 detection_timestamp;
    opaque evidence_log_reference<0..2^16-1>;
}
]]></artwork>
        </section>
        <section anchor="archival-obligations">
          <name>Archival Obligations</name>
          <t>Signed artifacts may require verification throughout their operational lifetime, which
in enterprise deployments can span years.  A CA issuing signing certificates <bcp14>MUST</bcp14> retain
accessible archives of all published batch tree heads for a period not less than the
maximum validity period of any certificate in the corresponding batch.  These archives
<bcp14>MUST</bcp14> remain accessible following the decommissioning of the issuing CA and <bcp14>MUST NOT</bcp14>
share infrastructure with the live issuing CA.</t>
        </section>
      </section>
      <section anchor="private-pki-pqc-migration-with-downgrade-resistance">
        <name>Private PKI PQC Migration with Downgrade Resistance</name>
        <t>The first post-quantum cryptographic algorithm standards were published by NIST in 2024,
including ML-DSA (FIPS 204), ML-KEM (FIPS 203) and SLH-DSA (FIPS 205).  Enterprises
operating private PKIs are under increasing regulatory pressure to migrate from classical
algorithms.  This migration cannot be completed instantaneously.  A private PKI
environment typically includes endpoints with varying post-quantum readiness, and some
endpoints may be incapable of post-quantum algorithm support for their operational
lifetime.  The period during which both classical and post-quantum certificates are
simultaneously in active use is the hybrid transition period.</t>
        <t>The hybrid transition period creates attack opportunities that do not exist in a fully
migrated environment.  This section describes those threats and the capabilities MTC
provides to detect them.</t>
        <section anchor="active-downgrade-during-hybrid-deployment">
          <name>Active Downgrade During Hybrid Deployment</name>
          <t>When a server holds a post-quantum certificate and also supports classical algorithm
fallback for legacy clients, a network-positioned adversary may suppress post-quantum
algorithm negotiation during connection establishment.  The server completes the
connection using classical algorithms.  Both endpoints complete the exchange without
error and neither endpoint produces any observable indication that the negotiated
algorithm set differs from what the server would prefer.</t>
          <t>In Web PKI, mechanisms such as strict transport security and browser-enforced algorithm
policy provide partial protection against this class of attack.  Private PKI
deployments, including internal service communication, enterprise VPN infrastructure
and industrial protocol endpoints, do not benefit from equivalent enforcement
mechanisms.  Classical fallback paths persist in private PKI environments for as long
as any endpoint requires classical support, and an adversary aware of this fact can
exploit those paths selectively and systematically.</t>
          <t>MTC transparency provides post-hoc detection capability for this threat.  When the
transparency log records that a server held a post-quantum certificate during a given
period and operational logs from that period show only classical algorithm connections
to that server, this discrepancy constitutes evidence of systematic downgrade.  The
transparency record does not prevent the downgrade in real time, but it enables
detection and scoping of the compromise through records maintained independently of
the endpoints involved.</t>
        </section>
        <section anchor="harvest-now-decrypt-later">
          <name>Harvest Now Decrypt Later</name>
          <t>Adversaries may record encrypted private PKI traffic with the intent to decrypt it
when quantum computing capabilities become sufficient.  For communications whose
confidentiality requirements extend beyond the expected availability of a
cryptographically relevant quantum computer, traffic captured today represents a
future liability.  Private PKI protects communications that may retain sensitivity
for a decade or more: personnel records, financial transactions, intellectual property
and industrial control system telemetry.  The effective migration deadline for such
data is not solely the date of quantum computer availability, but the date by which
the protected data will have lost its sensitivity.</t>
          <t>The MTC transparency log does not prevent traffic capture.  It provides a verifiable
record of when post-quantum algorithm adoption occurred across the PKI, enabling an
organization to demonstrate with cryptographic verifiability that sensitive
communications were protected by post-quantum algorithms from a documented date.
This record is relevant to regulatory compliance frameworks that require evidence of
completed migration rather than assertions about future intent.</t>
        </section>
        <section anchor="unauthorized-classical-certificate-issuance-during-migration">
          <name>Unauthorized Classical Certificate Issuance During Migration</name>
          <t>An entity that has completed migration to post-quantum algorithms should no longer
receive classical algorithm certificates.  During the hybrid transition period,
however, a CA operating both issuance paths may issue a classical certificate to such
an entity through misconfiguration, policy error or deliberate action.  A classical
certificate issued to an entity that accepts only post-quantum certificates can be
used to intercept communications from any relying party that retains classical
certificate trust.</t>
          <t>A transparency log with an independent monitor maintaining an authoritative migration
status register enables detection of this event.  The monitor can identify any
classical certificate issuance to an entity recorded as having completed migration
and raise an alert before the certificate is deployed.</t>
          <t>The MigrationStatusEntry structure defines the information model for a single entry
in the migration status register.  The status field records the current migration
state of the subject.  The status_effective_date field records the date from which
the recorded status applies, enabling the monitor to correctly classify certificate
issuances that predate a status change.  The policy_reference field carries an
opaque reference to the organizational policy or administrative record that authorized
the recorded status, providing an audit trail for register entries.</t>
          <artwork><![CDATA[
enum MigrationStatus {
    CLASSICAL_ONLY,
    HYBRID,
    PQ_ONLY,
    FROZEN
}

struct MigrationStatusEntry {
    opaque subject_identity<0..2^16-1>;
    MigrationStatus status;
    uint64 status_effective_date;
    opaque policy_reference<0..2^16-1>;
}
]]></artwork>
        </section>
        <section anchor="frozen-devices">
          <name>Frozen Devices</name>
          <t>Certain devices in private PKI environments cannot receive updates that would add
post-quantum algorithm support.  Regulatory re-approval requirements, sealed hardware
and immovable service constraints mean that some endpoints will continue to use
classical algorithm certificates for the duration of their service lives, regardless
of the broader migration status of the PKI.</t>
          <t>These devices need not implement MTC.  The transparency log supports a monitoring
pattern for frozen device populations in which the CA records classical certificate
issuances for frozen device identifiers and an independent monitor watches those
identifiers for anomalous activity.  The monitor can alert if a classical certificate
is issued for a frozen device identifier by an unexpected CA or with unexpected
attributes.  The monitoring operates independently of the device and provides detection
capability without requiring any modification to device firmware or software.</t>
          <t>A FrozenDeviceRecord is a signed assertion by the PKI operator that a specific device
identity is designated as a frozen endpoint.  The record identifies the single CA
authorized to issue classical certificates for the device and the specific algorithm
permitted for those certificates.  The monitor <bcp14>MUST</bcp14> reject any classical certificate
issuance for a frozen device identity that does not match the authorized_issuer_ca_identity
and permitted_key_algorithm fields of the corresponding FrozenDeviceRecord.  The
operator_signature field is produced by the PKI operator over the remaining fields of
the structure, using a key whose public counterpart is held in the monitor's trust
configuration.</t>
          <artwork><![CDATA[
struct FrozenDeviceRecord {
    opaque device_identity<0..2^16-1>;
    opaque authorized_issuer_ca_identity<0..2^16-1>;
    PublicKeyAlgorithm permitted_key_algorithm;
    uint64 record_effective_date;
    uint64 record_expiry_date;
    MTCSignature operator_signature;
}
]]></artwork>
        </section>
        <section anchor="algorithm-metadata-requirements">
          <name>Algorithm Metadata Requirements</name>
          <t>For the transparency log to support the use cases described in this section, the log
<bcp14>MUST</bcp14> record the signing algorithm used to produce each batch tree head signature and
the subject public key algorithm for each certificate in each batch.  Per-certificate
algorithm metadata is required because a CA operating during the hybrid transition
period may issue both classical and post-quantum certificates within the same batch.</t>
          <t>A CA transitioning between algorithm classes in batch signing <bcp14>MUST</bcp14> record each
transition as a distinct log event with a timestamp.  These records constitute the
verifiable migration timeline that regulatory compliance requirements may demand.</t>
          <t>The AlgorithmTransitionEvent structure defined in Section 3.3 is reused here for
recording batch signing algorithm transitions in the PQC migration context.  For
migration auditing purposes, a monitor querying the log for AlgorithmTransitionEvent
entries can reconstruct the complete algorithm transition history for any CA, with
each transition cryptographically bound to the batch at which it took effect.</t>
          <t>In addition to batch-level transitions, the log entry for each certificate <bcp14>MUST</bcp14>
carry the subject public key algorithm, as defined in the CertMetadata structure
in Section 3.3.  The monitor evaluates per-certificate algorithm metadata against
the MigrationStatusEntry for each subject to detect unauthorized classical issuance
during the transition period.</t>
        </section>
        <section anchor="migration-staging">
          <name>Migration Staging</name>
          <t>A private PKI operator deploying MTC during the post-quantum transition period should
proceed through distinct stages.  In the first stage, MTC infrastructure is deployed
with classical batch signing.  The transparency log is operational and all certificate
issuances are recorded, establishing the baseline against which migration progress is
measured.  In the second stage, batch tree head signing transitions to hybrid signatures
incorporating both classical and post-quantum algorithms.  Certificate-level algorithm
migration proceeds at a pace determined by endpoint readiness.  In the third stage,
post-quantum-only batch signing is adopted and the transparency log records this
transition with a timestamp that constitutes the verifiable PQC migration completion
date for the batch signing infrastructure.  In the fourth stage, classical algorithm
certificate issuance is discontinued except for designated frozen device populations,
and the log provides ongoing monitoring capability for those populations.</t>
          <t>The duration of each stage depends on the specific PKI deployment, the endpoint
population capabilities and applicable regulatory requirements.</t>
        </section>
      </section>
      <section anchor="constrained-device-certificate-validation">
        <name>Constrained Device Certificate Validation</name>
        <t>Private PKI deployments include endpoint populations with constraints on available
memory, processing capacity and network access.  Access control readers validating
employee identity credentials, sensors on isolated operational technology networks
and embedded controllers in long-lived infrastructure may need to validate
certificates issued over an extended time window, potentially spanning years, without
the ability to maintain a continuously updated landmark cache or retrieve landmarks
on demand.</t>
        <t>This use case is distinct from the landmark distribution use case in Section 3.1,
which addresses endpoints with network connectivity capable of fetching landmarks as
needed.  This section addresses endpoints for which neither real-time landmark
retrieval nor continuous landmark cache maintenance can be assumed.</t>
        <section anchor="the-landmark-accumulation-problem">
          <name>The Landmark Accumulation Problem</name>
          <t>In a traditional X.509 deployment, a constrained verifier typically holds one or more
trust anchor certificates and retrieves revocation data periodically.  Each CRL
supersedes its predecessor and the verifier need not retain prior revocation data.
Storage requirements are bounded and predictable.</t>
          <t>Under MTC, landmark-relative certificate validation requires the verifier to hold the
landmark corresponding to the batch in which the subject certificate was issued.  A
newer landmark does not supersede an older one for the purpose of validating
certificates issued against an older batch.  A device that must validate certificates
issued over a ten-year window must retain every landmark published during that period.
The storage requirement grows linearly with the landmark publication frequency and the
length of the validation window.</t>
          <t>The storage requirement can be bounded as follows.  Let W be the validation window in
days, F be the landmark publication frequency in days per landmark and S be the size
of a single landmark in bytes.  The minimum storage required for landmark retention is:</t>
          <artwork><![CDATA[
  Storage = ceiling(W / F) * S
]]></artwork>
          <t>As an example, a device validating certificates with a ten-year validity window against
daily-published landmarks of 512 bytes each requires approximately 1.83 MB of dedicated
landmark storage.  PKI operators <bcp14>SHOULD</bcp14> calculate this value when evaluating MTC
deployment for constrained device populations and <bcp14>SHOULD</bcp14> select landmark publication
frequency with reference to the storage capacity of the most constrained device in the
target population.</t>
        </section>
        <section anchor="landmark-rebasing">
          <name>Landmark Rebasing</name>
          <t>Where the calculated storage requirement exceeds the available capacity of constrained
devices, a rebasing mechanism may reduce the number of landmarks a device must retain.
A rebase operation produces a new landmark that cryptographically subsumes a range of
prior landmarks, allowing the device to replace that range with a single object.</t>
          <t>For a rebase to be valid, the device must be able to verify that the rebased landmark
correctly represents all certificates included in the prior landmarks it replaces.  A
rebase accompanied only by a new tree head and a CA signature does not provide this
assurance.  The rebased landmark <bcp14>MUST</bcp14> be accompanied by a proof demonstrating that the
prior landmark trees are subtrees of the rebased tree.  The LandmarkSubtreeProof
mechanism defined in Section 3.1.4 of this document provides a suitable proof structure
for this purpose.</t>
          <t>A device accepting a rebased landmark <bcp14>MUST</bcp14> verify the accompanying subtree consistency
proof before discarding any landmark that the rebase replaces.  A device that accepts
a rebased landmark without verification is vulnerable to a history replacement attack
in which an adversary substitutes a fraudulent tree head, potentially causing the
device to reject valid certificates or accept fraudulent ones.</t>
        </section>
        <section anchor="re-anchoring-after-extended-offline-periods">
          <name>Re-anchoring After Extended Offline Periods</name>
          <t>A device that has been without network access for an extended period accumulates a
deficit of landmarks issued during its offline interval.  Upon reconnecting, the
device must obtain those landmarks before it can validate certificates issued during
the offline period.</t>
          <t>A device re-anchoring after an extended offline interval <bcp14>SHOULD</bcp14> use the
LandmarkSubtreeProofSet mechanism defined in Section 3.1.4 to obtain a compact proof
connecting its most recent trusted landmark to the current landmark, rather than
retrieving each intermediate landmark individually.  This minimizes both the bandwidth
required for re-anchoring and the number of signature verifications the device must
perform.  For deployments using post-quantum signature algorithms, the reduction in
signature verification operations is particularly significant given the higher
per-verification cost of those algorithms.</t>
          <t>A device re-anchoring after an offline interval is exposed to rollback attacks in which
an adversary presents an outdated landmark as the current one.  Devices <bcp14>SHOULD</bcp14> implement
a monotonicity check on landmark tree sizes, rejecting any proposed current landmark
with a tree size smaller than that of the most recently validated trusted landmark.</t>
          <t>The monotonicity check depends on the device retaining its most recently validated
landmark state across power cycles and resets.  The LandmarkState structure defines
the minimum persistent state a device must maintain to support this check.  The
max_observed_tree_size field records the largest tree size the device has successfully
validated.  The last_trusted_tree_head field records the hash of the corresponding
landmark, enabling the device to detect inconsistency if a claimed current landmark
has a tree size equal to max_observed_tree_size but a different tree head value.
This state <bcp14>MUST</bcp14> be stored in integrity-protected persistent storage.  Devices without
such storage cannot provide rollback resistance and <bcp14>SHOULD</bcp14> obtain landmarks exclusively
through authenticated channels that provide freshness guarantees.</t>
          <artwork><![CDATA[
struct LandmarkState {
    uint64 max_observed_tree_size;
    uint64 last_update_timestamp;
    HashValue last_trusted_tree_head;
}
]]></artwork>
        </section>
        <section anchor="guidance-for-pki-operators">
          <name>Guidance for PKI Operators</name>
          <t>PKI operators deploying MTC for constrained device populations <bcp14>SHOULD</bcp14> publish landmark
storage requirements as part of deployment documentation.  This documentation <bcp14>SHOULD</bcp14>
include the landmark publication frequency, the expected certificate validity period for
the target population, the per-landmark storage size and the calculated storage bound
using the formula in Section 3.4.2.</t>
          <t>Operators <bcp14>SHOULD</bcp14> also document the procedure for landmark rebasing if that capability
is provided, including the expected rebase frequency and the verification procedure
devices are expected to follow.</t>
          <t>Where a single PKI serves both constrained and non-constrained device populations,
operators <bcp14>SHOULD</bcp14> consider whether separate landmark publication schedules are warranted,
with a lower-frequency schedule for constrained populations.  The LDP infrastructure
defined in Section 3.1 may continue to serve non-constrained populations, while
constrained populations receive pre-provisioned landmark packages through an out-of-band
distribution mechanism suited to their connectivity characteristics.</t>
          <t>A LandmarkPackage is the container format for a pre-provisioned set of landmarks
distributed to constrained devices through out-of-band channels.  The package carries
a contiguous range of landmarks from source_tree_size to target_tree_size, together
with a LandmarkSubtreeProof demonstrating that the source landmark is a cryptographic
prefix of the target landmark.  The package_signature field is produced by the CA
over the remaining fields of the structure.  A device receiving a LandmarkPackage
<bcp14>MUST</bcp14> verify the package_signature before accepting any landmark contained in the
package, and <bcp14>MUST</bcp14> verify the consistency_proof before updating its LandmarkState.
The source_tree_size in the package <bcp14>MUST</bcp14> be greater than or equal to the
max_observed_tree_size recorded in the device's current LandmarkState.</t>
          <artwork><![CDATA[
struct LandmarkPackage {
    uint64 package_version;
    uint64 creation_timestamp;
    uint64 source_tree_size;
    uint64 target_tree_size;
    Landmark landmarks<0..2^16-1>;
    LandmarkSubtreeProof consistency_proof;
    MTCSignature package_signature;
}
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests a new id-pe-ldpBaseURIs extension for use with X.509 certificates
in the "SMI Security for PKIX Certificate Extension" registry (1.3.6.1.5.5.7.1).</t>
    </section>
  </middle>
  <back>
    <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="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>
    <?line 1031?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to David Benjamin, Bas Westerbaan, Mike Ounsworth, Tirumaleswar Reddy, Rich Salz and Kris Kwiatkowski for their feedback and review of this specification.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6V9aXIbR9bg/zxFtRwxlhQALEryRrfdDZGUxRYpyiTl5ZuY
ZhdQCbDMQhW6FlJwhzvmDnOBOcscZU4yb8vMl4UCJffEt1gsVOXy8u1bjsdj
0+ZtYfeTB6e2vilscllbmxzYus0X+TxtbZMc2nVRbVa2bJN3DfyWNrZ5YNLZ
rLa3+N3lgX6O3yyrerOf5OWiMiar5mW6ggmyOl2049y2i/G6SMu2Ga/a+Tij
wcddY8dzHGD85Ilputkqb5q8KtvNGr48Prp8mSSfJGnRVDBhXsJHFv5f2T4Y
JQ9slrdVnacF/nE8fQH/qWr41/nlywem7FYzW++bDFa1b+ZV2diy6Zr9pK07
a2D5z0xa2xRGvbDzrs7bzQNzV9U3y7rq1vD07evjUXJSLZtRMi0zBs5FvizT
tqtxtzd2A69n+yYZJzsAiD+9rZo2+aGDXXcr+vv1sbm1ZQdrSpKPnStJGBwP
foIF5uUy+R4/xOerNC/gOYP1rwjiSVUv8Ze0nl/DL9dtu272P/sMX8RH+a2d
uNc+wwefzerqrrGf8RD45TJvr7sZglud2N3ys/6B4bsF4kmr5uGPJ/Nq9dkH
Pv/s49Bict2uigfGpF17XdUIbpg2ARSDo/zbBCCRbugBo9rfqusyPIM97idH
JZw4HMJJvspbm9EPDoXlN3rWtAB22MrTz588SS4qWFHWJudVmiX/93/+r+Si
g4+TPcBRfHcO6LKfnLVtepeOkrOyTeu84l+qDsaEHw/SMs1SeZbB0l4/fZ08
+/5zemL53H6F1U6WsNq/Wl4Iwq2/w9dF2jVNaWu9zbTsPaetvuiANpqs7uY3
trZ58v1q9iqaLy0nN+6zv86yepLZaO+vq9UK9g2HAcTS1pNk7yu1g70nX3/x
tdr/C1sXeRlv+3tbwwibaBMnk+QSSbco1BZOuhsbPaYdvHudvElboP+0SA42
QMCJo04gLJjB6u0UMMSkffrXct7MJ8vqdtLdxIt5V+KJJ6+BZLIeYL+fJKdp
UaSbVK3p+7S0zXX0A61qul7/mNu7n5Pjch7hz9YPDpB7T75MLtY10uoFPVJg
u7BpC4x3lPyUNtfwRlv1YPjuYqq3uaRVTVa8qr+m6/UtzPmecMWYsgKAt0DW
++Z4fDgZICpiTmNcxXgOzAkY7bN9Y5BH+y/NZDIxZjwew85gC+m8NWanVHgI
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

-->

</rfc>
