Re: [TLS] three ECHO issues

Christopher Wood <caw@heapingbits.net> Mon, 09 March 2020 15:32 UTC

Return-Path: <caw@heapingbits.net>
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 22ED13A1244 for <tls@ietfa.amsl.com>; Mon, 9 Mar 2020 08:32:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.09
X-Spam-Level:
X-Spam-Status: No, score=-2.09 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=heapingbits.net header.b=GaJRC1Ln; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=XylNB2hw
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 VwzDMKRX5ZsL for <tls@ietfa.amsl.com>; Mon, 9 Mar 2020 08:31:57 -0700 (PDT)
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9A60A3A1235 for <tls@ietf.org>; Mon, 9 Mar 2020 08:31:57 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id B52AD462; Mon, 9 Mar 2020 11:31:56 -0400 (EDT)
Received: from imap4 ([10.202.2.54]) by compute1.internal (MEProxy); Mon, 09 Mar 2020 11:31:57 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heapingbits.net; h=mime-version:message-id:in-reply-to:references:date:from:to :cc:subject:content-type; s=fm3; bh=C2xVm/79rYUjlC6FWWulhxj6uhAQ UCYqVh0DyQDQY4w=; b=GaJRC1LnUJoPatPlJfivvgD0S7aU8GYBXBGu8aeaKobF fc7UjBIICmbrBZlc8eGKsqmeYwKrf6neC1Geule8N/3JohAHMqZAqMwiPR7KgKIt O65np/1oZt9lQhg6kFN34f+w7fkk8G/D+CisrTAa5SLKMwTUltzyGylnGnUh7/0r 9KB06hDC/o/UO+tco6FFqkt8k2OaApoLJV+s18SJs6DsM5UXlCg4JfWuHMN8vZ8v JeTmYr8hHdra1Vn3rttOC1vt9wSwwYCF/GyuFf1F2HcrnsYQPPw3JERzZVs0kOm0 PSKYxiQaGF1CgJea4d6tRkoy/4ja2Tp+8YD3Olkaxw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=C2xVm/ 79rYUjlC6FWWulhxj6uhAQUCYqVh0DyQDQY4w=; b=XylNB2hwFnFuD66oVcrGE9 /gvAq0LK6BttF8tHspqa6PaYdKBdgcSsMxOVgaD8E6D7n9J050YMcTzkUaXPQ7wb ZwyN4eNgDvNbdQj1D4tn3txjxglVmy9q3jgdOSpJjipduMujRzVqQjH/mO0FVvW+ V3miMgcnmUIjkkmRr7A7uw2nE8baHmNNDxk4FHZLWZuXIa1BGE7jqCr+G7pVLHJf NY5dIiMJopQjnhsBRZCavO1Kg+Lf1LbT69IjO2l5SEQkUxh446hgQwo8xI2LY5h3 yvL0C+yzIRJjZkUhyITeSlyjwkaGfJJt2miZUQGFkx7qdOzwxCGvTnhfV5PmB9UQ ==
X-ME-Sender: <xms:a2FmXtUOJ6UFv2yDP_Q7mklIesX6lroUxyREcE7Y6wJqb64cwRFn7A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedruddukedgjeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdevhhhr ihhsthhophhhvghrucghohhougdfuceotggrfieshhgvrghpihhnghgsihhtshdrnhgvth eqnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheptggr fieshhgvrghpihhnghgsihhtshdrnhgvth
X-ME-Proxy: <xmx:a2FmXkDq0RBe8P14TnEtDkk1t8h1uj3jK_-Cc4fHV3CW1Qxp_ruiJQ> <xmx:a2FmXiNQcB9pAzNRUorbB6sYOFYZTpoziMM-qsYENhZ2gDyiym2XiA> <xmx:a2FmXjN2gYnsQKXRr72q267mtFX6xdH-idFDG5KVYl2maxotSWeg5w> <xmx:bGFmXgS1SxYTSl6fNzUMXtar_svoS-rRyK1RlmVN1IeRntSF18H6Ig>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 1FC693C00A1; Mon, 9 Mar 2020 11:31:55 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.7-991-g5a577d3-fmstable-20200305v3
Mime-Version: 1.0
Message-Id: <32c734ae-46cb-48f9-b586-595c0b24ef6b@www.fastmail.com>
In-Reply-To: <CAHbrMsCdC3oebHKxQp6OF2RCmeZZpg6TH-tjJbMNcgrTjfj8Jw@mail.gmail.com>
References: <a212c2da-f2fd-9013-4934-a46e03b024f3@cs.tcd.ie> <87368A1A-0F1E-45C6-938C-0F755208E9B4@heapingbits.net> <7fc87dd2-88dd-16e9-979f-3770d41184b2@cs.tcd.ie> <5f325608-ea37-5ce6-67cd-139fac8a41b3@huitema.net> <f2b57747-54b0-118a-b4e3-ef7558d4d911@cs.tcd.ie> <CAHbrMsCdC3oebHKxQp6OF2RCmeZZpg6TH-tjJbMNcgrTjfj8Jw@mail.gmail.com>
Date: Mon, 09 Mar 2020 08:31:33 -0700
From: Christopher Wood <caw@heapingbits.net>
To: Ben Schwartz <bemasc@google.com>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Cc: Christian Huitema <huitema@huitema.net>, "TLS@ietf.org" <tls@ietf.org>
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/w7yI6AfSrOJrP4-TXbiCjgcFZ3U>
Subject: Re: [TLS] three ECHO issues
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: Mon, 09 Mar 2020 15:32:02 -0000

On Mon, Mar 9, 2020, at 8:23 AM, Ben Schwartz wrote:
> 
> 
> On Mon, Mar 9, 2020 at 6:49 AM Stephen Farrell 
> <stephen.farrell@cs.tcd.ie> wrote:
> > 
> >  Hiya,
> > 
> >  On 09/03/2020 02:13, Christian Huitema wrote:
> >  > On 3/8/2020 10:14 AM, Stephen Farrell wrote:
> >  > 
> >  >> I'm questioning whether that's a good goal or not. In my
> >  >> analysis of the various extensions, only SNI and ALPN seem
> >  >> to offer immediate value.
> >  > 
> >  > Uh, No. First, we do have fingerprinting attacks that look at the
> >  > pattern of extensions. If the extensions are encrypted in the ESNI, they
> >  > cannot do that. 
> > 
> >  Well... that depends on whether or not the outer CH that
> >  includes the inner exposes fingerprintable detail. If it
> >  were possible to define a minimal outer CH profile that
> >  everyone could use, then I'd be for that, but not sure
> >  it's feasible.
> 
> Instead of one profile for "everyone", the ECHOConfig could provide 
> instructions for forming the ClientHelloOuter.
> 
> BTW, enumerating the supported ALPNs in the ECHOConfig would solve the 
> ALPN padding problem (but now we're awfully close to cTLS...).
> 
> >  > And then, we have extensions that reveal a lot about the
> >  > app, like for example the QUIC parameters extension. Those are just as
> >  > sensitive as the ALPN.
> > 
> >  Wasn't in the OpenSSL code I looked at:-) But sure, if
> >  there are others that offer immediate value, good to know
> >  about 'em. What's a good ref for that? (I've not been
> >  keeping up to date with QUIC-detail.)
> > 
> >  The main problems I've seen in inner/outer variance
> >  so far relate to the TLS key share though - because
> >  that (and associated values) generate loads of internal
> >  state that has to be duplicated and that can have a
> >  bunch of hard to track side-effects in the code when
> >  the trial decryption is being checked.
> 
> It seems like trial decryption can be avoided by tagging the 
> ServerHello. For example, the client could include X random bytes in 
> the ClientHelloInner, and the server could echo them in cleartext if 
> ECHO is in use, or send X random bytes if ECHO decryption failed. (The 
> extra upstream bytes can probably be avoided by returning a hash of the 
> nonce or something.) Would this make implementation easier?

We might also consider dropping the "do not stick out" requirement altogether. That would make this much simpler: just put a flag in SH. 

Best,
Chris