Re: [TLS] analysis of wider impact of TLS1.3 replayabe data

Eric Rescorla <> Mon, 14 March 2016 11:32 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 172FC12D9CC for <>; Mon, 14 Mar 2016 04:32:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Z7-DIH-FtK6X for <>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4002:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1A4E312D975 for <>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
Received: by with SMTP id h129so163020203ywb.1 for <>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7xeRrizyzPPSyawfrYB7cFvnZzuwwpkvyNQLY4a9ZS0=; b=FwvIQ+tFP0ynTljMArLxQovIG9+viyHenrbvVjWUTyP2XwI57ITO4bYxk7k3k3M+fz oakxnp/KdaGTuX3x2uF2s4pC3eyPT2oa3mfnZZYvtyfA7YtDLvBrOIEdc3bCPaZ+ikbg /Poeof4mLFYpybVAxyY45gBnI23IaMM2s7LRPAkhGIsq7w3T3uo8bpdhUeJGCjbiBzII CxK5A9znsZNF2U4iBkIfbFnDiIwSgx7sYMcX9+XuJSs4lHkBtkDXJgZztSmtjEHcyzGQ w7sa+y5Myl4azbOxipcTL2wzvArH0UneeRc/XcIfW9Sf9YdZFgVX0uMIbqci/i45GfNp XSFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7xeRrizyzPPSyawfrYB7cFvnZzuwwpkvyNQLY4a9ZS0=; b=cOi8Rma/VdmoDEE3B1VwnOsppVRk6acHf7frt+D5V4NVCn42LL4wk1oa9I1GIS3pGa 9oi7VMC1zKIHvgOpPuz/S/13vdPmM1QlDI2tMXeVPyFO1P5GSNEvOmQSgMOD2oF6pvSI qlR7wPSdD3snYMvh45Y+8UO/41MjxzEs8t6EmE4LGFbYSLZ80N9oeQCWGb15jQqazqqE vB8Htuq9gf8h3i6kX+jnm1Jk+PyUW2emzxEE/f6nnstW5wdIsls/NCY1L1Mt4n8etOrr SaN26+aoFLe7VdUAv8MISa8ivoj0yJSQDckyQJy1v245XnqTVpCswkaNCIIkyNZAGJaU QJPg==
X-Gm-Message-State: AD7BkJLbaiWNypML9IP/3G59P4qoglb/TcCc9L1MNIQ0ob2Vy68+o7EMoQpwI8MdTmfI8G1JvjAdscvEd0VQng==
X-Received: by with SMTP id u84mr11602791ywu.129.1457955169325; Mon, 14 Mar 2016 04:32:49 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Mon, 14 Mar 2016 04:32:09 -0700 (PDT)
In-Reply-To: <>
References: <> <>
From: Eric Rescorla <>
Date: Mon, 14 Mar 2016 04:32:09 -0700
Message-ID: <>
To: =?UTF-8?Q?Colm_MacC=C3=A1rthaigh?= <>
Content-Type: multipart/alternative; boundary=001a114140baf78507052e00a33c
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] analysis of wider impact of TLS1.3 replayabe data
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 14 Mar 2016 11:32:52 -0000

On Sun, Mar 13, 2016 at 8:51 PM, Colm MacCárthaigh <>

> On Sun, Mar 13, 2016 at 4:14 AM, Stephen Farrell <
>> wrote:
>> With 0rtt, I think it also becomes a dangerous
>> implement. So, that's my personal opinion, while not wearing an
>> AD hat.
> +1 for this as 0RTT is outlined in the draft. But to expand a little:
> * Losing forward secrecy for "GET" requests and user cookies seems like a
> very bad privacy trade-off. Collection of wire data, combined with a bug or
> an attack that could disclose the ECDH parameters, does not seem so far
> fetched these days.
> * I imagine that 0RTT data may be intended for pre-fetching hints, e.g.
> "I'm request URL foo as user bar, so please get a start on fetching the
> resources I need". That suggests trivial application-level "is the cache
> warm" side channels, or "lets trash the whole cache" DOS attacks, would
> both be common.
> * A vast number of APIs build on top of TLS/HTTPS are not idempotent or
> replay safe. Even carefully designed APIs may have subtle side effects such
> as a user being charged for the request, or the request counting towards a
> throttle of some kind. Even ones as silly as there go your 10 free nytimes
> articles; or booting an opponent out of your less-than-friendly sudoku
> tournament.
> * The draft calls out that early data needs to be handled differently than
> regular TLS data. This reminds me of the problems with renegotiatable
> client authentication - similar to what Marsh Ray highlighted a long time
> ago. What if a request or action spans both the early and the regular data
> sections? what would a "safe" API look like, for an SSL/TLS library layer?
> It seems like the benefits of of 0-RTT boil down to two things;
> 1. Increased throughput
> 2. Give the recipient a chance to a get a head-start on servicing some
> kind of request.
> For 1. Raw data throughput could be improved by envelope encrypting the
> early data; and transferring the envelope key only once the session has
> been fully authenticated

Can you expand on this. Cryptographically, this is effectively how both the
modes work: you get a key in session N (which is authenticated) and you use
in session N+1.


. Not that interesting to most people; but works. I can't think of a good
> way to achieve 2 without all of the problems that have been mentioned.
> At a minimum I'd suggest that the draft could not call it "data", but
> maybe instead "hint"; and make it so that early_data and application_data
> are not supposed to appear sequentially in a stream. E.g. someone calling
> TLSRead() or whatever should never expect to see the early_data; it's a
> deliberate and separate stream.

> --
> Colm
> _______________________________________________
> TLS mailing list