Skip to content

Commit 808db1c

Browse files
author
ID Bot
committed
Script updating gh-pages from 7a2d5f1. [ci skip]
1 parent 7e088b0 commit 808db1c

12 files changed

Lines changed: 70 additions & 35532 deletions

current-log-number/draft-ietf-plants-merkle-tree-certs.html

Lines changed: 0 additions & 7297 deletions
This file was deleted.

current-log-number/draft-ietf-plants-merkle-tree-certs.txt

Lines changed: 0 additions & 4391 deletions
This file was deleted.

current-log-number/index.html

Lines changed: 0 additions & 45 deletions
This file was deleted.

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

Lines changed: 23 additions & 20 deletions
Large diffs are not rendered by default.

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

Lines changed: 47 additions & 47 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: 23 January 2027 Apple Inc.
8+
Expires: 28 January 2027 Apple Inc.
99
B. E. Westerbaan
1010
L. Valenta
1111
Cloudflare
1212
F. Valsorda
1313
Geomys
14-
22 July 2026
14+
27 July 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 23 January 2027.
66+
This Internet-Draft will expire on 28 January 2027.
6767

6868
Copyright Notice
6969

@@ -1379,16 +1379,14 @@ Table of Contents
13791379
Note the subject's public key algorithm is incorporated into both
13801380
subjectPublicKeyAlgorithm and subjectPublicKeyInfoHash.
13811381

1382-
MTCLogEntry is an extensible structure. Future documents may define
1382+
MTCLogEntry is an extensible structure. Future documents MAY define
13831383
new values for MTCLogEntryType or MTCLogEntryExtensionType, with
13841384
corresponding semantics. See Section 5.4 and Section 12.5 for
13851385
additional discussion.
13861386

1387-
An MTCLogEntry's size SHOULD NOT exceed 65535 (2^16-1) bytes. Doing
1388-
so may exceed size limits in common log-serving protocols, such as
1389-
[TLOG-TILES]. TBSCertificateLogEntry does not include signatures and
1390-
hashes public keys, so post-quantum algorithms do not contribute to
1391-
this size.
1387+
An MTCLogEntry's size MUST NOT exceed 65535 (2^16-1) bytes.
1388+
TBSCertificateLogEntry does not include signatures and hashes public
1389+
keys, so post-quantum algorithms do not contribute to this size.
13921390

13931391
5.2.2. Publishing Logs
13941392

@@ -1397,7 +1395,7 @@ Table of Contents
13971395

13981396
This document does not prescribe a particular method of observing the
13991397
issuance log. The access protocols do not affect certificate
1400-
interoperability, and different applications may have different
1398+
interoperability, and different applications could have different
14011399
needs. For example, a PKI that authenticates public services might
14021400
publicly serve issuance logs, while a PKI that authenticates a single
14031401
organization's intranet services might keep the log private to the
@@ -1418,10 +1416,11 @@ Table of Contents
14181416
section.
14191417

14201418
Pruning makes some prefix of the log unavailable, without changing
1421-
the tree structure. It may be used to reduce the serving cost of
1422-
long-lived logs, where any entries have long expired. Section 10.3
1423-
discusses policies on when pruning may be permitted. This section
1424-
discusses how it is done and the impact on log structure.
1419+
the tree structure. It is a technique to reduce the serving cost of
1420+
long-lived logs, by dropping entries that have long expired.
1421+
Section 10.3 discusses policies on when pruning MAY be performed.
1422+
This section discusses how it is done and the impact on log
1423+
structure.
14251424

14261425
An issuance log is pruned by updating its _minimum index_ parameter
14271426
(Section 5.2). The minimum index is the index of the first log entry
@@ -1535,7 +1534,7 @@ Table of Contents
15351534
subtree, determined by the cosigner's role. This document defines
15361535
one concrete cosigner role, a CA cosigner (Section 5.4), to
15371536
authenticate the log and certify entries. Other documents and
1538-
specific deployments may define other cosigner roles, to perform
1537+
specific deployments MAY define other cosigner roles, to perform
15391538
different functions in a PKI. For example, [TLOG-WITNESS] defines a
15401539
cosigner that only checks the log is append-only, and [TLOG-MIRROR]
15411540
defines a cosigner that mirrors a log.
@@ -1605,7 +1604,7 @@ Table of Contents
16051604

16061605
start and end MUST define a valid subtree of the log, and
16071606
subtree_hash MUST be the subtree's hash value in the cosigner's view
1608-
of the log.
1607+
of the log. See Section 4.1.
16091608

16101609
If timestamp is non-zero, it MUST be the time that the signature was
16111610
produced. This time is represented as seconds since the Epoch, as
@@ -1618,27 +1617,28 @@ Table of Contents
16181617
cosigner has observed for the log.
16191618

16201619
timestamp MAY be zero, in which case no additional constraints are
1621-
placed on start or end, and no statement is made about the signing
1622-
time or largest observed tree.
1620+
placed on start or end (beyond being a valid subtree), and no
1621+
statement is made about the signing time or largest observed tree.
16231622

16241623
5.3.2. Signature Semantics
16251624

16261625
Before signing a subtree of some log, the cosigner MUST ensure that
16271626
subtree_hash is consistent with its view of the log. Different
1628-
cosigner roles may obtain this assurance differently. For example:
1627+
cosigner roles will obtain this assurance differently. For example:
16291628

1630-
* A cosigner may maintain a full copy of the log, e.g. if it's the
1629+
* A cosigner MAY maintain a full copy of the log, e.g. if it's the
16311630
log operator. The cosigner can then compute subtree_hash from
16321631
this copy.
16331632

1634-
* A cosigner may maintain the hash of the largest consistent tree
1633+
* A cosigner MAY maintain the hash of the largest consistent tree
16351634
observed by the log. The cosigner can then check subtree_hash
16361635
with a subtree consistency proof (Section 4.4).
16371636

1638-
In both cases, the cosigner MUST ensure that, as it updates its view
1639-
of the log, the old and new views are consistent. For example,
1640-
[TLOG-WITNESS] defines a cosigner that checks consistency proofs
1641-
(Section 2.1.4 of [RFC9162]) between the two views.
1637+
* A cosigner MAY maintain any other representation of the log which
1638+
allows it to verify the consistency of the log.
1639+
1640+
In all cases, the cosigner MUST ensure that, as it updates its view
1641+
of the log, the old and new views are consistent.
16421642

16431643
When a cosigner signs a subtree, it is held separately responsible
16441644
_both_ for the subtree being consistent with its other signatures,
@@ -1648,15 +1648,14 @@ Table of Contents
16481648
even if some other signed subtree exists that asserts different
16491649
entries.
16501650

1651-
Subtree signatures can be used to sign timestamped log checkpoints
1652-
with a non-zero timestamp. A signature with a non-zero timestamp
1651+
Subtree signatures can be used to sign timestamped log checkpoints by
1652+
using a non-zero timestamp. A signature with a non-zero timestamp
16531653
asserts the complete state of the cosigner's view of the log at a
16541654
given time. These signatures are not directly used in Merkle Tree
16551655
Certificates (Section 6.2), but cosigners MAY generate them, subject
1656-
to the rules above, as part of other functions in a PKI. This may
1657-
include log serving or integrating an issuance log into a
1658-
transparency ecosystem. For example, [TLOG-TILES] and [TLOG-WITNESS]
1659-
use such signatures.
1656+
to the rules above, as part of other functions in a PKI, such as log
1657+
serving or integrating an issuance log into a transparency ecosystem.
1658+
For example, [TLOG-TILES] and [TLOG-WITNESS] use such signatures.
16601659

16611660
5.3.3. Signature Algorithms
16621661

@@ -1698,12 +1697,12 @@ Table of Contents
16981697
TBSCertificateLogEntry, as defined in Section 5.2.1.
16991698

17001699
Entries are extensible. Future documents MAY define type and
1701-
extension_type values and what it means to certify them. A CA MUST
1702-
NOT sign a subtree if it contains an entry with type or
1703-
extension_type that it does not recognize. Doing so would certify
1704-
that the CA has validated the information in some not-yet-defined
1705-
format. Section 12.5 further discusses security implications of such
1706-
extensions.
1700+
extension_type values and the semantics of the data that they
1701+
contain. A CA MUST NOT sign a subtree if it contains an entry with
1702+
type or extension_type that it does not recognize. Doing so would
1703+
certify that the CA has validated the information in some not-yet-
1704+
defined format. Section 12.5 further discusses security implications
1705+
of such extensions.
17071706

17081707
If the CA issues certificate revocation lists (CRLs) [RFC5280] or
17091708
Online Certificate Status Protocol (OCSP) responses [RFC6960], the
@@ -1804,7 +1803,7 @@ Table of Contents
18041803
A CA certificate using this format SHOULD NOT be self-signed by the
18051804
Merkle Tree Certificate CA. Doing so would require writing the
18061805
information in the issuance log. Instead, if used to represent a
1807-
trust anchor, the certificate should be an unsigned certificate
1806+
trust anchor, the certificate SHOULD be an unsigned certificate
18081807
[RFC9925].
18091808

18101809
6. Certificates
@@ -1831,13 +1830,13 @@ Table of Contents
18311830
that subtree, which together satisfy relying party requirements
18321831
(Section 7.3)
18331832

1834-
For any given TBSCertificateLogEntry, there are multiple possible
1835-
certificates that may prove the entry is certified by the CA and
1836-
publicly logged, varying by choice of subtree and signatures.
1837-
Section 6.2 defines how the certificate is constructed based on those
1838-
choices. Section 6.3 and Section 6.4 define two profiles of Merkle
1839-
Tree Certificates, standalone certificates and landmark-relative
1840-
certificates, and how to select the subtree and signatures for them.
1833+
By varying the choice of subtree and signatures, there can be
1834+
multiple ways to prove the entry is in the log, and thus certified by
1835+
the CA. Section 6.2 defines how a certificate is constructed based
1836+
on those choices. Section 6.3 and Section 6.4 define two profiles of
1837+
Merkle Tree Certificates, standalone certificates and landmark-
1838+
relative certificates, and how to select the subtree and signatures
1839+
for them.
18411840

18421841
6.2. Certificate Format
18431842

@@ -2000,8 +1999,9 @@ Table of Contents
20001999

20012000
6.4.1. Landmark Tree Sizes
20022001

2003-
To issue landmark-relative certificates, a CA must additionally
2004-
maintain a _landmark sequence_, which is a sequence of _landmarks_.
2002+
A CA that issues landmark-relative certificates MUST additionally
2003+
maintain a _landmark sequence_. A landmark sequence is a sequence of
2004+
_landmarks_, defined below:
20052005

20062006
Each landmark consists of a number, used as an identifier for the
20072007
landmark, and a tree size, used as a common point of reference across

index.html

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,6 @@ <h2>Preview for branch <a href="link-rel-bikeshed">link-rel-bikeshed</a></h2>
4040
<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/link-rel-bikeshed/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
4141
</tr>
4242
</table>
43-
<h2>Preview for branch <a href="link-rel-enhancement">link-rel-enhancement</a></h2>
44-
<table id="branch-link-rel-enhancement">
45-
<tr>
46-
<td><a href="link-rel-enhancement/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>
47-
<td><a href="link-rel-enhancement/draft-ietf-plants-merkle-tree-certs.txt" class="txt draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (Text)">plain text</a></td>
48-
<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/link-rel-enhancement/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
49-
</tr>
50-
</table>
5143
<h2>Preview for branch <a href="demo-update">demo-update</a></h2>
5244
<table id="branch-demo-update">
5345
<tr>
@@ -56,14 +48,6 @@ <h2>Preview for branch <a href="demo-update">demo-update</a></h2>
5648
<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/demo-update/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
5749
</tr>
5850
</table>
59-
<h2>Preview for branch <a href="current-log-number">current-log-number</a></h2>
60-
<table id="branch-current-log-number">
61-
<tr>
62-
<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>
63-
<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>
64-
<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>
65-
</tr>
66-
</table>
6751
<h2>Preview for branch <a href="publishing-logs-editorial">publishing-logs-editorial</a></h2>
6852
<table id="branch-publishing-logs-editorial">
6953
<tr>
@@ -170,14 +154,6 @@ <h2>Preview for branch <a href="bas/timestamp-tai">bas/timestamp-tai</a></h2>
170154
<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/bas/timestamp-tai/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
171155
</tr>
172156
</table>
173-
<h2>Preview for branch <a href="log-number-security-considerations">log-number-security-considerations</a></h2>
174-
<table id="branch-log-number-security-considerations">
175-
<tr>
176-
<td><a href="log-number-security-considerations/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>
177-
<td><a href="log-number-security-considerations/draft-ietf-plants-merkle-tree-certs.txt" class="txt draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (Text)">plain text</a></td>
178-
<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/log-number-security-considerations/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
179-
</tr>
180-
</table>
181157
<h2>Preview for branch <a href="cite-9846">cite-9846</a></h2>
182158
<table id="branch-cite-9846">
183159
<tr>

0 commit comments

Comments
 (0)