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

Eric Rescorla <ekr@rtfm.com> Mon, 14 March 2016 11:32 UTC

Return-Path: <ekr@rtfm.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 172FC12D9CC for <tls@ietfa.amsl.com>; Mon, 14 Mar 2016 04:32:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.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 Z7-DIH-FtK6X for <tls@ietfa.amsl.com>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
Received: from mail-yw0-x234.google.com (mail-yw0-x234.google.com [IPv6:2607:f8b0:4002:c05::234]) (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 1A4E312D975 for <tls@ietf.org>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
Received: by mail-yw0-x234.google.com with SMTP id h129so163020203ywb.1 for <tls@ietf.org>; Mon, 14 Mar 2016 04:32:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; 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; d=1e100.net; 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 10.129.46.87 with SMTP id u84mr11602791ywu.129.1457955169325; Mon, 14 Mar 2016 04:32:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.249.5 with HTTP; Mon, 14 Mar 2016 04:32:09 -0700 (PDT)
In-Reply-To: <CAAF6GDeOFNgNt_+O=gkBedqP55qdnOpKKQ9-HOQ6i7fYpLanqw@mail.gmail.com>
References: <56E54B85.4050204@cs.tcd.ie> <CAAF6GDeOFNgNt_+O=gkBedqP55qdnOpKKQ9-HOQ6i7fYpLanqw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 14 Mar 2016 04:32:09 -0700
Message-ID: <CABcZeBP+1vmfNmmAr1+CcXUkNA0yS6CGa7La7ekQgtyFkiFtSQ@mail.gmail.com>
To: =?UTF-8?Q?Colm_MacC=C3=A1rthaigh?= <colm@allcosts.net>
Content-Type: multipart/alternative; boundary=001a114140baf78507052e00a33c
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/K5609vUxls4-_st3DB5qLticLTo>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] analysis of wider impact of TLS1.3 replayabe data
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: Mon, 14 Mar 2016 11:32:52 -0000

On Sun, Mar 13, 2016 at 8:51 PM, Colm MacCárthaigh <colm@allcosts.net>;
wrote:

> On Sun, Mar 13, 2016 at 4:14 AM, Stephen Farrell <
> stephen.farrell@cs.tcd.ie>; 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
DHE and PSK
modes work: you get a key in session N (which is authenticated) and you use
it
in session N+1.


-Ekr

. 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
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>