Re: [TLS] 0RTT?

mrex@sap.com (Martin Rex) Tue, 05 August 2014 12:34 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB2521A0194 for <tls@ietfa.amsl.com>; Tue, 5 Aug 2014 05:34:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.552
X-Spam-Level:
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 mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yPJPtcqsXyZi for <tls@ietfa.amsl.com>; Tue, 5 Aug 2014 05:34:16 -0700 (PDT)
Received: from smtpde02.sap-ag.de (smtpde02.smtp.sap-ag.de [155.56.68.140]) by ietfa.amsl.com (Postfix) with ESMTP id 22CEF1A017C for <tls@ietf.org>; Tue, 5 Aug 2014 05:34:15 -0700 (PDT)
Received: from mail05.wdf.sap.corp by smtpde02.sap-ag.de (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: <CACsn0c==j7j+e8MPXvrOz816y=SQjxSDoDhWjoaY3V8bLofQHA@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
Date: Tue, 05 Aug 2014 14:34:13 +0200
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: <20140805123413.142131ADEF@ld9781.wdf.sap.corp>
From: mrex@sap.com
X-SAP: out
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/9H8SZo_2AxiHcflL-rJ8_zCASZ0
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] 0RTT?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
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: <http://www.ietf.org/mail-archive/web/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: Tue, 05 Aug 2014 12:34:19 -0000

Watson Ladd wrote:
> Martin Rex <mrex@sap.com> 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:
  http://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-00

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.

-Martin