<?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-gray-plants-mtc-deploy-use-cases-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="MTC Use Cases">Merkle Tree Certificates Deployment Use Cases</title>
    <seriesInfo name="Internet-Draft" value="draft-gray-plants-mtc-deploy-use-cases-01"/>
    <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="September" day="02"/>
    <area>Security</area>
    <workgroup>PKI, Logs, And Tree Signatures</workgroup>
    <keyword>Merke 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://johngray-dev.github.io/draft-gray-plants-mtc-deploy-use-cases/draft-gray-plants-mtc-deploy-use-cases.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-gray-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/johngray-dev/draft-gray-plants-mtc-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:
H4sIAAAAAAAAA6V963LbyNXg/34KxKna2C6SY9meSzTJJLQkzygjW44kzyTf
1kZpEk0KEQgwACiZk5rUvsO+wD7LPso+yZ5bd58GQdmTre8yFgj05fS533o8
Hpuu6Ep3mD1645rb0mVXjXPZkWu6YlHMbefa7Nity3q7clWXvW/hN9u69pGx
s1nj7vC7qyP9HL9Z1s32MCuqRW1MXs8ru4IJ8sYuuvGysdvxurRV145X3Xyc
0+DjTevGcxxg/OzAtJvZqmjboq667Rq+PD25ep1lv85s2dYwYVHBRw7+X9U9
GmWPXF50dVPYEv84nb6C/9QN/Ovi6vUjU21WM9ccmhxWdWjmddW6qt20h1nX
bJyB5b8wtnEWRr10801TdNtH5r5ubpdNvVnD03ffn46ys3rZjrJplTNwLotl
ZbtNg7u9dVt4PT802ThDAO7CD395V7dd9ucNbHqzor+/PzV3rtrAkrLsU6fK
MobGox9hfUW1zL7FD/H5yhYlPGeo/rFw3WJSN0v8xTbzG/jlpuvW7eFnn+GL
+Ki4cxP/2mf44LNZU9+37jMeAr9cFt3NZgbf/qO+qejQcnf32aedIX5fIup0
am49zoRHnxT1J474ia9NbrpV+cgYu+lu6gYPBVaSASLCgf9pAgCzW3rACPkn
WFF8BqA4zE4qwAs4q7NiVXQupx88ostv9Kzt4HRgd88/f/Ysu6xhRXmXXdQ2
z/7v//xf2eUGPs4Onj2jd+eAVIfZedfZezvKzqvONkXNv9QbGBN+PLKVza08
y2Fp3z//Pnvx7ef0xPHxIvwmCIA/Ol7IZF6v+jv8vrSbtq1co7dpq95z2uqr
DVBQmzeb+a1rXJF9u5p9l8xnq8mt/+yPs7yZ5C7Z+/f1agX7hsMAkuqaSXbw
ldrBwbPffvFbtf9XrimLKt32t66BEbbJJs4m2RUSeFmqLZxtkLDUY9rB+++z
t7YDLmHL7GgLZJ55Ggb6gxmc3k4JQ0y653+s5u18sqzvJpvbdDHvKzzx7Hug
rLwH2G8n2RtblnZr1Zq+tZVrb5IfaFXT9fqHwt3/JTut5gn+7PzgAXnw7Mvs
ct0gSV/SIwW2S2c7YM+j7Efb3sAbXd2D4fvLqd7mklY1WfGq/mjX6zuY8wPh
ijFVDQDvgPoPzen4eMJEhYwgEBXJgDGuYjwHHgbs+MWhMcjJw5dmMpkYMx6P
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
69pNbMr6iU3JwT+U4mQGU5ws36HNXj/Oup7XG3KR0u08ct2o16cY5nSLB9aP
Jfp9mpE0gMCJ+GTQ75ee8tqDkP+UBNk9B5OIYUbzQTHcewNb4mzVz0mO0u6x
pZHusKaQcKrLDz6t2gB/3/g7rfenAIXEe9OvJfh4mUBsozZUJ0DVSR/L1Y+9
R3pB6jg2lwzodHwVrxhMx/f1Pz2zNX/A5vWO32jG/qLYoOquTg3QfALpNM2p
JOPZX3y4k+lUVL10S30idC2jstGlbwN3cuCEX3IlSee+kHARovpBysdiuC40
0SOdSjkd4OuS0/LJmB1ysyTuTgQb14qLmbY3/Wbw3lpfsIuXZNJBEqZRdzS8
9DKm9/fqvQMIk7RVPgdMFFChbu5VIX2CdsszQl3tKGpUlJUf7oD06YD7dmZ8
fR2qK+qaguA+p4De0JIzIEeCLmtDW6rexHM0RATqxX1N68XWYuigLu4vcejq
+la8physA/288JqFLoBQAIylOGQhD1MoZfjSHZnZx0h8xNdJLYreRfKBt8WY
WooKPfEttROOwmAfq87xt0h0+1wGYVd+6THMnVS/Rg4QCtcVHxkK8lMT54Bg
MOeSKsSSNAqV1UnuDaJ27LYSh06YzW62ADv/DPX3pzQ2dqUFjtBST8PYW4xT
YejpiKbaqS4Knhap/Qkb73faGjRIsDGxCphxFH+fJWGbaNWP0ktjGY9bZj8+
xiuF6AGosOslRe+L1oDVhykwedxqi8SX+70OyafCN1gUloGpqSwR1PUE8baj
4PN8QBwk4XzlAhb6ikprsos5dwlDHXxt544wELQQuZFOxW0lYyZuEuRN4/eY
WNxjcm+mjBINAowISGO/QdUh+p8AqArf+gIl882mQ7wSh1NipM94/bUghr1a
orr0FthvKOKxtt40ML0c5VAiyKBTUoKrYvHnmEKBDtwF0VswZ/ZayKHUhAAT
jLi6Wta4WGUJ7oSqSTuOI4k01C4EZjrU7JONx9bf9hUsnLTfGPNjjwsmjp7G
Loni0Cc4t3yRmfKxJG0PuK+YuE1cLp6gJGwRL+9KW17oPEhJ+VK5J8rFwBxE
+WZQ1PpmcECyqxrrmuRyEg/Iuc8LSTsMyQ01bRuig0gO6D2InZ2MWxHvUhba
HHgCB2fJmVS1dcN9bNq6pOPX7Ar4/k1Vw2lv/eQt4UCo0pKpS5wWpJRqMtrj
o/ricX/xSVqh6es4uf+ZRIrxA+x3dV9UeX2fNhjDbFOiEso4HYU8ILI3fRSu
Vpn53tfFSWr9e4zlVop4ZZnqYm743k+vx3E1JZkQvriGhEusGPVj5rpnevxG
y/ODkWE+Hlsj9LIF/bn7zAmqVVdpgKGdsGqh3xq5a7OX7zY0CZIoL8EnTmE2
xJgAH+4GijcAVtI5kSHZhx+B21XEb6TlljQGUy1mQk95wGC5AYAvxMMrRFgh
oz42heDhXyafP/ttQvs2kpFTvfJi6iUn1GFRlkTlja6a262yiFeAqhaFpDP5
DqyUs5PxhV1HF2cGLEpAe4csEIPcGCmg+9BVQ4WwruDFlBQC7jTQm2liLoEx
IQdMjAjUCkifFTGlrm8AkL6nPFjQXEYPdw5TTSxjvlOyRl+IguZPPNShii0W
Uom/1KuL/fYNTNXIqwAh712jSMN7iQIcqQlnidupqygR1WVQirENsY5wN6gf
xtvJUy/M4h1Q4fIlPZBJeBD2PhsjbxHuwx/KAXKL2/RKbMqLDqpqyIfiBift
7tFyg068YcZRk82Y7p0M668DbLgH4TbU6peuWnY33jWmzpfXK0J2aGIhzIBV
4S5sbOzuuuxHf0PizqDYfyG3W2C3r+Mtig+uFmMo8AGViifXkF36Aaj3vRQj
kWM03vdYcV9eb/IUFeXz97aUS0/ScIMjyQiSaXJDKXYb5E9+DwdeYFjw8Y/Z
Z9nrJ9nT7FJqk1sWO6FDv+CM6pO449vQSBKKDARQ3tTKQbxvxxFBIpOGLX9+
8Fw6D5P+EwiTgj8fihXMhNf2TL56kb15xbeSUsYqWCPxNgreGvqDlAUV2pEB
38Iurr6rAfV74CQZX3XPRpZu7bmQUjfPXweiJXSCScOz4fvhAx7s9kDrFHYG
RUeweYW5QwNLkKsb5cKWuKD+ndIXbkZlAXKVuuRyCyTyQaJAbdhJpDl26NUL
U+sxEp8aUREWz6XaznC22O71dFpE+y0ptoKtLWk0F9Uw3dwlubybDY4d1wf2
/9msuDqM8qPrhZFuR37uUWbTUhVmjpg5RA0Pxb8VsqsjZXJV/oRdrdavlRvY
q049emeqxUaoEJPcaf48koSJsXmdt1f2IiH9uxB7u0MHj2yElGQjqwS1GZse
V4XvFkJ9AhGk0QomayHtjKmy0vzlTwVd0gfGCyByCPSkWwlVsHpWmvChq+57
B5XxLTPcV0munBH68PN13GtbK1X6Wi4zeFWGUj4nL3daAeoMu3ZTcP9B6TYe
XFIhA1nEMzl1fWiKEoo4ODIMF1Uq6OFDvh5/O6y6hc74ruOUCIPmq21yHxRM
aSHCJTn/RPhLspMZWJmPOybVccgxpatdKe0kvFtS5iCQcX69CSpRkjFOjazF
KWBVT6eId6lhg156oU2jaZMULO51ldADkiLfVarGBhXKXwJ44cas9eKgU+qu
fOKtq3PpL/6OVJVWnWJIv6O2vx44vS63UtsajDWfJ+7VetyxyekmxC5lf6Jq
ibpUdLHVOWWWwTbxrte1lOv7yyNHGijEXuTGe3YxxOEFX+R2oUFtL10CmY1+
CcFpGaDRaBhyh2q97/7avWiUdmt77xv/BPKEo69nwYDlru1EEyaCheBHIrPh
fmz7bpDvd2NOGucbdVc3qSODt2WqiyLKbSyeq/B+JswVr0WJDb3xTaKmpYAU
O+ljV3y2fali5HIoSUTXDhimnU9suqtLw83w3L0ms0lbfHW3g7SWoihasQSQ
4hLHyUDUyzd0e0zu6vwInu2gF2Ypflj7rqPogaFyGGZDMZXFJHwoStQKW4X2
3B82TdwD/oH5sJKFI+gccnAMRYPqrq4KUo64yUJdpaKLu9+OhHV5po1J7rTy
PjIar1L7T/mWCJ98zL0flXrIuI6V5+Eq6IEbcCVW0l9rz8kYwO8zSXsUpWfR
qjen3lIO+bpG+3a+nZfBpdC6ru1LZ/pkJzPTdMq+kXomjgty9qFmecGjlYS1
C7nnSFIgVvbDNVe6uZzbOxFEd5MqqZV22ymoK3hQ8/dwmXW5NQEIsq3Stt21
QD12kRqYhu4JGcriMJEXJSmbUfJJ/AkDD/FyWp/zVKyGMIn798ct+TbQ2R6w
0IWxUuGXSGa2lyTdng/Da3aoBTDDLvw9E+OY0p+coTfQPDl5VyXVA0YTSDeH
i0TdhOptbXSJTIgSD8wXbJ+ExWbGh73SW8Ll2oSQ2crzgIXW3mAQJVtuLKi0
nes3XEtRN2mIMwzOtAkCYgg7W/v9DmLvp2E0SrI/QrtrlCJo6Z57S9eY1PBN
Y4efYMsKSH1npoBFA1YidW+mzB5S4oPF7JXnpHlr8lBmMT5A8HHXiUQ4fELe
A60ZKR2Awld9uzj2lu/7C5gwYp3zjm1M3iETGzmhvIVXUg3l5eQ5IMt53+lA
lcrBoGAjzV9633PWiO1cSFenGDoyqn25rk9NgCL6/o5zLBXhYXJvtoebMGkQ
4Avs/5p4d0EweBGzCL1Fs9GYxA1nq/HD2DUyuy4ZuagB3TCkfflGu8MI0eI9
IJtSVn1vG6JS34wSr6gAwTOOIPDv76C+jsDFq1N7BbzDiih5NHSuMAFlZ/t6
36iClFQPOPRzyJYGrWRMx8w3iigQ4I203DFXuFmlrzY0SWwlKtJosjqf+1E0
vajJjcVufIAbYJHNWfPy7O0dz+f7FcRmf3JfjzQb6S0XK8O1YWNUqzVputdD
jrghfVGjZ86+skAWI6UERoJXSwq5eL+O4v4UeuIbEJVYQyAQR4jPRuHSWo8+
Q7bJHv+Ev2Mx2gJ8PWF6ixcg0IdwhSozJHUZutrdp6RnHk3Np/ed0+Y+4xd7
IXpHbPpOiN31iP2oXBna3eBxw7ugjAwwik1d1OhKbblOvBkkFb2ymUhZiRn0
z9M7vAQ5vCZCN6l7NVldekFL26Px6PsRorqFl3mLLtVbz5BC4CkmUQk8LNHq
ABJJdAHfCrmvCPhqjt5+0+Z6PUTmH4PDN5DCTk7rIH7vnMlAOuoOVgR9xPwa
eSN3bDjSt+60fCVs+JVePZ2+ne6+lrjcwjXV7JAs8vHajct8/QqE2/uL01Y1
bEY2hG4Fol4OjKYxLD7PR5dvTuMiRWf6S5LOcOLHfCTVQWAjPj6YvJh8MTmY
fA7/8+Xk4Amc/Hg8ppuscS/T+W1V35cuX3LO7RWg3C1lCh1bkNTZK1f9w4Id
M8pg6dmPDkuOZtbC32/wgsbzTdXSVamj7KpoNmDeuRYEWnbh8hz0nQv0nV3a
8ieio++BS2ff3xe2u63v29tCNbRZOJezxUt21l0BQPN+TJ8vInGB/wcMXAsN
7b0AAA==

-->

</rfc>
