Re: [TLS] Security review of TLS1.3 0-RTT

Eric Rescorla <ekr@rtfm.com> Fri, 05 May 2017 05:13 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 277711293E1 for <tls@ietfa.amsl.com>; Thu, 4 May 2017 22:13:19 -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 jJFM5B8IRfXl for <tls@ietfa.amsl.com>; Thu, 4 May 2017 22:13:16 -0700 (PDT)
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 6AE02129443 for <tls@ietf.org>; Thu, 4 May 2017 22:13:15 -0700 (PDT)
Received: by mail-yw0-x229.google.com with SMTP id k11so16245410ywb.1 for <tls@ietf.org>; Thu, 04 May 2017 22:13:15 -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=2k5gn0ZKtzhLu+lYsWd/hQbCainUpleVCBdElsG8yWE=; b=rzoIL6bJFDmJ82jEqAR5ynvDsN4Dyu9LfQrFrvpErZvqIkHnDnkplvpo+TwrCyDDTM OD/rUPnGL0bnORbBczvitNJm8kaZmPoA7N5Ssaj7+Jm4IISTWCyLFygqg1y5oom9u7sw PcVr7bFMBg1xRz1ZfV1CJkm/FjftIff8516ic/aI3o93Q1HtRYduhb587cvOInEhsulw ORqVBbmvTkoDThAT5jk+LK32R50b4xauFgruHUokeCrkZUjA3t5oc5/7WCpfMgmSHAjN Yh5qnA5fuC+X+/SXkbPLdAVNTh/rSE7PhmR1K7bhv43eWTzPm0MkqTS+LwNYg4Cmcmq/ W2EA==
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=2k5gn0ZKtzhLu+lYsWd/hQbCainUpleVCBdElsG8yWE=; b=cgosqf46vZ+9zPJeXZALgQqyDcnFFErvYISR4Of2frlvTFdecbBVcMw7LvCkW6afv7 D4pilm7mmlDwYAL6tuZ7K1oHrwL+6iH/k6tymcfrhG9t8sSN7+WRUuBXbNcM8LaKRI1i QPQ/jFiFrIRi/nNbh+eNeIpo/tS91+wb5kKBJ4/rn3af+U4k/qX/3HayXiiDPzQxUTmy 6E5JL6i5q4a2OW/TllYqYIrpImk0SUT2KprHH0me7PoK9N2YAfGR5ub8HTHjLYy5UuBD FZl96fRFNpjDJbjOoVBFeRvGTUQtHAZf0IxUT6Ql63NSBvnI9QmdPPrhozsxV4YaNSLM dzCg==
X-Gm-Message-State: AN3rC/42NccPppWAl0UMbg0DJ59HjlBof/aFjM5Rwwhe1/h8l+pm81x5 681gykHH39IIiAwKd+FYljsGm9z6SNdW
X-Received: by 10.13.255.199 with SMTP id p190mr20367537ywf.312.1493961194725; Thu, 04 May 2017 22:13:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.131.150 with HTTP; Thu, 4 May 2017 22:12:34 -0700 (PDT)
In-Reply-To: <10986afe-873e-a81d-102b-86fa169b156f@akamai.com>
References: <CAAF6GDcKZj9F-eKAeVj0Uw4aX_EgQ4DuJczL4=fsaFyG9Yjcgw@mail.gmail.com> <CABcZeBNcnW9zEPZ4mEje1_ejR3npNFz65rw-6qUPn7cQt1Nz9w@mail.gmail.com> <MWHPR15MB11825419AF296AE7EC26F3BDAFEA0@MWHPR15MB1182.namprd15.prod.outlook.com> <CABcZeBNyQB3FOik3ZBZvgX7FnEjUydHdJwfa5OkACYDO_FQHaA@mail.gmail.com> <10986afe-873e-a81d-102b-86fa169b156f@akamai.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 04 May 2017 22:12:34 -0700
Message-ID: <CABcZeBN8ASykSckf7TVBpwEz9yMmyf5eCPqfL-rmSkFEFJiNzQ@mail.gmail.com>
To: Benjamin Kaduk <bkaduk@akamai.com>
Cc: "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c087eea5207bb054ebff224"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/r6z4Pk4kvzEy3Q9aYa_CrsUVp6s>
Subject: Re: [TLS] Security review of TLS1.3 0-RTT
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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, 05 May 2017 05:13:19 -0000

On Thu, May 4, 2017 at 10:07 PM, Benjamin Kaduk <bkaduk@akamai.com> wrote:

> Trying to consolidate various things into a single mail...
>
> On 05/04/2017 04:37 PM, Eric Rescorla wrote:
>
> In the PR I just posted, I spent most of my time describing the
> mechanisms and used a SHOULD-level requirement to do one of the mechanisms.
> I think there's a bunch of room to wordsmith the requirement. Perhaps we
> say:
>
> - You can't do 0-RTT without an application profile
> - Absent the application profile saying otherwise you SHOULD/MUST do one
> of these mitigations?
>
>
>
> That seems like an inconsistent position to take (don't do this, but if
> you ignore me, do this in this fashion).  Advising application profiles to
> consider one of those things might be better.
>

That's just incompetent writing by me, I guess.

For 2, I meant "If there is an application profile allowing 0-RTT, but it
doesn't say you don't
need mitigations, then you MUST..."


-Ekr


>
>
>
> On 05/04/2017 04:27 PM, Kyle Nekritz wrote:
>
> 2) Preventing clients from sending 0-RTT data multiple times (on separate
> connections) using the same PSK (for forward secrecy reasons)
>
>
>
> I think this should be allowed. Otherwise, clients will not be able to
> retry 0-RTT requests that fail due to an unknown network error prior to
> receiving a NST (if they are out of cached PSKs). I’d expect the need for
> these retries to be larger with 0-RTT data, particularly when 0-RTT data is
> sent without even a transport roundtrip (in the case of TFO or QUIC).
> Servers are definitely not required to accept multiple 0-RTT connections
> using the same PSK, but I don’t think clients should be banned from
> attempting.
>
>
> Obligatory note that if clients are forbidden from reusing a single PSK
> for multiple 0-RTT, they can still use it for 1-RTT.
>
>
>
> On 05/04/2017 03:24 PM, Colm MacCárthaigh wrote:
>
> On Thu, May 4, 2017 at 12:12 PM, Erik Nygren <erik+ietf@nygren.org> wrote:
>
>> On Wed, May 3, 2017 at 11:13 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>>
>>>
>>> 1. A SHOULD-level requirement for server-side 0-RTT defense, explaining
>>> both session-cache and strike register styles and the merits of each.
>>>
>>
>> I don't believe this is technically viable for the large-scale server
>> operators most interested in 0-RTT.
>>
>
> I think it is (and work at one of the biggest) ... but if even it weren't,
> that would just imply that we can't have 0-RTT at all, not that it's ok to
> ship an insecure version.
>
>
> I would be okay with that being the case ... but I don't think that's
> actually the case.  Some people are going to do 0-RTT in one form or
> another, whether or not we specify it here.  I'd rather have something
> well-specified that can be used correctly in some cases and is
> unfortunately used in more cases than that, then a less-well-documented-and-analyzed
> thing used in those same questionable cases.
>
>
> On 05/03/2017 09:33 PM, Blumenthal, Uri - 0553 - MITLL wrote:
>
> P.S. Care to name (another :) one security-related protocol that doesn't
> provide replay protection?
>
>
> Some of the earlier uses of Kerberos are subject to replay (hence kerberos
> implementations can end up providing replay caches to try and help, which
> are not perfect and slow to boot).  More modern exchanges that use GSS
> acceptor subkeys are not subject to replay, though.
>
>
> On 05/03/2017 09:31 PM, Martin Thomson wrote:
>
> A clear delineation of security properties exists, if the handshake is
> done, then you are in the clear.  Otherwise, beware.  The separation
> of the streams doesn't help if you consider the possibility that 0-RTT
> data can be retroactively blessed.
>
>
> You can still be in trouble if you used the early exporter, e.g., for
> token binding.  We had some discussions in the tokbind session in Chicago
> that clarified that handshake completion does not retroactively bless the
> properties you want from 0-RTT token binding.
>
>
> -Ben
>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>