Re: [TLS] Simpler backward compatibility rules for 0-RTT

Watson Ladd <watsonbladd@gmail.com> Wed, 22 June 2016 00:27 UTC

Return-Path: <watsonbladd@gmail.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 3B7FD12D868 for <tls@ietfa.amsl.com>; Tue, 21 Jun 2016 17:27:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 j3pv0Z63cHQG for <tls@ietfa.amsl.com>; Tue, 21 Jun 2016 17:27:17 -0700 (PDT)
Received: from mail-vk0-x22a.google.com (mail-vk0-x22a.google.com [IPv6:2607:f8b0:400c:c05::22a]) (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 CB56B12D0CB for <tls@ietf.org>; Tue, 21 Jun 2016 17:27:16 -0700 (PDT)
Received: by mail-vk0-x22a.google.com with SMTP id u64so42212487vkf.3 for <tls@ietf.org>; Tue, 21 Jun 2016 17:27:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=MjqS+l5woymZZ2rTGSnXh4LS0klUIiWmcxk8Srpg0w8=; b=X9p1/o5rSTafxKBVGDJHkkBvfL5tdrYRQxY1IrlToWllithN9Qc8CD3veT5o4aQ++K XIRj6y/b1LIRmHRFceiEs+gciBHUPJxoMSu/hzYxPdeRl9ZyUIPVJGkji/NQQi5s/5Pg NRlNM13E++Xg+REc75JvbV0Om8XehweAF2YonlLMGjnZzQN5PdOlmnu6m92EZmAyBiKc ptnH2RHZhAqZIbRLicbKhS+XFALJOEBGf3yfjeSKoffK3X0UTD1E3+evKxxt9zqXj+mi v0vWtLzG+Gnk4JX+fe+DM/H8++s0avaqCSQxMmw3dhPhx+vRECnFsmcNKtf8EO8o7VlR 2Mqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=MjqS+l5woymZZ2rTGSnXh4LS0klUIiWmcxk8Srpg0w8=; b=E3cM/zj+JDgCthcwGVdVDtZfXuj0lxm3hZ9G8Fji7e5RaRqOs/fE2DwXbwNVdD+Omq 25mSAc9lKVR5RRFv/o0MV4bsaE01O+0aS4kizrnm12zTwCKsQcHsUhzGd9G7fHCi+/UU nOk8DL+6xGjqJXxeiow6NkKtRzh4zfOeRFw25ASgcoCSzTe9BF2O2DmaOJdNdJ1T67VL 7dncqPQ6i736i3MKluvFG2KtGU7hCIPdFQB2hxXi6DF0QTOM7K41W3e4Xyny/k09UvHg 4APQdBYNolSo1L6Fw/WZdAUzdALkUCBIIwRnD5Iypytk6CAm58wYxWNH/pGVMct77Z3l NEXw==
X-Gm-Message-State: ALyK8tJyjWaNXyzuh+QKOE8qXm6ka1Csgb9xekKyAqON1NM7/tvv32NYzg5iCFc5jrryA1NSyU7oP8Bq0Y5wTQ==
MIME-Version: 1.0
X-Received: by 10.159.37.66 with SMTP id 60mr8841752uaz.56.1466555235444; Tue, 21 Jun 2016 17:27:15 -0700 (PDT)
Received: by 10.159.35.78 with HTTP; Tue, 21 Jun 2016 17:27:14 -0700 (PDT)
Received: by 10.159.35.78 with HTTP; Tue, 21 Jun 2016 17:27:14 -0700 (PDT)
In-Reply-To: <CABkgnnUsnz3Uh8dH=ke9uO82cgP3S7nJ0fgcs=JpsZu3qr0K0g@mail.gmail.com>
References: <CABkgnnVgD2rTgdWkTEhd1b6CUpj_i7wD4-_E2Dd2=nJf1eW5RQ@mail.gmail.com> <CAJ_4DfQ1ttyF0z9vwmuq-yEvbHrh+93k3rkJ7gzgDQZoQnuUpQ@mail.gmail.com> <20160621175413.GB2989@LK-Perkele-V2.elisa-laajakaista.fi> <CAF8qwaCQSERcYNr42=DB-ZcBQde5qkrk8R_AD2qnnEsdwi7NoA@mail.gmail.com> <CABkgnnUsnz3Uh8dH=ke9uO82cgP3S7nJ0fgcs=JpsZu3qr0K0g@mail.gmail.com>
Date: Tue, 21 Jun 2016 17:27:14 -0700
Message-ID: <CACsn0c=EcXyrB83HnSbWWrQG5T2AjDQdG2D408qiDjqXEY3Htg@mail.gmail.com>
From: Watson Ladd <watsonbladd@gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary="94eb2c124170da30040535d2ff3e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/MWELgM5gzIqcJ4pPtts3sm9XsPo>
Cc: tls@ietf.org
Subject: Re: [TLS] Simpler backward compatibility rules for 0-RTT
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 22 Jun 2016 00:27:19 -0000

On Jun 21, 2016 5:25 PM, "Martin Thomson" <martin.thomson@gmail.com> wrote:
>
> To be clear about this, I expect that browsers will do some fairly
> horrific things in response to this.  We will attempt to use 0-RTT,
> get TLS 1.2 and abort as described.

Isn't 0-RTT refusable? Why not treat 1.2 negotiation as a refusal?
>
> But then we will do the shameful thing and fall back to 1.2.  Plotting
> out the alternatives, I don't really see a better option.
>
> On 22 June 2016 at 04:45, David Benjamin <davidben@chromium.org> wrote:
> > On Tue, Jun 21, 2016 at 1:54 PM Ilari Liusvaara <
ilariliusvaara@welho.com>
> > wrote:
> >>
> >> On Tue, Jun 21, 2016 at 10:07:17AM -0700, Ryan Hamilton wrote:
> >> > On Mon, Jun 20, 2016 at 6:15 PM, Martin Thomson
> >> > <martin.thomson@gmail.com>
> >> > wrote:
> >> >
> >> > > David Benjamin wrote our section on 0-RTT backward compatibility
to be
> >> > > a little bit lenient about server deployment.  On consideration, I
> >> > > think that a simpler set of rules are better:
> >> > >
> >> > > 1. If the server advertises support for 0-RTT, then it implies a
> >> > > commitment to support TLS 1.3 for the duration of that
advertisement.
> >> > > 2. Therefore, if the client attempts 0-RTT, then it should reject a
> >> > > ServerHello with TLS 1.2 or older.
> >> > >
> >> >
> >> > How does this affect the situation where a server might attempt to
> >> > deploy
> >> > TLS 1.3, discover a bug, and need to rollback? Does it just magically
> >> > work?
> >>
> >> AFAIU, if one has 0-RTT-capable dynamic PSKs out there, one can only
roll
> >> back 0-RTT support, but has to wait for all the PSKs to expire beefore
> >> being able to roll back TLS 1.3.
> >>
> >> Of course, the period between deploying TLS 1.3 and deploying 0-RTT
> >> should test how things work without 0-RTT (but it does not test 0-RTT
> >> failing, which is _critical_ to work correctly).
> >
> >
> > Right, this is the deployment complexity I was hoping to avoid with the
> > section. I expect that large companies with TLS experts on staff will be
> > able to navigate this difficulty. We can deploy TLS 1.3, wait for
everything
> > to stick, and then turn on 0-RTT.
> >
> > But smaller and medium-size deployments may simply have a handful of
stock
> > installs of their favorite operating system and server software. People
like
> > things being fast, so either 0-RTT will be on by default on web servers
or
> > people will copy-and-paste config options. It's those deployments which
I
> > don't expect to get this right.
> >
> > This isn't a theoretical concern. OpenSSL and very early revisions of
> > BoringSSL had a bug around session handling with similar effects. If one
> > established a TLS 1.2 session and then later did a full TLS 1.0
handshake,
> > even though the TLS 1.2 session was *not* resumed, merely offering it
caused
> > OpenSSL to lock the version. Very early on in switching Chrome from NSS
to
> > BoringSSL, we hit interoperability issues due to this.
> > https://www.debian.org, at the time, had a heterogeneous deployment of
TLS
> > 1.0 and 1.2. This was rather messy to diagnose. Flaky failures are the
> > worst.
> >
> > I can also imagine this sort of thing happening if users turn antivirus
> > products with TLS MITMs on and off, or if they have a work machine with
a
> > TLS MITM certificate and enter/leave their networks. (I'm sure no one on
> > this list, myself included, has any love for this sort of
configuration, but
> > it is reality.)
> >
> > David
> >
> > _______________________________________________
> > 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