Re: [TLS] Merkle Tree Certificates
Hubert Kario <hkario@redhat.com> Tue, 21 March 2023 12:01 UTC
Return-Path: <hkario@redhat.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 8EB09C1522C6 for <tls@ietfa.amsl.com>; Tue, 21 Mar 2023 05:01:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.096
X-Spam-Level:
X-Spam-Status: No, score=-7.096 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, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com
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 agFYwHHfjXue for <tls@ietfa.amsl.com>; Tue, 21 Mar 2023 05:01:07 -0700 (PDT)
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 BD2CCC14CE5F for <tls@ietf.org>; Tue, 21 Mar 2023 05:01:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679400066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ap6PnMM3cFD9jRoPbXKr9CZiJuKcl9isZAx0kLGVSgA=; b=aP8AUYyqT/Rr8X7aFtw2m4FMCeROuZDsNmb83RfnZDzjJCZyXKeFgfZQw6hriqHbzlCvG3 He6rpbbQEppPyFylWcnSaMUZb9ndBIDSIvYMKui7uQDD1oNyuYULMYHj8xixW1+bBWGbF/ oclFz6OgdPjoTkXyK8srKV9/BtSCWnE=
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-447-nRufNCOWPkKyPHxTsBypQw-1; Tue, 21 Mar 2023 08:01:05 -0400
X-MC-Unique: nRufNCOWPkKyPHxTsBypQw-1
Received: by mail-wr1-f70.google.com with SMTP id j17-20020adfb311000000b002d660153278so612477wrd.20 for <tls@ietf.org>; Tue, 21 Mar 2023 05:01:05 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679400064; h=content-transfer-encoding:user-agent:organization:references :in-reply-to:message-id:mime-version:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CZoROpCxf2XgzJ3mTizrsc+4h1RZ5rpHHGRf/oVx7eA=; b=Cxfex1xST+0ylVLazA1N5A5BLEhXw9gkfIYFE1kb4tFlC8t5pnCMD5262omHZYarqy Dsz7Q+OJ30KDLE1P8KBQ5IZc3O2WHzBj9Vto9sRKIIE+XbsfakiW05ZYJS7Hv6XjrZcS Vh5QZE3i4QW77z3OsfwYniigVT6/uTJLgl9yNldR1qv0x76/YaE5r6Jp05l1Ng4kO86C fGvcGFUcuYTXh0fbkK5ZEnC0YBnb5oDu9VpWtWJSmVGOj3jZ9Hb1VbDWAKDX7Nxh3Ly5 HVZopoSJYJme/kUnLfyNEJ3IvsYpBlGbvmj8h6cZoIOYpeCMp/Iwq0XmUa91dTx4X4IT LzYQ==
X-Gm-Message-State: AO0yUKW3a7xFeISR0mjhJ8Mq3zHn33zSagon3Du8PMY/X5XHkH0YB+Ly 3acsIlsZoOtPU5NSQ8Cu/FLzegxxv2DWjVZrTAvRLLdI/0Cc89hjc+wsnWBI+zBH3cXrjuD1bbu fvQo=
X-Received: by 2002:a7b:ca57:0:b0:3ea:edd7:1f24 with SMTP id m23-20020a7bca57000000b003eaedd71f24mr2011082wml.39.1679400063935; Tue, 21 Mar 2023 05:01:03 -0700 (PDT)
X-Google-Smtp-Source: AK7set+9WUyJyvubAPrI/v0EcV3uufm6s1NTI8F+0IiFpl4bXt5OVB2IsPAArh+suAtsfcGtSk58Xg==
X-Received: by 2002:a7b:ca57:0:b0:3ea:edd7:1f24 with SMTP id m23-20020a7bca57000000b003eaedd71f24mr2011064wml.39.1679400063593; Tue, 21 Mar 2023 05:01:03 -0700 (PDT)
Received: from localhost (ip-94-112-137-58.bb.vodafone.cz. [94.112.137.58]) by smtp.gmail.com with ESMTPSA id e4-20020a05600c4e4400b003e8f0334db8sm19425725wmq.5.2023.03.21.05.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Mar 2023 05:01:03 -0700 (PDT)
From: Hubert Kario <hkario@redhat.com>
To: David Benjamin <davidben@chromium.org>
Cc: "Kampanakis, Panos" <kpanos@amazon.com>, "<tls@ietf.org>" <tls@ietf.org>, Devon O'Brien <asymmetric@google.com>
Date: Tue, 21 Mar 2023 13:01:02 +0100
MIME-Version: 1.0
Message-ID: <8f6ffb56-ed99-46b9-92c4-e07b75f7d85c@redhat.com>
In-Reply-To: <CAF8qwaBe6o3ASer_wnztse_Wk7RwofkpzuPfVGdo7AGjN6T9aw@mail.gmail.com>
References: <167848430887.5487.1347334366320377305@ietfa.amsl.com> <CAF8qwaD9x5v1uU6mLtnUAGMnBW881ZE0ymK8rsQzrV2hfj7yHA@mail.gmail.com> <e1bffaf7-bca0-45d0-a844-39d20473c446@redhat.com> <a24924a2cc2b4afba890660bdc2c220d@amazon.com> <CAF8qwaBe6o3ASer_wnztse_Wk7RwofkpzuPfVGdo7AGjN6T9aw@mail.gmail.com>
Organization: Red Hat
User-Agent: Trojita/0.7-git; Qt/5.15.7; xcb; Linux; Fedora release 36 (Thirty Six)
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/f9Z9HCD7fh4iDXEUfkb8IHefcl4>
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: Tue, 21 Mar 2023 12:01:09 -0000
On Monday, 20 March 2023 19:54:24 CET, David Benjamin wrote: > I don't think flattening is the right way to look at it. See my > other reply for a discussion about flattening, and how this does > a bit more than that. (It also handles SCTs.) > > As for RFC 7924, in this context you should think of it as a > funny kind of TLS resumption. In clients that talk to many > servers[0], the only plausible source of cached information is a > previous TLS exchange. Cached info is then: if I previously > connected to you and I am willing to correlate that previous > connection to this new one, we can re-connect more efficiently. > It's a bit more flexible than resumption---it doesn't replace > authentication, so we could conceivably use larger lifetimes. > But it's broadly the same w.r.t. when it can be used. It doesn't > help the first connection to a service, or a service that was > connected long enough ago that it's fallen off the cache. And it > doesn't help across contexts where we don't want correlation. > Within a web browser, things are a bit more partitioned these > days, > see https://github.com/MattMenke2/Explainer---Partition-Network-State/blob/main/README.md > and https://github.com/privacycg/storage-partitioning. Sorry, but as long as the browsers are willing to perform session resumption I'm not buying the "cached info is a privacy problem". It also completely ignores the encrypted client hello Browser doesn't have to cache the certs since the beginning of time to be of benefit, a few hours or even just current boot would be enough: 1. if it's a page visited once then all the tracking cookies and javascript will be an order of magnitude larger download anyway 2. if it's a page visited many times, then optimising for the subsequent connections is of higher benefit anyway > In comparison, this design doesn't depend on this sort of > per-destination state and can apply to the first time you talk > to a server. it does depend on complex code instead, that effectively duplicates the functionality of existing code > David > > [0] If you're a client that only talks to one or two servers, > you could imagine getting this cached information pushed > out-of-band, similar to how this document pushes some valid tree > heads out-of-band. But that doesn't apply to most clients, > certainly not a web browser. web browser could get a list of most commonly accessed pages/cert pairs, randomised to some degree by addition of not commonly accessed pages to hide if the connection is new or not, and make inference about previous visits worthless > On Tue, Mar 14, 2023 at 9:46 AM Kampanakis, Panos <kpanos@amazon.com> wrote: > Hi Hubert, > > I am not an author of draft-davidben-tls-merkle-tree-certs, but > I had some feedback on this question: > > RFC7924 was a good idea but I don’t think it got deployed. It > has the disadvantage that it allows for connection correlation > and it is also challenging to demand a client to either know all > its possible destination end-entity certs or be able to have a > caching mechanism that keeps getting updated. Given these > challenges and that CAs are more static and less (~1500 in > number) than leaf certs, we have proposed suppressing the ICAs > in the chain (draft-kampanakis-tls-scas-latest which replaced > draft-thomson-tls-sic ) , but not the server cert. > > I think draft-davidben-tls-merkle-tree-certs is trying to > achieve something similar by introducing a Merkle tree structure > for certs signed by a CA. To me it seems to leverage a Merkle > tree structure which "batches the public key + identities" the > CA issues. Verifiers can just verify the tree and thus assume > that the public key of the peer it is talking to is "certified > by the tree CA". The way I see it, this construction flattens > the PKI structure, and issuing CA's are trusted now instead of a > more limited set of roots. This change is not trivial in my > eyes, but the end goal is similar, to shrink the amount of auth > data. > > > > -----Original Message----- > From: TLS <tls-bounces@ietf.org> On Behalf Of Hubert Kario > Sent: Monday, March 13, 2023 11:08 AM > To: David Benjamin <davidben@chromium.org> > Cc: <tls@ietf.org> <tls@ietf.org>; Devon O'Brien <asymmetric@google.com> > Subject: RE: [EXTERNAL][TLS] Merkle Tree Certificates > > CAUTION: This email originated from outside of the > organization. Do not click links or open attachments unless you > can confirm the sender and know the content is safe. > > > > Why not rfc7924? > > On Friday, 10 March 2023 23:09:10 CET, 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-0 >> 0.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-0 >> 0.html >> Htmlized: >> >> https://datatracker.ietf.org/doc/html/draft-davidben-tls-merkle-tree-c >> erts >> >> >> 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 >> >> >> > > -- > Regards, > Hubert Kario > Principal Quality Engineer, RHEL Crypto team > Web: www.cz.redhat.com > Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic > -- Regards, Hubert Kario Principal Quality Engineer, RHEL Crypto team Web: www.cz.redhat.com Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic
- [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates Stephen Farrell
- Re: [TLS] Merkle Tree Certificates Hubert Kario
- Re: [TLS] Merkle Tree Certificates Kampanakis, Panos
- Re: [TLS] Merkle Tree Certificates Kampanakis, Panos
- Re: [TLS] Merkle Tree Certificates Watson Ladd
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates Hubert Kario
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates Kampanakis, Panos
- Re: [TLS] Merkle Tree Certificates Ilari Liusvaara
- Re: [TLS] Merkle Tree Certificates Hubert Kario
- Re: [TLS] Merkle Tree Certificates Bas Westerbaan
- Re: [TLS] Merkle Tree Certificates Ilari Liusvaara
- Re: [TLS] Merkle Tree Certificates Kampanakis, Panos
- Re: [TLS] Merkle Tree Certificates Hubert Kario
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates David Benjamin
- Re: [TLS] Merkle Tree Certificates Ilari Liusvaara
- Re: [TLS] Merkle Tree Certificates Bas Westerbaan
- Re: [TLS] Merkle Tree Certificates Ilari Liusvaara
- Re: [TLS] Merkle Tree Certificates Rob Sayre
- Re: [TLS] Merkle Tree Certificates Bas Westerbaan