Re: [TLS] Merkle Tree Certificates

David Benjamin <davidben@chromium.org> Mon, 05 June 2023 19:19 UTC

Return-Path: <davidben@google.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E3693C15107A for <tls@ietfa.amsl.com>; Mon, 5 Jun 2023 12:19:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.245
X-Spam-Level:
X-Spam-Status: No, score=-9.245 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hM1k1CAwl4Rd for <tls@ietfa.amsl.com>; Mon, 5 Jun 2023 12:19:36 -0700 (PDT)
Received: from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com [IPv6:2607:f8b0:4864:20::1136]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C62C1C151071 for <tls@ietf.org>; Mon, 5 Jun 2023 12:19:36 -0700 (PDT)
Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-565ee3d14c2so57023807b3.2 for <tls@ietf.org>; Mon, 05 Jun 2023 12:19:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1685992775; x=1688584775; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=hUeotZ20c5D68Bk7dVqUBdhwImhwfAs9VVCQe/5K5AM=; b=dGr4tW2IBO7znGKYWtbcODrzguRE4xeST9cYa9kPvuQf+UDTSDyxgKVo5215hoEVO0 GoHtGPGnUpjNfJiATMB2M5gBhOJNRSV1RaWEZkleBmgy5pwd7cwJbt9Gs4TcdadnQ9eZ fA2f8zIEH48hI20b+VPixbZWFDyzyKsdZTC3A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685992775; x=1688584775; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hUeotZ20c5D68Bk7dVqUBdhwImhwfAs9VVCQe/5K5AM=; b=PgqUSfgSOgYn4+X6GIH/WwBEwzwHCTMIyPr2YK4KZH7juL7J9CBkrkqX48Y9DLrV0h LjCnUnH+rPc6scY5/Npcz7IkrOewseYniCeW0zYlbfWL+b5hHTWGTAzQ7j+gs9RuYUck yBRcTY9BPILkpU68YMy1w1CHy34OmDQbhoIpIjHQgn2j2fpWqRqeJet8OcA0FeM14Cw6 eVTRHOkghXAcIWdmSv8uZFzarAvyATvddZVBMfzkDpXOWKNQamU5qDNSORLjHCuA1L7w YMIskZ0C9SbVZcoLWn9LSL2DbG9pHBg1MALS5jcB5qQ+EA3ubWCgdDoNI505fXtJpRzQ rgEA==
X-Gm-Message-State: AC+VfDwe0N0k3Q3XTUEFWGovdaDKQVxc5Z31HP0xL1eSW0AEkZxeGFFG 3ESVNSZ/jyEP9ZGuf0pF+h+Z2HC0PCqFrR7iPpw7
X-Google-Smtp-Source: ACHHUZ6zCb60qFbDYPnjcJzYEnBUCUbCkLlEMadJEAP/8dIZp4cPCP2sGrgCwJmUvtHaaKmVCrJrLYjEUG0IYiJcgAA=
X-Received: by 2002:a0d:cd06:0:b0:552:96e0:ccd0 with SMTP id p6-20020a0dcd06000000b0055296e0ccd0mr10064610ywd.16.1685992775537; Mon, 05 Jun 2023 12:19:35 -0700 (PDT)
MIME-Version: 1.0
References: <167848430887.5487.1347334366320377305@ietfa.amsl.com> <CAF8qwaD9x5v1uU6mLtnUAGMnBW881ZE0ymK8rsQzrV2hfj7yHA@mail.gmail.com> <189f6bfc-40bf-28ca-5cc1-43c96a5584d7@cs.tcd.ie>
In-Reply-To: <189f6bfc-40bf-28ca-5cc1-43c96a5584d7@cs.tcd.ie>
From: David Benjamin <davidben@chromium.org>
Date: Mon, 05 Jun 2023 15:19:18 -0400
Message-ID: <CAF8qwaBMRfyjDxMGkKgP1N=XYj0KN5fVLdmyh85tbKRMJrp4Eg@mail.gmail.com>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
Cc: tls@ietf.org, Devon O'Brien <asymmetric@google.com>
Content-Type: multipart/alternative; boundary="0000000000007b449205fd66c8c3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/K99z8Nr1C8fwpyI10gI-W4ylfHs>
Subject: Re: [TLS] Merkle Tree Certificates
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jun 2023 19:19:41 -0000

Hi all,

Sorry for the late reply on all these, and thanks for the feedback so far!
I lost track of this thread as I was putting together slides for IETF 116
and whatnot. I’ll reply to various outstanding emails individually...

On Sat, Mar 11, 2023 at 2:43 PM Stephen Farrell <stephen.farrell@cs.tcd.ie>
wrote:

>
> Hiya,
>
> I had a read and think this is a great topic for
> discussion.
>
> A few points:
>
> - I think we'd benefit from trying to think through
> the dynamics of this, e.g. how many of each entity
> might we see and how'd that differ from the current
> web PKI and possibly affect the web? (It's fine that
> that analysis emerge in time, not asking for it now.)
>

Yup. I think how deployments end up looking will definitely be interesting
to figure out. As you say, how this shakes out will emerge in time, but
sections 9 and 11 contain some initial thoughts.

One thing I think we could have conveyed more clearly is the relationship
between an overall certificate negotiation framework and this draft. We’re
interested in certificate negotiation because we think it’s a good fit for
a host of problems in the PKI, particularly around agility. Notable for
this draft is it gives more room to explore the tradeoff space, since we
can deploy different solutions for different requirements. Merkle Tree
Certificates represent one point in the tradeoff space.

We started with this draft because it was fairly self-contained. I’m hoping
we’ll have a more refined and concrete negotiation write-up next, which
might make some of this clearer. (What’s in there now is somewhat of a
placeholder.)


> - I do think the trust_anchors extension values might
> be better off as e.g. truncated hashes of public keys
> or something like that.
>

That doesn’t quite fit with some directions we’re envisioning, but I agree
having the IDs specified tightly would be nice. How about we put a pin in
this, and when we’ve got the write-up above ready, we can ponder this?


> - Aside from better on-the-wire efficiency, I think
> another reason to examine designs like this is that
> adding multiple public keys and signatures to x.509
> certs (one of the alternative designs) seems like it
> might be a bit of a nightmare, as PKI libraries are
> buggily updated to try handle that - designs like
> this seem better in terms of keeping the new code in
> a less risky place.
>
> Cheers,
> S.
>
> On 10/03/2023 22:09, David Benjamin wrote:
> > Hi all,
> >
> > I've just uploaded a draft, below, describing several ideas we've been
> > mulling over regarding certificates in TLS. This is a draft-00 with a lot
> > of moving parts, so think of it as the first pass at some of ideas that
> we
> > think fit well together, rather than a concrete, fully-baked system.
> >
> > The document describes a new certificate format based on Merkle Trees,
> > which aims to mitigate the many signatures we send today, particularly in
> > applications that use Certificate Transparency, and as post-quantum
> > signature schemes get large. Four signatures (two SCTs, two X.509
> > signatures) and an intermediate CA's public key gets rather large,
> > particularly with something like Dilithium3's 3,293-byte signatures. This
> > format uses a single Merkle Tree inclusion proof, which we estimate at
> > roughly 600 bytes. (Note that this proposal targets certificate-related
> > signatures but not the TLS handshake signature.)
> >
> > As part of this, it also includes an extensibility and certificate
> > negotiation story that we hope will be useful beyond this particular
> scheme.
> >
> > This isn't meant to replace existing PKI mechanisms. Rather, it's an
> > optional optimization for connections that are able to use it. Where they
> > aren't, you negotiate another certificate. I work on a web browser, so
> this
> > has browsers and HTTPS over TLS in mind, but we hope it, or some ideas in
> > it, will be more broadly useful.
> >
> > That said, we don't expect it's for everyone, and that's fine! With a
> > robust negotiation story, we don't have to limit ourselves to a single
> > answer for all cases at once. Even within browsers and the web, it cannot
> > handle all cases, so we're thinking of this as one of several sorts of
> PKI
> > mechanisms that might be selected via negotiation.
> >
> > Thoughts? We're very eager to get feedback on this.
> >
> > David
> >
> > On Fri, Mar 10, 2023 at 4:38 PM <internet-drafts@ietf.org> wrote:
> >
> >>
> >> A new version of I-D, draft-davidben-tls-merkle-tree-certs-00.txt
> >> has been successfully submitted by David Benjamin and posted to the
> >> IETF repository.
> >>
> >> Name:           draft-davidben-tls-merkle-tree-certs
> >> Revision:       00
> >> Title:          Merkle Tree Certificates for TLS
> >> Document date:  2023-03-10
> >> Group:          Individual Submission
> >> Pages:          45
> >> URL:
> >>
> https://www.ietf.org/archive/id/draft-davidben-tls-merkle-tree-certs-00.txt
> >> Status:
> >> https://datatracker.ietf.org/doc/draft-davidben-tls-merkle-tree-certs/
> >> Html:
> >>
> https://www.ietf.org/archive/id/draft-davidben-tls-merkle-tree-certs-00.html
> >> Htmlized:
> >>
> https://datatracker.ietf.org/doc/html/draft-davidben-tls-merkle-tree-certs
> >>
> >>
> >> Abstract:
> >>     This document describes Merkle Tree certificates, a new certificate
> >>     type for use with TLS.  A relying party that regularly fetches
> >>     information from a transparency service can use this certificate
> type
> >>     as a size optimization over more conventional mechanisms with post-
> >>     quantum signatures.  Merkle Tree certificates integrate the roles of
> >>     X.509 and Certificate Transparency, achieving comparable security
> >>     properties with a smaller message size, at the cost of more limited
> >>     applicability.
> >>
> >>
> >>
> >>
> >> The IETF Secretariat
> >>
> >>
> >>
> >
> >
> > _______________________________________________
> > TLS mailing list
> > TLS@ietf.org
> > https://www.ietf.org/mailman/listinfo/tls
>