[Plants] Re: I-D Action: draft-ietf-plants-merkle-tree-certs-06.txt

David Benjamin <davidben@chromium.org> Tue, 22 September 2026 19:12 UTC

Received: from mail-ed2-x0f.google.com (mail-ed2-x0f.google.com [IPv6:2a00:1450:4864:33::f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 9FA8A31 for <plants@ietf.org>; Tue, 22 Sep 2026 19:12:42 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=chromium.org header.s=google header.b=V6fwXjqk; arc=pass ("google.com:s=arc-20260327:i=1"); dmarc=pass (policy=none) header.from=chromium.org; spf=pass (mx.ietf.org: domain of davidben@google.com designates 2a00:1450:4864:33::f as permitted sender) smtp.mailfrom=davidben@google.com
Received: by mail-ed2-x0f.google.com with SMTP id 4fb4d7f45d1cf-6aab226e7c8so383066a12.2 for <plants@ietf.org>; Tue, 22 Sep 2026 12:12:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1790104356; cv=none; d=google.com; s=arc-20260327; b=j9IoY2GmTXr8yYd46MKIIJZXVFAkL856kAyFD+Hw1yyLjs2JNnQKP9g/Dcz26Ik1lQ DByDJaIzeMBJtXBF9Rkm2GBiutSCBuHfi27DwruBHJ4IdQRyJHSyGsZKITm4CJi80rfs 3EQoZtmvzcYeJcw9Y5Ly50rFdjBhNDiX3q+aNFUbx2CUWAiE7YOhAowxpE2q29Jf9l+c IQM9/bgnXtysoPeOkMWQn1UZBaBJN/wDtVrWrcRBK+xK9RBg+r1+xeTrSXVYm0NjTLC8 YZrxnkI9BcA+fzuocj+V5vfDOR/7tXDqjSr0BZlx2fX/ZtfAJ9CZ6Rr+or2SRVKpX9Vy 5gLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=nr7IezYML/fKFfudJrAtAgAv8Nbaw+ZfJduPLYACfHE=; fh=42UuZ9zQKOUiv3TeQQsOXyKidIRAEyfKOp+d95d/h+g=; b=GaPLwx/8rbqtbjBf956/VbAywDi0hQO5oBvEhihdYEbI2J+kB+CATSJwjzo+dJZQ2q 0daasf6Ao2tzoIbOQasZzWzxmfxCBBxOlsUGmXbjmS6smOTZ3uFPOrJuKk63WFKnjeLk w5gA2lHsHSTw3SQur+fScwRUOwnRFC6j7XxQP4w41AAh2VDcZd1S2//0Ou1Q8Z3K1gwX 2+9tpRvof0Lvu8qqZTgmx7wdYRlubbhkzqd/AfBVbB4Nt6wiiW3kPcVop3JkG6mOz3/k 4cyS/5bWBFm0VQuh15BrnUT0D4j0rgs+zi9+34xB41xRtwLzp3sDx+oIXEWpDfHuLw/Y a9jQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1790104356; x=1790709156; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=nr7IezYML/fKFfudJrAtAgAv8Nbaw+ZfJduPLYACfHE=; b=V6fwXjqkr93Rjgc9RRSMJVAm9Az0iY8jz8KG4WSi+ip209gvueGMoitzdGjfghSgfU vVJfaF+pvU+GLux5AfDzlWLLuAIfCWoMEhCV7Nmw8Qc5YbXqIRqNR5wLJwhy3IlV/Dya M2PDWjH5nPWEgUxTXguLC0csuqHhn7BEXNlKA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790104356; x=1790709156; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=nr7IezYML/fKFfudJrAtAgAv8Nbaw+ZfJduPLYACfHE=; b=1928Vnsi0XQn3axV+vv2hn3jJltfwjW2JmhL5aMZaP/BcgYP2vqUmdXR7y0techw4t FsjCFOqA9MB1fd+3aNdX350zAB8vEYXWZCYfLnmAlSQzAZ0bLBRcka4ET8i+gflgdePl YQOKaCqDmWeSuVcz19FjD6F4TJDrPVDLa2m257zuEpJZ4WoCyXBPY/KmMNEsugftKToA x4h6aKVBcGAHA5CpPX/yGIvG1N4aXKr/w8+Eo2j3b40cfMA7Y3S0/dYLbJY56K1KFU02 DkJDWZHCirWJ2QhOhHWZG8tIzJSwuoro+b97UO6lfmTM8v8xjp1XyvbjSBRmi7ojHSQY xF8g==
X-Gm-Message-State: AFuF++kCOb4okny1KxE+MV7f6u3/FIaXtGbe8sUHmbSLCDrzJ5izJNDB h40uUb3WB1WQYYy0CHIgLEEBm7LDOMHHxUXS8A3FbP4C0a2xi3H+AHy9Wy1rcxtd3lB3XdHfNsY tYW/cgBY+z/gHQvPjp26Oo/3FQ3+wJI0fjx+qXa3KYYEcdzDFNAmRdqScLA==
X-Gm-Gg: AYBFou0yI99WN+MOFJVivuO94/ZjgRWRbwOGzLRVtyxyy9jvS93GVtYH8KZAjRAkd6G BmHFe5KX4pEkh+WfuF2qquOjMnpk4eYDbYz5AWcxfGLl/Y8vnr7FSlXjHASQsoD/zIprMlYNBIA IaM6p1Ueo7AxgqdKt1IsdLHB5KBIluI2Q7QBnykDc7FDfItY8rR7UKIsqCRVxOQ7lUSSFV9AZj2 anWgONkU/d78+XrdLyCC5GKsLfZW62yQ3xBOtAGOzUYMx/HuDdwE8XYC/ulLBK0j08vWFkyd6Pv igiDH3iyw63HL6YcWMIM+pqzgU3gbK/tyUmaQ6sLclnCMS0Hni0QwL1+xMlNYl1RxLK3YlZt+bA urF/8NX0MQYANf53338Yds0Zx0jtkLKC2CUAk2gK5
X-Received: by 2002:a05:6402:2113:b0:6aa:b341:3f9a with SMTP id 4fb4d7f45d1cf-6aab3b82b26mr235108a12.39.1790104355506; Tue, 22 Sep 2026 12:12:35 -0700 (PDT)
MIME-Version: 1.0
References: <179002381788.457812.14528431091737903783@dt-datatracker-fffdbdc97-z7cq6> <CAF8qwaDhL7ZbeiXG6cbrwq7EGGfV8w+AD6y7_BQshZLM_OL1TQ@mail.gmail.com> <P28OJsf--V-9@cbonnell.com> <CAF8qwaCmnjGkFuS0+t_Bzezu4wfiTy+_X_rT+HXLa0qfJp06jg@mail.gmail.com> <P28m1Rx--F-9@cbonnell.com> <CAF8qwaBPnUp+feyMF9rLSRcO9RwY1DXj=QZyTasRodgkLFk1GQ@mail.gmail.com-P28vpAi----9> <P29UhY_--N-9@cbonnell.com>
In-Reply-To: <P29UhY_--N-9@cbonnell.com>
From: David Benjamin <davidben@chromium.org>
Date: Tue, 22 Sep 2026 15:12:18 -0400
X-Gm-Features: AcwNN1Vlm5ZJRuR7jrtuYOmY8dwIIBy6LP24Jm9nSz7Ed0bJ0CxM2SDzKvrK17w
Message-ID: <CAF8qwaAf-Q7AYPJAWdTuwjV5MNQM92VCtYjq_Xvhj=wiy9codA@mail.gmail.com>
To: Corey Bonnell <dev=40cbonnell.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000003a50e4065c17265d"
X-Spamd-Bar: -
Message-ID-Hash: NB2K3U7WTK6ZH2LNKL4MVVOGY7WCPUXO
X-Message-ID-Hash: NB2K3U7WTK6ZH2LNKL4MVVOGY7WCPUXO
X-MailFrom: davidben@google.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Plants <plants@ietf.org>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Plants] Re: I-D Action: draft-ietf-plants-merkle-tree-certs-06.txt
List-Id: "PKI, Logs, And Tree Signatures" <plants.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/plants/5Du57GgWHnQXk5eWtT7ao6K8wVw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/plants>
List-Help: <mailto:plants-request@ietf.org?subject=help>
List-Owner: <mailto:plants-owner@ietf.org>
List-Post: <mailto:plants@ietf.org>
List-Subscribe: <mailto:plants-join@ietf.org>
List-Unsubscribe: <mailto:plants-leave@ietf.org>

Ah true, a certificate viewer might want to just generically dump an
MTCProof, even if it cannot usefully validate it. Fair enough.

https://github.com/ietf-plants-wg/merkle-tree-certs/pull/334

On Tue, Sep 22, 2026 at 3:02 PM Corey Bonnell <dev=
40cbonnell.com@dmarc.ietf.org> wrote:

> > Wouldn't you need such a mapping anyway?
>
> If MTCProof had a new OID, then no. The decoder sees the new OID and
> decodes the MTCProof with the 3-octet signatures length. If it sees the old
> OID, then it can decode with the 2-octet signatures length. None of that
> requires knowledge of the issuer, and no out-of-band information is
> required to decode.
>
> If the decoder is question is tightly coupled to a verifier, then perhaps
> it's acceptable to require context to decode. But there's other tooling
> such as certificate viewers, etc. that may not have access to
> issuer-specific information to successfully decode. For that tooling,
> having a fully self-describing format is optimal, and bumping the OID
> accommodates that.
>
> Thanks,
> Corey
>
>
>
> Sep 22, 2026, 12:24 by davidben@chromium.org:
>
> (Well it wouldn't strictly be a mapping from the issuer. I assume, when
> you parse the new OID out of the issuer, you record the protocol version it
> is. And then based on the protocol version, you decide what signatures you
> verify. But yes.)
>
> Wouldn't you need such a mapping anyway? A relying party should not accept
> a draft-05 signatureValue from a draft-06 MTCA. Granted, converting between
> draft-05 and draft-06 is "obvious" but if you crossed the streams between,
> say, draft-03 and draft-04, you'd have a problem because we added an
> extensions block at that point.
>
> On Tue, Sep 22, 2026 at 11:42 AM Corey Bonnell <dev=
> 40cbonnell.com@dmarc.ietf.org> wrote:
>
> My assumption is that it's unwieldy to maintain a mapping of issuers to
> MTCProof serialization formats, especially when that information can be
> directly encoded in the OID.
>
> Thanks,
> Corey
>
>
>
> Sep 22, 2026, 11:20 by davidben@chromium.org:
>
> OIDs are cheap, so that's easy enough. Though I was also thinking of
> requesting candidate[*] "final" OIDs from the PKIX registry soon, and
> that'll make this moot.
>
> I originally didn't bump those just because their contents are meaningless
> without knowing the issuer anyway. If you know the issuer, you know the
> issuer version and can interpret the MTCProof accordingly. If you don't
> know the issuer, the signature value isn't very useful to you anyway (you
> don't even know the log hash).
>
> Clearly my reasoning was overly simplistic, since it's been a nuisance for
> you. I'm curious where the gap is.
>
> David
>
> [*] Obviously the document won't be done and the WG may yet make
> backwards-incompatible changes. If we do, we'll need to get new final OIDs
> and abandon the old ones. But OIDs are cheap, so that's not a huge deal.
>
> On Tue, Sep 22, 2026 at 9:54 AM Corey Bonnell <dev@cbonnell.com> wrote:
>
> Hello,
> I was glad to see that a new (temporary) OID was assigned for the
> TrustAnchorID attribute type to reduce confusion caused by the switch from
> UTF8String to RELATIVE-OID.
>
> Given that the wire format of the MTCProof has changed (signatures field
> can now be up to 16 MB in size instead of 64KB), it would be good to assign
> a new temporary OID for id-alg-MTCProof to similarly reduce confusion.
>
> Could this be done in a fast follow-up -07?
>
> Thanks,
> Corey
>
>
>
> Sep 21, 2026, 16:58 by davidben@chromium.org:
>
> Hi buds!
>
> Here is a cutting of draft-06 from the main branch. Here's a copy of the
> changelog. Implementations are starting to sprout, so things have shifted
> to rooting out the last few issues in advance of a concrete target for the
> first real deployments. Here's the changelog, reproduced from the appendix:
>
> * Use 24-bit length prefix for MTCProof subtree signatures.
> * Renamed MerkleTreeCertEntry, etc., structures to MTCLogEntry to be
> consistent with MTCProof, shorter, and help disambiguate the many English
> meanings of "entry".
> * Fixed one of the accumulated test vectors to better reflect one of the
> edge cases in subtree covering.
> * Make empty subtrees valid, so the subtree covering function always
> returns two subtrees.
> * Add an informative reference to the MTC-TLOG profile (c2sp.org/mtc-tlog)
> and mention it where tile-based logs are discussed.
> * Clarify that a landmark consists of both a number and a tree size, and
> that a landmark's subtrees share its landmark number.
> * Give an exact procedure for selecting the landmark and covering subtree
> when constructing a landmark-relative certificate.
> * Prune the pruning discussion. It's really a property of the log serving
> protocol and is better described in [MTC-TLOG] and [TLOG-TILES].
> * Fix the maximum log index to account for also end being 48-bit.
> * Discuss a potential overflow in the valid subtree definition.
> * Describe how a party holding a standalone certificate can construct the
> corresponding landmark-relative certificate itself.
> * Added test vectors for subtree algorithms in larger trees.
> * Align the experimental OID with the final one in the X.509 name
> construction in using RELATIVE-OID directly.
> * Lifted the tree hash into the MTC CA extension OID, so it can capture
> new tree constructions more generally.
> * Update for draft-ietf-tls-trust-anchor-ids-05, and spell out certificate
> configuration explicitly.
> * Define active landmarks around landmark expiry and put the expiry time
> in the landmark format.
> * Fix an interaction between landmark-relative certs and TLS
> certificate_authorities.
>
> A peony for your thoughts,
>
> David
>
> On Mon, Sep 21, 2026 at 4:51 PM <internet-drafts@ietf.org> wrote:
>
> Internet-Draft draft-ietf-plants-merkle-tree-certs-06.txt is now
> available. It
> is a work item of the PKI, Logs, And Tree Signatures (PLANTS) WG of the
> IETF.
>
>    Title:   Merkle Tree Certificates
>    Authors: David Benjamin
>             Devon O'Brien
>             Bas Westerbaan
>             Luke Valenta
>             Filippo Valsorda
>    Name:    draft-ietf-plants-merkle-tree-certs-06.txt
>    Pages:   104
>    Dates:   2026-09-21
>
> Abstract:
>
>    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.
>
> The IETF datatracker status page for this Internet-Draft is:
> https://datatracker.ietf.org/doc/draft-ietf-plants-merkle-tree-certs/
>
> There is also an HTML version available at:
> https://www.ietf.org/archive/id/draft-ietf-plants-merkle-tree-certs-06.html
>
> A diff from the previous version is available at:
>
> https://author-tools.ietf.org/iddiff?url2=draft-ietf-plants-merkle-tree-certs-06
>
> Internet-Drafts are also available by rsync at:
> rsync.ietf.org::internet-drafts
>
>
> _______________________________________________
> Plants mailing list -- plants@ietf.org
> To unsubscribe send an email to plants-leave@ietf.org
>
>
>
> _______________________________________________
> Plants mailing list -- plants@ietf.org
> To unsubscribe send an email to plants-leave@ietf.org
>
>
> _______________________________________________
> Plants mailing list -- plants@ietf.org
> To unsubscribe send an email to plants-leave@ietf.org
>