Re: [TLS] [PSA] 0-RTT tolerance is mandatory

Hubert Kario <hkario@redhat.com> Fri, 06 July 2018 14:52 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 B094D130E57 for <tls@ietfa.amsl.com>; Fri, 6 Jul 2018 07:52:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 lTHd34Elkimg for <tls@ietfa.amsl.com>; Fri, 6 Jul 2018 07:52:15 -0700 (PDT)
Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 42038130EBA for <tls@ietf.org>; Fri, 6 Jul 2018 07:52:15 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3F97687A6E; Fri, 6 Jul 2018 14:52:14 +0000 (UTC)
Received: from pintsize.usersys.redhat.com (ovpn-200-22.brq.redhat.com [10.40.200.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1C81D215688A; Fri, 6 Jul 2018 14:52:11 +0000 (UTC)
From: Hubert Kario <hkario@redhat.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: Ilari Liusvaara <ilariliusvaara@welho.com>, "<tls@ietf.org>" <tls@ietf.org>
Date: Fri, 06 Jul 2018 16:51:58 +0200
Message-ID: <4232875.9kvh82n3Lj@pintsize.usersys.redhat.com>
In-Reply-To: <CABcZeBOybKcqWBqXxJ5fyX12vhJrq3n=dupVL5NcKR5jCfnYRA@mail.gmail.com>
References: <1857183.8Fq0dhFQ1N@pintsize.usersys.redhat.com> <2034146.0jKBJLNyPE@pintsize.usersys.redhat.com> <CABcZeBOybKcqWBqXxJ5fyX12vhJrq3n=dupVL5NcKR5jCfnYRA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2823217.hWFlhrhZEB"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Fri, 06 Jul 2018 14:52:14 +0000 (UTC)
X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Fri, 06 Jul 2018 14:52:14 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'hkario@redhat.com' RCPT:''
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/2DgQbT0qnRkf0tAyoIweiWTgUzA>
Subject: Re: [TLS] [PSA] 0-RTT tolerance is mandatory
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.26
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: Fri, 06 Jul 2018 14:52:18 -0000

On Wednesday, 4 July 2018 18:50:14 CEST Eric Rescorla wrote:
> On Wed, Jul 4, 2018 at 6:27 AM, Hubert Kario <hkario@redhat.com>; wrote:
> > On Wednesday, 4 July 2018 15:06:27 CEST Ilari Liusvaara wrote:
> > > On Wed, Jul 04, 2018 at 02:42:51PM +0200, Hubert Kario wrote:
> > > > All the implementations I deal with in my day-to-day work fail to
> > 
> > handle
> > 
> > > > the 0-RTT client hello correctly when the 0-RTT support is not enabled
> > 
> > on
> > 
> > > > the server.
> > > > 
> > > > I.e. they ignore the MUST clause from
> > > > https://tools.ietf.org/html/draft-ietf-tls-tls13-28#page-58 stating
> > 
> > that
> > 
> > > > the server can handle an early_data extension (and following encrypted
> > > > data) in only one of three ways, neither which allows for
> > > > unconditional
> > > > connection abort.
> > > > 
> > > > This also runs afoul the recommendation from
> > 
> > https://tools.ietf.org/html/
> > 
> > > > draft-ietf-tls-tls13-28#section-D.3 on 0-RTT backwards compatibility.
> > > 
> > > OTOH, such servers probably do not send out tickets allowing 0-RTT, so
> > > any client attempting 0-RTT with such server is very broken.
> > 
> > please read Section D.3, it is spelled out in detail there why that's not
> > the
> > case
> > 
> > 
> > the short of it: the client has no way of knowing if it is connecting to
> > the
> > same server/instance/process it received the ticket from
> 
> That's true if you have some kind of mixed rollout, but if you never
> supported
> 0-RTT, then there is something wrong with the client.

yes, from omniscient point of view, there is something wrong from the client

but I think we can agree that there are no omniscient TLS server 
implementations and there won't be for quite some time :)

(e.g. there could be a situation with a TLS-enabled transparent proxy between 
a client and a server that was later removed – internal corporate network vs. 
coffee shop)
-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic