Skip to content

Commit da977a9

Browse files
author
ID Bot
committed
Script updating gh-pages from 7391745. [ci skip]
1 parent b25d5ab commit da977a9

3 files changed

Lines changed: 37 additions & 22 deletions

File tree

draft-ietf-plants-merkle-tree-certs.html

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,22 @@
1313
<meta content="
1414
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.
1515
" name="description">
16-
<meta content="xml2rfc 3.33.0" name="generator">
16+
<meta content="xml2rfc 3.34.0" name="generator">
1717
<meta content="draft-ietf-plants-merkle-tree-certs-latest" name="ietf.draft">
1818
<!-- Generator version information:
19-
xml2rfc 3.33.0
20-
Python 3.12.13
21-
ConfigArgParse 1.7
19+
xml2rfc 3.34.0
20+
Python 3.14.5
21+
ConfigArgParse 1.7.5
2222
google-i18n-address 3.1.1
2323
intervaltree 3.2.1
2424
Jinja2 3.1.6
25-
lxml 6.0.2
26-
platformdirs 4.9.6
25+
lxml 6.1.1
26+
natsort 8.4.0
27+
platformdirs 4.10.0
2728
pycountry 24.6.1
2829
PyYAML 6.0.3
2930
requests 2.33.1
30-
wcwidth 0.7.0
31+
wcwidth 0.8.1
3132
-->
3233
<link href="draft-ietf-plants-merkle-tree-certs.xml" rel="alternate" type="application/rfc+xml">
3334
<link href="#copyright" rel="license">
@@ -1050,7 +1051,7 @@
10501051
</tr></thead>
10511052
<tfoot><tr>
10521053
<td class="left">Benjamin, et al.</td>
1053-
<td class="center">Expires 18 December 2026</td>
1054+
<td class="center">Expires 26 December 2026</td>
10541055
<td class="right">[Page]</td>
10551056
</tr></tfoot>
10561057
</table>
@@ -1063,12 +1064,12 @@
10631064
<dd class="internet-draft">draft-ietf-plants-merkle-tree-certs-latest</dd>
10641065
<dt class="label-published">Published:</dt>
10651066
<dd class="published">
1066-
<time datetime="2026-06-16" class="published">16 June 2026</time>
1067+
<time datetime="2026-06-24" class="published">24 June 2026</time>
10671068
</dd>
10681069
<dt class="label-intended-status">Intended Status:</dt>
10691070
<dd class="intended-status">Standards Track</dd>
10701071
<dt class="label-expires">Expires:</dt>
1071-
<dd class="expires"><time datetime="2026-12-18">18 December 2026</time></dd>
1072+
<dd class="expires"><time datetime="2026-12-26">26 December 2026</time></dd>
10721073
<dt class="label-authors">Authors:</dt>
10731074
<dd class="authors">
10741075
<div class="author">
@@ -1134,7 +1135,7 @@ <h2 id="name-status-of-this-memo">
11341135
time. It is inappropriate to use Internet-Drafts as reference
11351136
material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p>
11361137
<p id="section-boilerplate.1-4">
1137-
This Internet-Draft will expire on 18 December 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p>
1138+
This Internet-Draft will expire on 26 December 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p>
11381139
</section>
11391140
</div>
11401141
<div id="copyright">
@@ -3755,7 +3756,7 @@ <h2 id="name-certification-authorities">
37553756
<p id="section-5-2.2.1">A collision-resistant cryptographic hash function, used by the CA's issuance logs. SHA-256 <span>[<a href="#SHS" class="cite xref">SHS</a>]</span> is RECOMMENDED. Throughout this document, this hash function is referred to as HASH, and the size of its output in bytes is referred to as HASH_SIZE.<a href="#section-5-2.2.1" class="pilcrow">¶</a></p>
37563757
</li>
37573758
<li class="normal" id="section-5-2.3">
3758-
<p id="section-5-2.3.1">A series of issuance logs (<a href="#issuance-logs" class="auto internal xref">Section 5.2</a>), which contain all statements the CA has certified.<a href="#section-5-2.3.1" class="pilcrow">¶</a></p>
3759+
<p id="section-5-2.3.1">A series of issuance logs (<a href="#issuance-logs" class="auto internal xref">Section 5.2</a>), which contain all statements the CA has certified. One issuance log is designated as the current log.<a href="#section-5-2.3.1" class="pilcrow">¶</a></p>
37593760
</li>
37603761
<li class="normal" id="section-5-2.4">
37613762
<p id="section-5-2.4.1">A CA cosigner (<a href="#certification-authority-cosigners" class="auto internal xref">Section 5.4</a>), which signs subtrees of issuance logs to certify their contents.<a href="#section-5-2.4.1" class="pilcrow">¶</a></p>
@@ -3820,7 +3821,7 @@ <h3 id="name-certification-authority-ide">
38203821
<h3 id="name-issuance-logs">
38213822
<a href="#section-5.2" class="section-number selfRef">5.2. </a><a href="#name-issuance-logs" class="section-name selfRef">Issuance Logs</a>
38223823
</h3>
3823-
<p id="section-5.2-1">A CA operates a series of issuance logs, each identified by a positive integer <em>log number</em>. Log numbers are numbered consecutively starting from 1. Each log number MUST be at most 65535 (2<sup>16</sup>-1).<a href="#section-5.2-1" class="pilcrow">¶</a></p>
3824+
<p id="section-5.2-1">A CA operates a series of issuance logs, each identified by a positive integer <em>log number</em>. Log numbers are numbered consecutively from 1 to at most 65535 (2<sup>16</sup>-1).<a href="#section-5.2-1" class="pilcrow">¶</a></p>
38243825
<p id="section-5.2-2">Each issuance log has a <em>log ID</em>, which is a trust anchor ID constructed by concatenating the following OID components:<a href="#section-5.2-2" class="pilcrow">¶</a></p>
38253826
<ul class="normal">
38263827
<li class="normal" id="section-5.2-3.1">
@@ -3838,6 +3839,7 @@ <h3 id="name-issuance-logs">
38383839
<p id="section-5.2-6">Each log additionally maintains a <em>minimum index</em> value, which is the index of the first log entry which is available. See <a href="#log-pruning" class="auto internal xref">Section 5.2.3</a>. This value changes over the lifetime of the log.<a href="#section-5.2-6" class="pilcrow">¶</a></p>
38393840
<p id="section-5.2-7">Unlike <span>[<a href="#RFC6962" class="cite xref">RFC6962</a>]</span> and <span>[<a href="#RFC9162" class="cite xref">RFC9162</a>]</span>, an issuance log does not have a public submission interface. The log only contains entries which the log operator, i.e. the CA, chose to add. As entries are added, the Merkle Tree is updated to be computed over the new sequence.<a href="#section-5.2-7" class="pilcrow">¶</a></p>
38403841
<p id="section-5.2-8">A snapshot of the log is known as a <em>checkpoint</em>. A checkpoint is identified by its <em>tree size</em>, that is the number of elements committed to the log at the time. Its contents can be described by the Merkle Tree Hash (<span><a href="https://rfc-editor.org/rfc/rfc9162#section-2.1.1" class="relref">Section 2.1.1</a> of [<a href="#RFC9162" class="cite xref">RFC9162</a>]</span>) of entries zero through <code>tree_size - 1</code>.<a href="#section-5.2-8" class="pilcrow">¶</a></p>
3842+
<p id="section-5.2-9">At any point in time, one of the CA's issuance logs is its <em>current</em> log. Initially, this is log 1. A CA MUST NOT append to any log that is not the current log. Logs before the current log may have historical entries. Logs after the current log MUST be empty. A CA MAY increment its current log number as part of recovering from certain operational failures.<a href="#section-5.2-9" class="pilcrow">¶</a></p>
38413843
<div id="log-entries">
38423844
<section id="section-5.2.1">
38433845
<h4 id="name-log-entries">
@@ -4910,7 +4912,7 @@ <h3 id="name-trusted-cosigners">
49104912
<h3 id="name-trusted-subtrees">
49114913
<a href="#section-7.4" class="section-number selfRef">7.4. </a><a href="#name-trusted-subtrees" class="section-name selfRef">Trusted Subtrees</a>
49124914
</h3>
4913-
<p id="section-7.4-1">As an optional optimization, a relying party MAY incorporate a periodically updated, predistributed list of trusted subtrees from one or more of the CA's issuance logs. This allows the relying party to accept landmark-relative certificates (<a href="#landmark-relative-certificates" class="auto internal xref">Section 6.4</a>) constructed against those subtrees.<a href="#section-7.4-1" class="pilcrow">¶</a></p>
4915+
<p id="section-7.4-1">As an optional optimization, a relying party MAY incorporate a periodically updated, predistributed list of trusted subtrees from the CA's current issuance log. This allows the relying party to accept landmark-relative certificates (<a href="#landmark-relative-certificates" class="auto internal xref">Section 6.4</a>) constructed against those subtrees.<a href="#section-7.4-1" class="pilcrow">¶</a></p>
49144916
<p id="section-7.4-2">Each trusted subtree contains:<a href="#section-7.4-2" class="pilcrow">¶</a></p>
49154917
<ul class="normal">
49164918
<li class="normal" id="section-7.4-3.1">
@@ -7227,6 +7229,9 @@ <h3 id="name-since-draft-ietf-plants-merkle-">
72277229
</li>
72287230
<li class="normal" id="appendix-E.16-1.4">
72297231
<p id="appendix-E.16-1.4.1">Added subtree test vector appendix<a href="#appendix-E.16-1.4.1" class="pilcrow">¶</a></p>
7232+
</li>
7233+
<li class="normal" id="appendix-E.16-1.5">
7234+
<p id="appendix-E.16-1.5.1">Define a CA's current issuance log and rules around that<a href="#appendix-E.16-1.5.1" class="pilcrow">¶</a></p>
72307235
</li>
72317236
</ul>
72327237
</section>

draft-ietf-plants-merkle-tree-certs.txt

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
PKI, Logs, And Tree Signatures D. Benjamin
66
Internet-Draft Google LLC
77
Intended status: Standards Track D. O'Brien
8-
Expires: 18 December 2026 Apple Inc.
8+
Expires: 26 December 2026 Apple Inc.
99
B. E. Westerbaan
1010
L. Valenta
1111
Cloudflare
1212
F. Valsorda
1313
Geomys
14-
16 June 2026
14+
24 June 2026
1515

1616

1717
Merkle Tree Certificates
@@ -63,7 +63,7 @@ Status of This Memo
6363
time. It is inappropriate to use Internet-Drafts as reference
6464
material or to cite them other than as "work in progress."
6565

66-
This Internet-Draft will expire on 18 December 2026.
66+
This Internet-Draft will expire on 26 December 2026.
6767

6868
Copyright Notice
6969

@@ -1135,7 +1135,8 @@ Table of Contents
11351135
size of its output in bytes is referred to as HASH_SIZE.
11361136

11371137
* A series of issuance logs (Section 5.2), which contain all
1138-
statements the CA has certified.
1138+
statements the CA has certified. One issuance log is designated
1139+
as the current log.
11391140

11401141
* A CA cosigner (Section 5.4), which signs subtrees of issuance logs
11411142
to certify their contents.
@@ -1207,7 +1208,7 @@ Table of Contents
12071208

12081209
A CA operates a series of issuance logs, each identified by a
12091210
positive integer _log number_. Log numbers are numbered consecutively
1210-
starting from 1. Each log number MUST be at most 65535 (2^16-1).
1211+
from 1 to at most 65535 (2^16-1).
12111212

12121213
Each issuance log has a _log ID_, which is a trust anchor ID
12131214
constructed by concatenating the following OID components:
@@ -1241,6 +1242,13 @@ Table of Contents
12411242
the Merkle Tree Hash (Section 2.1.1 of [RFC9162]) of entries zero
12421243
through tree_size - 1.
12431244

1245+
At any point in time, one of the CA's issuance logs is its _current_
1246+
log. Initially, this is log 1. A CA MUST NOT append to any log that
1247+
is not the current log. Logs before the current log may have
1248+
historical entries. Logs after the current log MUST be empty. A CA
1249+
MAY increment its current log number as part of recovering from
1250+
certain operational failures.
1251+
12441252
5.2.1. Log Entries
12451253

12461254
Each entry in the log is a MerkleTreeCertEntry, defined with the TLS
@@ -2368,8 +2376,8 @@ Table of Contents
23682376

23692377
As an optional optimization, a relying party MAY incorporate a
23702378
periodically updated, predistributed list of trusted subtrees from
2371-
one or more of the CA's issuance logs. This allows the relying party
2372-
to accept landmark-relative certificates (Section 6.4) constructed
2379+
the CA's current issuance log. This allows the relying party to
2380+
accept landmark-relative certificates (Section 6.4) constructed
23732381
against those subtrees.
23742382

23752383
Each trusted subtree contains:
@@ -4354,6 +4362,8 @@ Since draft-ietf-plants-merkle-tree-certs-04
43544362

43554363
* Added subtree test vector appendix
43564364

4365+
* Define a CA's current issuance log and rules around that
4366+
43574367
Authors' Addresses
43584368

43594369
David Benjamin

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ <h2>Preview for branch <a href="current-log-number">current-log-number</a></h2>
8585
<tr>
8686
<td><a href="current-log-number/draft-ietf-plants-merkle-tree-certs.html" class="html draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (HTML)">Merkle Tree Certificates</a></td>
8787
<td><a href="current-log-number/draft-ietf-plants-merkle-tree-certs.txt" class="txt draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (Text)">plain text</a></td>
88-
<td><a href="https://author-tools.ietf.org/api/iddiff?url_1=https://ietf-plants-wg.github.io/merkle-tree-certs/draft-ietf-plants-merkle-tree-certs.txt&amp;url_2=https://ietf-plants-wg.github.io/merkle-tree-certs/current-log-number/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
88+
<td>same as main</td>
8989
</tr>
9090
</table>
9191
<h2>Preview for branch <a href="lvalenta">lvalenta</a></h2>

0 commit comments

Comments
 (0)