Re: [TLS] TLS ECH, how much can the hint stick out?
Ben Schwartz <bemasc@google.com> Thu, 10 September 2020 21:26 UTC
Return-Path: <bemasc@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 AC3FC3A0906 for <tls@ietfa.amsl.com>; Thu, 10 Sep 2020 14:26:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CqKTwk5i_DQP for <tls@ietfa.amsl.com>; Thu, 10 Sep 2020 14:26:26 -0700 (PDT)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA1493A08D8 for <tls@ietf.org>; Thu, 10 Sep 2020 14:26:26 -0700 (PDT)
Received: by mail-io1-xd35.google.com with SMTP id z25so8780522iol.10 for <tls@ietf.org>; Thu, 10 Sep 2020 14:26:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CPMZGD+N8r0Rp2nzGkj5k0vbBPbXz++O6nKGAmRn8cg=; b=p4BwPENLDrikDcCSC9evIYUxD5R9emJL89cT8j2AEZkv1K2DkH9SBULsDQsFe9jOG7 g0qlIldgTGRuB0Wk9p1BJ4OREWGv9eiT836/D0wmF1NmI4oL4aeb3Xfu8BOnBzToXcQj xFbAasf/4+KZCVInlFdmN2LWAiwWhNTzN1TrVPNnVxClMFFnP0hvGfCmoxqzCukEyjJy bFBKA/vtYPySQ/ZGA73DR0ebO2TlA6k/tWLty6mtMOxlfh6txiOFLVJvqZLn/Qf0QMyo mrnuWAm+IXFzolUdbaXEE+CNHcRSkeES/5fY34KQq8r22Y0+kCZrE3z1tqxbY6WbQ11L TIbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CPMZGD+N8r0Rp2nzGkj5k0vbBPbXz++O6nKGAmRn8cg=; b=njC7PKzIe1oIlkWoEx6jFlz4GXx3F8aSmz0ei32BbEHkjqPal3uRqm1ul2trdpQIDp /CLlUL70t6Vn+RKr5Wugoi+i08DDcgwz9XsYC4eK4OizJy6ranjPog0+0C1htP0pEzJl MOPplH2O12YgLb7wv4RXCI/5KaraIrafnRktO58+jYhEYw+feiprf24BIvxCaiF6ixBM UT9Wuvhc3siYjDu8Dw2gqFQRaosrPXKegT4TADerewyE8IMART5LNE5Ld81EEuHWvY4v 5YR9OR/DS3zz3rCJG07btdO+BTVsVflMGUMfJrMq1x1xD5zkGdfB11qwMtngw31nRmK2 GzNA==
X-Gm-Message-State: AOAM531hKzv5do3DcKjRLd/aXkxfjsjpe9nRUWJWtGlFOMeYrHMV0Z0k vt2NQsafXcnzqtLJSeEChVb7Ebyqk7pfXHwqxEgV+A==
X-Google-Smtp-Source: ABdhPJx3L6mjW55iKz4JhHQjM3Ht6i3hdFwGkYJQdWGZ0SXy1qsDD8UBtsMPt1c8o/zZXhtkeKH0bJlqKDwIDFg7B6Q=
X-Received: by 2002:a05:6602:2e0e:: with SMTP id o14mr9526944iow.111.1599773185574; Thu, 10 Sep 2020 14:26:25 -0700 (PDT)
MIME-Version: 1.0
References: <d33c685c-6bf3-1584-4d95-1fe2cf6695e8@huitema.net> <CAG2Zi23NQRPUzHbVKSSSxR_eaNokVF--K9FfCNMagrCKnSHMZQ@mail.gmail.com> <CH2PR22MB2086C4A5232D3605F66D4F1ADA270@CH2PR22MB2086.namprd22.prod.outlook.com> <CABcZeBPx1DrKC_vCL-n4GUEbi0hLZ-PREhgJaog+Bkata3v14w@mail.gmail.com> <CH2PR22MB20863DBD4E21E059CF9EFCCFDA270@CH2PR22MB2086.namprd22.prod.outlook.com>
In-Reply-To: <CH2PR22MB20863DBD4E21E059CF9EFCCFDA270@CH2PR22MB2086.namprd22.prod.outlook.com>
From: Ben Schwartz <bemasc@google.com>
Date: Thu, 10 Sep 2020 17:26:14 -0400
Message-ID: <CAHbrMsBRixA4DxpOUvH0naL0iJO1W9gpv3=DARoxsiV8zZKBnQ@mail.gmail.com>
To: Mike Bishop <mbishop@evequefou.be>
Cc: Eric Rescorla <ekr@rtfm.com>, "tls@ietf.org" <tls@ietf.org>, Christopher Patton <cpatton=40cloudflare.com@dmarc.ietf.org>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="0000000000007a73bc05aefc3870"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/r2LrojO1e7IxLl4oS5N3HAkVnIs>
Subject: Re: [TLS] TLS ECH, how much can the hint stick out?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 10 Sep 2020 21:26:30 -0000
I don't know enough about QUIC's connection management rules to know whether Mike's scenario here is strictly compliant, but I don't think we need to figure that out, because the mitigation (mixing in ServerHello.Random[0:24]) is pretty trivial. The interesting question here is about mixing in the server key_share, which seems somewhat less trivial. On Thu, Sep 10, 2020 at 5:22 PM Mike Bishop <mbishop@evequefou.be> wrote: > Certainly it’s better for the server if it can be consistent, especially > if it expects multi-packet first flights. If the same back-end sees both, > it can discard the second, and that’s what I’d expect most of the time. > But here’s what I think is possible: > > > > The client sends an Initial packet (randomly selected Destination CID), > PTOs, then sends another Initial packet to the same Destination CID. On > the server side, the infrastructure assumes that Initial packets whose CIDs > aren’t issued by them can be routed to a random back-end, and that back-end > will set a new DCID that routes to it in the future. > > > > The client will receive either of the Server Initial packets, switch to > the new DCID, and will reject the other because attempts to change the > server’s CID a second time. The connection succeeds because whichever > server’s ServerHello is used also has its DCID used, so all subsequent > packets go to that back-end. > > > > *From:* Eric Rescorla <ekr@rtfm.com> > *Sent:* Thursday, September 10, 2020 3:58 PM > *To:* Mike Bishop <mbishop@evequefou.be> > *Cc:* Christopher Patton <cpatton=40cloudflare.com@dmarc.ietf.org>; > Christian Huitema <huitema@huitema.net>; tls@ietf.org > *Subject:* Re: [TLS] TLS ECH, how much can the hint stick out? > > > > > > > > On Thu, Sep 10, 2020 at 11:52 AM Mike Bishop <mbishop@evequefou.be> wrote: > > This is primarily an active attack, but not purely so. Clearly the MITM > is an active attacker, but there are situations in QUIC (and DTLS, I > presume) where a ClientHello gets retransmitted. Depending on server > infrastructure, the client might get two different responses. > > > > This doesn't sound correct. In this circumstance, the client and the > server might have mismatched SH values and the handshake will fail. To the > best of my knowledge, the server is required to behave consistently in this > case, even if it consists of multiple machines. > > > > -Ekr > > > > > > So I think we need to decide whether it’s a goal that, given that > relatively narrow situation, the observer shouldn’t be able to identify ECH > acceptance by comparing two ServerHellos that both respond to the same > ClientHello. > > > > *From:* TLS <tls-bounces@ietf.org> *On Behalf Of *Christopher Patton > *Sent:* Tuesday, September 8, 2020 2:23 PM > *To:* Christian Huitema <huitema@huitema.net> > *Cc:* tls@ietf.org > *Subject:* Re: [TLS] TLS ECH, how much can the hint stick out? > > > > Hi Christian, Hi list, > > > > The "don't stick out" property is a steganographic security goal: we want > the "real" protocol, i.e. TLS with ECH acceptance, to be indistinguishable > from the "cover" protocol, i.e., the handshake pattern in which the client > sends a "dummy" ECH extension that is ignored or rejected by the server. > This is a property that TLS was never designed to have, but it seems that > we need some degree of it in order to deploy ECH. The fundamental question > that Christian raises is what is the right threat model for this property. > > > > The "status quo" threat model considers a distinguisher that is strictly > passive---it does not interfere with a handshake or probe the server---and > that does not know the ECH configuration. This seems (to me, at least) > sufficient to account for middleboxes that might ossify on the ECH > extension. It also seems achievable, both by the ECH as it is and for the > proposed change. > > > > The distinguishing attacks described by Christian are much stronger, in > the sense that they involve an active attacker. I don't believe there is > any way of implementing ECH---either as it is or with the proposed > change---that defeats active attacks in general. In particular---and as > Christian points out---an active attacker can probe the server to learn the > ECH configuration (via the ECH retry logic), which it can use to easily > distinguish the real protocol from the cover protocol. This works > regardless of whether the change is adopted. > > > > In my view, achieving don't-stick-out-security against active attackers > requires us to revisit the design of ECH altogether. The main difficulty is > that client-facing servers publish the ECH configuration in a way that's > easily accessible to an active attacker. Keeping the configuration secret > may provide a way to achieve security, and some deployments might opt to do > this; but the vast majority won't. We might consider adding support for > this deployment scenario, but this can (and should, I think) wait for a > later draft. > > > > That said, it is worth considering mitigations against known attacks, in > particualr (1). I think the suggestion for mitigating (2) adds too much > complexity, and if it doesn't fully address the intended threat model (I > don't think it does), then we'll likely need to replace it in the future. I > think it's better to keep things simple until we fully address the intended > threat model. > > > > Best, > > Chris P. > > _______________________________________________ > TLS mailing list > TLS@ietf.org > https://www.ietf.org/mailman/listinfo/tls > > _______________________________________________ > TLS mailing list > TLS@ietf.org > https://www.ietf.org/mailman/listinfo/tls >
- [TLS] TLS ECH, how much can the hint stick out? Christian Huitema
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christopher Patton
- Re: [TLS] TLS ECH, how much can the hint stick ou… Ben Schwartz
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christopher Patton
- Re: [TLS] TLS ECH, how much can the hint stick ou… Mike Bishop
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christopher Patton
- Re: [TLS] TLS ECH, how much can the hint stick ou… Eric Rescorla
- Re: [TLS] TLS ECH, how much can the hint stick ou… Mike Bishop
- Re: [TLS] TLS ECH, how much can the hint stick ou… Ben Schwartz
- Re: [TLS] TLS ECH, how much can the hint stick ou… Eric Rescorla
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christian Huitema
- Re: [TLS] TLS ECH, how much can the hint stick ou… Martin Thomson
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christopher Patton
- Re: [TLS] TLS ECH, how much can the hint stick ou… Salz, Rich
- Re: [TLS] TLS ECH, how much can the hint stick ou… Blumenthal, Uri - 0553 - MITLL
- Re: [TLS] TLS ECH, how much can the hint stick ou… Ben Schwartz
- Re: [TLS] TLS ECH, how much can the hint stick ou… Karthik Bhargavan
- Re: [TLS] TLS ECH, how much can the hint stick ou… Karthik Bhargavan
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christian Huitema
- Re: [TLS] TLS ECH, how much can the hint stick ou… Karthik Bhargavan
- Re: [TLS] TLS ECH, how much can the hint stick ou… Martin Thomson
- Re: [TLS] TLS ECH, how much can the hint stick ou… Karthik Bhargavan
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christian Huitema
- Re: [TLS] TLS ECH, how much can the hint stick ou… Christopher Patton
- Re: [TLS] TLS ECH, how much can the hint stick ou… Salz, Rich
- Re: [TLS] TLS ECH, how much can the hint stick ou… Eric Rescorla