<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-sanketh-plants-mtc-architecture-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" consensus="false" indexInclude="true" tocDepth="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="MTC Architecture">Merkle Tree Certificates Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-sanketh-plants-mtc-architecture-00"/>
    <author initials="" surname="sanketh" fullname="sanketh">
      <organization>AWS</organization>
      <address>
        <email>sgmenda@amazon.com</email>
      </address>
    </author>
    <date month="11" year="2026" day="02"/>
    <area>Security</area>
    <workgroup>PKI, Logs, And Tree Signatures</workgroup>
    <keyword>merkle tree certificates</keyword>
    <keyword>transparency</keyword>
    <keyword>pki</keyword>
    <keyword>webpki</keyword>
    <abstract>
      <t>Merkle Tree Certificates (MTCs) make transparency logging part of certificate issuance, enabling Internet-scale deployments of short-lived certificates and large post-quantum signatures. In exchange, their security rests on the state, not just the keys, of the certification authority, its cosigners, and relying parties' update services. This document describes the architecture for deploying MTCs and defines the guarantees that a relying party can obtain when it accepts one. These cover who certified and who recorded the certificate, agreement among relying parties on each log entry, the enforcement of revoked ranges, and the validation of the relying party's own configuration. For each guarantee, we state which parties must behave as specified and which keys and state they must keep intact. Our Recommendations are not needed to interoperate, but they affect the guarantees a deployment achieves, especially against adversaries able to compromise a certification authority, a cosigner, or an update service.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>This note is to be removed before publishing as an RFC.</t>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-sanketh-plants-mtc-architecture/"/>.
      </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>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <section anchor="intro-ct">
        <name>Transparency and revocation today</name>
        <t>Today, a website's server asks a certification authority (CA) for a certificate, often using ACME <xref target="RFC8555"/>. The CA checks that the server controls the domain name, and issues a certificate binding the name to the server's key. Because a CA can issue a certificate for any name, browsers also require Certificate Transparency (CT) <xref target="RFC6962"/> <xref target="RFC9162"/>. Before issuing, the CA usually submits a precertificate to independent logs. Each log returns a signed certificate timestamp (SCT), a promise to publish the certificate within a maximum merge delay (MMD), and the CA embeds the SCTs in the certificate. Browsers require SCTs from two or three logs, depending on the certificate's lifetime <xref target="CHROME-CT"/> <xref target="APPLE-CT"/>. When a browser visits the website, it checks the certificate chain and the SCTs. Monitors read the logs and report certificates that the names' owners did not request. <xref target="fig-today"/> shows this flow. In the terms used below, the browser is the <em>relying party</em>, the server is the <em>authenticating party</em>, and the logs are third-party <em>cosigners</em>.</t>
        <figure anchor="fig-today">
          <name>Issuing and accepting a certificate with Certificate Transparency today</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="336" width="520" viewBox="0 0 520 336" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,48 L 32,320" fill="none" stroke="black"/>
                <path d="M 184,48 L 184,280" fill="none" stroke="black"/>
                <path d="M 184,296 L 184,320" fill="none" stroke="black"/>
                <path d="M 336,48 L 336,280" fill="none" stroke="black"/>
                <path d="M 336,296 L 336,320" fill="none" stroke="black"/>
                <path d="M 488,48 L 488,320" fill="none" stroke="black"/>
                <path d="M 40,80 L 176,80" fill="none" stroke="black"/>
                <path d="M 192,144 L 328,144" fill="none" stroke="black"/>
                <path d="M 192,176 L 328,176" fill="none" stroke="black"/>
                <path d="M 40,224 L 176,224" fill="none" stroke="black"/>
                <path d="M 40,288 L 480,288" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="488,288 476,282.4 476,293.6" fill="black" transform="rotate(0,480,288)"/>
                <polygon class="arrowhead" points="336,144 324,138.4 324,149.6" fill="black" transform="rotate(0,328,144)"/>
                <polygon class="arrowhead" points="200,176 188,170.4 188,181.6" fill="black" transform="rotate(180,192,176)"/>
                <polygon class="arrowhead" points="184,80 172,74.4 172,85.6" fill="black" transform="rotate(0,176,80)"/>
                <polygon class="arrowhead" points="48,224 36,218.4 36,229.6" fill="black" transform="rotate(180,40,224)"/>
                <g class="text">
                  <text x="28" y="36">Server</text>
                  <text x="188" y="36">CA</text>
                  <text x="316" y="36">CT</text>
                  <text x="348" y="36">logs</text>
                  <text x="488" y="36">Browser</text>
                  <text x="48" y="68">1</text>
                  <text x="88" y="68">request</text>
                  <text x="148" y="68">(ACME)</text>
                  <text x="200" y="100">2</text>
                  <text x="244" y="100">validate</text>
                  <text x="296" y="100">the</text>
                  <text x="236" y="116">domain</text>
                  <text x="200" y="132">3</text>
                  <text x="268" y="132">precertificate</text>
                  <text x="200" y="164">4</text>
                  <text x="228" y="164">SCTs</text>
                  <text x="48" y="196">5</text>
                  <text x="104" y="196">certificate</text>
                  <text x="76" y="212">with</text>
                  <text x="116" y="212">SCTs</text>
                  <text x="352" y="244">6</text>
                  <text x="392" y="244">publish</text>
                  <text x="436" y="244">it</text>
                  <text x="388" y="260">within</text>
                  <text x="432" y="260">the</text>
                  <text x="464" y="260">MMD</text>
                  <text x="48" y="276">7</text>
                  <text x="72" y="276">TLS</text>
                  <text x="128" y="276">handshake</text>
                  <text x="368" y="308">8</text>
                  <text x="400" y="308">check</text>
                  <text x="448" y="308">chain</text>
                  <text x="416" y="324">and</text>
                  <text x="452" y="324">SCTs</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art">
Server                CA              CT logs            Browser
   |                  |                  |                  |
   | 1 request (ACME) |                  |                  |
   |-----------------&gt;|                  |                  |
   |                  | 2 validate the   |                  |
   |                  |   domain         |                  |
   |                  | 3 precertificate |                  |
   |                  |-----------------&gt;|                  |
   |                  | 4 SCTs           |                  |
   |                  |&lt;-----------------|                  |
   | 5 certificate    |                  |                  |
   |   with SCTs      |                  |                  |
   |&lt;-----------------|                  |                  |
   |                  |                  | 6 publish it     |
   |                  |                  |   within the MMD |
   | 7 TLS handshake  |                  |                  |
   |-------------------------------------------------------&gt;|
   |                  |                  |   8 check chain  |
   |                  |                  |        and SCTs  |
</artwork>
          </artset>
        </figure>
        <t>CT has worked, but its original design scaled poorly with issuance volume, which keeps growing as certificate lifetimes fall from 398 days to 47 days by 2029 <xref target="CABF-SC081"/>, and Let's Encrypt is now issuing certificates valid for only 160 hours <xref target="LE-SHORTLIVED"/>. Logging is free and open to every publicly trusted CA, so a log takes in a firehose of issuance from many CAs, not only from its operator. Let's Encrypt's logs, for example, accept certificates from any trusted CA <xref target="LE-CT-LOGS"/>. Let's Encrypt alone had about 682 million active certificates in September 2026 (<xref section="6.5" target="MTC"/>). In 2024, Let's Encrypt's RFC 6962 logs had grown to several terabytes per shard and used about 10 TB of bandwidth a day <xref target="LE-CT-TALK"/>. The logs' annual cloud costs were approaching seven figures when Let's Encrypt replaced them with cheaper static logs <xref target="LE-CT-EOL"/>. RFC 6962 logs have typically had an MMD of 24 hours, which a log must meet whatever its load. That promise is hard to keep. Logs have been frozen or retired after failing to merge entries in time, including Google's Aviator in 2016 <xref target="CT-LANDSCAPE"/>, Sectigo's Mammoth2024h1 in 2024 <xref target="MAMMOTH-2024"/>, and two DigiCert logs in 2025 <xref target="DIGICERT-2025"/>; <xref target="CT-LOG-FAILURES"/> surveys such failures. Static logs remove the merge delay by sequencing entries before returning an SCT <xref target="STATIC-CT"/>, and Chrome now admits new logs only with an MMD of at most four hours, or one minute for static logs <xref target="CHROME-CT-LOGS"/>.</t>
        <t>Revocation has limits of its own. In October 2026, eMudhra, a CA trusted by all major browsers, turned out to have generated the private keys of eight intermediate CAs so weakly that anyone could recover them <xref target="EMUDHRA-BUG"/> <xref target="EMUDHRA-SITE"/>. CT could have exposed an attack only afterwards. Browsers that push revocation lists to their users blocked the intermediates, and root programs removed the issuing root <xref target="EMUDHRA-CHROME"/> <xref target="EMUDHRA-BUG"/>, but clients that consume neither stay exposed until a software update or an administrator intervenes <xref target="EMUDHRA-APPLE"/>. With MTCs, a relying party that takes trusted subtrees from an update service can receive revoked ranges in the same updates. Once cosigner interfaces define a halt, by which cosigners stop signing a CA's log (<xref target="compromise-ca"/>), cosigners could also bound a compromised CA's new issuance at relying parties not yet updated.</t>
      </section>
      <section anchor="intro-mtc">
        <name>Merkle Tree Certificates</name>
        <t>Merkle Tree Certificates (MTCs) <xref target="MTC"/> make logging part of issuance. A CA appends each certificate's contents to its own issuance log and signs views of the log, not individual certificates. Cosigners sign the same views: a mirror after storing the entries, as a static CT log does today, and a witness after checking that the log has not forked. A certificate then carries a proof that its entry is in the log, together with these signatures. A relying party that already holds the relevant part of the log, validated in advance, needs no signatures at all.</t>
        <t><xref target="fig-mtc"/> shows the flow for comparison with <xref target="fig-today"/>. Cosigners sign only after the CA has appended the entry and signed a checkpoint covering it. The server first receives a <em>standalone</em> certificate, which carries the cosignatures and is usable at once. At a regular cadence, the CA also allocates <em>landmarks</em>, points in the log whose subtrees are validated and delivered to relying parties ahead of time, here by the browser's <em>update service</em>. Once a landmark covers its entry, the server can send a <em>landmark-relative</em> certificate, which carries only a proof of inclusion.</t>
        <figure anchor="fig-mtc">
          <name>Issuing and accepting Merkle Tree Certificates</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="544" viewBox="0 0 544 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,64 L 32,480" fill="none" stroke="black"/>
                <path d="M 152,64 L 152,440" fill="none" stroke="black"/>
                <path d="M 152,456 L 152,480" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,296" fill="none" stroke="black"/>
                <path d="M 272,312 L 272,440" fill="none" stroke="black"/>
                <path d="M 272,456 L 272,480" fill="none" stroke="black"/>
                <path d="M 392,64 L 392,440" fill="none" stroke="black"/>
                <path d="M 392,456 L 392,480" fill="none" stroke="black"/>
                <path d="M 512,64 L 512,480" fill="none" stroke="black"/>
                <path d="M 40,96 L 144,96" fill="none" stroke="black"/>
                <path d="M 160,160 L 264,160" fill="none" stroke="black"/>
                <path d="M 160,224 L 264,224" fill="none" stroke="black"/>
                <path d="M 40,272 L 144,272" fill="none" stroke="black"/>
                <path d="M 160,304 L 384,304" fill="none" stroke="black"/>
                <path d="M 400,368 L 504,368" fill="none" stroke="black"/>
                <path d="M 40,416 L 144,416" fill="none" stroke="black"/>
                <path d="M 40,448 L 504,448" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,448 500,442.4 500,453.6" fill="black" transform="rotate(0,504,448)"/>
                <polygon class="arrowhead" points="512,368 500,362.4 500,373.6" fill="black" transform="rotate(0,504,368)"/>
                <polygon class="arrowhead" points="392,304 380,298.4 380,309.6" fill="black" transform="rotate(0,384,304)"/>
                <polygon class="arrowhead" points="272,160 260,154.4 260,165.6" fill="black" transform="rotate(0,264,160)"/>
                <polygon class="arrowhead" points="168,224 156,218.4 156,229.6" fill="black" transform="rotate(180,160,224)"/>
                <polygon class="arrowhead" points="152,96 140,90.4 140,101.6" fill="black" transform="rotate(0,144,96)"/>
                <polygon class="arrowhead" points="48,416 36,410.4 36,421.6" fill="black" transform="rotate(180,40,416)"/>
                <polygon class="arrowhead" points="48,272 36,266.4 36,277.6" fill="black" transform="rotate(180,40,272)"/>
                <g class="text">
                  <text x="28" y="36">Server</text>
                  <text x="148" y="36">CA</text>
                  <text x="272" y="36">Cosigners</text>
                  <text x="388" y="36">Update</text>
                  <text x="512" y="36">Browser</text>
                  <text x="392" y="52">service</text>
                  <text x="48" y="84">1</text>
                  <text x="88" y="84">request</text>
                  <text x="168" y="116">2</text>
                  <text x="216" y="116">validate,</text>
                  <text x="204" y="132">append</text>
                  <text x="168" y="148">3</text>
                  <text x="220" y="148">checkpoint</text>
                  <text x="288" y="180">4</text>
                  <text x="320" y="180">store</text>
                  <text x="356" y="180">or</text>
                  <text x="320" y="196">check</text>
                  <text x="168" y="212">5</text>
                  <text x="204" y="212">cosign</text>
                  <text x="48" y="244">6</text>
                  <text x="100" y="244">standalone</text>
                  <text x="76" y="260">cert</text>
                  <text x="168" y="292">7</text>
                  <text x="212" y="292">landmark</text>
                  <text x="408" y="324">8</text>
                  <text x="452" y="324">validate</text>
                  <text x="408" y="340">9</text>
                  <text x="456" y="340">subtrees,</text>
                  <text x="444" y="356">ranges</text>
                  <text x="52" y="388">10</text>
                  <text x="104" y="388">landmark-</text>
                  <text x="100" y="404">relative</text>
                  <text x="52" y="436">11</text>
                  <text x="104" y="436">handshake</text>
                  <text x="436" y="468">12</text>
                  <text x="472" y="468">check</text>
                  <text x="472" y="484">proof</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art">
Server           CA          Cosigners       Update         Browser
                                             service
   |              |              |              |              |
   | 1 request    |              |              |              |
   |-------------&gt;|              |              |              |
   |              | 2 validate,  |              |              |
   |              |   append     |              |              |
   |              | 3 checkpoint |              |              |
   |              |-------------&gt;|              |              |
   |              |              | 4 store or   |              |
   |              |              |   check      |              |
   |              | 5 cosign     |              |              |
   |              |&lt;-------------|              |              |
   | 6 standalone |              |              |              |
   |   cert       |              |              |              |
   |&lt;-------------|              |              |              |
   |              | 7 landmark   |              |              |
   |              |----------------------------&gt;|              |
   |              |              |              | 8 validate   |
   |              |              |              | 9 subtrees,  |
   |              |              |              |   ranges     |
   |              |              |              |-------------&gt;|
   | 10 landmark- |              |              |              |
   |    relative  |              |              |              |
   |&lt;-------------|              |              |              |
   | 11 handshake |              |              |              |
   |----------------------------------------------------------&gt;|
   |              |              |              |    12 check  |
   |              |              |              |       proof  |
</artwork>
          </artset>
        </figure>
        <t>This reduces the costs above. Each CA logs its own issuance, and mirrors copy the log in batches. Log entries carry a hash of the subject's key and no signatures, which keeps them small (Sections <xref target="MTC" section="1" sectionFormat="bare"/> and <xref target="MTC" section="12.3" sectionFormat="bare"/> of <xref target="MTC"/>). Nothing promises later inclusion, so there is no merge delay to miss: an entry is certified only when the CA signs a view that contains it (<xref section="5.4" target="MTC"/>). Handshakes shrink. With ML-DSA-44, a certificate that relies on a part of the log the relying party already holds adds about 0.75 kB of proof, where an X.509 leaf signature and two SCTs, all ML-DSA-44, add about 7.3 kB. Standalone certificates with two cosigners besides the CA are no smaller, so the saving depends on how many handshakes are landmark-relative (<xref target="sizes"/>). Revoking many certificates at once is also cheap. Serial numbers are log positions, so one revoked range can reject every certificate in an interval of the log, such as everything a compromised CA issued after a given point (<xref section="7.5" target="MTC"/>).</t>
        <t>MTCs do not solve everything. They do not prove that the CA validated the identifier it certified; monitors still catch misissuance only afterwards. A relying party still learns of a revoked range only when its configuration is updated. And the format alone fixes few guarantees. They depend on which cosignatures relying parties require, on who validates the log in advance, and on whether the CA, the cosigners, and the update services keep their keys and their state intact. As <xref section="12.2.1" target="MTC"/> puts it, MTCs "introduce additional state to PKI".</t>
        <t>The simplest alternative is to keep X.509 chains and CT, and move their signatures to ML-DSA. With ML-DSA-44, a leaf signature and two SCTs alone add about 7.3 kB (7,260 bytes) to each handshake, even when the intermediate is omitted, and every CT log stores each large certificate (<xref section="1" target="MTC"/>). Chrome has said that it has no immediate plan to add such certificates to its root store, for scalability and efficiency, and that its quantum-resistant root store will support only MTCs <xref target="CHROME-PQ"/> <xref target="CQRP"/>.</t>
      </section>
      <section anchor="intro-document">
        <name>This document</name>
        <t>This document describes the architecture for deploying MTCs, following the approach of the MLS architecture <xref target="RFC9750"/>.
We define no protocol. Our <em>Recommendations</em> are non-binding, and each guarantee cites the ones it rests on. A deployment that violates a Recommendation loses only the guarantees that rest on it, not interoperability.</t>
        <t>We state five guarantees that a relying party can obtain when it accepts an MTC: certification, recording, consistency, revoked ranges, and validated configuration (<xref target="guarantees"/>). For each, we give the premises: which parties must behave as specified, and which keys and state they must keep intact. Every guarantee except the basic form of certification needs intact state at some party, not only intact keys, and all of them trust whoever configures the relying party. Consistency needs every pair of acceptable cosigner sets to share a cosigner that is faithful to the log (<xref target="threat-model"/>). Under a policy of the CA and any one of several mirrors, monitors can detect a rogue CA showing different histories to different relying parties (a split view), but, as with CT today, nothing prevents it. Before the guarantees, we describe the setting and what each service must do (<xref target="setting"/>). After them, we cover the deployment choices and who owns them (<xref target="choices"/>), how configuration changes over time (<xref target="lifecycle"/>), and deployment, security, and privacy considerations (<xref target="operational"/>, <xref target="security"/>, and <xref target="privacy"/>). <xref target="basis"/> sketches why each guarantee holds, and <xref target="analyses"/> states the limits of those arguments.</t>
        <t><xref target="tab-glance"/> summarizes the guarantees of <xref target="guarantees"/>, what each tells a relying party at acceptance, what it rests on, and whether it holds against a rogue CA. Each also assumes that the relying party's verifier and configuration are intact and that its configuration arrived under an intact update key (<xref target="threat-model"/>). The trusted-subtree path also rests on G5.</t>
        <table anchor="tab-glance">
          <name>The guarantees at a glance</name>
          <thead>
            <tr>
              <th>Guarantee</th>
              <th>What the relying party learns</th>
              <th>Rests on</th>
              <th>Against a rogue CA</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>G1 Certification</td>
              <td>the CA key certified exactly this entry</td>
              <td>the CA cosigner key, if the policy requires it</td>
              <td>holds unless the key is extracted</td>
            </tr>
            <tr>
              <td>G2 Recording</td>
              <td>a mirror stored the entry before acceptance</td>
              <td>a supporting mirror faithful to the log</td>
              <td>holds</td>
            </tr>
            <tr>
              <td>G3 Consistency</td>
              <td>relying parties agree on the entry at each index</td>
              <td>a faithful supporting cosigner shared by every pair of acceptances (the intersection condition)</td>
              <td>holds</td>
            </tr>
            <tr>
              <td>G4 Revoked ranges</td>
              <td>an installed range rejects on both paths, and stays installed</td>
              <td>the update key, numbered complete updates with a version floor, and the installation check</td>
              <td>holds for the positions named</td>
            </tr>
            <tr>
              <td>G5 Validated configuration</td>
              <td>each trusted subtree was validated under the policy in effect</td>
              <td>local validation, or an honest update service; the installation check and retention rule</td>
              <td>holds</td>
            </tr>
          </tbody>
        </table>
        <t>Terms not taken from <xref target="MTC"/> are defined where they are introduced: the services and paths in <xref target="setting"/>, the failure and premise terms in <xref target="threat-model"/>, the intersection condition in <xref target="g-consistency"/>, the version floor in <xref target="g-revoked"/>, the bounded-delay form in <xref target="g-timely"/>, the installation check in <xref target="validation-choice"/>, the retention rule in <xref target="policy-change"/>, and the halt in <xref target="cosigner-stop"/>.</t>
        <t>The deployment worked through is TLS 1.3 server authentication, including over QUIC, in the Web PKI with browsers as relying parties. The guarantees apply to any relying party with a cosigner policy and a source of configuration; we have analyzed only this deployment. Root-program policy is out of scope: we name the decisions a deployment makes and who owns each (<xref target="decisions"/>), and cite root-program documents only as dated examples. We consider only end-entity certificates that a Merkle Tree CA issues itself. A non-MTC subordinate CA that a Merkle Tree CA certifies issues certificates that do not appear in the Merkle Tree CA's log, so the guarantees do not cover them (<xref section="12.9" target="MTC"/>).</t>
        <t>This document is meant to be read alongside <xref target="MTC"/>, revision -08. We use its terms (see <xref section="2.1" target="MTC"/>), its formats, and its verification procedure. In the language of <xref section="7.3" target="MTC"/>, certification refines authenticity, recording is the part of transparency that holds at acceptance, and consistency goes beyond transparency; eventual visibility is not provided (<xref target="g-not-provided"/>).</t>
        <t>The C2SP specifications define the log and cosigner interfaces. Five of them carry premises of the guarantees and are normative here. Recording rests on mirrors <xref target="TLOG-MIRROR"/> and tiled logs <xref target="TLOG-TILES"/>, consistency on cosignatures <xref target="COSIG"/> and witnesses <xref target="TLOG-WITNESS"/>, and both on the MTC profile <xref target="MTC-TLOG"/>. A mirror implements parts of the witness protocol and serves tiles, so a mirror-only policy rests on <xref target="TLOG-WITNESS"/> and <xref target="TLOG-TILES"/> too. The checkpoint <xref target="CHECKPOINT"/> and signed-note <xref target="SIGNED-NOTE"/> formats they build on are informative. We refer to the tagged versions cited, and later revisions of this document will cite new tags as the specifications are revised, as <xref section="5.2.2" target="MTC"/> anticipates for its own references. Trust anchor identifiers <xref target="TAI"/> supply certificate selection in TLS 1.3 <xref target="RFC9846"/>, and ACME <xref target="RFC8555"/> supplies enrollment. <xref target="USE-CASES"/> and <xref target="ENTERPRISE"/> explore further applications and mechanisms.</t>
      </section>
    </section>
    <section anchor="setting">
      <name>Setting and services</name>
      <t>A Merkle Tree CA appends entries to an <em>issuance log</em> and signs <em>checkpoints</em>, each a view of the log at some size (<xref section="5" target="MTC"/>). A <em>CA instance</em> is a CA identifier together with its hash algorithm, its CA cosigner key, and its series of issuance logs, each identified by a <em>log number</em>; a CA moves to a new log number after a log failure (<xref target="ca"/>). A certificate's serial number encodes the log number and the entry's index (<xref section="6.2" target="MTC"/>).</t>
      <t>A <em>cosigner</em> signs checkpoints, or subtrees of the log, under its own key (<xref section="5.3" target="MTC"/>). The CA signs as the <em>CA cosigner</em>. A <em>witness</em> cosigns a checkpoint after checking that it is consistent with the last one it cosigned <xref target="TLOG-WITNESS"/>. A <em>mirror</em> also stores the entries a checkpoint covers before it cosigns <xref target="TLOG-MIRROR"/>. A <em>monitor</em> reads the log and checks the entries for the names it watches.</t>
      <t>A <em>relying party</em>, such as a browser, accepts certificates, and an <em>authenticating party</em>, such as a server, presents them. The relying party's <em>cosigner policy</em> says which sets of cosignatures suffice, with each cosigner's ID fixing its key and role: CA, witness, or mirror (<xref section="5.3" target="MTC"/>). Its <em>configuration in effect</em> is the CA parameters, cosigner policy, trusted subtrees, and revoked ranges it is using at a given moment (<xref section="7.1" target="MTC"/>). An <em>update service</em> publishes that configuration under its <em>update key</em>. The vendor of the relying party runs it (for a browser, the browser vendor), or an organization does. Delivering what it publishes needs no key and may be left to others (<xref target="compromise-update"/>). The <em>installer</em> is the local component that makes delivered configuration effective.</t>
      <t><xref target="fig-setting"/> shows these services and the evidence that passes between them. Monitors read entries from mirrors, or from the CA where no mirror serves them, read checkpoints from every cosigner, and report to root programs. The update service obtains landmarks and cosigned checkpoints from the CA, as drawn, or the checkpoints from the cosigners themselves. Each box is an abstract service (<xref section="2.2" target="RFC9750"/>). One operator may run several, and drawing them as separate boxes does not make them independent. <xref target="g-summary"/> lists which keys and state must stay intact.</t>
      <figure anchor="fig-setting">
        <name>Services and the evidence between them</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="528" viewBox="0 0 528 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 24,72 L 24,336" fill="none" stroke="black"/>
              <path d="M 56,112 L 56,144" fill="none" stroke="black"/>
              <path d="M 56,208 L 56,256" fill="none" stroke="black"/>
              <path d="M 56,320 L 56,352" fill="none" stroke="black"/>
              <path d="M 80,72 L 80,112" fill="none" stroke="black"/>
              <path d="M 104,32 L 104,64" fill="none" stroke="black"/>
              <path d="M 104,152 L 104,200" fill="none" stroke="black"/>
              <path d="M 104,264 L 104,312" fill="none" stroke="black"/>
              <path d="M 152,112 L 152,144" fill="none" stroke="black"/>
              <path d="M 152,208 L 152,256" fill="none" stroke="black"/>
              <path d="M 152,320 L 152,352" fill="none" stroke="black"/>
              <path d="M 216,32 L 216,64" fill="none" stroke="black"/>
              <path d="M 216,112 L 216,160" fill="none" stroke="black"/>
              <path d="M 272,64 L 272,104" fill="none" stroke="black"/>
              <path d="M 272,168 L 272,224" fill="none" stroke="black"/>
              <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
              <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
              <path d="M 424,208 L 424,272" fill="none" stroke="black"/>
              <path d="M 432,112 L 432,160" fill="none" stroke="black"/>
              <path d="M 472,168 L 472,208" fill="none" stroke="black"/>
              <path d="M 512,112 L 512,160" fill="none" stroke="black"/>
              <path d="M 520,208 L 520,272" fill="none" stroke="black"/>
              <path d="M 8,32 L 104,32" fill="none" stroke="black"/>
              <path d="M 216,32 L 336,32" fill="none" stroke="black"/>
              <path d="M 112,48 L 208,48" fill="none" stroke="black"/>
              <path d="M 8,64 L 104,64" fill="none" stroke="black"/>
              <path d="M 216,64 L 336,64" fill="none" stroke="black"/>
              <path d="M 56,112 L 152,112" fill="none" stroke="black"/>
              <path d="M 216,112 L 336,112" fill="none" stroke="black"/>
              <path d="M 432,112 L 512,112" fill="none" stroke="black"/>
              <path d="M 56,144 L 152,144" fill="none" stroke="black"/>
              <path d="M 344,144 L 424,144" fill="none" stroke="black"/>
              <path d="M 216,160 L 336,160" fill="none" stroke="black"/>
              <path d="M 432,160 L 512,160" fill="none" stroke="black"/>
              <path d="M 56,208 L 152,208" fill="none" stroke="black"/>
              <path d="M 424,208 L 520,208" fill="none" stroke="black"/>
              <path d="M 160,224 L 272,224" fill="none" stroke="black"/>
              <path d="M 24,240 L 56,240" fill="none" stroke="black"/>
              <path d="M 160,240 L 416,240" fill="none" stroke="black"/>
              <path d="M 56,256 L 152,256" fill="none" stroke="black"/>
              <path d="M 424,272 L 520,272" fill="none" stroke="black"/>
              <path d="M 56,320 L 152,320" fill="none" stroke="black"/>
              <path d="M 24,336 L 56,336" fill="none" stroke="black"/>
              <path d="M 56,352 L 152,352" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="480,168 468,162.4 468,173.6" fill="black" transform="rotate(270,472,168)"/>
              <polygon class="arrowhead" points="432,144 420,138.4 420,149.6" fill="black" transform="rotate(0,424,144)"/>
              <polygon class="arrowhead" points="424,240 412,234.4 412,245.6" fill="black" transform="rotate(0,416,240)"/>
              <polygon class="arrowhead" points="280,168 268,162.4 268,173.6" fill="black" transform="rotate(270,272,168)"/>
              <polygon class="arrowhead" points="280,104 268,98.4 268,109.6" fill="black" transform="rotate(90,272,104)"/>
              <polygon class="arrowhead" points="216,48 204,42.4 204,53.6" fill="black" transform="rotate(0,208,48)"/>
              <polygon class="arrowhead" points="112,312 100,306.4 100,317.6" fill="black" transform="rotate(90,104,312)"/>
              <polygon class="arrowhead" points="112,264 100,258.4 100,269.6" fill="black" transform="rotate(270,104,264)"/>
              <polygon class="arrowhead" points="112,200 100,194.4 100,205.6" fill="black" transform="rotate(90,104,200)"/>
              <polygon class="arrowhead" points="112,152 100,146.4 100,157.6" fill="black" transform="rotate(270,104,152)"/>
              <polygon class="arrowhead" points="88,72 76,66.4 76,77.6" fill="black" transform="rotate(270,80,72)"/>
              <polygon class="arrowhead" points="32,72 20,66.4 20,77.6" fill="black" transform="rotate(270,24,72)"/>
              <g class="text">
                <text x="160" y="36">reports</text>
                <text x="52" y="52">Monitors</text>
                <text x="244" y="52">Root</text>
                <text x="296" y="52">program</text>
                <text x="308" y="84">policy</text>
                <text x="136" y="100">checkpoints</text>
                <text x="384" y="116">subtrees,</text>
                <text x="104" y="132">Witnesses</text>
                <text x="252" y="132">Update</text>
                <text x="376" y="132">revoked</text>
                <text x="472" y="132">Relying</text>
                <text x="256" y="148">service</text>
                <text x="464" y="148">party</text>
                <text x="372" y="164">ranges</text>
                <text x="324" y="196">landmarks,</text>
                <text x="404" y="196">cosigned</text>
                <text x="496" y="196">MTC</text>
                <text x="328" y="212">checkpoints</text>
                <text x="100" y="228">CA</text>
                <text x="472" y="228">Authenti-</text>
                <text x="460" y="244">cating</text>
                <text x="268" y="260">certificates</text>
                <text x="456" y="260">party</text>
                <text x="104" y="340">Mirrors</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art">
 +-----------+   reports   +--------------+
 | Monitors  |------------&gt;| Root program |
 +-----------+             +------+-------+
   ^      ^                       | policy
   |      | checkpoints           v
   |   +--+--------+       +--------------+ subtrees, +---------+
   |   | Witnesses |       | Update       | revoked   | Relying |
   |   +-----------+       | service      |----------&gt;| party   |
   |         ^             +--------------+ ranges    +---------+
   |         |                    ^                        ^
   |         v                    | landmarks, cosigned    | MTC
   |   +-----------+              | checkpoints      +-----+-----+
   |   |    CA     |--------------+                  | Authenti- |
   +---+           |--------------------------------&gt;| cating    |
   |   +-----------+        certificates             | party     |
   |         ^                                       +-----------+
   |         |
   |         v
   |   +-----------+
   +---+  Mirrors  |
       +-----------+
</artwork>
        </artset>
      </figure>
      <section anchor="accepting">
        <name>Accepting a certificate</name>
        <t>A relying party accepts a certificate on one of two paths. On the <em>cosigner path</em>, the certificate carries an inclusion proof to a subtree, and cosignatures on that subtree that satisfy the cosigner policy; a standalone certificate is built for this path. On the <em>trusted-subtree path</em>, the inclusion proof leads to a <em>trusted subtree</em>: a log number, an interval <tt>[start, end)</tt>, and a subtree hash that the relying party holds for a CA (<xref section="7.4" target="MTC"/>). No cosignature is checked at acceptance; a landmark-relative certificate is built for this path. <xref section="7.3" target="MTC"/> does not prescribe a cosigner policy, so a relying party may require more of the cosigners on the trusted-subtree path than on the cosigner path (<xref target="cosigner-policy"/>).</t>
        <t>At a regular cadence, the CA allocates a landmark, which records the log's tree size at that moment. Two subtrees cover the entries between one landmark and the next, and relying parties are configured with them as trusted subtrees (Sections <xref target="MTC" section="4.5" sectionFormat="bare"/>, <xref target="MTC" section="6.4.1" sectionFormat="bare"/>, and <xref target="MTC" section="7.4" sectionFormat="bare"/> of <xref target="MTC"/>). Before a landmark's subtrees are configured as trusted, the landmark is <em>validated</em>: each subtree must be consistent with a reference checkpoint, and every cosigner of some set satisfying the cosigner policy must have signed that checkpoint or a larger one consistent with it (<xref section="7.4" target="MTC"/>). A mirror counts only for subtrees that start at or above its threshold (<xref target="mirrors"/>). Validation is local when the relying party does it and delegated when the update service does (<xref target="validation-choice"/>). It records the cosigners whose signatures it verified, with each one's identity, key, and hash bindings (cosigner ID, public key, and hash algorithm): its <em>recorded evidence</em>. Validating a landmark is distinct from the CA's checking of names, which we always call identifier validation.</t>
        <t>The relying party's configuration, matched against the certificate's log and interval, decides the path. <xref section="7.2" target="MTC"/> fixes the order; its step numbers are given in parentheses:</t>
        <ol><li>
            <t>(Step 4.) If a revoked range in effect covers the certificate's serial number, the relying party rejects the certificate.</t>
          </li>
          <li>
            <t>(Step 11.) Otherwise, if the relying party holds a trusted subtree with exactly the certificate's log and interval, it accepts the certificate if and only if the inclusion proof matches that subtree's hash. A mismatch is final.</t>
          </li>
          <li>
            <t>(Step 12.) Otherwise, it accepts the certificate if the cosignatures satisfy the cosigner policy, and rejects it if not.</t>
          </li>
        </ol>
        <t>The decision replaces only the signature check; the rest of path validation, such as expiry, still applies (<xref section="7.2" target="MTC"/>). Several guarantees depend on this order. In particular, a trusted subtree constrains only certificates whose interval matches it exactly: a certificate whose interval merely overlaps it, or covers the same entries after the subtree was removed, takes the cosigner path. <xref section="3" target="MTC"/> follows one certificate from issuance to certificate selection.</t>
      </section>
      <section anchor="ca">
        <name>Certification authority</name>
        <t>The CA is trusted to validate identifiers (<xref target="threat-model"/>). Three points about its operation are relevant for us.</t>
        <t>Once an entry is appended, a covering checkpoint follows within seconds, so the append is the last point at which the CA can stop a misissuance. The entry is certified, though, only once the CA signs a view covering it, whether or not its order completes (<xref section="5.4" target="MTC"/>), and Section 2.4 of <xref target="CQRP"/> treats the first such signature as the point of issuance. So identifier validation and profile checks precede the append, as Section 2.4.4 of <xref target="CQRP"/> asks of linting.</t>
        <t>The CA cosigner key signs at checkpoint cadence, every two seconds in the example of <xref section="6.5" target="MTC"/>, so it is an online key. A hardware module protects it against exfiltration (Section 2.6.1 of <xref target="CQRP"/> requires one, and permits encrypted key backups). But a pipeline that can call the module can still sign a fork. The signing service below bounds forks, not what is appended.</t>
        <t><em>Recommendation for CAs:</em> The CA cosigner key is usable only through a signing service. That service retains the last signed checkpoint of each log and refuses every log other than the current one. It checks a consistency proof before each checkpoint or subtree cosignature, and persists its record before it uses the key. The service runs inside the module boundary, or is the sole holder of the module's signing authorization. Every module holding the key, including disaster-recovery copies, is unusable without the current record. Advancing the current log needs authorization separate from signing. A synchronously replicated record meets the current-record requirement only if every module serializes its signings against that one record. Restoring a point-in-time snapshot, or loading the key into a fresh module and service, for example from an encrypted backup, does not, and is a <em>log failure</em> (below). Replacing a failed module under the same service and current record is not a log failure. An encrypted backup that no module has loaded is not itself a module holding the key.</t>
        <t>A log that cannot be rebuilt to exactly the signing service's record has failed. The CA then moves to a new log number (Sections <xref target="MTC" section="5.2" sectionFormat="bare"/> and <xref target="MTC" section="12.2.1" sectionFormat="bare"/> of <xref target="MTC"/>), rather than resuming from an earlier checkpoint (<xref target="log-numbers"/>, <xref target="ca-recovery"/>).</t>
      </section>
      <section anchor="witnesses">
        <name>Witnesses</name>
        <t>A witness holds no entries. It is relied on for consistency, as a member shared by two acceptable sets (<xref target="g-consistency"/>), and for the halt bound, which limits a compromised CA's new issuance once cosigners halt (<xref target="cosigner-stop"/>). <xref target="COSIG"/> and <xref section="5.3.2" target="MTC"/> require a cosigner's signatures for a log to stay consistent. A witness that loses its retained checkpoint for a log, and resumes that log under the same key, can break that requirement: it cosigns whichever history it is shown next. Re-learning the checkpoint from published cosigned checkpoints is not recovery, since the adversary chooses which one the witness finds.<cref anchor="ed-witness-loss">Editor's note: <xref target="TLOG-WITNESS"/> does not yet say how a witness detects the loss of its retained checkpoint for an origin, or that it stops cosigning that origin under the same key.</cref></t>
        <t><em>Recommendation for witnesses:</em> A witness that loses its retained checkpoint for a log does not resume that log under the same key, and one that cannot tell which logs it lost retires the key. A witness never rolls back its record of a log, the last checkpoint it cosigned. One restored from a backup or snapshot treats every log as lost, even log numbers it accepts in advance, unless it confirms that the restore did not roll the log back. It confirms this against a copy of its record kept in another failure domain and updated before each cosignature is released. The witness holds its own record within the key's trust boundary, as the CA does (<xref target="ca"/>), and retains it for a log it stops following.</t>
        <t>If its own record sits outside that boundary, compromise of its host counts as compromise of the witness. A witness that has only lost a log keeps its key and its place in policies. Under a <tt>k</tt>-of-<tt>n</tt> policy, the CA can carry on with <tt>k</tt> of the remaining cosigners. Under a policy that accepts any one of several, it uses another. To regain the witness, the CA moves to the next log number that the witness has not lost (<xref target="log-numbers"/>), but only when it cannot otherwise meet its policy. The move has a cost in incidents and log numbers (<xref target="cosigner-notes"/>). A new key would be a new cosigner (<xref section="5.3.3" target="MTC"/>), and so a policy change (<xref target="policy-change"/>).</t>
      </section>
      <section anchor="mirrors">
        <name>Mirrors</name>
        <t>A mirror plays roughly the part that a Certificate Transparency log plays today. It is relied on for recording. Because it keeps the log's history, it can also serve consistency.</t>
        <t>A mirror's <em>minimum index</em> is the lowest index whose entry it stores (<xref target="TLOG-MIRROR"/>). A mirror initialized at a minimum index above zero may sign a checkpoint that covers earlier entries it never stored. <xref target="TLOG-MIRROR"/> already says that log clients "MUST NOT treat the mirror as contributing to a quorum for entries below its minimum index", but no cosignature carries a minimum index, so a relying party cannot apply that rule.</t>
        <t>What a policy can rely on is the mirror's <em>initial</em> minimum index for a log, not its current one, which rises with pruning, provided two rules hold for each key and log. <em>Single initialization</em>: the mirror is initialized for the log once, and a mirror that loses its state for a log does not resume that log under the same key. <em>Minimum-index bound</em>: the minimum index never exceeds the size of the largest checkpoint the mirror has signed, or, before its first signing, the initial minimum index. Then every index from the initial minimum index up to a signed size was stored before the first signing that covered it (<xref target="fig-mirror"/>), and later pruning cannot undo recording (<xref target="basis"/>). The bound follows from <xref target="TLOG-TILES"/>, whose minimum index "MUST be less than or equal to the tree size of the log's current checkpoint", applied to the mirror's copy, and from <xref target="TLOG-MIRROR"/>, except before a mirror's first signing.</t>
        <t>A new mirror key is a new cosigner. Under <xref target="CQRP"/>, a new cosigner needs at least 100 days to become <tt>Usable</tt> (Section 3.3). So losing one log's state should not cost the key (<xref target="cosigner-notes"/>).<cref anchor="ed-single-init">Editor's note: <xref target="TLOG-MIRROR"/> does not yet require single initialization, or bound a mirror's minimum index by its initial minimum index before its first signing and by its largest signed size afterwards. Its quorum rule uses the current minimum index, which no cosignature carries; what a policy can apply is the initial minimum index.</cref></t>
        <figure anchor="fig-mirror">
          <name>A mirror's initial minimum index m0 and eligibility threshold b</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="472" viewBox="0 0 472 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 64,48 L 64,112" fill="none" stroke="black"/>
                <path d="M 168,48 L 168,112" fill="none" stroke="black"/>
                <path d="M 312,48 L 312,112" fill="none" stroke="black"/>
                <path d="M 456,48 L 456,112" fill="none" stroke="black"/>
                <path d="M 64,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 64,112 L 456,112" fill="none" stroke="black"/>
                <g class="text">
                  <text x="24" y="36">index</text>
                  <text x="64" y="36">0</text>
                  <text x="172" y="36">m0</text>
                  <text x="316" y="36">s1</text>
                  <text x="460" y="36">s2</text>
                  <text x="88" y="68">not</text>
                  <text x="132" y="68">stored</text>
                  <text x="212" y="68">stored</text>
                  <text x="268" y="68">before</text>
                  <text x="356" y="68">stored</text>
                  <text x="412" y="68">before</text>
                  <text x="112" y="84">(backfill</text>
                  <text x="216" y="84">signing</text>
                  <text x="260" y="84">s1</text>
                  <text x="360" y="84">signing</text>
                  <text x="404" y="84">s2</text>
                  <text x="108" y="100">later)</text>
                  <text x="168" y="132">^</text>
                  <text x="168" y="148">b</text>
                  <text x="188" y="148">&gt;=</text>
                  <text x="216" y="148">m0:</text>
                  <text x="248" y="148">the</text>
                  <text x="292" y="148">policy</text>
                  <text x="348" y="148">counts</text>
                  <text x="396" y="148">this</text>
                  <text x="444" y="148">mirror</text>
                  <text x="180" y="164">only</text>
                  <text x="216" y="164">for</text>
                  <text x="264" y="164">entries</text>
                  <text x="308" y="164">at</text>
                  <text x="352" y="164">indices</text>
                  <text x="392" y="164">i</text>
                  <text x="412" y="164">&gt;=</text>
                  <text x="432" y="164">b</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art">
index  0            m0                s1                s2
       +------------+-----------------+-----------------+
       | not stored |  stored before  |  stored before  |
       | (backfill  |  signing s1     |  signing s2     |
       |  later)    |                 |                 |
       +------------+-----------------+-----------------+
                    ^
                    b &gt;= m0: the policy counts this mirror
                    only for entries at indices i &gt;= b
</artwork>
          </artset>
        </figure>
        <t><em>Recommendation for root programs, mirrors, and validating parties:</em> A program counts a mirror at every index of a log only if the mirror starts at index zero, or at or below a <em>pruning bound</em>, an index below which a revoked range that the program ships covers every entry (<xref target="cosigner-policy"/>). Otherwise, the mirror publishes its initial minimum index for the log, and a policy fixes, per mirror key and log, a threshold <tt>b</tt> at or above that index and counts the mirror only for indices <tt>i &gt;= b</tt>. Either way, the mirror follows single initialization and the minimum-index bound. It never rolls back its record for a log, and checks entries restored from elsewhere against that record before its next signing. The record sits within the key's trust boundary, as for a witness (<xref target="witnesses"/>). On the trusted-subtree path, validation counts the mirror for a subtree only if the subtree starts at or above <tt>b</tt>. Backfill below the initial minimum index does not lower <tt>b</tt>. A mirror that stops following a log keeps its record for that log, so that resuming is not a second initialization. That record consists of the initial minimum index, the last signed checkpoint, and what the mirror needs to extend the tree. The entries themselves stay prunable under the program's retention rules.</t>
        <t>Under a policy that requires mirrors, mirror submission is on the issuance path (<xref section="10.2" target="MTC"/>). An operator running both a witness and a mirror keeps them distinct cosigners (<xref section="5.3" target="MTC"/>, <xref target="TLOG-MIRROR"/>).</t>
      </section>
      <section anchor="monitors">
        <name>Monitors</name>
        <t>A monitor:</t>
        <ul>
          <li>
            <t>compares the checkpoints of every cosigner that a supported policy trusts, for every log number up to the highest that the policy accepts (<xref target="log-numbers"/>), fetched from the cosigners themselves rather than only through the CA (see the Monitor Retrieval Mechanism of <xref target="TLOG-WITNESS"/>);</t>
          </li>
          <li>
            <t>parses every entry in its scope (<xref section="12.5" target="MTC"/>);</t>
          </li>
          <li>
            <t>checks entries against its own record of authorized keys (<xref section="12.3" target="MTC"/>); and</t>
          </li>
          <li>
            <t>reports to the subject, the CA, and root programs.</t>
          </li>
        </ul>
        <t>The subject, usually through a third-party service, is the monitor the design relies on (<xref section="12.2" target="MTC"/>). Detection assumes that monitors reach the cosigners and are not served stale views (<xref target="TLOG-WITNESS"/>). So a policy that counts a witness can require the witness's monitoring endpoint. <xref target="TLOG-WITNESS"/> only recommends that endpoint, and says its delay "SHOULD NOT" exceed an hour. <xref target="CQRP"/> requires mirrors to make cosigned checkpoints and tiles available "within 10 minutes of cosignature issuance" (Section 3.2.3). A monitor alarms when a cosigner's served checkpoint stays smaller than one it has cosigned for longer than the applicable delay after the cosignature's timestamp.</t>
      </section>
      <section anchor="configuration">
        <name>Relying-party configuration</name>
        <t>For a browser, the root program decides policy, and the browser vendor turns decisions into configuration and ships the verifier. In other deployments, other vendors and organizations play the same parts. Whoever can change the configuration or the verifier decides what the relying party accepts. So the powers to validate subtrees, change policy or ranges, deliver updates, and replace the verifier are best held separately (<xref target="compromise-update"/>). A vendor that holds all of them, as <xref section="7.4" target="MTC"/> anticipates, can still separate them internally, with distinct keys, approvals, and roles.</t>
      </section>
      <section anchor="authenticating-party">
        <name>Authenticating party</name>
        <t>The authenticating party:</t>
        <ul>
          <li>
            <t>deploys a standalone certificate alongside any landmark-relative one, for relying parties whose configuration lags (<xref section="6.4" target="MTC"/>);</t>
          </li>
          <li>
            <t>sends the landmark-relative one only when the trust anchor signal shows that the relying party holds its subtree (<xref section="8.2" target="MTC"/>); and</t>
          </li>
          <li>
            <t>renews early enough for a covering landmark to arrive (<xref target="renewal"/>).</t>
          </li>
        </ul>
        <t>During a renewal overlap, the authenticating party holds, per name, two landmark-relative certificates, a standalone one, and any directly signed (conventional X.509) one (<xref target="certificate-choice"/>). It obtains the landmark-relative one from the CA, or builds it from the log (<xref target="acme-notes"/>).<cref anchor="ed-selection">Editor's note: Deploying the TLS integration as intended may need a change to <xref target="TAI"/> or <xref target="MTC"/>. Since <xref target="MTC"/> defines no <tt>SignatureScheme</tt> for the proof, under a strict reading of <xref section="4.5.1.2" target="RFC9846"/> and <xref section="5.4" target="TAI"/>, a server that holds a conventional chain signed with algorithms the client advertises sends that chain instead of the MTC. The recovery of <xref section="5.6" target="TAI"/> inherits this, and options are under discussion in <xref target="TAI-138"/>. <xref section="5.5" target="TAI"/> (version -07) also does not yet say what a complete certification path is when the trust anchor is a landmark.</cref></t>
      </section>
    </section>
    <section anchor="guarantees">
      <name>Security guarantees</name>
      <t>This section states what holds at acceptance, as five guarantees, and what each rests on.</t>
      <t><xref target="fig-guarantees"/> follows the evidence from issuance to acceptance, with validation delegated to the update service, and marks the stage that each guarantee chiefly concerns. The server, which only forwards certificates, is omitted.</t>
      <figure anchor="fig-guarantees">
        <name>The guarantees along the path from issuance to acceptance</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="504" viewBox="0 0 504 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 8,208" fill="none" stroke="black"/>
              <path d="M 8,400 L 8,464" fill="none" stroke="black"/>
              <path d="M 72,208 L 72,392" fill="none" stroke="black"/>
              <path d="M 128,80 L 128,120" fill="none" stroke="black"/>
              <path d="M 128,256 L 128,336" fill="none" stroke="black"/>
              <path d="M 192,208 L 192,248" fill="none" stroke="black"/>
              <path d="M 192,336 L 192,392" fill="none" stroke="black"/>
              <path d="M 256,32 L 256,80" fill="none" stroke="black"/>
              <path d="M 256,128 L 256,208" fill="none" stroke="black"/>
              <path d="M 256,256 L 256,336" fill="none" stroke="black"/>
              <path d="M 256,400 L 256,464" fill="none" stroke="black"/>
              <path d="M 8,32 L 256,32" fill="none" stroke="black"/>
              <path d="M 8,80 L 256,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 256,128" fill="none" stroke="black"/>
              <path d="M 8,208 L 256,208" fill="none" stroke="black"/>
              <path d="M 128,256 L 256,256" fill="none" stroke="black"/>
              <path d="M 128,336 L 256,336" fill="none" stroke="black"/>
              <path d="M 8,400 L 256,400" fill="none" stroke="black"/>
              <path d="M 8,464 L 256,464" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="200,392 188,386.4 188,397.6" fill="black" transform="rotate(90,192,392)"/>
              <polygon class="arrowhead" points="200,248 188,242.4 188,253.6" fill="black" transform="rotate(90,192,248)"/>
              <polygon class="arrowhead" points="136,120 124,114.4 124,125.6" fill="black" transform="rotate(90,128,120)"/>
              <polygon class="arrowhead" points="80,392 68,386.4 68,397.6" fill="black" transform="rotate(90,72,392)"/>
              <g class="text">
                <text x="32" y="52">CA:</text>
                <text x="80" y="52">appends</text>
                <text x="128" y="52">the</text>
                <text x="168" y="52">entry</text>
                <text x="208" y="52">and</text>
                <text x="292" y="52">G1</text>
                <text x="364" y="52">Certification:</text>
                <text x="40" y="68">signs</text>
                <text x="72" y="68">a</text>
                <text x="124" y="68">checkpoint</text>
                <text x="296" y="68">the</text>
                <text x="324" y="68">CA</text>
                <text x="352" y="68">key</text>
                <text x="408" y="68">certified</text>
                <text x="312" y="84">exactly</text>
                <text x="364" y="84">this</text>
                <text x="408" y="84">entry</text>
                <text x="60" y="148">Cosigners:</text>
                <text x="112" y="148">a</text>
                <text x="148" y="148">mirror</text>
                <text x="204" y="148">stores</text>
                <text x="292" y="148">G2</text>
                <text x="348" y="148">Recording:</text>
                <text x="32" y="164">the</text>
                <text x="84" y="164">entries,</text>
                <text x="128" y="164">a</text>
                <text x="168" y="164">witness</text>
                <text x="288" y="164">a</text>
                <text x="324" y="164">mirror</text>
                <text x="380" y="164">stored</text>
                <text x="424" y="164">the</text>
                <text x="464" y="164">entry</text>
                <text x="44" y="180">checks</text>
                <text x="124" y="180">consistency,</text>
                <text x="192" y="180">and</text>
                <text x="292" y="180">G3</text>
                <text x="356" y="180">Consistency:</text>
                <text x="36" y="196">each</text>
                <text x="88" y="196">cosigns</text>
                <text x="312" y="196">relying</text>
                <text x="376" y="196">parties</text>
                <text x="432" y="196">agree</text>
                <text x="468" y="196">on</text>
                <text x="296" y="212">the</text>
                <text x="336" y="212">entry</text>
                <text x="372" y="212">at</text>
                <text x="404" y="212">each</text>
                <text x="448" y="212">index</text>
                <text x="164" y="276">Update</text>
                <text x="292" y="276">G5</text>
                <text x="344" y="276">Validated</text>
                <text x="444" y="276">configuration:</text>
                <text x="172" y="292">service:</text>
                <text x="312" y="292">trusted</text>
                <text x="380" y="292">subtrees</text>
                <text x="436" y="292">were</text>
                <text x="176" y="308">validates</text>
                <text x="320" y="308">validated</text>
                <text x="384" y="308">under</text>
                <text x="424" y="308">the</text>
                <text x="176" y="324">landmarks</text>
                <text x="316" y="324">cosigner</text>
                <text x="380" y="324">policy</text>
                <text x="124" y="356">standalone</text>
                <text x="232" y="356">trusted</text>
                <text x="304" y="356">subtrees,</text>
                <text x="128" y="372">certificate</text>
                <text x="232" y="372">revoked</text>
                <text x="292" y="372">ranges</text>
                <text x="48" y="420">Relying</text>
                <text x="108" y="420">party:</text>
                <text x="164" y="420">checks</text>
                <text x="208" y="420">the</text>
                <text x="292" y="420">G4</text>
                <text x="336" y="420">Revoked</text>
                <text x="400" y="420">ranges:</text>
                <text x="48" y="436">ranges,</text>
                <text x="100" y="436">then</text>
                <text x="136" y="436">the</text>
                <text x="184" y="436">trusted</text>
                <text x="312" y="436">covered</text>
                <text x="372" y="436">serial</text>
                <text x="432" y="436">numbers</text>
                <text x="48" y="452">subtree</text>
                <text x="92" y="452">or</text>
                <text x="120" y="452">the</text>
                <text x="188" y="452">cosignatures</text>
                <text x="296" y="452">are</text>
                <text x="348" y="452">rejected</text>
                <text x="396" y="452">on</text>
                <text x="428" y="452">both</text>
                <text x="472" y="452">paths</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art">
+------------------------------+
| CA: appends the entry and    |   G1 Certification:
| signs a checkpoint           |   the CA key certified
+--------------+---------------+   exactly this entry
               |
               v
+------------------------------+
| Cosigners: a mirror stores   |   G2 Recording:
| the entries, a witness       |   a mirror stored the entry
| checks consistency, and      |   G3 Consistency:
| each cosigns                 |   relying parties agree on
+-------+--------------+-------+   the entry at each index
        |              |
        |              v
        |      +---------------+
        |      | Update        |   G5 Validated configuration:
        |      | service:      |   trusted subtrees were
        |      | validates     |   validated under the
        |      | landmarks     |   cosigner policy
        |      +-------+-------+
        | standalone   | trusted subtrees,
        | certificate  | revoked ranges
        v              v
+------------------------------+
| Relying party: checks the    |   G4 Revoked ranges:
| ranges, then the trusted     |   covered serial numbers
| subtree or the cosignatures  |   are rejected on both paths
+------------------------------+
</artwork>
        </artset>
      </figure>
      <section anchor="threat-model">
        <name>Threat model</name>
        <t>We start from the Internet threat model <xref target="RFC3552"/>, in which the attacker controls the network, and add the compromise of named parties. Each guarantee names the parties it relies on. Every other party, including the CA unless a guarantee names it, may act arbitrarily for the attacker, and may be corrupted at any time, adaptively. A premise on a named party must hold up to the acceptance it concerns, or, for consistency, up to the later of the two acceptances.</t>
        <t>The network attacker presents the certificate. It can impersonate a server with any credential it holds (<xref target="g-not-provided"/>). It can withhold or replay updates (<xref target="g-revoked"/>), set clocks that synchronize without authentication, cut monitors off from cosigners (<xref target="monitors"/>), and read trust anchor signals (<xref target="privacy"/>). Its aims are to impersonate a name to chosen relying parties without the certificate being recorded where that name's monitor looks, and to have a relying party accept a certificate that a revoked range should reject, or one that rests on an unvalidated trusted subtree. We assume that a completed TLS handshake shows that the peer holds the private key for the certificate's public key (Appendix F.1 of <xref target="RFC9846"/>), and that the application checks that the certificate is for the name it wants (<xref target="RFC9525"/>). With both, G1 and G2 mean that a relying party that completes a full handshake for a name talks to the holder of a key that the CA key certified for that name and that a faithful mirror recorded. This composition is assumed, not proved here (<xref target="analyses"/>).</t>
        <t>A key is <em>intact</em> if it has not been extracted, so that it is usable only through its holder's signing interface. State is <em>intact</em> if it changes only through its holder's specified transitions: it is not lost or rolled back, and not modified except by those transitions.</t>
        <t>We distinguish three kinds of failure. A party, or its key, is <em>compromised</em> when someone other than its holder can use the key, either by holding it or by driving the module that holds it. The two cases differ where noted: an attacker who only drives the module leaves the key intact, and signs through the party's own interface. A party <em>loses state</em> when its retained state is lost, rolled back, or modified while its key stays secret, for example when an old backup is restored. A party whose state an attacker writes without using the key also loses state, unless the record it checks before signing lies inside the key's trust boundary (<xref target="ca"/>), in which case writing it requires compromising the party. A party is <em>malicious</em> when its holder deliberately departs from its specified behavior. A party can also err, through a bug or a misconfiguration, without being any of these. The premises ask that named parties be honest, and an erring party may fail them. A <em>rogue CA</em> is a CA under adversarial control: compromised, malicious, or both. It can sign any view of its logs, append any entries, fork its history, and withhold entries.</t>
        <t>The design trusts the CA as little as it can. Recording holds against a rogue CA, and so does consistency under the intersection condition of <xref target="g-consistency"/>. As today, the CA is trusted to validate identifiers. Root programs oversee that validation, and monitors check it after the fact. No guarantee relies on a monitor or on the authenticating party. A deployment still needs monitors and authenticating parties to act on the guarantees.</t>
        <t>An honest operator that loses state can break a guarantee as surely as an attacker holding its key. The premises below therefore name cosigners that are <em>faithful</em> to the log in question; one cosigner can be faithful to one log and not to another. A faithful cosigner's key is intact, and it takes only its specified actions for that log. Either its state for that log is intact, or, once it loses that state, it signs no further checkpoint for the log under the same key, as the Recommendations of <xref target="witnesses"/> and <xref target="mirrors"/> ask. Either way, every checkpoint it signs for the log lies on one checked history, joined by verified consistency proofs. A <em>checkpoint signing</em> is a timestamped checkpoint cosignature. A subtree cosignature is not one, even over <tt>[0, N)</tt>, and a witness or mirror makes it only within a checkpoint it already signed (<xref target="TLOG-WITNESS"/>).</t>
        <t>For the configuration parties, honesty is about behavior as well as keys. An honest update service validates what it publishes and numbers its updates for each CA instance in increasing order. For the bounded-delay form (<xref target="g-timely"/>), it also dates no update later than it signs it. An honest relying party installs and verifies as specified, and keeps its configuration and version floor intact. For the bounded-delay form, it also keeps its clock no more than the stated bound behind real time.</t>
        <t>Each guarantee concerns a relying party that accepts a certificate on either path. It assumes:</t>
        <ul>
          <li>
            <t>that the relying party's verifier and configuration are intact (<xref target="outside"/>);</t>
          </li>
          <li>
            <t>that the keys and parameters in that configuration are authentic, which rests on the update key, even under local validation, and on whoever decides the configuration (<xref target="compromise-update"/>);</t>
          </li>
          <li>
            <t>that a resumed session inherits the original authentication through its resumption PSK (Appendix F.1 of <xref target="RFC9846"/>; limited in <xref target="residual"/>);</t>
          </li>
          <li>
            <t>that validation and installation are atomic, that each verification reads one configuration, and that installation applies everything an update carries in one step (<xref target="basis"/>); and</t>
          </li>
          <li>
            <t>the cryptographic assumptions of <xref target="crypto"/>.</t>
          </li>
        </ul>
        <t>On the trusted-subtree path, certification, recording, consistency, and the halt bound (<xref target="cosigner-stop"/>) also rest on validated configuration (<xref target="g-configuration"/>). Beyond these, no guarantee is a premise of another. For example, recording holds against a rogue CA, and certification holds with no mirror configured. Whereas <xref section="8.2" target="RFC9750"/> states intended guarantees, each guarantee here is an implication: it holds in a deployment that makes its premises true. <xref target="g-summary"/> collects the parties each guarantee depends on, and <xref target="basis"/> sketches why each holds.</t>
      </section>
      <section anchor="g-certification">
        <name>G1: Certification</name>
        <t>Suppose the cosigner policy in effect requires the CA's signature, and the CA cosigner key is intact. Then every accepted certificate corresponds to an entry that the key certified, at exactly that log and index, with exactly the accepted subject, public key, and other fields. The entry is included in a subtree the key signed or, on the trusted-subtree path, in a subtree validated against a checkpoint the key signed (<xref section="5.4" target="MTC"/>).</t>
        <t>This holds against a malicious CA, which has certified every entry of every subtree it signed (Sections <xref target="MTC" section="5.3.2" sectionFormat="bare"/> and <xref target="MTC" section="5.4" sectionFormat="bare"/> of <xref target="MTC"/>). It also holds against an attacker who drives the CA's signing module without extracting the key; the entry is then attributed to the key, not to its holder's decision. The entry, its proof, and the signature are evidence that anyone with the CA's public key can check (<xref section="12.4" target="MTC"/>).</t>
        <t>G1 also has a stronger form. If, in addition, the CA signs only views of its own append-only log, and its log state is intact, then the accepted entry is the one the CA itself appended at that index. The Recommendation for CAs in <xref target="ca"/> describes a signing service that provides these conditions. The entry is the one the CA's certification process approved only if the appending pipeline follows that process.</t>
        <t>Certification attributes an entry to the key, and so to whoever held it. Once the key may have been compromised, a signature first seen afterwards attributes nothing, unless other evidence shows that it existed earlier, such as an independent cosigner's timestamped checkpoint cosignature (<xref target="COSIG"/>). The CA's own cosignature timestamp is only its claim. Whether the CA validated the identifier, and whether its holder authorized the key, lie outside certification (<xref section="12.2" target="MTC"/>).</t>
      </section>
      <section anchor="g-recording">
        <name>G2: Recording</name>
        <t>Under a policy that requires a mirror, and given the premises below, a CA cannot have a certificate accepted that no mirror has written down.</t>
        <t>Suppose the cosigners supporting an acceptance include a mirror that is faithful to the log and follows the two rules of <xref target="mirrors"/>, and that the accepted index is at or above that mirror's initial minimum index, as the Recommendation of <xref target="mirrors"/> arranges. Then that mirror durably committed the exact accepted entry (<xref target="TLOG-MIRROR"/>) before its earliest checkpoint signing covering that index, and so before acceptance (<xref target="basis"/>). This holds against a rogue CA.</t>
        <t>Against a malicious CA operator, the operator's own mirror cannot be assumed faithful to the log. Independence from the operator is how a deployment obtains the faithfulness premise in that case. Against a stolen CA key alone, a mirror that the operator runs, with its own intact key, still records. <xref target="root-program-examples"/> gives one program's test of independence.</t>
        <t>The supporting cosigners are those whose signatures were actually checked, at acceptance or at validation. A signature that is present but unused does not count, and a witness's signature cannot stand in for a mirror's.<cref anchor="ed-b">Editor's note: No published root-program policy yet sets a threshold per mirror key and log, and no specification yet has a mirror publish its initial minimum index when it is added to a policy (<xref target="root-program-examples"/>).</cref></t>
        <t>Recording is in the past tense. It does not say that the entry is still stored, retrievable, seen by a monitor, or authorized. Later loss of the entry does not falsify recording. A mirror's signature does state that the mirror made the entries accessible (<xref target="TLOG-MIRROR"/>), so a later failure to serve them is attributable to the mirror.</t>
      </section>
      <section anchor="g-consistency">
        <name>G3: Consistency</name>
        <t>Suppose two relying parties accept entries at the same CA, log, and index, and the cosigners supporting the two acceptances share one that is faithful to that log, as the Recommendations of <xref target="witnesses"/> and <xref target="mirrors"/> ask. Then they accept the same entry.</t>
        <t>A deployment gets this for every pair of acceptances when every pair of cosigner sets that the policies in effect accept shares such a cosigner. Take a policy that requires the CA cosigner and <tt>k</tt> of <tt>n</tt> others, of which at most <tt>f</tt> are not faithful to the log; these are <em>faulty</em>, for example compromised, malicious, erring, or resumed after losing state. Then <tt>2k &gt; n + f</tt> suffices, and in the worst case it is needed. This is the usual quorum-intersection condition, which we call the <em>intersection condition</em>. For a policy built from nested groups, the pairwise condition applies to its acceptable sets directly. The CA cosigner does not count, since a rogue CA signs every branch (<xref target="cosigner-policy"/>), and against a malicious CA operator, the operator's own mirror counts among the <tt>f</tt>. A cosigner that lost state and stopped signing is an outage, not a fault. Relying parties with different policies, or on different paths, need the condition for every pair of sets across them, including policies still in effect at relying parties not yet updated.</t>
        <t>Each key counts once. Aliases of one key are one cosigner, and identities that share an operator or a failure domain do not supply independent premises. So <tt>f</tt> is at least the number of cosigners that one operator or one shared failure can take out.</t>
        <t>G3 makes acceptances agree with each other, not with any chosen history. Preserving a chosen history is a separate matter (<xref target="history"/>).</t>
        <t>Without the intersection condition, a rogue CA whose faulty cosigners fill the overlap can show different histories to different relying parties (<xref target="basis"/>), and no relying party rejects either. Monitors detect the split if every acceptance is supported by a cosigner that is faithful to the log and whose checkpoints they obtain (<xref target="monitors"/>). This detection condition is stated here, not proved (<xref target="analyses"/>). A witness that resumed after losing state signs its fork as an ordinary checkpoint, which monitors see. A malicious cosigner, though, can keep a fork in subtree cosignatures, whose zero timestamp states no signing time or largest observed tree (<xref section="5.3.1" target="MTC"/>), so that the fork never reaches a monitor. In Sections <xref target="MTC" section="10.2" sectionFormat="bare"/> and <xref target="MTC" section="12.2" sectionFormat="bare"/> of <xref target="MTC"/>, each correctly operated cosigner follows a single append-only view, and across cosigners the design relies on this detection. G3 asks that split views be prevented across cosigners too.</t>
        <t>Under a mirror-backed policy whose supporting mirrors are faithful, each branch is recorded, and a monitor reading every mirror sees any certificate for its name. What is lost is that a serial number no longer names one entry. Ranges and certificate status then apply to both branches, the two paths can disagree, and the root program must answer the equivocation (<xref target="g-revoked"/>). Under a witness-backed policy, nothing is recorded. There, a monitor may hold only two checkpoints with no consistency proof between them, and consistency is the only protection.</t>
      </section>
      <section anchor="g-revoked">
        <name>G4: Revoked ranges</name>
        <t>While a revoked range covering a serial number of a CA instance is in effect at a relying party, the relying party rejects every certificate of that instance with that serial number. It does so on both paths, before choosing a path (the first rule of <xref target="accepting"/>, step 4 of <xref section="7.2" target="MTC"/>). Rejection, here and throughout, is a failure the user cannot override; where a user can click through, the guarantees do not hold. They constrain new acceptances, not resumed sessions or connections already open; the Recommendation of <xref target="residual"/> extends G4 to them.</t>
        <t>Ranges arrive in updates, under local and delegated validation alike. Suppose that, for each CA instance:</t>
        <ul>
          <li>
            <t>the relying party installs updates from one designated update service, whose key is intact;</t>
          </li>
          <li>
            <t>each update carries the service's complete set of ranges for the instance, not a change to it;</t>
          </li>
          <li>
            <t>the service numbers its updates for the instance in increasing order;</t>
          </li>
          <li>
            <t>the relying party keeps a <em>version floor</em> for the instance, refusing updates numbered at or below the last one it installed, and keeps the floor and ranges across policy changes and across removal and re-addition of the instance; and</t>
          </li>
          <li>
            <t>the relying party applies the installation check of <xref target="validation-choice"/>.</t>
          </li>
        </ul>
        <t>Then a range, once installed, stays in effect until the relying party installs a later update from that service that omits it. The floor is a premise because installing an older, validly signed update is otherwise a specified transition of the installer, which intact state does not exclude. Keeping the floor and ranges across removal is a premise for the same reason: otherwise a replayed earlier update, or a routine refresh, re-adds a distrusted instance without its ranges. A fresh install takes its floor and ranges from the configuration bundled with it, which counts only if it came from actual updates of the designated service. The Recommendations below for update services and relying parties state the numbering, completeness, and floor premises.</t>
        <t>A range names positions, not contents. A rogue CA can append the same certificate again at a new index. Against it, only two things are effective: distrust, or ranges above a cutoff in every log it may still append to, together with rejection of later log numbers (<xref target="history"/>). Distrust can be delivered as a range over every serial number of the instance (<xref section="7.5" target="MTC"/>), and then the premises above, and the bounded-delay form of <xref target="g-timely"/>, apply to it. A range issued in response to a split view or a compromise is best kept after its known entry expires: under a split view, another entry at that index may carry a later <tt>notAfter</tt> that nobody saw.</t>
        <t><em>Recommendation for update services:</em> An update service numbers its updates for each CA instance in increasing order, and each update carries the service's complete set of ranges for that instance.</t>
        <t><em>Recommendation for relying parties:</em> A relying party keeps the version floor and ranges for each CA instance as intact state that survives policy changes, removal of the instance, and distrust.</t>
        <section anchor="g-timely">
          <name>Bounded-delay form</name>
          <t>Nothing in <xref target="MTC"/> bounds how soon a range is installed. A relying party kept from updating, which the network attacker can arrange, stays exposed. Keep the premises of <xref target="g-revoked"/> other than numbering and the version floor, and suppose that:</t>
          <ul>
            <li>
              <t>(a) each update for a CA instance carries a signed issue time, later than that of every earlier update from the service for that instance;</t>
            </li>
            <li>
              <t>(b) the relying party accepts a certificate of the instance, on either path, only while the update in effect for it, the last one installed, was issued at most a stated age <tt>D</tt> before the relying party's clock reading, so that it accepts none while no update is in effect; and</t>
            </li>
            <li>
              <t>(c) the relying party's clock is not more than <tt>e</tt> behind real time.</t>
            </li>
          </ul>
          <t>Let <tt>t_z</tt> be the issue time of the first update whose ranges cover a serial number <tt>s</tt>. Then at any acceptance at a real time at or after <tt>t_z + D + e</tt>, the update in effect is that update or a later one. So a certificate with serial number <tt>s</tt> is accepted then only if a later update, installed before then, does not cover <tt>s</tt>. Because installation applies an update in one step, everything else it installs from that update is at least as new. <xref target="basis"/> sketches the argument for ranges. The same argument covers the instance's whole configuration where every update carries all of it (<xref target="cosigner-lifecycle"/>).</t>
          <t>Without (a), a fresh-looking update could predate the range. Without (b), nothing bounds the delay, and expiring trusted subtrees only moves certificates to the cosigner path. Without (c), setting the clock back extends <tt>D</tt>; a clock that runs fast only fails closed. The floor is not needed for the bound, since a replayed older update looks stale and (b) rejects it. Without the floor, though, a replay re-exposes a relying party that installed the range promptly, until <tt>t_z + D + e</tt>.</t>
          <t>A deployment adopts the bounded-delay form or not. It departs from the default of <xref section="8.2.1" target="MTC"/>, under which a relying party whose landmarks are too stale keeps accepting standalone certificates. Its main cost is availability: an attacker who blocks updates for longer than <tt>D</tt> turns exposure into an outage for every MTC site of the instance. Premise (c) also needs a time source that the network attacker, who withholds the updates, cannot also set. <xref target="timely-costs"/> gives the other costs, and how the delay that users see adds up. A deployment states its <tt>D</tt>, or states that it has none.</t>
        </section>
      </section>
      <section anchor="g-configuration">
        <name>G5: Validated configuration</name>
        <t>Suppose validation is local, or is delegated to an honest update service whose key is intact. Suppose also that validation records the cosigners it verified (the Recommendation of <xref target="policy-change"/>), and that the relying party applies the installation check of <xref target="validation-choice"/> and the retention rule of <xref target="policy-change"/>. Then each trusted subtree at the relying party corresponds to a validation for exactly that CA, log, interval, hash parameters, and hash. That validation's recorded evidence satisfies the cosigner policy and bindings now in effect, as <xref section="7.4" target="MTC"/> describes.</t>
        <t>Acceptance on the trusted-subtree path inherits the assurance of that validation and no more. Trusted subtrees bundled with a fresh install count only if they too came from such a validation.</t>
        <t>A validation survives a change of cosigner policy only if its recorded evidence satisfies the new policy (<xref target="policy-change"/>). Removing a trusted subtree is not revocation (<xref target="removal"/>).</t>
      </section>
      <section anchor="g-not-provided">
        <name>What is not provided</name>
        <t>Several properties that one might expect lie outside the guarantees.</t>
        <t><em>Authorization.</em> Nothing in MTCs shows that the CA validated an identifier correctly, and witnesses and mirrors do not repeat that validation. Nor does anything show that the CA checked the subject's key. The log carries only the key's hash, so rejecting weak keys is a check before the append. Monitors cannot repeat it from the log alone, only by fetching keys elsewhere, such as from servers (<xref section="12.3" target="MTC"/>).</t>
        <t><em>Eventual visibility.</em> <xref section="12.2" target="MTC"/> aims for every accepted certificate to be visible to monitors. The guarantees here cover the recording part of that aim; <xref section="10.3" target="MTC"/> pursues the rest through availability policies that relying-party vendors enforce. Visibility also needs retention and serving: a monitor sees the entry only if the CA or a mirror retains and serves it (<xref section="10.3" target="MTC"/>), and against a rogue CA, only a mirror counts. The monitor must also fetch and parse the entry.</t>
        <t><em>Timely response.</em> A root program's decision binds a relying party only once it is installed there. A version floor prevents rollback but reveals nothing about a withheld update. Only the bounded-delay form (<xref target="g-timely"/>) bounds the delay.</t>
        <t><em>Limits on a compromised CA.</em> A certificate's <tt>notAfter</tt>, checked against a correct clock, bounds how long the certificate can be newly accepted. A root program's maximum lifetime does not bound that time, because a compromised CA chooses the validity interval. Neither bounds how long a resumed session lasts, or whether new entries are issued (<xref target="compromise-ca"/>).</t>
        <t><em>Uniform assurance.</em> For a given name, the assurance is that of the weakest certificate the relying party will accept, including any directly signed fallback (<xref target="certificate-choice"/>).</t>
        <t><em>Subscriber key compromise.</em> A subscriber whose key is compromised requests revocation of its certificate, and CRLs and OCSP apply unchanged (Sections <xref target="MTC" section="10.4" sectionFormat="bare"/> and <xref target="MTC" section="12.7" sectionFormat="bare"/> of <xref target="MTC"/>). A relying party that consults neither accepts the certificate until its <tt>notAfter</tt>, unless the root program ships a per-entry range. Such a range is a tool for incidents rather than routine revocation (<xref target="removal"/>).</t>
      </section>
      <section anchor="g-summary">
        <name>Summary of premises</name>
        <t>Each guarantee below also assumes the common premises of <xref target="threat-model"/> and <xref target="crypto"/>, including, on the trusted-subtree path, those of G5.</t>
        <dl>
          <dt>G1 Certification:</dt>
          <dd>
            <t>Rests on the CA cosigner key. The stronger form also needs the CA to sign only views of its own log, with intact log state. Holds against a rogue CA unless the key is extracted.</t>
          </dd>
          <dt>G2 Recording:</dt>
          <dd>
            <t>Rests on a supporting mirror's key, and on that mirror being faithful to the log and following <xref target="mirrors"/>. Against a malicious CA operator, that mirror is one the operator does not run. The accepted index is at or above the mirror's initial minimum index. Holds against a rogue CA.</t>
          </dd>
          <dt>G3 Consistency:</dt>
          <dd>
            <t>Rests on the key of a cosigner shared by the two acceptances' supports, and on that cosigner being faithful to the log and following <xref target="witnesses"/> or <xref target="mirrors"/> after state loss. To hold for every pair of acceptances, every pair of acceptable sets shares such a cosigner, which needs the intersection condition of <xref target="g-consistency"/>. Holds against a rogue CA.</t>
          </dd>
          <dt>G4 Revoked ranges:</dt>
          <dd>
            <t>Rests on the update key; one designated service per CA instance, numbering complete updates; a version floor and ranges kept across policy changes, removal, and distrust; and the installation check. The bounded-delay form drops numbering and the floor, and adds signed increasing issue times, the age bound <tt>D</tt>, and a clock at most <tt>e</tt> behind real time from a source the attacker cannot set. Holds against a rogue CA for the positions named.</t>
          </dd>
          <dt>G5 Validated configuration:</dt>
          <dd>
            <t>Rests, under delegation, on the update key and on a service that publishes only what it validated; and on the installation check and the retention rule. Holds against a rogue CA.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="choices">
      <name>Deployment choices</name>
      <t>Three choices decide which guarantees a deployment can have and what they cost: which cosignatures relying parties require, who validates trusted subtrees, and which certificates servers send.</t>
      <section anchor="cosigner-policy">
        <name>Cosigner policy</name>
        <t>The cosigner policy decides which of certification, recording, and consistency are available at all (<xref target="tab-policies"/>). Each still needs the premises of <xref target="guarantees"/>. Requiring the CA cosigner in every acceptable set is what makes certification available. Sections <xref target="MTC" section="7.3" sectionFormat="bare"/>, <xref target="MTC" section="10.2" sectionFormat="bare"/>, and <xref target="MTC" section="10.3" sectionFormat="bare"/> of <xref target="MTC"/> advise a transparency-enforcing relying party to require a quorum of other cosigners as well. Root programs' current policies, and the guarantees they make available, are discussed in <xref target="root-program-examples"/>.</t>
        <table anchor="tab-policies">
          <name>Cosigner policies and the guarantees they make available</name>
          <thead>
            <tr>
              <th>Policy</th>
              <th>Required signatures</th>
              <th>Guarantees made available</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>CA-only</td>
              <td>CA cosigner</td>
              <td>Certification</td>
            </tr>
            <tr>
              <td>Witness-backed</td>
              <td>CA cosigner and a quorum of witnesses</td>
              <td>Certification; consistency where every pair of quorums shares a faithful witness</td>
            </tr>
            <tr>
              <td>Mirror-backed</td>
              <td>CA cosigner and a quorum of mirrors, optionally witnesses</td>
              <td>Certification and recording; consistency where every pair of quorums shares a faithful cosigner</td>
            </tr>
          </tbody>
        </table>
        <t>Quorum size trades consistency against availability and size. A policy that requires the CA cosigner and <tt>k</tt> of <tt>n</tt> others tolerates <tt>n - k</tt> outages. But the CA chooses which acceptable set to use, and a rogue CA chooses sets that share no faithful cosigner. Consistency therefore needs <tt>2k &gt; n + f</tt>, where at most <tt>f</tt> of the <tt>n</tt> are faulty (<xref target="g-consistency"/>).</t>
        <t>Tolerating <tt>u</tt> outages as well needs <tt>n &gt; f + 2u</tt> while the <tt>f</tt> keep signing. If they withhold, it needs <tt>n &gt; 3f + 2u</tt>, with <tt>k &lt;= n - f - u</tt>. An attacker who wants issuance stopped has them withhold. At <tt>f = 1</tt>:</t>
        <ul>
          <li>
            <t><tt>n = 4</tt> and <tt>k = 3</tt> tolerate one outage, but only while the faulty cosigner signs, at 13.8 kB per handshake with a standalone certificate (<xref target="sizes"/>).</t>
          </li>
          <li>
            <t><tt>n = k = 2</tt>, the cheapest, costs 11.4 kB and tolerates none.</t>
          </li>
          <li>
            <t><tt>n = 6</tt> and <tt>k = 4</tt> tolerate one outage and one withholding cosigner, at 16.3 kB.</t>
          </li>
        </ul>
        <t>The CA cosigner is in every set but does not count toward the intersection: against a rogue CA, it is the party that the intersection must not depend on. Any two sets acceptable under policies that require <tt>k1</tt> of <tt>S1</tt> and <tt>k2</tt> of <tt>S2</tt> share at least <tt>k1 + k2 - m</tt> cosigners, where <tt>m</tt> is the number of cosigners in <tt>S1</tt> or <tt>S2</tt>. The two policies are consistent with each other if that number exceeds the number of faulty cosigners among those. Sizes constrain only the cosigner path. Landmark-relative certificates carry no cosignatures, so the policy for the trusted-subtree path can require a quorum that meets <tt>2k &gt; n + f</tt> at no cost in certificate size. Such a quorum gives consistency on the trusted-subtree path. Pairs of acceptances across the two paths still need the condition across both policies (<xref target="cosigner-notes"/>).</t>
        <t>Mirror eligibility is part of the policy too. The simplest rule is one the program checks once. It admits a mirror for a log only if the mirror starts at index zero, as it can for a log number accepted in advance, or at or below a pruning bound that the program ships as a revoked range (<xref section="7.5" target="MTC"/>), the kind of "per-log lower bound" that <xref target="TLOG-TILES"/> asks pruning log applications to define. Then <tt>b</tt> is zero for every relying party that lags less than the program's retention margin (<xref target="retention-notes"/>), and verifiers keep no state per mirror. Otherwise, the threshold <tt>b</tt> of <xref target="mirrors"/> travels with root-program metadata and policy formats, and every verifier applies it.</t>
      </section>
      <section anchor="validation-choice">
        <name>Local or delegated validation</name>
        <dl>
          <dt>Local validation:</dt>
          <dd>
            <t>The relying party fetches landmarks and cosignatures and checks them against its own policy. It depends on its update channel only for policy and ranges. It needs the cosigner keys, bandwidth, and a clock that applies landmark expiry (<xref section="6.4.3" target="MTC"/>, <xref target="acme-notes"/>). It also reveals which CAs and intervals interest it (<xref target="privacy"/>).</t>
          </dd>
          <dt>Delegated validation:</dt>
          <dd>
            <t>An update service validates and ships the resulting trusted subtrees, and the relying party depends on the service having done so. Authenticating an update establishes its source and content, not that its subtrees were validated. A party with authority to validate can install a wrong subtree for every relying party it serves (<xref target="compromise-update"/>). The update's signature sets the subtrees' resistance to quantum attack (<xref target="crypto"/>).</t>
          </dd>
        </dl>
        <t>Authenticating an update does not show that it fits the relying party's configuration. An authentic update validated under an earlier policy and delivered after a change would install subtrees that the current policy rejects. An update for one CA instance, or from another service, could change an instance's ranges or floor. When one numbered update carries both a policy and the subtrees validated under it, the floor and an honest service already exclude the first case. The check below matters where policy reaches the relying party separately, for example with the verifier.</t>
        <t><em>Recommendation for relying parties:</em> A relying party installs an update only if the update names the CA instance it is for and comes from the update service designated for that instance. From such an update, it installs only those subtrees whose recorded evidence satisfies the cosigner policy and bindings in effect. An update that carries only ranges needs no policy check.<cref anchor="ed-install">Editor's note: <xref section="7.4" target="MTC"/> (version -08) leaves the update channel out of scope, so this Recommendation has no counterpart there.</cref></t>
      </section>
      <section anchor="certificate-choice">
        <name>Certificates served</name>
        <t>An authenticating party whose TLS stack selects by trust anchor <xref target="TAI"/> holds three kinds of certificate, and chooses among them per connection:</t>
        <ul>
          <li>
            <t>A <em>standalone</em> certificate is usable at once, but carries a signature per required cosigner.</t>
          </li>
          <li>
            <t>A <em>landmark-relative</em> certificate carries no required signatures and rests on the hash function alone (<xref target="crypto"/>). But it is usable only once a covering landmark has arrived.</t>
          </li>
          <li>
            <t>A <em>directly signed</em> certificate is for clients without MTC support.</t>
          </li>
        </ul>
        <t>A server whose stack installs one chain per name cannot use the trusted-subtree path. It can still carry a standalone certificate embedded in its conventional one <xref target="TURDUCKEN"/>, which relying parties find by path building, with no certificate selection. <xref target="TURDUCKEN"/> intends this only for classical endpoint keys, which leave the weaker path described below. The embedded proof, about 5.3 kB with the CA and one mirror, then goes to every client, and logged final certificates carry it too.</t>
        <t>A relying party that accepts several kinds for a name gets the assurance of the weakest. Under the bounded-delay form, a directly signed certificate stays in a server's inventory for relying parties past <tt>D</tt> (<xref target="timely-costs"/>). So migrating to post-quantum authentication concerns every credential that a relying party still accepts for a name, not only the one a server prefers. An MTC for a classical endpoint key, or an accepted classical alternative, leaves a weaker path (<xref target="PQ-MIGRATION"/>). TLS downgrade protection does not close it (<xref target="residual"/>).</t>
      </section>
      <section anchor="decisions">
        <name>Who decides</name>
        <t><xref target="tab-operational"/> assigns each decision an owner. The examples of cadence and renewal are <xref target="MTC"/>'s (Sections 6.5 and 10.4), except the landmark limit. The examples of policy, cadence limits, retention, and log numbers are from <xref target="CQRP"/> as of version 0.4.0 (Sections 2.4.5; 2.6.2; 2.5.1.3 and 3.2.4; and 2.5.1.3). The rest are illustrative.</t>
        <table anchor="tab-operational">
          <name>Operational decisions</name>
          <thead>
            <tr>
              <th>Decision</th>
              <th>Owner</th>
              <th>Example</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Checkpoint and landmark cadence</td>
              <td>CA, within root-program limits</td>
              <td>2 s; hourly, at most 220 landmarks per 7 days</td>
            </tr>
            <tr>
              <td>Cosigner policy and lifecycle</td>
              <td>Root program</td>
              <td>CA and one mirror; CA and <tt>k</tt> of <tt>n</tt></td>
            </tr>
            <tr>
              <td>Mirror eligibility</td>
              <td>Root program, mirror</td>
              <td>Start at zero, or threshold <tt>b</tt></td>
            </tr>
            <tr>
              <td>Who validates; update channel</td>
              <td>Relying-party vendor</td>
              <td>Daily component update</td>
            </tr>
            <tr>
              <td>Standalone certificate as fallback</td>
              <td>Server configuration; CA default (<tt>trust_anchor_negotiation</tt>)</td>
              <td>Not a fallback under the bounded-delay form</td>
            </tr>
            <tr>
              <td>Freshness, version floor</td>
              <td>Relying-party vendor or organization</td>
              <td>Age <tt>D</tt>, then fail or fall back</td>
            </tr>
            <tr>
              <td>Retention past expiry</td>
              <td>Root program, CA, mirrors</td>
              <td>35 days; mirrors may prune after 90</td>
            </tr>
            <tr>
              <td>Log-number bound</td>
              <td>Root program, cosigners</td>
              <td>5 logs per CA key</td>
            </tr>
            <tr>
              <td>Monitor scope</td>
              <td>Subjects, monitors</td>
              <td>Every trusted cosigner</td>
            </tr>
            <tr>
              <td>Renewal window</td>
              <td>CA suggests (ARI); client decides</td>
              <td>Renew at 75%</td>
            </tr>
            <tr>
              <td>Alternatives held; when to swap</td>
              <td>Authenticating party</td>
              <td>Keep the old certificate until expiry</td>
            </tr>
          </tbody>
        </table>
        <t><xref section="10.3" target="MTC"/> states the condition for retention. The number, and with it the configuration lag that a program supports, is the root program's (<xref target="retention-notes"/>).</t>
      </section>
    </section>
    <section anchor="lifecycle">
      <name>Configuration lifecycle</name>
      <t>A root program's decision becomes a validated, authenticated update. Each relying party installs that update on its own schedule. Relying parties therefore do not share one configuration, and every guarantee is about a relying party's configuration in effect.</t>
      <section anchor="policy-change">
        <name>Changing the cosigner policy</name>
        <t>Validation establishes consistency with the policy in effect at the time, and acceptance on the trusted-subtree path does not repeat it. When a CA instance's cosigner policy changes, a relying party keeps the trusted subtrees whose recorded evidence satisfies the new policy and discards the rest. Adding a mirror to a policy that accepts any one of several keeps every subtree. Replacing mirror A by mirror B keeps only the subtrees whose validation also verified another acceptable mirror: A's evidence says nothing about what B recorded, and matching version labels show nothing. Removing a compromised key keeps only the subtrees that suffice without it.</t>
        <t>Under delegation, one update can carry a new policy together with subtrees revalidated under it. Then no gap need open, if installation applies the policy before checking the subtrees, in one step. Until revalidation, certificates under discarded subtrees are accepted only on the cosigner path (<xref target="sizes"/>). A landmark group covers every landmark up to its number (<xref section="8.2.1" target="MTC"/>), so a relying party that discarded older subtrees but kept later ones advertises individual landmarks, or only the CA ID, until then. This costs bandwidth and availability, not security (<xref target="transport-notes"/>).</t>
        <t><em>Recommendation for relying parties and update services that validate:</em> A validation, local or delegated, records the cosigners whose signatures it verified, under their identity, key, and hash bindings.</t>
        <t><em>Recommendation for relying parties:</em> Atomically with a change of a CA instance's cosigner policy, a relying party discards each trusted subtree of that instance whose recorded evidence does not satisfy the new policy.<cref anchor="ed-retain">Editor's note: <xref section="7.1" target="MTC"/> requires trusted subtrees to be consistent with the relying party's cosigner requirements, but version -08 does not yet say how that is kept across a policy change: that a validation records the cosigners whose signatures it verified, and that a policy change discards trusted subtrees whose recorded evidence no longer satisfies the new policy.</cref></t>
      </section>
      <section anchor="cosigner-lifecycle">
        <name>Cosigner lifecycle</name>
        <t>Certificate Transparency policies such as <xref target="APPLE-CT-LOGS"/> keep an SCT acceptable if its log was trusted when the SCT was issued. That rule cannot be enforced on the cosigner path, because cosignatures carried in certificates have a zero timestamp (<xref section="6.2" target="MTC"/>). On that path, a cosigner is retired by position, with a per-log index bound. The bound comes from the cosigner's last timestamped checkpoint cosignature, best taken from cosignatures the program collected itself rather than from the cosigner's own endpoint. A retired key that is later compromised can still sign below its bound, so retirement narrows exposure without ending it.</t>
        <t>For a cosigner that signed inconsistent views, a bound above the first index where the branches diverge keeps both branches acceptable. Only comparing the branches finds that index. Such a cosigner is therefore bounded at or below that index, or removed, with ranges over the forked indices on both branches (<xref target="g-consistency"/>).</t>
        <t>A removed cosigner's signatures are invalid only at relying parties that have the update. If every update carries the complete cosigner policy, removal behaves like a revoked range. The arguments of <xref target="basis"/> for persistence and for the delay bound then cover it, provided policy reaches the relying party no other way. If instead policy travels only in the updates that change it, a replayed earlier update restores a removed cosigner, while later updates keep the configuration looking fresh. Only the floor prevents that replay, and even the floor does not stop an attacker who withholds the update that removes a cosigner while delivering later ones.</t>
      </section>
      <section anchor="removal">
        <name>Revoked ranges, removal, and distrust</name>
        <t>A relying party has four separate operations. <em>Removing a trusted subtree</em> discards a validation result, and the entries remain acceptable on the cosigner path. <em>Adding a revoked range</em> rejects every certificate in it on both paths (<xref target="g-revoked"/>). <em>Distrusting the CA instance</em> removes it. <em>Certificate status</em> through CRLs <xref target="RFC5280"/> and OCSP <xref target="RFC6960"/> continues to apply (<xref section="12.7" target="MTC"/>). The exception is where no key may sign status for an instance (<xref target="root-program-examples"/>).</t>
        <t><xref section="7.5" target="MTC"/> calls revoked ranges complementary to certificate-level revocation, and likens index-based ranges to <tt>SCTNotAfter</tt>. They carry no reason code, and they neither impose nor discharge the CA's revocation obligations.</t>
      </section>
      <section anchor="log-numbers">
        <name>Log numbers</name>
        <t>A new log is a new history, with its own origin (<xref section="5.3.1" target="MTC"/>, <xref target="MTC-TLOG"/>). Witnesses and other non-CA cosigners are expected to accept the next few log numbers in advance (<xref target="MTC-TLOG"/>). That way, the CA can move to a new log on its own after a failure. The same window lets a rogue CA open a fresh history that every pre-configured cosigner follows from its first view.</t>
        <t>Bounding log numbers limits fresh histories. Stopping new acceptance from an earlier log also needs a per-log index bound (<xref target="history"/>) or a cosigner halt (<xref target="cosigner-stop"/>). For example, <xref target="CQRP"/> accepts log numbers 1 through 5 per CA cosigner key, and requires each move to a new log to be reported as an incident (Sections 2.5.1.2 and 2.5.1.3).</t>
      </section>
      <section anchor="updates">
        <name>Updates and recovery</name>
        <t>The guarantees ask the following of the update channel:</t>
        <ul>
          <li>
            <t>updates that are complete for each CA instance and bound to it and to its service (<xref target="g-revoked"/>, <xref target="validation-choice"/>);</t>
          </li>
          <li>
            <t>a version floor that survives policy changes, removal of the instance, distrust, and rotation of the update key;</t>
          </li>
          <li>
            <t>installation of a policy together with the subtrees validated under it, in one step (<xref target="policy-change"/>);</t>
          </li>
          <li>
            <t>signed increasing issue times for the bounded-delay form (<xref target="g-timely"/>); and</t>
          </li>
          <li>
            <t>an encoding kept apart from everything else the update key signs (<xref target="crypto"/>).</t>
          </li>
        </ul>
        <t>These answer what <xref target="TUF"/> calls rollback, mix-and-match, and indefinite-freeze attacks. <xref target="TUF"/> gives generic defenses against them. A deployment also states:</t>
        <ul>
          <li>
            <t>which related changes are atomic;</t>
          </li>
          <li>
            <t>how each acceptance obtains one consistent configuration; and</t>
          </li>
          <li>
            <t>when an older, validly signed update may replace a newer one.<cref anchor="ed-update">Editor's note: <xref section="7.4" target="MTC"/> (version -08) does not prescribe how relying parties obtain trusted subtrees, so it defines no update format, version counter, or recovery procedure, and no specification yet profiles the defenses of <xref target="TUF"/> for MTC configuration. Whether the requirements above are stated in <xref target="MTC"/>, in root-program requirements, or in a profile of an update framework is for the working group to decide.</cref></t>
          </li>
        </ul>
        <t>Any such recovery path voids the persistence of <xref target="g-revoked"/> while it is in use, though the bounded-delay form still bounds exposure. Rotating the update key needs the version floor to be carried across.</t>
      </section>
    </section>
    <section anchor="operational">
      <name>Deployment considerations</name>
      <section anchor="sizes">
        <name>Sizes</name>
        <t><xref target="tab-sizes"/> gives the authentication data per handshake for SHA-256 and ML-DSA-44 <xref target="FIPS204"/>, from the estimates of Sections <xref target="MTC" section="1" sectionFormat="bare"/>, <xref target="MTC" section="6.4.2" sectionFormat="bare"/>, and <xref target="MTC" section="6.5" sectionFormat="bare"/> of <xref target="MTC"/> for a large CA with 7-day certificates. <xref target="transport-notes"/> gives the arithmetic and its assumptions. A standalone certificate beats the conventional chain only under the CA and one other cosigner, or up to the CA and three other cosigners if the intermediate is sent. The policies that meet the intersection condition cost more on the cosigner path (<xref target="cosigner-policy"/>). In practice, what separates policies is the share of handshakes that are landmark-relative, and the limits of TCP and QUIC (<xref target="transport-notes"/>).</t>
        <table anchor="tab-sizes">
          <name>Handshake authentication data with ML-DSA-44, in bytes</name>
          <thead>
            <tr>
              <th>Certificate</th>
              <th>Proof and signatures</th>
              <th>Per handshake</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Conventional: CA signature and two SCTs, intermediate omitted (<xref section="9.5" target="TAI"/>)</td>
              <td>7,260 B</td>
              <td>10,992 B</td>
            </tr>
            <tr>
              <td>Landmark-relative</td>
              <td>755 B</td>
              <td>4,487 B</td>
            </tr>
            <tr>
              <td>Standalone, CA and one mirror</td>
              <td>5,257 B</td>
              <td>8,989 B</td>
            </tr>
            <tr>
              <td>Standalone, CA and two cosigners</td>
              <td>7,684 B</td>
              <td>11,416 B</td>
            </tr>
            <tr>
              <td>Standalone, CA and three cosigners</td>
              <td>10,111 B</td>
              <td>13,843 B</td>
            </tr>
            <tr>
              <td>Standalone, CA and four cosigners</td>
              <td>12,538 B</td>
              <td>16,270 B</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="renewal">
        <name>Renewal and configuration lag</name>
        <t>Renewal overlaps the old and new certificates, except after an endpoint key compromise (<xref section="10.4" target="MTC"/>). The overlap bounds the configuration lag that the trusted-subtree path tolerates: the time from the actual renewal to the old certificate's expiry, minus the landmark interval. This assumes that the server keeps the old certificate until expiry, as <xref section="10.4" target="MTC"/> recommends. A server that replaces its certificate in place sends the standalone certificate to every relying party until the new landmark reaches it; <xref target="transport-notes"/> estimates that share. With 7-day certificates renewed at 75% of their lifetime and hourly landmarks, a relying party whose configuration lags by more than about 41 hours receives the standalone certificate for part of every renewal cycle (<xref target="transport-notes"/>).</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security considerations</name>
      <t>This section considers the effect of compromising each service, the risks that remain whichever party is compromised, and what lies outside the threat model of <xref target="threat-model"/>. For each guarantee, <xref target="g-summary"/> gives the services whose compromise defeats it.</t>
      <section anchor="compromise-ca">
        <name>Compromise of the CA</name>
        <t>An attacker holding the CA cosigner key, or able to call its module, can certify entries that the CA never validated and fork its history. Recording and consistency survive under their own premises. Faithful cosigners, though, record misissuance that is consistent with the history they hold. Recording makes misissuance available for inspection, not impossible (<xref section="12.2" target="MTC"/>). A new log number addresses a failed log. Only a new CA instance addresses a compromised key (<xref target="log-numbers"/>, <xref target="custody"/>).</t>
        <t>An attacker that drives the module without extracting the key loses access when the compromise ends. What it signed, though, remains valid. Afterwards, every pre-configured cosigner would still follow a checkpoint that the attacker signed during the compromise for a log number accepted in advance (<xref target="log-numbers"/>). Recovery without replacing the key therefore still needs later log numbers to be rejected, and the entries of the exposure window to be revoked (<xref target="history"/>). This is why replacing the key is the safe course.</t>
        <t>Distrust and revoked ranges stop a compromised CA only once installed at each relying party. Cosigners that stop signing the log's checkpoints can bound its new issuance sooner, under the premises of <xref target="cosigner-stop"/>.<cref anchor="ed-halt">Editor's note: No specification assigns the role of deciding such a halt. Removing a log's key from the configuration of a witness or mirror need not stop <tt>sign-subtree</tt>, which takes a checkpoint that the cosigner itself signed (<xref target="TLOG-WITNESS"/>, <xref target="TLOG-MIRROR"/>), and <xref target="MTC-TLOG"/> has witnesses and other non-CA cosigners accept the next few log numbers but defines no halt that covers them. Where such a halt is specified is for the working group to decide.</cref></t>
        <t><em>Recommendation for cosigners:</em> A cosigner's halt of a log:</t>
        <ul>
          <li>
            <t>is atomic with its checkpoint signing;</t>
          </li>
          <li>
            <t>refuses every checkpoint signing for the log, including one that completes a mirror's pending checkpoint;</t>
          </li>
          <li>
            <t>survives restarts and routine reconfiguration, and cannot be rolled back or cleared by a replayed or older notice;</t>
          </li>
          <li>
            <t>covers the CA instance's later log numbers; and</t>
          </li>
          <li>
            <t>keeps the cosigner's retained records and monitoring endpoint available.</t>
          </li>
        </ul>
        <t>A response that preserves selected history, rather than withdrawing trust in the CA instance, needs a prior authenticated commitment to that history; a cutoff alone does not suffice (<xref target="history"/>).</t>
      </section>
      <section anchor="compromise-update">
        <name>Compromise of relying-party configuration</name>
        <t>The effect of compromising a party that contributes to configuration is the authority it holds:</t>
        <ul>
          <li>
            <t>Authority to validate lets an attacker install a subtree that no evidence supports. This defeats certification, recording, consistency, and the halt bound on the trusted-subtree path.</t>
          </li>
          <li>
            <t>Authority over policy or ranges changes which evidence suffices.</t>
          </li>
          <li>
            <t>Authority only to deliver updates lets an attacker withhold them, leaving relying parties exposed or, under the bounded-delay form, failing closed. It can also replay older ones, which the version floor stops. It cannot make a relying party accept anything new, since G5 and both forms of G4 rest on the update key, held by whoever validates and publishes.</t>
          </li>
        </ul>
        <t>Rolling back local configuration bypasses every guarantee that depends on it. Local validation protects against a compromised delivery party, not against the authority that decides policy or ships the verifier.</t>
      </section>
      <section anchor="compromise-cosigner">
        <name>Compromise of a witness, mirror, or monitor</name>
        <t>Consider a witness or mirror whose key is compromised, or one that lost state and resumed. Such a witness or mirror can defeat consistency wherever it is the only otherwise-faithful member shared by two acceptable sets. Such a mirror can also defeat recording for every acceptance in which it is the only supporting mirror. A witness or mirror that signed inconsistent views is answered as in <xref target="cosigner-lifecycle"/>. A compromised monitor can suppress findings but changes nothing a relying party accepts (<xref target="monitors"/>).</t>
      </section>
      <section anchor="availability">
        <name>Availability</name>
        <t>A required cosigner's outage delays issuance. Its signing interfaces authenticate no requester:</t>
        <ul>
          <li>
            <t>A witness signs on <tt>add-checkpoint</tt>, whose only authentication is the log's signature.</t>
          </li>
          <li>
            <t>A mirror signs when <tt>add-entries</tt> completes, even an empty one at its current size (<xref target="TLOG-MIRROR"/>).</t>
          </li>
          <li>
            <t>Either signs on <tt>sign-subtree</tt>, whose only authentication is its own earlier cosignature (<xref target="TLOG-WITNESS"/>).</t>
          </li>
        </ul>
        <t>Anyone can therefore replay requests to load a cosigner, which attacks issuance where signing is the bottleneck, such as with a key in a hardware module. Returning the cosignature already made for an unchanged checkpoint removes the cost of replays. Rate limits per log would instead let anyone spend a CA's share. Neither defense bounds fresh <tt>sign-subtree</tt> requests for distinct subtrees of a checkpoint already signed. Requesting signatures "from a redundant set of cosigners" (<xref section="6.3" target="MTC"/>) absorbs outages. Blocking configuration delivery freezes a relying party's trusted subtrees and revoked ranges. A CA that withholds entries or prunes early creates a serving failure. Monitors learn the missing index, and so its serial number (<xref section="12.2" target="MTC"/>). One failed retrieval, though, does not distinguish withholding from an outage.</t>
      </section>
      <section anchor="residual">
        <name>Residual risks</name>
        <t>Some risks remain beyond the guarantees:</t>
        <ul>
          <li>
            <t>Resumption. Ranges, distrust, and cosigner removal constrain new acceptances only. An impersonator issues its own tickets, which can extend the original authentication indefinitely (<xref section="4.7.1" target="RFC9846"/>, <xref target="resumption"/>).</t>
          </li>
          <li>
            <t>The weakest credential (<xref target="certificate-choice"/>). TLS's downgrade protection covers negotiated parameters (Appendix F.1 of <xref target="RFC9846"/>), not which credential an impersonator presents.</t>
          </li>
          <li>
            <t>Targeting. Advertised landmark identifiers can show which relying parties lack a range (<xref target="privacy"/>).</t>
          </li>
        </ul>
        <t><em>Recommendation for relying parties:</em> A relying party retains the original acceptance's CA instance, serial number, path, and supporting cosigners. Before resuming a session or reusing a connection, it:</t>
        <ul>
          <li>
            <t>checks them against the ranges, distrust, and cosigner removals in effect;</t>
          </li>
          <li>
            <t>under the bounded-delay form, applies (b) of <xref target="g-timely"/>; and</t>
          </li>
          <li>
            <t>limits the time since the last full handshake (<xref section="4.7.1" target="RFC9846"/>), under the bounded-delay form to <tt>D</tt>.</t>
          </li>
        </ul>
      </section>
      <section anchor="outside">
        <name>Outside the threat model</name>
        <t>As in <xref section="8.5" target="RFC9750"/>, parties named in a premise are assumed to implement their specifications. The party that can replace the verifier can make it accept anything. A root program's policy process, the quality of identifier validation, and the security of servers' hosts are assumed.</t>
      </section>
      <section anchor="crypto">
        <name>Cryptographic and representation interfaces</name>
        <t>The guarantees assume:</t>
        <ul>
          <li>
            <t>collision resistance of the log hash;</t>
          </li>
          <li>
            <t>unforgeability of cosigner signatures;</t>
          </li>
          <li>
            <t>unforgeability of update signatures, for every guarantee since configuration arrives under them, and in particular for G5 under delegation and for both forms of G4;</t>
          </li>
          <li>
            <t>exact reconstruction of the entry from the certificate (Sections <xref target="MTC" section="12.1" sectionFormat="bare"/> and <xref target="MTC" section="12.6" sectionFormat="bare"/> of <xref target="MTC"/>); and</t>
          </li>
          <li>
            <t>signing interfaces that keep cosigner messages separate from other uses of the key (<xref section="12.8" target="MTC"/>).</t>
          </li>
        </ul>
        <t><xref target="MTC"/> does not define updates (<xref target="updates"/>). For updates, the guarantees likewise assume an encoding that binds instance, service, version number, issue time, and complete contents, kept apart from everything else the update key signs. An <tt>MTCProof</tt> is not a unique representation of a certificate (<xref section="12.6" target="MTC"/>). So incident reports and revocation tooling identify a certificate by its <tt>TBSCertificate</tt>, or, where no split view is in question, by its CA instance and serial number (<xref target="g-consistency"/>).</t>
        <t><xref target="MTC-TLOG"/> offers one signature algorithm, ML-DSA-44 (<xref target="FIPS204"/>, <xref target="RFC9881"/>), and no hybrid. Acceptance on the trusted-subtree path rests on the hash function alone. But every guarantee also rests on the update key, under local validation too, and on whoever can replace the verifier (<xref target="outside"/>). So the post-quantum security of every guarantee includes the algorithms of the update and verifier signing keys, which a deployment states.</t>
      </section>
      <section anchor="analyses">
        <name>Analysis</name>
        <t><xref target="basis"/> sketches why each guarantee of <xref target="guarantees"/> holds under its premises, together with the storage lemma behind the mirror rules of <xref target="mirrors"/> and the halt bound of <xref target="cosigner-stop"/>. The argument for G4 also covers cosigner removal and the rest of a CA instance's configuration, where every update carries all of it (<xref target="cosigner-lifecycle"/>). Three further claims are stated without a sketch: CA log recovery (<xref target="ca-recovery"/>), the split form of single initialization (<xref target="cosigner-notes"/>), and an update service acting as a witness (<xref target="root-program-examples"/>). We are working on a companion analysis that gives full proofs.</t>
        <t>The arguments are over ordered traces of the services' specified actions. Each is meant to either establish its conclusion or construct, from the execution, a hash collision or a signature forgery. They derive no probability bounds and are not implementation refinements. A reference clock appears only in the bounded-delay form of G4. The arguments other than G5's are for local validation, and carry over to delegated validation through G5; the stronger form of G1 is argued on its own, not from the basic form. For updates, under either kind of validation, they assume one designated update service and key per CA instance at each relying party. They are stated for the Web PKI deployment. Their trace model does not depend on that deployment, but other deployments are outside their scope. They do not cover:</t>
        <ul>
          <li>
            <t>TLS handshakes or their composition with these guarantees, connections already open, or resumed sessions, including the resumption check of <xref target="residual"/>;</t>
          </li>
          <li>
            <t>the bounded-delay form's variants that measure age from installation, use a signed time over a nonce, or use one counter for both;</t>
          </li>
          <li>
            <t>configuration other than ranges, including cosigner removal, where updates carry only changes to it or it also reaches the relying party by another route (<xref target="cosigner-lifecycle"/>);</t>
          </li>
          <li>
            <t>replacement of the update key or service;</t>
          </li>
          <li>
            <t>the CA log recovery of <xref target="ca-recovery"/> where the signing service persists its record after using the key, before releasing the signature;</t>
          </li>
          <li>
            <t>the detection condition of <xref target="g-consistency"/>; and</t>
          </li>
          <li>
            <t>the second-CA-signature hedge of <xref target="root-program-examples"/>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy considerations</name>
      <t>Public logs disclose issuance, though subject keys appear only as hashes. Advertised landmark identifiers reveal a relying party's update state (Sections <xref target="MTC" section="8.2.1" sectionFormat="bare"/> and <xref target="MTC" section="11" sectionFormat="bare"/> of <xref target="MTC"/>). Deployments choose:</t>
      <ul>
        <li>
          <t>whether the identifiers are sent on every connection, only when the server offers them, for example in its HTTPS/SVCB record (<xref section="10.1" target="TAI"/>), or only in recovery;</t>
        </li>
        <li>
          <t>whether landmarks from many CAs are delivered together; and</t>
        </li>
        <li>
          <t>whether new landmarks are activated after a delay, so that relying parties updated at different times look alike.</t>
        </li>
      </ul>
      <t>In practice, a relying party that withholds the identifiers until recovery trades the trusted-subtree path for that privacy, since recovery follows only a failed connection (<xref section="5.6" target="TAI"/>).</t>
      <t>Local validation reveals a relying party's interest in a CA, log, and interval to the server it retrieves from. Delegated validation concentrates that at the update service, where stored-data compromise and secondary use <xref target="RFC6973"/> become the concerns. Measurements of landmark lag are population-level telemetry and are reported only in aggregate.</t>
      <t>When ranges and landmarks travel in the same updates, advertised landmark identifiers also show a network attacker which relying parties have not yet installed a revoked range. This is a sharper form of the targeting of <xref section="11.2.4" target="TAI"/> that detection no longer offsets. Activating landmarks after a delay, with ranges effective at installation, weakens the signal. The bounded-delay form (<xref target="g-timely"/>) bounds the window. Sending identifiers only when the server offers them does not help against an active attacker, who plays the server. Encrypted Client Hello <xref target="RFC9849"/> hides the identifiers from passive observers. It does not hide them from the server the client encrypts to, and an attacker that supplies the client's ECH configuration can be that server.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="COSIG" target="https://c2sp.org/tlog-cosignature@v1.1.0">
          <front>
            <title>Transparency Log Cosignatures</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="tlog-cosignature@v1.1.0"/>
        </reference>
        <reference anchor="MTC" target="https://datatracker.ietf.org/doc/html/draft-ietf-plants-merkle-tree-certs-08">
          <front>
            <title>Merkle Tree Certificates</title>
            <author fullname="David Benjamin" initials="D." surname="Benjamin">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Devon O'Brien" initials="D." surname="O'Brien">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Luke Valenta" initials="L." surname="Valenta">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Filippo Valsorda" initials="F." surname="Valsorda">
              <organization>Geomys</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   This document describes Merkle Tree certificates, a new form of X.509
   certificates which integrate public logging of the certificate, in
   the style of Certificate Transparency.  The integrated design reduces
   logging overhead in the face of both shorter-lived certificates and
   large post-quantum signature algorithms, while still achieving
   comparable security properties to existing X.509 constructions and
   Certificate Transparency.  Merkle Tree certificates additionally
   admit an optional size optimization that avoids signatures
   altogether, at the cost of only applying to up-to-date relying
   parties and older certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-plants-merkle-tree-certs-08"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="MTC-TLOG" target="https://c2sp.org/mtc-tlog@v0.1.0">
          <front>
            <title>Merkle Tree Certificates With Tiled Transparency Logs</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="mtc-tlog@v0.1.0"/>
        </reference>
        <reference anchor="RFC9846" target="https://www.rfc-editor.org/rfc/rfc9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="TAI" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-trust-anchor-ids-07">
          <front>
            <title>TLS Trust Anchor Identifiers</title>
            <author fullname="Bob Beck" initials="B." surname="Beck">
              <organization>OpenSSL</organization>
            </author>
            <author fullname="David Benjamin" initials="D." surname="Benjamin">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Devon O'Brien" initials="D." surname="O'Brien">
         </author>
            <author fullname="Kyle Nekritz" initials="K." surname="Nekritz">
              <organization>Meta</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   This document defines the TLS Trust Anchors extension, a mechanism
   for a TLS client or server to select a certificate to present based
   on the peer's trusted certification authorities.  It describes
   certification authorities more succinctly than the TLS Certificate
   Authorities extension.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-trust-anchor-ids-07"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="TLOG-MIRROR" target="https://c2sp.org/tlog-mirror@v0.1.0">
          <front>
            <title>Transparency Log Mirrors</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="tlog-mirror@v0.1.0"/>
        </reference>
        <reference anchor="TLOG-TILES" target="https://c2sp.org/tlog-tiles@v1.0.0">
          <front>
            <title>Tiled Transparency Logs</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="tlog-tiles@v1.0.0"/>
        </reference>
        <reference anchor="TLOG-WITNESS" target="https://c2sp.org/tlog-witness@v1.1.0">
          <front>
            <title>Transparency Log Witness Protocol</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="tlog-witness@v1.1.0"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="APPLE-CT" target="https://support.apple.com/en-us/103214">
          <front>
            <title>Apple's Certificate Transparency policy</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date year="2025" month="April" day="21"/>
          </front>
        </reference>
        <reference anchor="APPLE-CT-LOGS" target="https://github.com/apple/apple-root-program/blob/e3e503930e701fdd263cd198aae149de27613600/ct/ct-log-program.md">
          <front>
            <title>Apple's Certificate Transparency Log Program</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
        </reference>
        <reference anchor="APPLE-LIFECYCLE" target="https://github.com/apple/apple-root-program/blob/e3e503930e701fdd263cd198aae149de27613600/other/apple-root-program-root-ca-lifecycle-plan.md">
          <front>
            <title>Apple Root Program Root CA Lifecycle and Replacement Plan</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
        </reference>
        <reference anchor="APPLE-PQC" target="https://www.mail-archive.com/public@ccadb.org/msg00587.html">
          <front>
            <title>Apple Root Program PQC announcement</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date year="2026" month="September"/>
          </front>
        </reference>
        <reference anchor="CABF-SC081" target="https://cabforum.org/2025/04/11/ballot-sc081v3-introduce-schedule-of-reducing-validity-and-data-reuse-periods/">
          <front>
            <title>Ballot SC081v3: Introduce Schedule of Reducing Validity and Data Reuse Periods</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date year="2025" month="April" day="11"/>
          </front>
        </reference>
        <reference anchor="CHECKPOINT" target="https://c2sp.org/tlog-checkpoint@v1.1.0">
          <front>
            <title>Transparency Log Checkpoints</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="tlog-checkpoint@v1.1.0"/>
        </reference>
        <reference anchor="CHROME-CT" target="https://googlechrome.github.io/CertificateTransparency/ct_policy.html">
          <front>
            <title>Chrome Certificate Transparency Policy</title>
            <author>
              <organization>Google Chrome</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="CHROME-CT-LOGS" target="https://github.com/GoogleChrome/CertificateTransparency/blob/19802ffd7e4df1ddedc1380f7cd8de8d64ad150e/log_policy.md">
          <front>
            <title>Chrome CT Log Policy</title>
            <author>
              <organization>Google Chrome</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="CHROME-PQ" target="https://blog.google/security/cultivating-a-robust-and-efficient-quantum-safe-https/">
          <front>
            <title>Cultivating a robust and efficient quantum-safe HTTPS</title>
            <author>
              <organization>Chrome Secure Web Networking Team</organization>
            </author>
            <date year="2026" month="February" day="27"/>
          </front>
        </reference>
        <reference anchor="CQRP" target="https://github.com/GoogleChrome/chromerootprogram/blob/c5a8a8eceafc/content/cqrp/draft-policy.md">
          <front>
            <title>Chrome Quantum-resistant Root Program Policy, Version 0.4.0 (draft)</title>
            <author>
              <organization>Google Chrome</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <refcontent>Release candidate 1.0.0, commit c5a8a8eceafc</refcontent>
        </reference>
        <reference anchor="CT-LANDSCAPE" target="https://www.ida.liu.se/~nikca89/papers/pam17.pdf">
          <front>
            <title>A First Look at the CT Landscape: Certificate Transparency Logs in Practice</title>
            <author initials="J." surname="Gustafsson" fullname="Josef Gustafsson">
              <organization/>
            </author>
            <author initials="G." surname="Overier" fullname="Gustaf Overier">
              <organization/>
            </author>
            <author initials="M." surname="Arlitt" fullname="Martin Arlitt">
              <organization/>
            </author>
            <author initials="N." surname="Carlsson" fullname="Niklas Carlsson">
              <organization/>
            </author>
            <date year="2017"/>
          </front>
          <refcontent>Passive and Active Measurement (PAM 2017)</refcontent>
        </reference>
        <reference anchor="CT-LOG-FAILURES" target="https://transparency.dev/summit2025/talks/log-failures.html">
          <front>
            <title>Learning from Certificate Transparency Log Failures</title>
            <author initials="A." surname="Ayer" fullname="Andrew Ayer">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <refcontent>Transparency.dev Summit 2025</refcontent>
        </reference>
        <reference anchor="DIGICERT-2025" target="https://groups.google.com/a/chromium.org/g/ct-policy/c/aR6gKzCANVs">
          <front>
            <title>DigiCert working to address log issues</title>
            <author>
              <organization>DigiCert and Google Chrome</organization>
            </author>
            <date year="2025" month="March"/>
          </front>
          <refcontent>ct-policy mailing list</refcontent>
        </reference>
        <reference anchor="EMUDHRA-APPLE" target="https://support.apple.com/en-us/149555">
          <front>
            <title>About the compromised eMudhra intermediate CAs</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date year="2026" month="October" day="29"/>
          </front>
        </reference>
        <reference anchor="EMUDHRA-BUG" target="https://bugzilla.mozilla.org/show_bug.cgi?id=2083449">
          <front>
            <title>eMudhra: Private key compromise of Intermediate Certificates</title>
            <author>
              <organization>Mozilla</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <refcontent>Mozilla Bugzilla, bug 2083449</refcontent>
        </reference>
        <reference anchor="EMUDHRA-CHROME" target="https://blog.google/security/protecting-chrome-and-android-users-from-compromised-emudhra-intermediate-ca-certificates/">
          <front>
            <title>Protecting Chrome and Android Users from Compromised eMudhra Intermediate CA Certificates</title>
            <author>
              <organization>Google Chrome and Android Security Teams</organization>
            </author>
            <date year="2026" month="October" day="20"/>
          </front>
        </reference>
        <reference anchor="EMUDHRA-SITE" target="https://emudhra.we-have-a-problem.com/">
          <front>
            <title>eMudhra Intermediate CA Compromise</title>
            <author initials="D." surname="Jackson" fullname="Dennis Jackson">
              <organization/>
            </author>
            <date year="2026" month="October" day="28"/>
          </front>
        </reference>
        <reference anchor="ENTERPRISE" target="https://datatracker.ietf.org/doc/html/draft-elkins-plants-enterprise-mtc-deployment-01">
          <front>
            <title>Enterprise Deployment Considerations for Standalone Merkle Tree Certificates</title>
            <author fullname="Nalini Elkins" initials="N." surname="Elkins">
              <organization>Outside the Stacks</organization>
            </author>
            <author fullname="michael ackermann" initials="M." surname="ackermann">
              <organization>Blue Cross Blue Shield of Michigan</organization>
            </author>
            <date day="19" month="October" year="2026"/>
            <abstract>
              <t>   The migration of public Web PKI authentication to post-quantum
   mechanisms must fit enterprise certificate management and TLS
   termination architectures.  This document examines whether an urgent
   need for post-quantum authentication would justify transitional
   support for standalone ML-DSA certificates in browser root-store
   policy while standalone MTC deployment capabilities mature.  The
   scope is limited to enterprise public websites accessed by unmanaged
   clients using the public Web PKI.  Note: a large enterprise may
   operate many such sites.  The document describes enterprise-managed,
   third-party-hosted, and CDN-fronted deployments, identifies the
   components needed to serve standalone Merkle Tree Certificates
   (MTCs), and examines realistic authentication attack paths and
   migration priorities.  It distinguishes the browser-to-edge
   connection from origin and internal connections, and server
   authentication from identity-provider login.  The document draws on
   initial browser and TLS client testing of Trust Anchor ID signaling,
   and proposes interoperability tests and deployment requirements
   rather than changes to the MTC wire format.  Relative priorities are
   illustrative and not empirical attack probabilities.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-elkins-plants-enterprise-mtc-deployment-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="NIST" value="FIPS 204"/>
        </reference>
        <reference anchor="LE-CT-EOL" target="https://letsencrypt.org/2025/08/14/rfc-6962-logs-eol/">
          <front>
            <title>End of Life Plan for RFC 6962 Certificate Transparency Logs</title>
            <author initials="J." surname="Aas" fullname="Josh Aas">
              <organization/>
            </author>
            <date year="2025" month="August" day="14"/>
          </front>
        </reference>
        <reference anchor="LE-CT-LOGS" target="https://letsencrypt.org/docs/ct-logs/">
          <front>
            <title>Certificate Transparency (CT) Logs</title>
            <author>
              <organization>Let's Encrypt</organization>
            </author>
            <date year="2026" month="September" day="04"/>
          </front>
        </reference>
        <reference anchor="LE-CT-TALK" target="https://transparency.dev/summit2024/letsencrypt.html">
          <front>
            <title>Shining a new light on Certificate Transparency</title>
            <author initials="M." surname="McPherrin" fullname="Matthew McPherrin">
              <organization/>
            </author>
            <date year="2024" month="October" day="10"/>
          </front>
          <refcontent>Transparency.dev Summit 2024</refcontent>
        </reference>
        <reference anchor="LE-SHORTLIVED" target="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability">
          <front>
            <title>6-day and IP Address Certificates are Generally Available</title>
            <author initials="M." surname="McPherrin" fullname="Matthew McPherrin">
              <organization/>
            </author>
            <date year="2026" month="January" day="15"/>
          </front>
        </reference>
        <reference anchor="MAMMOTH-2024" target="https://groups.google.com/a/chromium.org/g/ct-policy/c/038B7F4g8cU">
          <front>
            <title>Mammoth2024h1 CT log has stopped accepting new entries</title>
            <author>
              <organization>Sectigo</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
          <refcontent>ct-policy mailing list</refcontent>
        </reference>
        <reference anchor="MOZILLA-RSP" target="https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/">
          <front>
            <title>Mozilla Root Store Policy, Version 3.1</title>
            <author>
              <organization>Mozilla</organization>
            </author>
            <date year="2026" month="July"/>
          </front>
        </reference>
        <reference anchor="PQ-MIGRATION" target="https://www.chromium.org/Home/chromium-security/post-quantum-auth-roadmap/">
          <front>
            <title>Post-Quantum HTTPS Authentication Roadmap</title>
            <author initials="D." surname="Benjamin" fullname="David Benjamin">
              <organization/>
            </author>
            <author initials="J." surname="DeBlasio" fullname="Joe DeBlasio">
              <organization/>
            </author>
            <date year="2026" month="February" day="27"/>
          </front>
        </reference>
        <reference anchor="RFC3552" target="https://www.rfc-editor.org/rfc/rfc3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/rfc/rfc5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC6928" target="https://www.rfc-editor.org/rfc/rfc6928">
          <front>
            <title>Increasing TCP's Initial Window</title>
            <author fullname="J. Chu" initials="J." surname="Chu"/>
            <author fullname="N. Dukkipati" initials="N." surname="Dukkipati"/>
            <author fullname="Y. Cheng" initials="Y." surname="Cheng"/>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document proposes an experiment to increase the permitted TCP initial window (IW) from between 2 and 4 segments, as specified in RFC 3390, to 10 segments with a fallback to the existing recommendation when performance issues are detected. It discusses the motivation behind the increase, the advantages and disadvantages of the higher initial window, and presents results from several large-scale experiments showing that the higher initial window improves the overall performance of many web services without resulting in a congestion collapse. The document closes with a discussion of usage and deployment for further experimental purposes recommended by the IETF TCP Maintenance and Minor Extensions (TCPM) working group.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6928"/>
          <seriesInfo name="DOI" value="10.17487/RFC6928"/>
        </reference>
        <reference anchor="RFC6960" target="https://www.rfc-editor.org/rfc/rfc6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <author fullname="R. Ankney" initials="R." surname="Ankney"/>
            <author fullname="A. Malpani" initials="A." surname="Malpani"/>
            <author fullname="S. Galperin" initials="S." surname="Galperin"/>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents. This document obsoletes RFCs 2560 and 6277. It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="RFC6962" target="https://www.rfc-editor.org/rfc/rfc6962">
          <front>
            <title>Certificate Transparency</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Kasper" initials="E." surname="Kasper"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6962"/>
          <seriesInfo name="DOI" value="10.17487/RFC6962"/>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/rfc/rfc6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/rfc/rfc8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC9000" target="https://www.rfc-editor.org/rfc/rfc9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9162" target="https://www.rfc-editor.org/rfc/rfc9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC9525" target="https://www.rfc-editor.org/rfc/rfc9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="RFC9750" target="https://www.rfc-editor.org/rfc/rfc9750">
          <front>
            <title>The Messaging Layer Security (MLS) Architecture</title>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="S. Inguva" initials="S." surname="Inguva"/>
            <author fullname="A. Duric" initials="A." surname="Duric"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>The Messaging Layer Security (MLS) protocol (RFC 9420) provides a group key agreement protocol for messaging applications. MLS is designed to protect against eavesdropping, tampering, and message forgery, and to provide forward secrecy (FS) and post-compromise security (PCS).</t>
              <t>This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS. It provides guidance on building a group messaging system and discusses security and privacy trade-offs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by MLS and are instead left to the application.</t>
              <t>While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in the case of active adversaries that are able to compromise clients, the Delivery Service (DS), or the Authentication Service (AS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9750"/>
          <seriesInfo name="DOI" value="10.17487/RFC9750"/>
        </reference>
        <reference anchor="RFC9773" target="https://www.rfc-editor.org/rfc/rfc9773">
          <front>
            <title>ACME Renewal Information (ARI) Extension</title>
            <author fullname="A. Gable" initials="A." surname="Gable"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>This document specifies how an Automated Certificate Management Environment (ACME) server may provide suggestions to ACME clients as to when they should attempt to renew their certificates. This allows servers to mitigate load spikes and ensures that clients do not make false assumptions about appropriate certificate renewal periods.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9773"/>
          <seriesInfo name="DOI" value="10.17487/RFC9773"/>
        </reference>
        <reference anchor="RFC9849" target="https://www.rfc-editor.org/rfc/rfc9849">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="K. Oku" initials="K." surname="Oku"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document describes a mechanism in Transport Layer Security (TLS) for encrypting a message under a server public key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9849"/>
          <seriesInfo name="DOI" value="10.17487/RFC9849"/>
        </reference>
        <reference anchor="RFC9881" target="https://www.rfc-editor.org/rfc/rfc9881">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="J. Massimo" initials="J." surname="Massimo"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>Digital signatures are used within X.509 certificates and Certificate Revocation Lists (CRLs), and to sign messages. This document specifies the conventions for using FIPS 204, the Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in Internet X.509 certificates and CRLs. The conventions for the associated signatures, subject public keys, and private key are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9881"/>
          <seriesInfo name="DOI" value="10.17487/RFC9881"/>
        </reference>
        <reference anchor="RFC9925" target="https://www.rfc-editor.org/rfc/rfc9925">
          <front>
            <title>Unsigned X.509 Certificates</title>
            <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
            <date month="February" year="2026"/>
            <abstract>
              <t>This document defines a placeholder X.509 signature algorithm that may be used in contexts where the consumer of the certificate is not expected to verify the signature. As part of this, it updates RFC 5280.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9925"/>
          <seriesInfo name="DOI" value="10.17487/RFC9925"/>
        </reference>
        <reference anchor="SIGNED-NOTE" target="https://c2sp.org/signed-note@v1.1.0">
          <front>
            <title>Note</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
          <seriesInfo name="C2SP" value="signed-note@v1.1.0"/>
        </reference>
        <reference anchor="STATIC-CT" target="https://c2sp.org/static-ct-api@v1.1.0">
          <front>
            <title>The Static Certificate Transparency API</title>
            <author>
              <organization>C2SP</organization>
            </author>
            <date year="2026" month="March"/>
          </front>
          <seriesInfo name="C2SP" value="static-ct-api@v1.1.0"/>
        </reference>
        <reference anchor="TAI-138" target="https://github.com/tlswg/tls-trust-anchor-ids/pull/138">
          <front>
            <title>Properties: SPKI, Not stand-alone, Last algorithm ignore</title>
            <author>
              <organization>TLS Working Group</organization>
            </author>
            <date year="2026"/>
          </front>
          <refcontent>tls-trust-anchor-ids pull request 138</refcontent>
        </reference>
        <reference anchor="TUF" target="https://theupdateframework.github.io/specification/v1.0.37/">
          <front>
            <title>The Update Framework Specification, Version 1.0.37</title>
            <author>
              <organization>The Update Framework</organization>
            </author>
            <date year="2026" month="October"/>
          </front>
        </reference>
        <reference anchor="TURDUCKEN" target="https://datatracker.ietf.org/doc/html/draft-davidben-lamps-turducken-certs-00">
          <front>
            <title>Embedded Alternate Issuer Certificates</title>
            <author fullname="David Benjamin" initials="D." surname="Benjamin">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Corey Bonnell" initials="C." surname="Bonnell">
              <organization>TurboLight Solutions, LLC</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   This document defines a mechanism to embed one or more alternate
   certificates within a single outer certificate.  The outer
   certificate remains parseable to a legacy relying party that is
   unaware of this specification.  Each alternate certificate certifies
   the same subject information, but with a different issuer.  This can
   be used to help TLS on the Web transition securely to post-quantum
   authentication, as well as other PKI transitions with similar
   constraints.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-davidben-lamps-turducken-certs-00"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="USE-CASES" target="https://datatracker.ietf.org/doc/html/draft-ietf-plants-mtc-deploy-use-cases-00">
          <front>
            <title>Merkle Tree Certificates Deployment Use Cases</title>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>Bundesdruckerei GmbH</organization>
            </author>
            <author fullname="Luke T" initials="L." surname="T">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Ganesh Mallaya" initials="G." surname="Mallaya">
              <organization>AppViewX Inc</organization>
            </author>
            <date day="23" month="October" year="2026"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-plants-mtc-deploy-use-cases-00"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="basis">
      <name>Basis for the guarantees</name>
      <t>This appendix sketches why each guarantee holds under its premises, in enough detail to judge whether those premises are the right ones. <xref target="analyses"/> states the limits of these arguments. In the model, each party is a state machine with declared actions. For example, a mirror may sign a checkpoint only after storing the entries it covers. Parties named in a premise meet it as <xref target="threat-model"/> defines, and all other parties are adversarial. Each result says that either the conclusion holds, or a hash collision or a signature forgery can be extracted from the execution. Three facts recur:</t>
      <ul>
        <li>
          <t><em>Signature provenance.</em> A signature that verifies under an intact key was produced by that key's signing operation on exactly that message. This needs the signed messages of <xref section="5.3.1" target="MTC"/>, and the update encoding of <xref target="crypto"/>, to encode injectively and to be separate from the key's other uses (<xref section="12.8" target="MTC"/>). It also needs the identity, key, and hash bindings to be fixed: a cosigner policy selects among them and never reinterprets one.</t>
        </li>
        <li>
          <t><em>Configuration provenance.</em> Every trusted subtree in effect carries a record of an actual validation under the cosigner policy and bindings now in effect. Under local validation, this follows by induction over the relying party's actions. The relying party starts with no trusted subtrees, or with only ones that came from such validations. Validation and installation are atomic. Each verification reads one configuration. A policy change keeps only the subtrees whose recorded evidence satisfies the new policy, and that record and its check results are fixed when validation completes. Under delegation, an honest update service and the installation check supply the same record (<xref target="g-configuration"/>).</t>
        </li>
        <li>
          <t><em>Openings.</em> Inclusion and consistency proofs combine into an opening of an entry against a later checkpoint, and two openings at one index, against checkpoints of one checked history, agree (<xref section="4" target="MTC"/>).</t>
        </li>
      </ul>
      <dl>
        <dt>G1:</dt>
        <dd>
          <t>Signature provenance shows that the CA key signed the subtree, or, through configuration provenance, a checkpoint that the subtree is consistent with. The opening and exact reconstruction (<xref section="12.1" target="MTC"/>) bind the entry to the certificate. Only the key is used, through its signing operation. An attacker who drives the CA's signing module uses that operation too, so the basic form needs no premise about the CA's behavior. An extracted key signs outside that operation, and the premise of an intact key excludes this. The stronger form adds that an honest CA signs only views of its own append-only log and keeps that log's state intact. So the opening identifies the entry that the CA appended.</t>
        </dd>
        <dt>G2:</dt>
        <dd>
          <t><em>Storage lemma.</em> Let a mirror follow the two rules of <xref target="mirrors"/> for a log, with initial minimum index <tt>m0</tt>, and let <tt>j &gt;= m0</tt>. At the mirror's earliest checkpoint signing covering <tt>j</tt>, entry <tt>j</tt> was durably committed. Before that signing, either the mirror had signed nothing for the log, or every size it had signed was at most <tt>j</tt>. In the first case, its minimum index was at most <tt>m0</tt>. In the second case, by the minimum-index bound, its minimum index was at most <tt>j</tt>. Either way, <tt>j</tt> was at or above the minimum index, and <xref target="TLOG-MIRROR"/> commits every covered entry at or above the minimum index before signing. Single initialization is what fixes <tt>m0</tt>. A mirror started again at a larger minimum index under the same key would, at its first signing, cover entries it never stored. Backfill stores entries that earlier signings covered without storing. It changes nothing committed before those signings, so it cannot lower <tt>b</tt>. <em>G2.</em> Signature provenance traces the mirror's supporting signature, or the checkpoint signature that a subtree cosignature rests on, to a signing at or after that earliest one. The opening makes the committed entry the accepted one. No premise about the CA is used. The result also holds for a mirror that lost state for the log and signs no checkpoint for it again. Every signing that the result relies on precedes the loss, so the argument runs on the part of the execution before the loss.</t>
        </dd>
        <dt>G3:</dt>
        <dd>
          <t>The supporting cosigners of the two acceptances share one that is faithful to the log. A faithful cosigner signs only checkpoints in one checked history, or subtrees consistent with one of those checkpoints. With intact state, that history is the one the cosigner holds. After a loss of state, it is the history the cosigner held just before the loss, since the cosigner signs no checkpoint for the log afterward. Both acceptances open against checkpoints of that history, so they agree. The quorum bound follows by counting: two sets of <tt>k</tt> drawn from <tt>n</tt> share at least <tt>2k - n</tt> members, of which at most <tt>f</tt> are not faithful to the log. Conversely, suppose <tt>2k &lt;= n + f</tt>. Then a rogue CA can choose two acceptable sets whose common members are all among <tt>f</tt> faulty cosigners. It can have those cosigners sign both of two histories that differ at one index, and show one history to the rest of each set.</t>
        </dd>
        <dt>G4:</dt>
        <dd>
          <t>The decision checks revoked ranges before choosing a path (<xref section="7.2" target="MTC"/>), so a range in effect rejects on both paths. <em>Persistence.</em> Only installing an update from the designated service changes the ranges that service supplies for a CA instance. Local actions, policy changes, and removal of the instance leave those ranges and the floor alone. The installation check keeps another instance's or another service's update from touching them. Signature provenance makes each installed update an actual publication of the service. The floor makes each installed update numbered above the last, and the service's numbering makes that a later publication. Each update carries the service's complete set of ranges, so a range leaves only through a later publication that omits it. <em>Bounded-delay form.</em> Let <tt>t_z</tt> be the issue time of the first update whose ranges cover the serial number <tt>s</tt>. Consider an acceptance at a real time at or after <tt>t_z + D + e</tt>. By (c), the relying party's clock then reads at least <tt>t_z + D</tt>. So, by (b), an update is in effect, the last one installed, and it was issued at or after <tt>t_z</tt>. It is an actual publication of the designated service, so by (a) it is the first update whose ranges cover <tt>s</tt>, or a later one. Since updates are complete, its ranges are the ones in effect. Neither numbering nor the floor is used.</t>
        </dd>
        <dt>G5:</dt>
        <dd>
          <t>Under local validation, this is configuration provenance. Under delegation, signature provenance on the update key identifies an actual publication. An honest service publishes only records of its own validations. The installation check re-evaluates each subtree's recorded evidence against the policy and bindings in effect at installation. The retention rule re-evaluates that evidence at every later policy change. So the evidence satisfies the policy in effect at use. G1 to G3 then transfer, with forgery of the update signature as one more failure event. For G3, the two relying parties may use different services. Without the installation check, an authentic update validated under an earlier policy installs subtrees that the current policy rejects.</t>
        </dd>
        <dt>Halt bound:</dt>
        <dd>
          <t>Suppose every set acceptable under the policy in effect at an acceptance includes a member of F that is faithful to the log, and each such member has halted it. Then the actual support of that acceptance includes one such member. On the cosigner path, this holds directly. On the trusted-subtree path, it holds through configuration provenance, whose retention rule keeps only subtrees whose recorded evidence satisfies that policy. That member's signature traces to a checkpoint signing, directly or, for a subtree cosignature or a trusted subtree validated after the halt, through the checkpoint signature it rests on. The halt places that signing before the halt. The accepted entry opens against that checkpoint, so its index is below the checkpoint's size. Only the halted member is used, so the argument holds for witnesses as well as mirrors, and under delegated validation with an honest update service.</t>
        </dd>
      </dl>
    </section>
    <section anchor="deployment-notes">
      <name>Deployment notes</name>
      <t>This appendix collects deployment detail that supports the guarantees but is not needed to state them.</t>
      <section anchor="timely-costs">
        <name>The bounded-delay form in practice</name>
        <t>The bounded-delay form of <xref target="g-timely"/> has these costs:</t>
        <dl>
          <dt>Availability:</dt>
          <dd>
            <t>Beyond the outage of <xref target="g-timely"/>, the service must publish for every instance more often than <tt>D</tt> less delivery delay and however far ahead relying parties' clocks may run. Otherwise its relying parties reject that instance. Until a fresh install updates, it rejects every instance whose bundled configuration is older than <tt>D</tt>.</t>
          </dd>
          <dt>Posture:</dt>
          <dd>
            <t><xref section="8.2.1" target="MTC"/> degrades a stale relying party to standalone certificates ("If this landmark information becomes too stale, such a relying party SHOULD switch to advertising just the CA ID"). (b) rejects those too. Past <tt>D</tt>, the remaining alternative is a directly signed certificate with its CRL and OCSP revocation, which under <xref target="CQRP"/> is classical (the Introduction). That certificate's assurance then sets that of the name (<xref target="certificate-choice"/>). For the server to send the directly signed certificate, a relying party past <tt>D</tt> stops advertising every trust anchor identifier of the instance, including the bare CA ID. The bare CA ID would otherwise select a standalone certificate, which the relying party then rejects. In the timestamped landmark groups of <xref section="8.2.2" target="MTC"/>, <tt>base.V</tt> and <tt>base.V.T</tt> both match standalone certificates of every CA in the group. With those groups, the relying party lists the other CAs' identifiers instead. The standalone certificate must also not be chosen as a fallback, through <tt>trust_anchor_negotiation</tt>, which <xref section="9.2" target="MTC"/> leaves optional, or through the server's own configuration (<xref section="7.3" target="TAI"/>). Otherwise, only the recovery of <xref section="5.6" target="TAI"/>, at a round trip, reaches the directly signed certificate. It does so only if that certificate's path has a trust anchor identifier. That section also tells a client that rejected a path for a reason other than its trust anchor, such as a relying-party constraint, not to request that trust anchor again when it retries. Never sending the standalone certificate as a fallback also withholds it from relying parties that send no trust anchor signal at all, such as those configured only when their trust store is built. A server can tell them from stale ones only by a local rule, and only while stale ones still send <tt>trust_anchors</tt>, if need be empty (<xref section="5.1" target="TAI"/>).</t>
          </dd>
          <dt>Clock:</dt>
          <dd>
            <t>Clocks are often set by unauthenticated protocols that the network attacker controls. Measuring age at installation narrows (c) to that moment; that variant is not proved. The age is then the relying party's clock at installation minus the issue time, plus the time elapsed since installation. That elapsed time is measured on a timer that survives restarts and runs no slower than real time. An unknown elapsed time counts as stale. Where the timer resets at boot, every restart leaves every instance stale until the next update. A time signed by the update service over a nonce that the relying party sends would replace (c) by the service's clock. That holds if the age adds the round trip, measured on such a timer.</t>
          </dd>
          <dt>Delay for users:</dt>
          <dd>
            <t>The delay is the sum of four parts: detection, the decision, the time until an update carrying the range is issued, and <tt>D + e</tt>. The bounded-delay form bounds only the last, and only if the service never dates an update later than it signs it. A per-entry range against an honest CA's misissuance helps only relying parties whose lag is shorter than the certificate's remaining lifetime. Against a compromised CA's new issuance, exposure lasts until a cutoff or distrust is installed. Without the bounded-delay form, that is unbounded, unless a cosigner halt ends it (<xref target="cosigner-stop"/>).</t>
          </dd>
          <dt>Deployment:</dt>
          <dd>
            <t>Where relying parties past <tt>D</tt> keep accepting the instance's certificates rather than reject them, the bounded-delay form does not hold. An attacker who withholds updates then keeps a revoked certificate working.</t>
          </dd>
        </dl>
        <t>A single signed issue time could serve as both the version number and the issue time. It would be floored like a version number, and refused when more than <tt>e</tt> ahead of the relying party's clock.</t>
      </section>
      <section anchor="resumption">
        <name>Resumption and open connections</name>
        <t><xref section="4.7.1" target="RFC9846"/> recommends limits on resumption that "take into account the lifetime of the peer's certificate, the likelihood of intervening revocation, and the time since the peer's online CertificateVerify signature". Before a client offers a ticket or sends early data under it, the client already checks that "the new SNI value is valid for the server certificate presented in the original session" (<xref section="4.7.1" target="RFC9846"/>). The check of <xref target="residual"/> fits there. The client need not verify the certificate again, since removing a trusted subtree is not revocation (<xref target="removal"/>). When a range or distrust is installed, the client discards tickets that rest on certificates the configuration now rejects. It also stops reusing connections that rest on such certificates, including coalesced ones. Ending a ticket chain at the original certificate's <tt>notAfter</tt> bounds nothing against a compromised CA, which chooses the validity interval. The time since the last full handshake does not depend on the CA. For client authentication, the relying party is the server, which keeps the CA instance and serial number in its ticket state. None of this is covered by the arguments of <xref target="basis"/>.</t>
      </section>
      <section anchor="root-program-examples">
        <name>Root-program examples</name>
        <t>These examples are dated: <xref target="CQRP"/> is version 0.4.0 (October 2026), and Apple's policy was announced as a draft.</t>
        <t>In <xref target="CQRP"/>, every CA operator also runs a mirror. The program requires the CA cosigner and one <tt>Usable</tt> mirror "not operated by or affiliated with the MTC CA Operator", "to protect Chrome clients against log tampering or split-views created by an MTC CA" (Section 2.4.5 of <xref target="CQRP"/>). Section 1.3 of <xref target="CQRP"/> tests independence: operators that "share no common ownership, ultimate corporate control, parent companies, administrative access, or control over cosigner key material". In the terms of <xref target="tab-policies"/>, that is a mirror-backed policy with a quorum of one. It makes recording available on both paths, on the trusted-subtree path through the landmark rule of Section 2.4.5 of <xref target="CQRP"/>, given G5. In the sense of <xref target="g-consistency"/>, it does not make consistency available, even on the trusted-subtree path, where a quorum would cost validation and availability rather than certificate size. On the cosigner path, it trades consistency for size and availability: the CA and one mirror cost 9.0 kB per standalone handshake, against at least 11.4 kB for any policy that meets the intersection condition at <tt>f = 1</tt> (<xref target="sizes"/>). Split views are answered after detection, with revoked ranges or distrust, whose delay is that of <xref target="g-revoked"/>. The program also requires CAs to "attempt to submit all issuance log updates to all Chrome-recognized Mirroring Cosigners", and Chrome monitors that mirror checkpoints and tiles are available (Section 2.5.1.2 of <xref target="CQRP"/>). Distinguishing a CA that withheld an update from a mirror that lagged needs a record of the CA's submissions. On the trusted-subtree path, an update service would add consistency among its relying parties, for the subtrees it delivers, if, for each log:</t>
        <ul>
          <li>
            <t>it kept the history of reference checkpoints it validated against;</t>
          </li>
          <li>
            <t>it accepted a new reference checkpoint only with a consistency proof from the last; and</t>
          </li>
          <li>
            <t>it published only subtrees consistent with that history.</t>
          </li>
        </ul>
        <t>The service would then act as a witness. This consistency holds where the service keeps that history as intact state, which all its replicas share and which it never resets. It does not by itself extend to the cosigner path, to subtrees that a relying party validated itself, or to subtrees from another such service: in each case, two relying parties can accept different entries.<cref anchor="ed-svc-witness">Editor's note: Version 0.4.0 of <xref target="CQRP"/> does not yet ask its Landmark Service to keep a history of reference checkpoints and to accept a new one only with a consistency proof from the last.</cref></t>
        <t><xref target="CQRP"/> counts cosignatures from mirrors that are <tt>Usable</tt>, or <tt>Frozen</tt> for those generated before the freeze point (Section 3.3).<cref anchor="ed-cqrp-min">Editor's note: Version 0.4.0 of <xref target="CQRP"/> does not yet mention a mirror's initial minimum index, in that rule or in the criteria of Section 2.4.5 (<xref target="mirrors"/>), or forbid initializing a mirror again for a log under the same key.</cref></t>
        <t>Apple announced on 21 September 2026 that its draft policy "is expected to require" three cosignatures <xref target="APPLE-PQC"/>:</t>
        <ul>
          <li>
            <t>"an ML-DSA (minimum ML-DSA-44) cosignature from the issuing Operator";</t>
          </li>
          <li>
            <t>"an ECDSA (minimum ECDSA-P256-SHA256) cosignature from the issuing Operator"; and</t>
          </li>
          <li>
            <t>"an ML-DSA (minimum ML-DSA-44) cosignature from a different Operator acting as a mirror".</t>
          </li>
        </ul>
        <t>That names one mirror, at about 9.1 kB per handshake on the cosigner path. Sections <xref target="MTC" section="5.3" sectionFormat="bare"/> and <xref target="MTC" section="5.3.1" sectionFormat="bare"/> of <xref target="MTC"/> allow other cosigner roles and algorithms. A second signature adds no post-quantum assurance. Under a policy requiring both, though, certification holds if either key is intact and its algorithm unforgeable, provided the second signature's role makes the certification statement of <xref section="5.4" target="MTC"/>. That hedges against a break of ML-DSA or its implementations, for certification only: recording and consistency rest on cosigners that sign with ML-DSA-44 alone.<cref anchor="ed-second-sig">Editor's note: <xref section="5.3" target="MTC"/> (version -08) leaves other cosigner roles to other documents and deployments, and <xref section="5.4" target="MTC"/> defines a single CA cosigner, with one key per cosigner ID (<xref section="5.3.3" target="MTC"/>), so a second CA signature needs a role of its own. <xref target="MTC-TLOG"/> and <xref target="COSIG"/> currently allow only ML-DSA-44 for subtree cosignatures (the former says "This MAY be extended to future MTC-compatible, subtree-capable cosigners"), and version 0.4.0 of <xref target="CQRP"/> allows only ML-DSA-44 for the CA cosigner key (Section 2.4.3.1).</cref></t>
        <t>Several root programs complicate the choice of policy, since their standalone certificates share one trust anchor identifier (Sections <xref target="MTC" section="8.1" sectionFormat="bare"/> and <xref target="MTC" section="8.2.1" sectionFormat="bare"/> of <xref target="MTC"/>), and the recovery of <xref section="5.6" target="TAI"/> cannot tell them apart either. Programs can share cosigners, or CAs can carry the union of the programs' required cosignatures. For the <xref target="CQRP"/> policy and Apple's announced one, with disjoint mirrors, the union comes to about 11.5 kB per handshake, above the conventional chain. Sharing cosigners does not mean sharing a list. The <xref target="CQRP"/> cosigner list "may contain keys that are not unconditionally trusted by Chrome" and is not for other clients (the Introduction). Each program therefore authenticates the keys and their states itself.</t>
        <t><xref target="CQRP"/> moves a mirror that signs an inconsistent view "to the <tt>Frozen</tt> state". In that state, "Cosignatures generated prior to the freeze point remain valid". In the <tt>Removed</tt> state, cosignatures are "immediately invalid" (Sections 3.2.6 and 3.3 of <xref target="CQRP"/>). The program lets a mirror with credible evidence of compromise or a split view "temporarily suspend cosigning new checkpoints for that specific issuance log", provided the mirror notifies Chrome at once and keeps serving the log (Section 3.2.6 of <xref target="CQRP"/>). How a frozen mirror's bound relates to a fork, and what a halt must cover, are in <xref target="cosigner-lifecycle"/> and <xref target="cosigner-stop"/>.</t>
        <t>Status signing can run out of conforming keys. A CA cosigner key signs status only for its own instance (<xref section="5.4" target="MTC"/>). Once that key is retired, a policy that has CRLs signed only with active keys, as Section 2.4.3.3 of <xref target="CQRP"/> reads, leaves no conforming signer for that instance's certificates. After a compromise, the only such signer is the compromised key (<xref target="history"/>).</t>
        <t>The Key Sunset of <xref target="CQRP"/> is "technically enforced in client configurations through bounded minimum and maximum certificate serial numbers and log instances" (the Definitions). It is a cutoff in the sense of <xref target="history"/>. There, bounding each log instance, rather than one serial interval, is what keeps earlier logs closed.</t>
      </section>
      <section anchor="custody">
        <name>Offline trust anchors and online keys</name>
        <t>Root keys in today's Web PKI are offline, but the CA cosigner key is online. <xref target="CQRP"/> treats it as both. For key generation, it is "considered to be CA Key Pairs for a Root Certificate". But "MTC CA Cosigner Keys and Mirroring Cosigner Keys are not considered Root CA Systems" (Section 2.6.1 of <xref target="CQRP"/>). Three arrangements, which may be combined, keep an offline key in the picture:</t>
        <ul>
          <li>
            <t>An offline root can certify the Merkle Tree CA as a subordinate, supplying the CA parameters (Sections <xref target="MTC" section="5.5" sectionFormat="bare"/> and <xref target="MTC" section="7.1" sectionFormat="bare"/> of <xref target="MTC"/>). This protects the binding of CA identifier, key, and serial bounds. It suits programs other than <xref target="CQRP"/>, whose root store holds the Merkle Tree CAs themselves (the Introduction). Relying parties still configure the Merkle Tree CA's cosigner policy and trusted subtrees (<xref section="7.1" target="MTC"/>). The root thus checks the CA's parameters rather than replacing that configuration. The minimum serial number that such a root states should advance as entries expire (<xref section="7.5" target="MTC"/>). That means either repeated root ceremonies or ranges delivered separately.</t>
          </li>
          <li>
            <t>An offline authority can authorize configuration updates. The Merkle Tree CA is then itself a trust anchor <xref target="RFC9925"/>, and the update channel plays the role of the root. This also protects policy, subtrees, and ranges (<xref target="compromise-update"/>).</t>
          </li>
          <li>
            <t>The CA operator can hold offline reserve CA cosigner keys. <xref target="CQRP"/> already keeps two of these in its root store (Sections 2.6.2 and 2.6.3), and Section 3.1.3 of <xref target="MOZILLA-RSP"/> calls them parked keys. What we add is configuring each reserve key in advance as a successor CA instance at relying parties and cosigners, so that a mirror starts it at minimum index zero. <xref target="CQRP"/> processes key additions only quarterly, with 30 days' notice (Section 2.6.3). Without such successors, a CA's fastest recovery can be a quarter away. Either way, replacing a CA cosigner key creates a new CA instance that every root program must configure, as for a root today (<xref target="APPLE-LIFECYCLE"/>). Reserve keys make that routine, at a price. A reserve key already trusted at relying parties and accepted by mirrors is an issuance key protected only by its operator's controls, and distrust of a malicious operator must also cover it (<xref target="history"/>).</t>
          </li>
        </ul>
        <t>Reserve keys serve recovery. For availability, <xref target="CQRP"/> already lets a CA "issue Subscriber certificates concurrently from multiple Active CA Cosigner Keys" (Section 2.6.3), so one log failure need not stop issuance.</t>
        <t>Status signing by the CA cosigner key (<xref section="5.4" target="MTC"/>), such as signing CRLs, can pass through the signing service of <xref target="ca"/> as a second message type. This enforces the separation of <xref section="12.8" target="MTC"/>.</t>
      </section>
      <section anchor="ca-recovery">
        <name>CA log recovery</name>
        <t>Restoring a backup of log state, unlike a backup of the key, can fork the CA's own history with an intact key. Suppose the CA can rebuild the log to exactly the last checkpoint its signing service recorded, and verifies the rebuilt log against that record. Then nothing has forked, and the CA can resume, provided that every tile or entry bundle it published beyond that checkpoint is kept: tiles are immutable (<xref target="TLOG-TILES"/>), so the rebuilt log includes each published entry unchanged, at the same index. Entries appended beyond that checkpoint and not published were never certified (<xref section="5.4" target="MTC"/>). They are discarded, and their indices, and so their serial numbers, are reused. Indices that the recorded checkpoint covers are never reused, even where no signature over them was released. So the CA's records treat a serial number as issued only once a checkpoint covering it is signed (Section 2.4 of <xref target="CQRP"/>). This recovery preserves every view the key signed, even when the discarded indices are reused, and the stronger form of G1 holds through it. That needs the signing service to persist its record before it uses the key, not only before it releases the signature. If the CA cannot rebuild the log in this way, the log has failed. The CA stops issuing on it, and moves to a new log number (Sections <xref target="MTC" section="5.2" sectionFormat="bare"/> and <xref target="MTC" section="12.2.1" sectionFormat="bare"/> of <xref target="MTC"/>), rather than resuming from an earlier checkpoint (<xref target="log-numbers"/>). It keeps serving the failed log read-only, from a mirror's copy if need be, for monitors and for relying parties not yet updated.</t>
      </section>
      <section anchor="cosigner-notes">
        <name>Witnesses and mirrors in practice</name>
        <t><xref target="MTC-TLOG"/> requires MTC cosigners to sign with ML-DSA-44. The Ed25519 witnesses deployed today are therefore not MTC cosigners, and they cannot sign the subtrees that a standalone certificate carries (<xref target="COSIG"/>). An existing witness can add an ML-DSA-44 key alongside its Ed25519 one, since <xref target="TLOG-WITNESS"/> returns cosignatures from "the witness key(s)" and says witnesses "SHOULD use ML-DSA-44". <xref target="MTC-TLOG"/> then also requires a cosigner name derived from a trust anchor identifier. Counting Ed25519 witnesses for landmark validation would be a separate profile, with different cosigner sets on the two paths. Consistency would then have to hold across both.</t>
        <t>Suppose a CA moves to a new log number to regain a cosigner that lost state. Under <xref target="CQRP"/>, it pays for that move with a reportable incident and one of a bounded number of logs (Sections 2.5.1.2 and 2.5.1.3). Where a policy leaves the CA no other cosigner to use, a program therefore sizes its log-number budget for the moves that a cosigner's failure, or the CA's own failover (<xref target="ca-recovery"/>), forces. Since the move is caused by the cosigner, a program can also choose not to count it against the CA.</t>
        <t>A mirror counts toward standalone certificates only if it signs subtrees, in C2SP through <tt>sign-subtree</tt>, which <xref target="TLOG-MIRROR"/> makes optional and <xref target="MTC-TLOG"/> says such a cosigner "SHOULD implement". A hardware module protects a mirror's key against extraction, and <xref target="CQRP"/> makes one optional (Section 3.1). But whoever can drive the module can sign without storing. What protects recording is that the component that signs is the one that checks durability.</t>
        <t><xref target="CQRP"/> designates at most one <tt>Usable</tt> mirror key per operator (Section 3.1). It also requires every CA operator to run a mirror "usable by all other CA Cosigners" (Section 3 of <xref target="CQRP"/>). Under that program, a mirror that loses one log's state and follows <xref target="mirrors"/> cannot cosign that log until the CA moves to a new log number.</t>
        <t>We state single initialization as one rule because it serves both recording and consistency, but recording needs less. For recording alone, it suffices that no initialization of the mirror for a log starts above its first initial minimum index, with backfill before its first new signing. Resuming under the same key is what endangers consistency. A split form of the rule would let a mirror that loses one log re-mirror it from index zero and remain a recorder. That works only if the mirror signs nothing for the log between the loss and the restart, and the restart carries over no stored entries or largest signed size from before the loss. The entry is then stored before the restarted mirror's first signing that covers it, and so before acceptance, though not necessarily before the mirror's first such signing ever. Two relying parties could, however, accept different entries through such a mirror.</t>
      </section>
      <section anchor="acme-notes">
        <name>Obtaining landmark-relative certificates</name>
        <t>An authenticating party obtains the landmark-relative certificate from the CA, through the ACME optional alternate of <xref section="9" target="MTC"/>, or builds it from the log and landmark file (<xref target="MTC-TLOG"/>). That optional alternate answers "HTTP 202 (Accepted)" with a <tt>Retry-After</tt> until the certificate exists. Building the certificate from the log and landmark file makes the file's clock dependence a server-side problem too. The file carries an expired landmark as a terminator, and decoders reject a file without one (<xref section="6.4.3" target="MTC"/>). A decoder whose clock runs slow by more than the time since the newest expired landmark expired, which lies between zero and one landmark interval for a freshly published file, rejects the whole file. With hourly landmarks, a clock <tt>s</tt> minutes slow rejects about <tt>s</tt>/60 of fresh fetches, at update services and servers alike. Every landmark-relative certificate of an interval becomes available when its landmark is allocated. So a CA that points <tt>Retry-After</tt> at the expected landmark time plus jitter keeps clients from polling at once.</t>
      </section>
      <section anchor="transport-notes">
        <name>Sizes, transport, and renewal</name>
        <t>The sizes in <xref target="tab-sizes"/> come from these figures (Sections <xref target="MTC" section="6.2" sectionFormat="bare"/> and <xref target="MTC" section="6.5" sectionFormat="bare"/> of <xref target="MTC"/>):</t>
        <ul>
          <li>
            <t>A cosignature in an <tt>MTCProof</tt>, the CA's included, costs 2,427 B: the 2,420 B ML-DSA-44 signature, its 2-byte length, and a cosigner ID of 4 B (as for a trust anchor ID such as 32473.1) with its 1-byte length.</t>
          </li>
          <li>
            <t>The rest of an <tt>MTCProof</tt> costs 19 B: the 2-byte length of the empty extensions, the 6-byte start and 6-byte end, the 2-byte length of the inclusion proof, and the 3-byte length of the signature list.</t>
          </li>
          <li>
            <t>A landmark-relative inclusion proof costs 736 B (23 hashes), and a standalone one 384 B (12 hashes).</t>
          </li>
          <li>
            <t>The endpoint key with its handshake signature costs 3,732 B.</t>
          </li>
        </ul>
        <t>With hourly landmarks, a relying party holds about 10.8 kB of trusted-subtree hashes per CA instance. <xref target="CQRP"/> sets ceilings of 220 landmarks per 7 days and 370 per 47 days (Section 2.6.2). These ceilings allow about 14.1 and 23.7 kB, respectively.</t>
        <t>Each MTC row of <xref target="tab-sizes"/> is a whole <tt>MTCProof</tt>: 19 B, the inclusion proof, and the cosignatures. The conventional row counts three bare 2,420 B signatures and leaves out the framing and certificate fields around them. It is a yardstick, as in <xref section="1" target="MTC"/>. <xref target="CQRP"/> adds no post-quantum X.509 roots (the Introduction). The expected cost per handshake depends on how often the trusted-subtree path is used (<xref section="10.2" target="MTC"/>). That frequency is the product of relying-party freshness and server support (<xref target="certificate-choice"/>). With nine handshakes in ten landmark-relative, the CA and one mirror average about 4.9 kB, and the CA and three cosigners about 5.4 kB. At half, they average about 6.7 and 9.2 kB. The cosigner path matters most for lagging and first-contact relying parties. Over TCP, with about 2 kB for the rest of the server's flight, the CA and two cosigners fit an initial window of ten segments of 1,460 B <xref target="RFC6928"/>. The CA and three cosigners do not. Over QUIC, a server may send at most three times what it has received before validating the client's address (<xref section="8.1" target="RFC9000"/>). A <tt>ClientHello</tt> with a post-quantum key share fills about two Initial packets. So the server's whole first flight, including a <tt>ServerHello</tt> of about 1.2 kB, gets about 7 kB. That leaves room, by a few hundred bytes, for the landmark-relative flight with ML-DSA-44 endpoint keys. It leaves no room for a standalone flight, which then costs a round trip. With ML-DSA-65 endpoint keys, even the landmark-relative flight does not fit.</t>
        <t>With 7-day certificates renewed at 75% of their lifetime, the old certificate has 42 hours left (<xref target="fig-renewal"/>). There, the new entry waits up to an hour for a covering landmark. If renewal succeeds on schedule, a relying party whose configuration lags by more than about 41 hours holds neither landmark for part of every renewal cycle. A renewal delayed by a day, which is the outage that Section 2.2 of <xref target="CQRP"/> tolerates, leaves about 17 hours. For 47-day certificates under <xref target="CQRP"/>, with landmarks every 4 hours (Section 2.6.2), the tolerated lag is about 278 hours.</t>
        <figure anchor="fig-renewal">
          <name>Renewal overlap and the tolerated configuration lag (not to scale)</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="544" viewBox="0 0 544 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 224,64 L 224,96" fill="none" stroke="black"/>
                <path d="M 344,64 L 344,80" fill="none" stroke="black"/>
                <path d="M 480,64 L 480,80" fill="none" stroke="black"/>
                <path d="M 96,78 L 480,78" fill="none" stroke="black"/>
                <path d="M 96,82 L 480,82" fill="none" stroke="black"/>
                <path d="M 224,94 L 504,94" fill="none" stroke="black"/>
                <path d="M 224,98 L 504,98" fill="none" stroke="black"/>
                <path d="M 232,128 L 264,128" fill="none" stroke="black"/>
                <path d="M 312,128 L 336,128" fill="none" stroke="black"/>
                <path d="M 352,128 L 384,128" fill="none" stroke="black"/>
                <path d="M 440,128 L 472,128" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,96 500,90.4 500,101.6" fill="black" transform="rotate(0,504,96)"/>
                <polygon class="arrowhead" points="480,128 468,122.4 468,133.6" fill="black" transform="rotate(0,472,128)"/>
                <polygon class="arrowhead" points="360,128 348,122.4 348,133.6" fill="black" transform="rotate(180,352,128)"/>
                <polygon class="arrowhead" points="344,128 332,122.4 332,133.6" fill="black" transform="rotate(0,336,128)"/>
                <polygon class="arrowhead" points="240,128 228,122.4 228,133.6" fill="black" transform="rotate(180,232,128)"/>
                <g class="text">
                  <text x="196" y="36">renew:</text>
                  <text x="240" y="36">new</text>
                  <text x="340" y="36">landmark</text>
                  <text x="424" y="36">old</text>
                  <text x="460" y="36">cert</text>
                  <text x="512" y="36">expires</text>
                  <text x="192" y="52">entry</text>
                  <text x="244" y="52">logged</text>
                  <text x="332" y="52">covers</text>
                  <text x="384" y="52">entry</text>
                  <text x="16" y="84">old</text>
                  <text x="52" y="84">cert</text>
                  <text x="16" y="100">new</text>
                  <text x="52" y="100">cert</text>
                  <text x="96" y="116">0</text>
                  <text x="112" y="116">h</text>
                  <text x="200" y="116">126</text>
                  <text x="224" y="116">h</text>
                  <text x="344" y="116">127</text>
                  <text x="368" y="116">h</text>
                  <text x="456" y="116">168</text>
                  <text x="480" y="116">h</text>
                  <text x="224" y="132">|</text>
                  <text x="280" y="132">1</text>
                  <text x="296" y="132">h</text>
                  <text x="344" y="132">|</text>
                  <text x="404" y="132">41</text>
                  <text x="424" y="132">h</text>
                  <text x="480" y="132">|</text>
                  <text x="276" y="148">(wait)</text>
                  <text x="400" y="148">tolerated</text>
                  <text x="456" y="148">lag</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art">
                     renew: new       landmark     old cert expires
                     entry logged     covers entry
                           |              |                |
old cert   +===============+==============+================+
new cert                   +==================================&gt;
           0 h         126 h             127 h         168 h
                           |&lt;---- 1 h ---&gt;|&lt;---- 41 h ----&gt;|
                               (wait)        tolerated lag
</artwork>
          </artset>
        </figure>
        <t>ACME Renewal Information <xref target="RFC9773"/> lets the CA suggest a renewal window, and a client may renew anywhere in it. So a CA that wants to tolerate a lag <tt>T</tt> ends the window at least <tt>T</tt> plus the landmark interval before the old certificate's <tt>notAfter</tt>. The tolerated lag of <xref target="renewal"/> assumes the server keeps the old certificate ("SHOULD retain both the new and old certificates", <xref section="10.4" target="MTC"/>). A client that replaces a certificate in place does not do that. With replacement in place, every relying party takes the cosigner path from renewal until the new landmark reaches it. Take a lag <tt>L</tt>, and a server that fetches the landmark-relative certificate <tt>F</tt> hours after the landmark. Then about <tt>(1 h + max(F, L))/126 h</tt> of handshakes take the cosigner path. That is 6% at <tt>L = 6</tt> hours when <tt>F</tt> is small, and 20% at 24 hours. A server that holds one generation at a time can instead stage the renewed pair and swap <tt>W</tt> hours after renewal. <xref section="9.1" target="MTC"/> permits this ("MAY opt to wait for optional alternates"). The server's share is then <tt>max(0, 1 h + L - W)/126 h</tt>. That is none at <tt>W = 24</tt> hours and <tt>L = 6</tt> hours, with 18 hours left on the old certificate if the swap fails.</t>
        <t>When a cosigner policy change discards trusted subtrees (<xref target="policy-change"/>), the relying party stops advertising the discarded landmarks at the same time, and a handshake already in flight can fail. The retry, whether by the application or by the recovery of <xref section="5.6" target="TAI"/>, is a new connection. At a large program, a change that discards many subtrees shifts the affected handshakes to standalone certificates at once. Vendors therefore stage such changes per CA.</t>
        <t>Renewal at the scale of an incident, when a CA pulls renewal windows forward for its whole population, multiplies issuance. Reissuing the population of <xref section="6.5" target="MTC"/>'s estimate in a day adds about five times the steady rate (<tt>126 h / 24 h</tt>) on top of ongoing issuance. A revoked range is the blunt instrument that causes this. An incident bounded in time is one interval of one log. A range over it also revokes the correct certificates in the window, which then need reissuing. For an honest CA with short-lived certificates, natural expiry can be the better answer. Mirrors on the issuance path see the same multiple. Under <xref target="CQRP"/>, these include competitors' mirrors (Sections 2.5.1.2 and 3). Every reissued certificate also takes the cosigner path for the landmark interval plus each relying party's lag. So CAs, mirrors, and servers plan capacity for that peak as well as the average.</t>
      </section>
      <section anchor="retention-notes">
        <name>Retention</name>
        <t><xref section="10.3" target="MTC"/> states the condition for retention (<xref target="decisions"/>). <xref target="CQRP"/>, for example, publishes a serial-number bound, <tt>safe_to_prune_before</tt>, advanced past entries "revoked or expired for at least 35 days" (Section 2.5.1.3). Mirrors "SHOULD NOT prune entries until the corresponding entries have been pruned from the corresponding issuance log, except that Mirroring Cosigners MAY independently prune any entry below <tt>safe_to_prune_before</tt> once 90 days have elapsed since the end of the certificate's validity period" (Section 3.2.4 of <xref target="CQRP"/>). <xref target="MTC-TLOG"/> asks relying parties to restrict pruning, "such as requiring that the log's minimum index be at most the minimum trusted index in up-to-date copies of the relying party's trust anchors". <xref section="10.3" target="MTC"/> likewise keys on up-to-date relying parties. The input we use is stronger: the lag of the oldest relying parties that a program supports. That way, entries stay visible to relying parties that have not installed the advance of the minimum serial number. A program that publishes a pruning bound therefore states, implicitly, the lag it supports, and a vendor's choice of <tt>D</tt> sets how long CAs and mirrors retain entries. Under the bounded-delay form, that lag is at most <tt>D + e</tt>. So suppose entries are retained for <tt>D + e</tt> after the update that revokes them is issued, and the service never dates an update later than it signs it. Then no relying party that enforces the program's bounded-delay form accepts an entry that the CA and mirrors have pruned. A deployment will want to measure lag in aggregate (<xref target="privacy"/>), along with which certificates handshakes use.</t>
      </section>
    </section>
    <section anchor="ca-response">
      <name>Responding to CA compromise</name>
      <t>This appendix details the two responses to CA compromise that <xref target="compromise-ca"/> summarizes.</t>
      <section anchor="cosigner-stop">
        <name>Halting new issuance</name>
        <t>The CA operator's first step is to stop issuance on the affected log or instance. Section 2.5.2 of <xref target="CQRP"/> makes this automatic for an unverifiable log. Against an attacker holding the key, though, that step bounds nothing. Distrust and revoked ranges stop such an attacker only once they are installed at each relying party.</t>
        <t>Cosigners can act sooner, for relying parties not yet updated. Suppose that:</t>
        <ul>
          <li>
            <t>each cosigner in a set F halts a log, that is, stops signing its checkpoints, and each such halt is atomic with that cosigner's checkpoint signing and survives restarts and routine reconfiguration;</t>
          </li>
          <li>
            <t>at each of a relying party's acceptances, every cosigner set that the policy then in effect accepts contains a member of F that is faithful to the log; and</t>
          </li>
          <li>
            <t>on the trusted-subtree path, the premises of G5 hold (<xref target="g-configuration"/>).</t>
          </li>
        </ul>
        <t>Then, once every such member has halted the log and while each remains halted, every entry that the relying party accepts from that log lies below the size of a checkpoint that some member of F signed before stopping (<xref target="basis"/>). This holds on either path and under local or delegated validation, including for subtrees validated after the halt. Nothing shows that the bounded entries were authorized or predate the compromise. Resuming ends the bound.</t>
        <t>Under the policy of the CA and any one of several mirrors, this needs every such mirror to halt. A suspension that covers one log, or that ends on its own, is not such a halt. A cosigner that serves several root programs halts as its own operational decision, since halting withdraws cosignatures that other programs' relying parties may need. The Recommendation of <xref target="compromise-ca"/> states what such a halt involves; its last two items extend the bound to the CA instance and keep the halt observable.<cref anchor="ed-halt2">Editor's note: The nearest mechanisms in version 0.4.0 of <xref target="CQRP"/> are a mirror's suspension of one log (Section 3.2.6) and mirrors' daily reading of the cosigner list, after which they "MAY stop mirroring" a removed key's logs (Section 3.2.2). Neither yet amounts to such a halt: a suspension does not cover the CA key's later log numbers, in-flight uploads, or pending checkpoints, and one suspending mirror does not stop acceptance.</cref></t>
      </section>
      <section anchor="history">
        <name>Preserving history</name>
        <t>A response to CA compromise either withdraws all trust in the CA instance or preserves selected history. Selected history is usually preserved with a revoked range that covers every index above a cutoff. A cutoff alone does not preserve exactly the intended history:</t>
        <ul>
          <li>
            <t>Under a CA-only policy, the attacker can sign a different subtree over indices below the cutoff (<xref target="accepting"/>).</t>
          </li>
          <li>
            <t>The CA can append to an earlier log, whose indices stay below the cutoff. So each retained log needs its own bound, and later log numbers must be rejected. A cutoff enforced as one serial interval leaves every earlier log open. This is because a serial number is the log number shifted left 48 bits, combined with the index (<xref section="6.2" target="MTC"/>). Against a malicious operator, rather than one stolen key, distrust must also cover the successor instances of its reserve keys already configured at relying parties (<xref target="custody"/>).</t>
          </li>
          <li>
            <t>A cosigner initialized after the compromise can follow whichever history the attacker presents first, unless its configuration carries an initial trusted checkpoint for the log, taken from checkpoints that the root program collected.</t>
          </li>
        </ul>
        <t>Preservation therefore needs a prior authenticated commitment to the chosen history, such as checkpoints cosigned by cosigners whose views connect to it. It also needs a decision authenticated independently of the compromised key. A checkpoint newly signed by that key cannot select the history. Without such a commitment, the response withdraws trust in the CA instance entirely. Either way, the decision is consulted on every acceptance. Status signed by the compromised key does not override it. <xref section="5.4" target="MTC"/> allows that key to sign such status, and Section 2.4.3.3 of <xref target="CQRP"/> has CRLs signed with it.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document draws on the specifications and policy it describes (<xref target="MTC"/>, <xref target="TAI"/>, <xref target="MTC-TLOG"/>, <xref target="TLOG-TILES"/>, <xref target="CHECKPOINT"/>, <xref target="SIGNED-NOTE"/>, <xref target="COSIG"/>, <xref target="TLOG-WITNESS"/>, <xref target="TLOG-MIRROR"/>, <xref target="CQRP"/>) and on the work of their authors and maintainers: Bob Beck, David Benjamin, Chris Clements, Russ Cox, Al Cutter, Rasmus Dahlberg, Joe DeBlasio, Ryan Dickson, Aaron Gable, Martin Hutchinson, Matthew McPherrin, Kyle Nekritz, Devon O'Brien, Luke Valenta, Filippo Valsorda, and Bas Westerbaan. <xref target="TLOG-WITNESS"/> began as a document of the Sigsum project. Luke Valenta raised the key-custody question in <xref target="custody"/>; David Benjamin raised the privacy choices around update recency in <xref target="privacy"/>; and Ilari Liusvaara raised the log-fork problem in <xref target="ca"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8S9a3cbR5It+p2/opa07pJEAxBJkXpQZ+YMTcm2pvVqkW7f
e2edGRaBAlktAIVGFUjTkue3n4gdEZmRVQVKlk/fqzU9lgBUVj4j47Fjx3A4
3GrKZlYcZm+K1cdZkZ2uiiI7LlZNOS3HeVPU2dFqfFk2xbhZr4qt/Px8VVzR
r0+P0y8m1XiRz6mdySqfNsM6X3wsmsvhcpYvmno4b8bD3P18uLOzxa1fVKub
w6xcTKuten0+L+u6rBbNzZLaefXy9Ietcrk6zJrVum72dnae7ext0asfbeWr
Ij/M7pwU4/WqbG7ubF1Xq48Xq2q9pE/f/+XVIHtdXdSD7GgxkfGclBeLnN9b
39n6WNzQzyeH2X/MZcQN/2LsRjygj/JFvaTXLMY3g2z5sRxk18U5/fd/bV0V
i3VxuJVlX/u+LJPx3PmFOlkuLrIf+UH+fJ6XM/pcpujfyqKZjqrVBX/DU0Xf
XDbNsj58+JB/iNm7Kkb2s4f8wcPzVXVdFw+liTtbW/m6uaxW1L0htZLRxNaH
mS4FPpAl8p9QU/mi/C1vaOLplUe/nNzB54X0rr6YF4tJ/m/5PP+tWozG1Xxr
a1Gt5vT7K0wDbQRaq+ELdCwsN2Z2yDM75JmthztP6benR6/cb5tZPcTSDvPF
mHo9LCf0uyf0uw8/HD97uv9Ymx+evn734yE69aWt+kvZXGan5azgdYhLiOWR
BvLVRdEcZjaz4716idnkDdrMqot/u9oZ7Y528OMJtXmYvRs31XmxyvZ29h7j
4zDHmc7fYXa8d/Ie/66LVVnUvJ/te/6K5rXVPs/x8buTV+m42n3Ojqs67KTb
+89tD8fx5/92tftPGceG9/B4eJmGp69evzxJB/Uty4HXNPRkzS/Y+WcNxL8h
DOGXV6dvX56c3L4ytNMWRV1n71dVU42r2VcM51oe+aeuTPqOMKQ3rz58ePfh
9hG9KVeravU16zLHL/9ZJ6X7CpJr/DsndI5/enn8l/fvXr09/cL5uSzGH5dV
STLpa45P+PU/9/S0X8PLRKLg7csXw7fvTl8mQ3pbNcXtXeejWEyGC/rhP6vb
3Vdwl38+eTk8Pjqh496V/yTtJsVyVt0M1zVdAXld1HzlZ9nLt6cvP7z/8Ork
pTxVzOhOrO25YtEUq+WqpGdiE3QBNcOdXd7LP3948fPxX16+lWcn+VU5OS8W
w1k+X9Jdsl5N1uOP9G+9cvh97/9Km//HD0enr969TSb2fUUXz1/X9Nr1PPvp
9PT9SXZEc0Pv4ruELsPsQ5VP5vmyd/avr69H48tVNS/Xc6zCT9W8eGifDGvV
TB4u+S3/kLcMee6HK2n1oVskXpzhzt5w70nPEg31zn7Bg82+LxZ/z+flovXl
v1dF9qL4fpaT+oR5+iEZ653TyyL7eclvy35Y0ROsL2Uny2IsNyeNdpD9rVix
8pWxMHz05E7vsGl+1mhmaq2MLujKXZ+Pyuph7dt7eCXtPPyDm7Gvp6IRPH72
eO9QlYNd+evxTx/evaFNmEqBO8e8DIlmkEqG99WsHN/0j/Ciqi5mBRaycGNz
bfmmHo6b/1qitdFlM5+11nTTGH/EOzLpph/GkGT1Sf9YTiHPbu25dJY0tIfy
Anl0Y9fPZ9X5w91nT3f2ptPJk2J/Mt2dTIrJePfR053pk/Hk6aR4Onm8n092
D3aKhyS4bKTzyTeO8+j9+9fd1TpaLmfFvXrzci1vGXS9Xi6rVTPKuRGMnY7/
un64u/Nob3c/7efBcGd/uLe7qbfoB6/G0fc/DE+Od57upv38Pp/NqibDN1eP
SAItmlVFAoe0fZLokzWNtJpmH+hvY9by/5bPygmJgCwno+BF3uT0FcnC7D0J
2WpS9w9nnJ/TPacihbv8cGf/4e7uw3O8e1iP8e5haa+mT+TVw2o6XOmrh1f6
atKrJ0Mafk5fsRheyqsf9kzL7sZpOT56+D2MjFX2A3eNvnu9aa9uWsH7x6cP
oPT1j3pWNDX9bnWzbDBwMiVrOllD2nPtzpKcfEb93dTZ10VDO+mltBV6enr0
+i9pT08uywUvUp4tiutsVl5cNhmJvk0D2CAM3S9Gk+KKNuN8XpKhurefDKkr
GWi+d+j/8OGqmI7J5KV7J9VfuMXsBC3ikZ4hi+x/kzcklq+zN+P3l8VqhbtB
xv3y3et02C9pK9IefV1OaR/SjZvRZmN5mrFs3XwAv37lZMs+fbi7/3A1HQ+5
WazisKhm3W33dLi7eVj/XtWX2VHOetvJKV3fx23BwTfFSUOXzXhzz4/ev/qC
8oQGhrTZ8mXZVZ/esJH9Z5WnnlfckTU6+endh9PXr/728kW6To/p1IrgePU+
O5pMVmxpJIYujS/7sVgUKxIMNMwrdhCcz4qvXqXHD3d2H+4ePHxML4KYKJfD
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
9jy4FrruCFcvOVV1Jiuu/NcNVbkQFTxIFmqKAc4YrVAwJLvRRLWAS0kAnuKb
DcksPZEQBTdE/1mRBOOkjFdzi+gJ9TwMbSDshLyet1DC68KaM1O9UYDaddba
Tk7eypwPJFQa2hK7K1ihz+OJ63UR9XuCbt2hd7V2igQRoGjwFaZ/Q6kLYKb1
G2Ea0vPiKcy9L5AVSkmLXsSCioDeN4cBluJSMdtYEU1xEv9mpOrq0NJr+2jP
xwHMyuTqJnJPH7ecIFyiK02dkSTStrMklq1CYYvpLQw9bUwrEjtCUTQ2GkkP
JBWCpNHQjD/oR9AQPENhTzzYVQNhrwtPj6NED70uUyYWk3tS/CQw16TZ9KGP
Iw8+fzJ6NAACXQaWWrj55EpgUYBscbVGGvBQrFXhw070vSoUusutejUnypjT
2VJ1hbytxSN5L5S2jplBtss9r/4lOBk+uikfYAW03kxgnOpPO6VN8jl7L0v+
WedX05l0i37OfoxvQ/pmXNvPW5+Hw2H4H2qVCNj+c7I6n1ucPfzLX1Iw9udO
Rp+fsuhmajX1PNl5PsBnF6E0Ei5ARzJtyRrcmzcJLv/2zoSypFLkB1nUGzuo
kDA9LH+mu3E2UV/BnyarrpAe9lK9cl/eMVxc4a8yPlRep909KVI+1SBCvStH
iJJ/Exbkb87UzDjNfgX5dbbIhhl/j0gS6T7fr51LUAxojZWl55yO2rq2Ol8O
EafPxGxUyTtjosz2vI6SLOEm0o5CNPm0zYGhwF1eqVrGPCrJ2kDO1f2O0gR+
IxkvC4qzdRhsIHHUFy7ofVN63x79JEI9+F3I7gklmF+py9zCYSAndG080kbU
EDn7mP2Pf8l4nqf0v/UZmBWTAKCwyIcyHJbieJlrNVx7ET3JY8/+Jds9A96G
Xvcv2f6ZrjL9/dFZWFtJu9O8SPYutSAsrSQ1yZACKcHuo9HT7OP3UAYjC70G
EjZU66N5530pefXaMe7QnkIySGnIlyBZRuwv290lE57egeMSdqPE7PTxx25c
+73jUhWlCBPkGRlkKI/pMvn4vfI2JPdXHa8w3s88Q2lqLL2ROXQ6Svphrzey
bCy1xLkeOvo9PJL8BsmrRCWSo4UgQDWTNJwy0e3azlu53c4+7sqZPtm1WdrT
D+i/muppqA/6MW3Ij3u0++Zn8Rq0Q3U2P7Ou96Vw0izhLaSocuORDD6KPPix
9cg17QxNcQMzoFEal3Kw7fd1UiYtK7hiHoYT3loukSNEIFr4i9f5bWUKFXCJ
pCGflldbIVCpVa8aeW90zpfSDTeU2OAFL1+Say6EPIIBWKQpWhDh6ijSViRG
7m+AW1wto+w9XV91mx8g5iG77K6o7+mUhRRy+bXkA9liejROKJK4tSXXdVbM
ygsLDzAbSYhUhOnj7Dvx45TQeDSDyPkmzIGmXPaS1sz0bxN4pYNHX8CDbMz7
aEKoMGZ15cWNwUmVg0hl7h7WPebcHqxUKspvlaRz5CimHmBC8Qy3fH51JwVs
M6oZbg+2GemzO+wrBCMzatnjJXfkLcrEcfrq9csTIZGoQ2fgz4g1SiRBGEUi
jeHgHCcYiaXRZ9HjCkUZVPV15Qs/tKRWPB2hi1KdkPpZ2Aty4xuTbS1X46JS
/0nkehll7xpNatB0w0AIw91tETTRsb4qZprVlzDLzIsmJ5ssl+BNOKLz3JxC
MthIravIhlKwutlrJFZVq/68qk93uyiHra3XLRJcNrhPO972qSLnHFxoMUmt
TXwQiovNO0XQZTwGZlJ6TgfWhtNkUcxCnUMPRzCA3qvGGXPen8r5ffTD63LC
vlnv0pDIos5UKCMLFNxNq0yuM8YGWbt4amBttMiVqIpM4if0GhJsEYZUBCgl
1OeKJW1tvehZGJ7xLpo92ufQg0PtaQ7YzJo+/J7LZk3Wzs1243DETO5Nv5kA
aklyrFXvOMIxOXfb/Ccgkxf/jxrmfGaUR1LcKnWWVOaLXhZXNQTqlaAGxJIN
pQ9QXkuRG3l2ze7xgH3YdNzLxoKrG8tMnwY3UcIlpJp7rIJ9j+e3VPw29esf
pKU2dGGJCov2NVCAyj+bpiwSKQXoAcf5DerSgSN7j5eozNaytdguXsgsiwoU
d8fEpavA0RsAK9cAjtrEhgWKpZ+8NyAk4o7cvpwqmUXiMeWbC05Bzf4I6ZQC
VNWX25IKdla9pvwouy7BciiA35B22ILP4tLO/Tj9knWmxqDp0VEbQWu2+S3R
VXPc5PelMePIfjEkB9+WwphRqxYZZikPcOJ0R8bK562yOsaHGirIf2ueiCOm
D0hvpznoR7EwYJL/0lh5LznDc5/91hJDzm/eTXLJfoj4qUUEhDuEtiqvwkBg
UkHg8X8GlBYAaX6HKsuew+3oVpMbY1FF7zw72kH8ph01Hjj7Z4cNbgPmzRVR
fvrAF3xqX2lrqI71uFoWqoPTCrQWXoCcYo8VK6ibgqgQV2vHE8uQrp5wNmqp
9FY7l4nnMnQ1pJkU/q4RkPKV/qxst8Ffk/JdnVC2eUECtdEcmlFMK4f1fpRt
R2t6u11qTougAXo2VhM+zZ4Reb0EwYe6EYNrRZrvlErfbqExpLlFFVtoaS9J
zQAgLKfrxVhz0q1sexD/8B51a7hVgknvFq4H0x9S4ifa4xZOoTMrKGuJ2uKx
khZAzxIoBEzRik9aHS5Oa4mHr9Dy41bg3uI0Vi2t39yyMk2wpSxxb4MvpCCR
PVGmby1/ESun849pM/384cXPx395+Za1KqvOkEYmpmw0nN+I3Ylq9pL9ZbwX
3py0avWjtGklpldquaBDjmd5XZes4tKXwlQq2qJ0BEc2ok7Etg5Q1olIf+VX
tpEaDTYASwfwuXii6+CoMc5bPonZRSWJFEptgVWV80MWD2M+pqgH0WPCc+Ef
sLz0Aj4M31ErlFPOqauieGEqTgtfG3A2xmDSD7EaINk6xdO0CFhulM9ftiJC
6bwFmHaq5y4TzknG+d9vQ+cfIDtpXl6o+7JhiV03w6CEpcUyQjUTndNYdrW3
8qTmCet8xRkaaFke9bLwyoWarstVMUURriNAWfWp/j0lFvbCISXDz/IZ1wmG
UBrYLZEnO47m4v1fh29e/fjh6PTVu7eis5KgZjrjC/aXO/4W57rjfBk1M1zR
DwMBVyHO9umugfo49CjBMoFN4KDCCFcqPPZlBQQgp11cC2PiZWFajFwDuVza
IjcXxTUPc1VYCijtgvsh6PV4dGDRrn2yqbV4JNALJhxRv6T7FiPRsbfhZwir
q6kejlDI/oV/nNWST5+O//rhPYbGTdlNTX0Y7bjO7dG/D57Tfx6P9vg/B6Nd
OtLc6qMRfSehYf1YDQkYd4DCzWZr9tLxwiLW9cIm7nP27lpiUy9V9euJZkXy
ZAzC5sIG+1lqEUjBp8RPINNAP9jL6ud0Ta9XQExrwGBvb8fZ6Sz6n2QTPqV4
aY9aFRLROEjnYV+fu+LsuX3kAi0xxJX4zNLGBubN+szlS1egBBJHFtRK7y9B
AM+HqJ+39alQ1TxB9tLHL/JS+K2X1OVFSFLhFk/6LzCGUBs+kH4k5z4xyDBk
S7e6f4Y7879EVfqvRXFRkcjhn509oOffKiejNri+RbKiUz/wuIWmIcWXbBgh
/u8iXyjYnn52JAm1es2geiObVmzmyZhQAt68XRC+6vtorw/vNsPYf84eHWDT
PA8fcRY/e+kKtS2f7aDt19XFUN2O4khsNxvd3J+zA5R5NOQNAzawdwxXzeox
L4JA8mlOAjPdZ61hbj4PF67k4Yn8uaa7j2w17Np6fXEBde7+0YdXD57rjRsE
oj7Em/DJwf+FVo6ikK5RneC5UNAyBu86X/JU9ynVn2OyOe/fLsbSZjvEVZ3g
tdDqO/dRkNR3IKr7wfAhB6xN2Bkko4gqWZlYMRPaxGU7dXWWX9idGby/AYxW
dvGg9+p+fylwL8dp00G2fLobE16hzGxCnRdikebRsB/4q7+I0HBAPDbYxUkO
9CJ4IWsy/iYA77QZU2NM1nhBA3lyT80r0TnS6k2KYL/Vu+NMVzHr2EUSMmc7
cJo0N2hr62/Rnevdcknc31TRTkki9fUIlFzol74qTSviKi1lRZ02Cd3BvbrT
/wCDa+tikeWik4T8dd4Bl0GlyLpxbrmEKyi1RxPBgwdCfUeUnpa74yq6i0L4
bVWJRveSEj+8X5azfBzhr2TBnQcGxO/1maBGtsaT0JuR/R9SHM1z5mKh0uRh
xuVC3PBv2rkSgB5932JqnOeaL2TXySw/52ADHJH6fJJg5hHsLJA3jUMJRcAo
7aiWAvtkisuLHhAmsVMT0i1aytETXrIqus48jftwrTSSwgjtMT3dAMl2fUQC
bu8Hyj/StOyQRXe54xlgI4iFdegAxpFYYwo/lJ3md2y+ckBj9QF0A7YJaoD2
TlD3wH1tPAPKbmTf0RfKea1X7P1Nud5GZ99jIsYuS368S5tUvp9AD1FLYecG
EDl2tl3BpojqpPJH6+ag0//qxSCyoi2U6VZgDyEeI7LGQXvE5KqL8Rr+fzYE
gXijC8ffJV/hGUXTbZ4snxJYwHfqF3XWCZIZ3rCditypbeFykwdRtytXxj9N
AwuIePiPzGH59W5elGE00NdlknH6BWnblbJBKvbmJXcpNTdIXlcVgkXwTUsA
iyNVMt3Mj6r/utWNGveuQ3S1bwPJMGwDLvpjKDob2hgjZmvxJDonbRwMyneA
ddUCNCmSO08vsUNTkL6YwH77rgl56q323RX2tTdiZMvddDe2QLpeF+thIfE1
vYrs1GFQHbm7Zp1++nT0/v3rl8Pj0+Hrdz9yFF9IoRfZyfGpv8zKUN0dtEA2
uGvjPuOfR74gzV4HiiKW7NF8zUmvXI1JcUk0Wty9kxYYpbayUi1e6iQMnBC7
vtM0DHmVS+YAn29TakKHQdoHdmwN/SCIDVhGDtrfDrq4ymIgVPpyebGB0LUx
n+FC2kmGn2BPpGBmMbEydT4fq68LQvkmni3JM5NxsnpgR0WuDK88RJcxUpYk
bsZrb2wtlTYELPuC1oezwgPNRyhnuNCi7Vqxus3JHvMbolBAZhSvjkxuzO6R
kF4onaMZ2UYNTWeODuaFkZ0ktNFuD2sKKo81D/Dw8LtpKU5nQ+cEqJPfKdG2
UD9Ai1k1VsrCrcAcPBPdShYutdRppjqXhCbcdcZxHPrTDwo9slb9OvvwB4hW
INs017jLxo9uXpq/3GywV9N+ziPZU5pG07mqjIAONcYZl1F+7HBNawqXMjEp
ZN+4nIAPYbmOURaaAyVTJD4WgzWhjuCVxoUDG8IXQ7gkXUUzv85vMEq+J4s8
PGkoHom6+kQUnSmV6/zWjUSnsFUqgWK3F2ig+FXPtqUQpB4LXnmiQH3hcqZb
GdiKq1xGMigrxSc/jFd9Uy073D19lDjWpNBGuV0vnVdAggTCTMmUaylN4NqQ
KkU3leWGdgMgHFGbVutVLGwRXCv1KNvezKKxHW/b1oXO2JqIo7G0Z+oCuE3j
tdZ3E9Erg9GZbOTtbDOxOcJmKVN5l2J+22hJXXKKqW3bYfLZVNo+TmMzzbpm
vmQhSkDSMcqGH+w93dHUVyQg48PHzx7voL4yqbKLtShfkpmc0kokWcjisQdL
lFAHiZhdVKGcJ24D5ekXzEFCkHpLxbJ+nCHKDdXpDBsxJwuKXEqP+sj4jOZ9
5lKONWpAMmdRi+AdklyJjdHjZ6SYvLXEaCNXN0itUBnTOyeRrfUmpFyXc3Ae
LSqxFi+5soWu2r00Ofx8Vl7odlX8XoxjfLo7C57VGpuf9TqoFLXa0kpc2yoK
KLXlN5fOGEiMZsgYTCzhLwnLigi9RbUYOgS5cvWCDEZ5oGKpr0Xxa5NNtXOB
hDUgT7knyfug4l3nN6FiL2sOc1zZlY5MgLCxbK+CmZRA3/H0qct3JnX4QmYG
OwgCEZDVwJHS9pIPsyoCE1ZfiQ9oRWCJhgLB+gWtEJhQDaRqA9VYjH9VicJB
nNjAP06J+A0vFS4C4XxxHGU9mmPKUpylWhGq1ffUqW8Vjo/hMPV7+UHsBhlx
YM55D64caJhPrTSYk90FE1uNbhepp2P1c4UFIIm4cTBtLw2sYf//vIyIR7Z3
sFaf7urdp7mEPjuy/qg6kSU/Vwn8ScNFAKAkd7Og+FU56efTZUCCaBAVqEft
b3WARqVietDPIvaA2VnbycPfSM4bCbIxQVUTOCbcmDnjmV6ZeMbgPOj1vH0R
SOd8ZH1cVfyqWzOOU87G29hbjLMV9aNJtArpERvkgELh3LTJQNNxa+GjFkjz
VMruSTmXa8Wf//xDvEiUlYaDX78OqQ9D+FBj4cUpUwMUQzrhxW+W8lyPQiuS
y3BR0Fkpxxwn5HKaMSuYAVEtTj8hD0QEB1szYGIk/dnqIyCthd1BPMnspsAm
9T57LT2rIQqzhlrBS5lVGNxfqiEwB+Ulu7kLOddKGgufjvzGPDz6r28DygU1
kyu8AmmD8bUNDi2m1cU51ziSkhZQOwpgwcrHUKpC6dSqUnmCEuYTmNDKKtet
ykq/mZazwqiEdElhgMii865mQEgLuesLdns/lPHYrwrjQY5s2ThjSXg/9WCB
SkUic9wnHOaIymUGQLBXlvGo8b95HsWz3BgMhM3AxY24cOJssGv6qiotP9qZ
VB3KbFHpjfVJUiKFMnXTCRd/gLIOmanPqchNHnRZd34jtL8lL8ULqC4dcdB1
cuz5AExM/adbw+NbhFQGiVWf7ooX3mAw6pN3tJ0tmBESMtL0QJ7ok5+OhnsH
j7GH3rwevjg5Gu7v04T98Or9yd7OPq9r8K2QkVfO88a2UOT2GSDrQJPBH3sl
V3N6oDseH4mwfjKc5Dct+tUe17kfyoqemxeMI4c0453I9DhLtZGONsH6zovc
SIM8oE/QhDB5I7TBYUTS5HPsXdmB7neCJ22nqZd22dF5nReTUiGQXP9Z1L00
N5Az0OIDXUYRJKKB2HtTLKZb4xOF4pZMhaMVgVC2RSzL2hWZ1YwBiQ5P47Zw
ukUHixptStUX6cHT4/f49K8/vzreGAPxCd+MjXiPsl+SGu2y6N8n+7MHa+RW
8dAKnwqmFh27rtgTWw/SBai0SryzJZ7JJgVAmAEvTwZ7j3ey7+lvuzuDZ8/2
+K+MCukkJ9JPDw7ww/3B/tMn+rsIyhl0sUYMGBnsHeC32dPBs6fPNj+FkmkO
afJk8PjpvvRrd7C/+/iWJy9j8UJ5lkayu7srDz8aPN1/tPlhuB+SZ/cGB4+e
yrOPB3tPMDcB+gFhY6CPn8J69UkcnPggWHBJnN/Qtrjzu3pPFHO3aLP8MpiD
vSb4/neu+y2/1HKcdYCq4PYj3d0LlIDOU5NrkUAcnb+3RWK43/YJWPFPR8m3
AXOyEXYQUqUPA2whilStsWPQQxUxLQTOvVrRN6zbLaROYAyuRno8BC0jb5h2
SjGgEatwG76nxYybTAluW4T+RORKu9EXN9bEqpZfSPSwurD52yCqA6g4dY7F
UlWwz2zQ5vAsm+e9d0e8qiKhgXCl91w/Mv3izWYYlVgi5SpSGSISCnyijyH3
U5F39gcyE2J1BkE97O+iQZDsFuGi2zA38BJr3q5NkmwYiYNtkrqkLFhwuqNX
WNga5iiuqHD54IdKDSqQG2SX65mB1QJSGsuSgppYhrKf6maEOYBapgppSmgG
jZ0nBytvndDyCrNdBma7Pq47dQkk1HkDKHlGrOeVhxBPt+UJZ5814ryJeafH
8asq8KByjNHzQ0peivmTjcHAXECJtwEMbcIoi9rifDhoCGv2YwBQgiW+Cf5Z
z+0rVWA9wfBEK9VSI6FWciC56/ALqVmehPeRvhpKQv/Q5vaoY+UAidJmvNrG
cGERs74gdnRNFTdaxjH2TFiFfFORG0cIFtlwEX8mG1PwOwoV7/0NrL5AniwS
Vx2zhq3U/QcHWwE8tcYQxLuTOEbcz9vYIXqtd1rCJzImyV5NLAzldoBgU1Zh
u8kCxzigsBLaHuHmZ5JnRAZwXccIstuXImF/0XRLsW392sxhLmNv0ETwDcek
F5HdboNXUJInxZYRV5PxPMvNGLZfGJua1WRlRmhf6OXXpOt3pvKB7Az006Zo
FRBpNkMxzuiJr7pVz8xV93f4c7sBDz3FLjgLN6s9Jp73Vuk0CEMEAG56emZa
cz5FFRNS2Tkb2qI84vBLHPoSgcpaPLeOfDjQDrNXtwMEHQXYg91k3F6oOn0J
5kSGjbgyuyDshc8PiCsuYhdoaqoKBk20elImsZbzVTwm7Jk1fwn+3vGWvG07
HywNAzdDJdY+rHfwmEtgmZtKIHwyEp7lDTUM4f8zQqrKWAsESxeifWf8ZtPA
zkLpLSlN37vdY4RbcAW66+8rv8Mvr07fvjw5ETGAT968+vDh3YdArODjAgjm
XX9VJOILkQeQ20TXENzjyqRppXzm8NTwKYkzCmszFM38Km9KH6Qr9BO4Mxds
xzuwENRZuP3ARsr+vRi/cbOsW5V9f6jPWoToYec3oataJMK4kIWEBCMXV3ck
HLnHIHwJZsT24Mw1rzRHpoV2BL5mY+3tgUJHoA67UhkPw3kHyL0rjPDUF+lZ
KQ6RHiqlepkrspRC3DqSy9yZUSl3Uyyos8IY0bRqgKQQQPkyUyZy80lQ2Wok
AuhD/xQyAck0ZG4qi7N54Ayv2WSVXwcmBgMBpJSiFtRZlSz1ExQ7752ygfOq
0eoo+ibUSpKKl6LTxri8AnBT2dujhKXM9+06MF2SBImtbNBa8xbFNF0SdMok
UNpCt0cXmnA7lFKeWhzdR72UDxK8c5pB5H8we1CLRDo4tKYn6LVjCulmGkmn
4sXrDmdSJP5t/ENJzwElsZofoU6pOe1FaLpuYrnqVhMLKdmp4IgQmupMhAEu
ILMkc7DNA8m3tZY9zKrkgurL5WT9DmdeC21ppq/SmqDklZxNhmn46oupP5bv
i9qeRgm9XOE73eqDWSjDseA6oVKz68cDDbCR3OOe4Rb9cV8y6zqsrgOk47AY
IUskUe/liAd6V649Xkm5ZMgggfq26vneLPM6StOYwSH6qGemGWVtchzLwqyT
qgBRQ9EVvbES9ygVFQNBnvNE3ibZSHE7RZ4XxxDROdzhMh+EJGO+1TWNKjW8
VDwyulMN1F5dYBOrvQK+dXpm7FYV9iNNmOfiAQHy1m2Wd5cczjRHhW9fwWSZ
yBDNrlEapWEgUJwX0JEdd3bkzTb+6dAB91bsaX11LDfSLmhi9WC1Dnbamw7j
OVtP3THeDkvENY/go8TEEfjpqwE4gr4Q95ItJ3CV1BO2uoA2BAMGGBJU6IS0
kN4DiICoJdKF2+LIM21+uuvR+Yq0arEs3KuNiBACJVI4Sgk4U0XgVJvCpeVv
O6NdoPNdrJQQwmZSNF46XGdkWw6jOgIdFBz7sERTH6muk6i+wZktxApGm4Z2
YSeiZTVuzqI6NBD8G3s558tG0oCUw8gIccBYer+tv/J7XgraJ/a+oz/f0ndD
thgKxIF3u/qzWM43cG4Jk5kaeaFKoRaeaBgRnk96KNg1ah0NGoFphVWzEoRN
MysWBQfDDemteGZIhgV05dXkmmMcYq+zIcIF+9IUNo0sKMkOeH0V+hWLXDg9
1hBs2oBUVsbY6Gh/gI4gUZOlaoORzogRmbSWfMsApwCmyVygVuq8tOInGsc1
l7QgdtJVi1M5FfQWHX4uqRwqZE5TU8hGKKdfKKQLgem58MwdJU6n40RvzheN
VY8OxsKdFIHuSgJl+Xldrc5rR1rLrGZC/unvtXD1CE6hU7fnXk9mQdfsZiHE
dScA0Qpwz+AWWEkGcI19C8oFuYStSlJEaIVqV2wDyIVOYk3QIYJ0RgwrIGpc
9dlbnFfvFoX5qEjZpz4BMGoOnqAly8JdrEkpSOhSDXslc2kwVOFNUEcsR06U
SGFr66Sam4NWfbPnBW2zNukx5NmHwuKqvGUFyZMCdlyGigB8IsdnihETUDFI
J8o5R+SrBepbAFYTZQfJk49FE9Q0Fg1Sb1VuMMAAOULUEj4B0ZICO/dHmpLz
4YfjZ0/3H4vZvgqjUqnHVkIo0BMZNzZW1mEWC87u7eOxULPPcuiLiatomN0/
Qt208tfsB+kXMKrSM6lxa+OOvchbEwZbjitlccc5lN4g+/HIctwc6UIsQid+
IORL9pPVzFi1zCMZZkLw921sXlYnLF24sCHu1alVmZyXgeWmLCZeYwmyhcsu
621Bayl6glV7QufWtWWCGmMTc3hhU/fxOcI19VUb3BfkZgTe7TQzmr3JZXoV
eWLQMDP69RIIwUCxJSSmRx0jbXHmguC37u0Ht1tKQAC/OBMJ8W5ThOXTXQ2+
sMakml3MzjywFz452OHDZNsHNS8M0iN1agH1qqUQF4MMDcqs4YfERahl37xB
Dp5eiRZ6y0FwtTwVoXR6MMZ6ypCpEQJ4VK2VQv5BchAW69RXafTZlIGNz+Jl
SKNGnYh7ZPnzVepGp8YM0Hn02uWlAlOo+3JUTUYFJZKMGcHy9YA/uUnZpmz0
1YrgN/ZG9WGzusC5mLIDaXEvClN7fRXPeF33/9ByTB2VcrQlohEpWzK9mYX0
q44bbm7YQtkT4/UsFwZgMovbRU5CYkvbVuZuokqsOOX4HI49HFTKdEWHcMpf
HiFInEQMcp690eN41dqR61HrseeQhhImb04bBiTzIRED7xUH7rqOAQUNErnr
/WlSo1Ihce4mhyM3eEjoWQMDG8A5VGZO72Sg+69xuLBPElgphiDVDROhKlFZ
83WYeI1oVhNzIasJ7Kf14Jtwqrjfz2i8gPScWb3WnLZASVpk+0yI6tm7iq21
A4tWwF0LHjvqeqoGcJk2LKwc65tW4+c3Uhvu9PsThz9C/elBTPGoSWSLmauQ
QNF+WS5oA21IdUfT68lVS8IC1ZQJuASD7AyLiwrItoGD3t1PsHeqLTzdDdEG
jgXcnK8Q+vs63osv8QEKBWBbBKgzrbcWld06s7ZfiZYjlP0yJ9dGuU4jtYtH
VxsBKU+V5sVxh6oEAQJDCNpUhjOqvc0d83UQA546LylNJGhmdS2Q8nJDS8pu
BfxV0ZaWuld/VDJpjhSmYIRuWR4loTRAeh3iboM+JDspfeyhoNtznlv9KjE9
pBzremYBO1cSrccZ3BfSS7IRRVzvy2KrHtvR7yMdc930J/AnsRRfsKWVTMne
cBT+S5CLznmE+Cs4ktcrQVbOUMDXIY4tapzrAgAGyLdjwAJz2/nQ/hkY3eWU
Qy3iy532AaOApVye8VD1MekPjHu3RSmrUX0wy5sP6LZEsOwX0ZAsEFdZKdd8
IRekbjdIdYGvQBUET2Ot5TBiGilgm/+7s29tbuNIsv2uX9FBx4ZID8iRSD1s
eb03KEqWuSNbWpNj371fjCbQJGGBaA4akEz77vz2W3lOZlZWo0F7riMmRiSB
7urqqqx8nDxH9pe000uGS3AG+Ygy1MvDUA2sJ+p5gXAo3eqmqVm10dSCc/EY
B2baYeZg++EcAcG/pv2pDhQtS3ZhgA7Itg6OyPJOW9DSiAWcIly2y/bC/BPN
aGC6YZlX2Ye0zkY5RzEB7OhOVhUVCpV9S7FWvSybWQe8YjgeG225uSb25ulD
JeBrN22cFQulh47dzO0wT721Ir15+pXu6iiSKWN4jKRqGgE5ATQgZlDocyzm
ZoLv9BwF2hJ9cyZXEMcJNI66DT3twP5SXhD40pMS3AZJwCsMW9Lqtj81F9X7
v50Gg4rPJtcfa1PDjeAUqZ6K1yz0W6p9o9ku+60u+RzFzJRqzdZUqzowHzU1
K8STAdXcGgwKtHrkOXCb20WnaxRiyM6TY2TrQahZaA13sVatdlKTDcq9DTuc
iS3F5R1emQ8F1ZM8C+9xThsUwBU5DdjMF/qhRhU1lDVnj1gSK7IWtIHymq87
4/5CD4n74KxXF+iKvAEsLs7P1T8UzMybR6v7AQQD1959OgM7wMwFB7Y1qUtl
XQmkpETfbD0eCCOAL4Hja6NnDMUnrmqb5v7xwFMxHhCBU8E8hCCuKV4ds1WK
iiOmmOkGjQZGRtGUnkubx+xqMH82lmmz2sD4D6mGWtyiIWn67P7J8X62ptfN
9Eq9jO2adZ9V75nS2QR/Wq7nwYP3UnSckM9Q2nxJxarpde+L6UhlCMdJrayW
BDrYfWRc/yAdRb2JgXyuGaNVP6gjNRSiuscxLngVbAJpu7X/LHctxRvDUmG1
mHhUTBGpxFaTVSXkTKW7ziA3Mt8rPfS35+fvz/569uOJ8Zb1cOSPc3NBppqa
LXwRfhWGmzlOscNvhMgNahxL5x1APoVeYmiEW5mseVAzWdIv+UjMqPYbw8Ao
X/sAIQbnHwC06ewSJ6pSt4CPIW3eFIOm9VS0lQxSdJXMCvEdrJWWTPegaudt
DVmco18XqhXc/QLW4cxFaMn0/F7LvvFn+XUcbErFVKaEsrk0swYKWQJHxCbV
QSjFMPu6cmYrS+krMY4s1wHvAKzPi9UyNPOuoi3zMF4rXEKvkY4KaakIGEzG
omIfhC5AbL1SIDw/SmaNFJQGpAPJ9EH1HY8U5yLJ3MX1FdbPbXu75gGjhAOr
RlwwScOYZ+bN0bau66urJZ4xTS8oFRVPEgmBO+UaMccMje/uzdR/YD3YbHoN
zOqiWaFXMLB6DCW4wfFiHFkBZ7lJz0LEZ41K223w0LA+LeFeNL2JGN4heyMo
MqAujJn3TGqVTAlr+8fcl5FMv+tv0UiVw4yzuMn1qnfuo3KheXYcCvOtestl
c3LsYyEYNsXdRlUUZvuPjGJ24q6b+W1GkSxofTKEmCK9KIGGS6UIZIF8qKBh
yWj7bZM2dJrf/8Xc9pcSMs/MRsShwUgK9kVu015okpZ6TD4o9RBvshvt3SqN
ceg2HII4Kh7ilahuKUM4FSO/lWzC65Nve54TALcKLdEHlNP39Pj7497Rq70W
03bC8Fu1MvBJi84ePNjf3wfwRy7yUrIN7mGHxODvnzERoZesrcx0X1piexJC
KhwLHPVTqeHAqv2yFicjn6riGThcuFaHaTm7ul6RDkekpixRUlD75l5Betoe
dKFVcXWtkcGIw/VukVpdgptaqEBVdWbaTOaA0HgwW9BDOHbGKVuKQjePCxWP
bx3VboXhmaFrRatva5kDTZvi1HYbnSmG2NUFJekOTJ7TPMr5LJauEzd/7tS/
wtdDblSye8zckQlBON4eu0r+XLBtC1N7ECRS24jcPeFST+jhrhk8fX6W1UqW
aU4WwMhIyS/fhgSVTK51WdApTXRNXxGUeOnr0/VEQU9Mut89zEgb72+GeyaV
gPmdBT9Ix6uBzk3VGu94tr6wy32SGEtemQiY5c4ZBSi/wgg5EPmTeHi/0OzO
74wt46LpVQTU63/YxdrA9oKAS67lZ/gjpk297eXs12b6ItKkaHnLNG+CWg37
ID8iRoNzktYrkreAE31e8lkX77TkJDdHLBMuZwkbdXbZu6+9i8GpybXIe2WP
FsKol6WP/j6YS5bYA5aPjp4k4hdTqw2ZKe/7a24UzjdiTIWBmxbLJhtDqxlY
7c0wt2xSW78moER5gOkugcaaLmGk8XXeC93l3CgTcznrqTNeFKJpPT7N+/mY
/zy/dKDstDBWG0SYo6AN0rSXrDoe/4XHqnAze2ORKjlLkw2klrDg49zwljhe
77IvmCOpq/1iVhSz8fm7dMSBhvbzdG6YVew3vjFdKqO9kEMj7YQWWBl+V5cu
q4oZ/Ko0kH5QjLwZW7/XUdSpcdSPfjX23Yhq/UJZmiPcvr6S7RTr+EWx8M1j
UU4cMrfwd8u2QCu7NYV4HOtZlnCcbNnpoy39L77hN5r7tAdapw5Ee0Ol2tLy
hVAdWz6UcTVUChW6wPGnoN11x2Y3PstsNXBSbKpxh/47Qub0K9qMB/uM582n
DUpVKiOcc6xBZM1ADWjX9SuD6XEGDO0iHKyZticnKOPt8kFk1+VCDGelavhR
+Um5wYqUcT01hs6825QCQS0EkbrtZWYcg1e4jz+CoQuJXvacAAcN2OmKndoy
Ei/D2Ut317uL7zGsSN4CmIg3h7KSPz+L5au0V98KrjErBM/JFUq548FSlncW
GiUcizTS/D67Wd8opdj45tFYGfDSDca/VP/xdZV+BcH1XCx72Ck4tdisvkBc
32z8S7oYny79E47LNG2hCzKmkkDCIUgOlUZPRvDW9CGv66ntUgM1F71NjrgA
LFd6S/IX5M4mgZNG4i5ylnUcsZG4mIziW5iFU4vdJDug37u401Hiq/uBmu0P
rykjUagwOO9skkgAm6lqi0tYf1yBOtb59D6wlgkuNcn3Xc6SrDrzojE+VMRD
82a9wjHW6WxkNLW4ARI+XIEKc2XsNMverbIrg7MJzqygdUeGrOb78EVAbtYQ
SNAVY94mLZxkqy5BKkye1KLl29DTerHO58RqnRqrsFWlh5b31Wmzs3LibrmW
sUxphwtVrMcXaUo+f3OYNufguaOlxGIXBUxeYG/WVd3bWSE8yM1PEVJtuIIR
qfdsN+rbR3wWZgbNNE15GN0oU00TJsCMU6FjIMjpYWtup42rYUkQBj+dcTLN
UOyOCH0jYT87jQ11L/NUXGrxQ5bagXrZuXVXTajeNzmr1PuUoaZoyULntstq
9161X64XjsqIeu4e1eW1wEuIcT4ySewhdKVnu3JXChC8WTzG+v+9o0UPczTZ
H+dfF1C0zkpC2UtSJr4NL6kNig59jgHVNeHKDhdTRg89RPFiRlXsQMx9MJYG
NbZJecPaPI+zpsMU6CVyA01gNghfljauX6RXsjfNlqYuPr1tZfjqsQb+ZCWg
EBwB1CAAHfY143PaErmjs8kV/Y91u0z2jFiQEEehFJje/gu8bWhHiwLah3El
jaDKpS6CaHz5su4biB0efqj2q/R79jJJyHTpfRl6TFyOvXQ/uFBA4LTsoCiM
dZheqFz337+uFtVfqsuxyqQEElQwZaDKM9QzlVk9UiRsI2PwJa2XCI9lVJA9
u4twYm0aVCbwtmvCbiD1u7wNmeh0V2dE1UQv6iT9mEDMgGSo5Xe+cFrb5WRv
IXGKEI68eWIb0jWjFKfcoxBw9Zc0B9bGSvKvzFEY2gtMQYW03R7EG3dzwdGc
ToH3mSovHQfvmNBHrEafP1P0aeIjwAgsyPOS73Xj3MOWDJ1pmyvMG01qgBhY
b6IG7qNNySXg/QaZRF31FJFwLjjAW6Jo9tzPjYH4k46wFZ4DoAktPoUSeK5S
chraNdWJVmjCHzxDeUDhfefag4PSLHmCnk/jUS6QOxw2n+O+a7naeHaaBEYe
Ic32CPxoPD3rHPyGkWjCYoAJP1/L0aPaA2SQgbD2VCFUcxeM5wbuppESXEJw
f7/cqGJoEDFe/fzbmJn2JsBZbeLokemoP8VVMfGEUQncHHdjmCTtJ13EbkqV
XoW43U1TuCYyjmSsXqX/NekCL++q3YmCzDbkXIBLWqEkhpRPtqZ6kbGEXHDN
dy+ANbMnmIW+g5G/VzU4ugi0FLkK2iMbIx3D1M26+1fd5q7Gu5Rh1XvhQPyj
SU5TqilqJ8qHnz7JWJHIWsy4Y5mpYvW0LrTRrfMtr9+Fnp/cHubHJZv6VGzq
vQnFWV/JLqRCBxJb3dDe3gDExjB5cJqRLtCY3bEl1u+tKu/K9hDC9yLZuMWK
LZt9aR9bY2p5vNCNetgNpAdj98u9ivT9oqM5yabACW2b4t7KS243WrkI2Krp
Kel5kmFL1nJI8S+94ANBzKXz9M0RNxQozy5RY5wRM3Cl+J5YR89oa+ZbQcSm
/X3om12xhPTmaJSzEr1KshSTpLie4REGr6QHajHF5uvBhvbWNRtUn6E68Kj7
s6v+YylcB8dSW3pd+gPnelr83zryFwlF9a400dCsoucU+H8G5ro0hI6zrq2J
Pc3wN/fFA6rJwbUoHOv82nVN+hgo+Kifx2ANu0XDEndth4YA/Hy+pOoabUgp
YaMziDPRb//oEN5k5PwefyKJapn3YieENP2/lKKv7T2qngCfK/aCezDelulb
zzy4rLnkgOlgDYXc+EO/xhP45TToJoA8J2C3RvcAujCKp20A8FxpIGOCLAZJ
5Hw6jxE6g3YJdCLZeL0qsvHaYMvUzKxzwaE4NkzabzGjrItNl5/nlvvRdI72
A3FTen2NBBCdCQdzURd9TSWihx3mW+ogfZpngMuhZ26/Urx5v5yvqldd7FKw
Er1hFNAYsyrhAYKg1VYcSWmzI4+pCzitaHE4H8aMzDLQKw2xELcnCn0YUx2R
JtjsK1T78cUXDx5EqgYxUC9zD7IyMvSuMYouZ3Uj8bYemaFnzYMBsiSnVQyH
ciF9j8nT6rrcUc7RksrzE7Jzl3XaFNfSe9+z+A/puNHyL9dphb9bKaWHIkHL
A4JGuCqECE2L0/Q7jA7IIU+zHJT1noWW4yJNsqLaSmoictvYU6ZX+T5NcdqT
MqvbhDXT018RdAdYxbxfHuXqGCAf7ardndNLmtTAOUuOeqaaqAK3alte2UgX
enc4+/bd39++qrq0T4SNp3XIl3wE2RRNy52+2tk7QAOtTQ9DvHQDwWWI76xC
4drOjkA1y14TO+JmUfPqsS3MicpOfniLBQH1oCisw7QGd7tLjojrOBfkkTiW
u3L/02S8Wq1KmyRMSdwr+PulEmimpYmUBQMeuimCL7mn7fyb1uMW7TXorDP+
ngfchGfe6rSR86iY+iZX/yvKwccm2Q31jhLrfiE+O96ZItD8ZyW3cCochSxw
+Q2ss0jT1IeWInqim2N1jSgtWGrQ9gAhsg1ydmRUjUUi6eDHMd67/nBwPmZS
BJIZWzeCN6EhgUGLK3fUNCRXKccwEA1WcwDJYe8QzpwcJzsToW1KBGK1v0Eq
YJhBgklIVjeRuy7YhnRZmwaIHd9jvNef+V5/NoqCNC/OjBg50fM8efCOPgbB
+2MhZp+AC1JVFksLVSSmjgL0NhvRUUY0lLj8IczuSGNxytgsZ7ejopXgnn2Q
UYFpvohVVeey3KTIp11jCrfsA93bRpKMF7Bq5gANK55QsRXkIrUkHf0xFdoK
HRYgAAi3ykQ1vnMz5x3ZNVZsDFo5A5GGBHHArGoBueFA5E4CaNSiFOi52r66
ilXEp8yY7pl2JQ0KKsIsGa7GhkNsKl7ffJ4fcVXwZBuM2OCmaBdad6x6wZhf
rGfzVaAcB3uQeGcrh3jySEPiABcDVyMzAEvwLbMpFbcR9Y/weRX7lPEXu0US
GWm5gF1UQHSgVipg5QHlnw7hE/EY5Ag+oetQuz8iwdeFUJmXxIlCIdIm/y7E
dhvIZrAUpo8YbhtH3dUGJNh1SHcne87CeNOKt/hVpTrS6CsynxABjVoauR6z
O4t7clj9O2Ym+thYfjtfB2aLRoj6JdyYBapbTydIikA/gE+zIbHTFSF7Mf22
rzJV8nmuWVnpWNZk75Kl7JByWS8+LEBQFW+EAgh8fCwDY1G1YaPDCxyGEk63
q5FzruPWZhp7PhtXVKSr/9WCAFm6yvQBC6Vl+B5SKrZu5RXRA7GB1Y8nq/VU
yyvXK4b0rLwznWTdvTzIsXimU6PmzSY1Tr36b5gM4Tc2N18CqGWXyxbya2NE
XiMGgJCEjLV7kdHwI80wssoxyuuDs5VTnugi8zY6FjAsr8ktPLak65YwRPHt
frrkVHg2/3nKWaM3BkYbBTNWaqa1fDeD/RFNO8arHFzAvTse52HJdS74eE/w
lXaTXr60XQhn77V0VOhtEdgWJ1R2dE2TII1nkLsRI4ikz6PMfy2zYb04Ts2q
DGHkfu1ybrlMbQ1x3VgKaL3Qv0pTKmKuvq4flu1sWN9P1peFtrK0uBn7k+UO
LAW6kT2wlRJ70QtZh8Bz6xFaczPa8kChfwAU9n2QWT4JswhfMplaRvKqXRFo
sNcb/LzacW4Mi7l8MSEvu5xtYpPgiMoISwKPjKT0b8K9oTG40Fx4MzUN4j79
BwtpwsCs0M6sSDFuxhoGq7c/eAI4z5g1t2JX3UKXOHfLgnjMuLai9ukmeVGV
9US8RWARu2exvnZWoP5ZUKxTLDc3tklz6JBvG3ijRUDBz31I8f912+Lh2LRF
BElfR9WtUq7h60XT7hUoaWAQ+VGwvHc5G7bj0DB3B7VbplZ+MzamQj8MnHPo
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

-->

</rfc>
