Re: [TLS] cross-domain cache sharing and 0rtt
Eric Rescorla <ekr@rtfm.com> Fri, 30 December 2016 16:15 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 36873129539 for <tls@ietfa.amsl.com>; Fri, 30 Dec 2016 08:15:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001] 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 qKOxfmg9kBhF for <tls@ietfa.amsl.com>; Fri, 30 Dec 2016 08:15:39 -0800 (PST)
Received: from mail-yw0-x229.google.com (mail-yw0-x229.google.com [IPv6:2607:f8b0:4002:c05::229]) (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 2E0711293F5 for <tls@ietf.org>; Fri, 30 Dec 2016 08:15:39 -0800 (PST)
Received: by mail-yw0-x229.google.com with SMTP id a10so228532191ywa.3 for <tls@ietf.org>; Fri, 30 Dec 2016 08:15:39 -0800 (PST)
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=k/teTKWYbuB7qbUfJ2puaTvNb7IuDqjUMZsZ2smd8QA=; b=u6/F29cRHIa21ZSb9TOHmgKokm8H/FhJxU4Jhjbmt3knAlNDdn9jkUnfw9r83Pe5kj lZPJ7T8VRAwda+iE2mASDKmo4n2ZfbbE/m+E0s694V49CczMCxBtXGV13BFSuhtzqAZZ a9Y5KGvFS10I3Qc3xaK/TlSfxYvoXBQCzMs58ospMhby/AilwIiIxf86X4zrBPWzWc9J Yss+Fu6egrBbhGXE8q/y4JKcD6BpHxnXbwigq/NQfsP6SlplDyLfhb6wS54tdKdP7sae BDKTcW4M5VTPaVS+8pZfx198loIjiXexJYC3B9T94oqqx7mtBbdF87wmMjX9qn6o8Pll vXmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=k/teTKWYbuB7qbUfJ2puaTvNb7IuDqjUMZsZ2smd8QA=; b=hDEdN/rW2kFRTO+29tzwAS5aP9/8g/11qVnKnEXegKSRT9O+TgcBCN3+6j366vACKC rUOjen8RQM2b/O6j/1/ddmhoILBJDDrDptVa3SHkqQIbZSnB34F7qAYWFy/zW7p2PJ+I dH3xndTP3qxSHAINAfIORLMyy59SHIVINkqiWTbuQyPXZoUa996kSHXjMtiVr+dEh4SC mV4y8SJ5Hzlgv1nztHqIdBAUARR/VhZO5SoxXJ5ruSw8wMT8tDnwUR82hWaryk0fA+7K c5dzDSyN1A/jxM0DSMlHqGKrWFq6QZd1iRdFl/eqORpqbsViEOi/eZB6hzABUuxqkfZP TsVg==
X-Gm-Message-State: AIkVDXIShejU3mDdDqnnjKjwASTHsGNaOdGLWpezk7e4sZM4AkeBTCrWGs4xgv19xTNAIoIsWxxxPgBPwKwbxg==
X-Received: by 10.129.78.71 with SMTP id c68mr41040905ywb.21.1483114538381; Fri, 30 Dec 2016 08:15:38 -0800 (PST)
MIME-Version: 1.0
Received: by 10.129.164.210 with HTTP; Fri, 30 Dec 2016 08:14:57 -0800 (PST)
In-Reply-To: <96ff5e9c-8d13-0a97-50e4-370df680b40a@cs.tcd.ie>
References: <CAMfhd9Urd1DWF9yhMdhvx1AcKyB4-E7Qy+tzqz_-1RpXR+Wp1w@mail.gmail.com> <79db4a88-e435-2e5b-47a5-9048acef45e2@cs.tcd.ie> <CABcZeBObcWUjdHhysLG1K0TbJfiqN+XCERn6WaMjWzgU0XC65A@mail.gmail.com> <582703ab-4340-35e7-a3d2-45dd606f10a1@cs.tcd.ie> <CABcZeBMx3zJ07pbj0bPBMrAcrK_Q4HVDcbCx_2B1DnyCOJeE-g@mail.gmail.com> <96ff5e9c-8d13-0a97-50e4-370df680b40a@cs.tcd.ie>
From: Eric Rescorla <ekr@rtfm.com>
Date: Fri, 30 Dec 2016 08:14:57 -0800
Message-ID: <CABcZeBNYpf=u6Yi8u-jZrWgAtPjft+yYQS_-Bcq-EXYc5arbyQ@mail.gmail.com>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
Content-Type: multipart/alternative; boundary="001a114dac9c3909430544e28306"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/FfSeCVho9lh2M6RfhfBdlmGbn8E>
Cc: Adam Langley <agl@imperialviolet.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] cross-domain cache sharing and 0rtt
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: Fri, 30 Dec 2016 16:15:47 -0000
On Fri, Dec 30, 2016 at 6:43 AM, Stephen Farrell <stephen.farrell@cs.tcd.ie> wrote: > > Hiya, > > On 29/12/16 19:08, Eric Rescorla wrote: > > On Thu, Dec 29, 2016 at 10:50 AM, Stephen Farrell < > stephen.farrell@cs.tcd.ie > >> wrote: > > > >> > >> > >> On 29/12/16 18:38, Eric Rescorla wrote: > >>> On Thu, Dec 29, 2016 at 10:15 AM, Stephen Farrell < > >> stephen.farrell@cs.tcd.ie > >>>> wrote: > >>> > >>>> > >>>> Hiya, > >>>> > >>>> On 29/12/16 17:37, Adam Langley wrote: > >>>>> https://github.com/tlswg/tls13-spec/pull/840 is a pull request that > >>>>> specifies that (EC)DH values must be fresh for both parties in TLS > >>>>> 1.3. > >>>>> > >>>>> For clients, this is standard practice (as far as I'm aware) so > should > >>>>> make no difference. For servers, this is not always the case: > >>>>> > >>>>> Springall, Durumeric & Halderman note[1] that with TLS 1.2: > >>>>> ∙ 4.4% of the Alexa Top 1M reuse DHE values and 1.3% do so for more > >>>>> than a day. > >>>>> ∙ 14.4% of the Top 1M reuse ECDHE values, 3.4% for more than a day. > >>>> ... > >>>> > >>>> As an individual, I'd be in favour of this change but reading > >>>> over [1], section 5, I wondered if we'd analysed the effects of > >>>> 0rtt/replayable-data with that kind of cross-domain re-use in mind? > >>>> The situation being where session ID based caches or session ticket > >>>> equivalents in tls1.3 are shared over multiple domains. > >>>> > >>>> I don't recall this being explicitly considered, but maybe that's > >>>> just me forgetting. And hopefully the analysis is that such re-use > >>>> doesn't enable broader replay of early data, but there may be > >>>> something worth a mention in the tls1.3 spec, e.g. that there may > >>>> be linkages between the duration for which entries are maintained > >>>> in resumption and replay detection caches. > >>>> > >>> > >>> This question seems essentially orthogonal to the question of ECDHE key > >>> reuse > >>> because even if you use the same ECDHE key in perpetuity you get unique > >>> traffic keying material for each connection. > >> > >> Fair enough, I probably should've started a new thread so have > >> done that now. > >> > > > > Currently TLS 1.3 forbids *both* 0-RTT and resumption if the SNI changes: > > https://tlswg.github.io/tls13-spec/#NewSessionTicket > > What I'm wondering is if we're maybe missing a server-side check > on that, with the possible attempted attack of a 0rtt replay in > mind. E.g. a MUST check for the server that SNI is the same as for > initial h/s before processing early data, (as is done for ALPN now) > and/or some guidance about what might not be an obvious relationship > between any 0rtt replay detection mechanisms and session ticket > equivalents I believe that the text I quote below already requires that check. The reason it's there and not in the 0-RTT text is that it is a requirement on resumption which itself is a requirement for 0-RTT. The ALPN check is an explicit 0-RTT requirement but not a resumption requirement. I.e., Can resume only if SNI is equal Can accept 0-RTT only if (resumed && ALPN is equal) -Ekr > "Any ticket MUST only be resumed with a cipher suite that has the same KDF > > hash as that used to establish the original connection, and only if the > > client provides the same SNI value as in the original connection, as > > described in Section 3 of [RFC6066] > > <https://tlswg.github.io/tls13-spec/#RFC6066>." > > > > We have discussed relaxing that restriction, specifically to allow the > > following case: > > > > - Client connects to server with SNI=A and the server supplies a cert > with > > SNI=A, B > > - Client reconnects to server and tries to resume with SNI=B > > > > See PR: https://github.com/tlswg/tls13-spec/pull/777. > > I'd wonder if that optimisation is really worthwhile, esp if it > opens the door wider to 0rtt replay. (And it seems like it'd be > somewhat complex to take advantage of the optimisation anyway.) > > > > > However, the general consensus was to leave this out of the base spec, > > Seems right. > > Cheers, > S. > > > though we > > might supply an enhancement for that later (and potentially slightly > soften > > the above > > language to foreshadow such an enhancement). > > > > -Ekr > > > > > > > >> S > >> > >>> > >>> -Ekr > >>> > >>> > >>>> Cheers, > >>>> S. > >>>> > >>>>> > >>>>> [1] “Measuring the Security Harm of TLS Crypto Shortcuts”, IMC 2016, > >>>>> pages 33–47, section 4.4. https://dl.acm.org/citation.cfm?id=2987480 > >>>>> [2] https://datatracker.ietf.org/doc/draft-green-tls-static-dh- > >> in-tls13/ > >>>>> > >>>>> > >>>>> Cheers > >>>>> > >>>>> AGL > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> TLS mailing list > >>>> TLS@ietf.org > >>>> https://www.ietf.org/mailman/listinfo/tls > >>>> > >>>> > >>> > >> > >> > > > >
- Re: [TLS] Requiring that (EC)DHE public values be… Martin Rex
- [TLS] Requiring that (EC)DHE public values be fre… Adam Langley
- Re: [TLS] Requiring that (EC)DHE public values be… Stephen Farrell
- Re: [TLS] Requiring that (EC)DHE public values be… Eric Rescorla
- [TLS] cross-domain cache sharing and 0rtt (was: R… Stephen Farrell
- Re: [TLS] cross-domain cache sharing and 0rtt (wa… Eric Rescorla
- Re: [TLS] Requiring that (EC)DHE public values be… Adam Langley
- Re: [TLS] cross-domain cache sharing and 0rtt (wa… Adam Langley
- Re: [TLS] Requiring that (EC)DHE public values be… Brian Smith
- Re: [TLS] cross-domain cache sharing and 0rtt (wa… Ilari Liusvaara
- Re: [TLS] cross-domain cache sharing and 0rtt (wa… Richard Barnes
- Re: [TLS] cross-domain cache sharing and 0rtt Stephen Farrell
- Re: [TLS] cross-domain cache sharing and 0rtt Eric Rescorla
- Re: [TLS] cross-domain cache sharing and 0rtt Stephen Farrell
- Re: [TLS] cross-domain cache sharing and 0rtt Ilari Liusvaara
- Re: [TLS] cross-domain cache sharing and 0rtt Eric Rescorla
- Re: [TLS] cross-domain cache sharing and 0rtt Bill Frantz
- Re: [TLS] cross-domain cache sharing and 0rtt Stephen Farrell
- Re: [TLS] Requiring that (EC)DHE public values be… Scott Schmit
- Re: [TLS] Requiring that (EC)DHE public values be… Adam Langley
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Hugo Krawczyk
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Dan Brown
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Ilari Liusvaara
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Peter Gutmann
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Hugo Krawczyk
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Yoav Nir
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Eric Rescorla
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Ilari Liusvaara
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Eric Rescorla
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Yoav Nir
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Colm MacCárthaigh
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Adam Langley
- Re: [TLS] cross-domain cache sharing and 0rtt Benjamin Kaduk
- Re: [TLS] cross-domain cache sharing and 0rtt Ilari Liusvaara
- Re: [TLS] cross-domain cache sharing and 0rtt Martin Thomson
- Re: [TLS] cross-domain cache sharing and 0rtt Benjamin Kaduk
- Re: [TLS] cross-domain cache sharing and 0rtt Ilari Liusvaara
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Adam Langley
- Re: [TLS] [SUSPECTED URL!]Re: Requiring that (EC)… Kurt Roeckx