Re: [TLS] 0RTT? (Martin Rex) Tue, 05 August 2014 12:34 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id BB2521A0194 for <>; Tue, 5 Aug 2014 05:34:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.552
X-Spam-Status: No, score=-6.552 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id yPJPtcqsXyZi for <>; Tue, 5 Aug 2014 05:34:16 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 22CEF1A017C for <>; Tue, 5 Aug 2014 05:34:15 -0700 (PDT)
Received: from by (26) with ESMTP id s75CYDeu019037 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 5 Aug 2014 14:34:13 +0200 (MEST)
In-Reply-To: <>
To: Watson Ladd <>
Date: Tue, 5 Aug 2014 14:34:13 +0200 (CEST)
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <>
From: (Martin Rex)
X-SAP: out
Cc: "" <>
Subject: Re: [TLS] 0RTT?
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 05 Aug 2014 12:34:19 -0000

Watson Ladd wrote:
> Martin Rex <> wrote:
> > Watson Ladd wrote:
> >>
> >> I think I came up with a decent idea for handling 0RTT handshakes,
> >> namely making resumption 0RTT, and doing a side rekeying.
> >
> >
> > These idea(s) seem to based on a number of extremely optimistic
> > assumptions that have zero chance to get airborne in many usage
> > scenarios.
> >
> > The "regular" TLS session resumption means that client announces
> > a TLS session ID in ClientHello and server looks up that session ID
> > in its own cache for a match.  If there is no match, a regular
> > TLS full handshake proceeds.
> >
> > 0RTT is a no-go for a huge number of existing apps which do not
> > perform any fancy reconnect fallbacks at the application level
> > (closing the previous connection, opening a new connection and
> > starting a new handshake from scratch while requesting different
> > handshake characteristics this time).  For the general case
> > a 1RTT resumption is required, which can successfully perform
> > a full handshake in case that resumption is not possible,
> > without having to go through a connection/handshake failure.
> I think we can handle this by thinking about fallback options more
> carefully. Certainly a resend can be done at the implementation level
> with the new handshake: this will cost latency, but it can be done.

For 0RTT this option does not exist.  A multi-megabyte HTTP POST on top
of a 0RTT TLS connection would waste lots of resources before even
realizing that there is a problem and the bandwith was completely wasted.

For other TLS extensions, a possibility to restart/reset the ongoing
handshake could be defined so that TLS implementations could adopt
and transparently provide it.

But look at what gets pushed here in TLS WG instead:

which is a bogus proposal to panic and close the network connection
on the server side and dump a genuine TLS problem entirely on the
application caller of the clients TLS implementation.