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
>