Re: [TLS] 0-RTT encrypted data limits

Eric Rescorla <ekr@rtfm.com> Thu, 01 September 2016 16:02 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 0088912D0CF for <tls@ietfa.amsl.com>; Thu, 1 Sep 2016 09:02:13 -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 UG0KMqdaYUA9 for <tls@ietfa.amsl.com>; Thu, 1 Sep 2016 09:02:08 -0700 (PDT)
Received: from mail-yw0-x231.google.com (mail-yw0-x231.google.com [IPv6:2607:f8b0:4002:c05::231]) (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 4414412D190 for <tls@ietf.org>; Thu, 1 Sep 2016 09:02:08 -0700 (PDT)
Received: by mail-yw0-x231.google.com with SMTP id r9so53191820ywg.0 for <tls@ietf.org>; Thu, 01 Sep 2016 09:02:08 -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=obeB0ZcJ4JuYWpL9x9qySa7mPpjErAZasvrM01lu170=; b=GwmnMm7I796bRl/eLJoqXn7rCvQEQftr0Iud/YM/5ymG4UiSg+gCjYGZFv1SoXh4eg +DJzastiVlxwEP4RiRUOlQFUmEu1E7N6UL9lBF94FAFhY31oxmZav14IjYefuBSNUxFr Ez0qo+p/EsUjNakpyUGHA4Ax3dNtfM9NrSsa8S+iGbq1ezqzUBCdqJ7aTWNwWt+M/V13 fbbUpszg4bABm1SijJwwH6/dno4ig5M7OMNztJPEsh/5eacSxrQe7bfr/rvdTPFGhELm Czxo/WTmw0dgSJsUiN9k9JZcbzXt38hs8rhukApQrXUAUbJyCQI2AWui2tetjcn9qF7T v7sQ==
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=obeB0ZcJ4JuYWpL9x9qySa7mPpjErAZasvrM01lu170=; b=JzQoSrsL/zbRDwbESMVVd1EXWvLrwcWZMd5fTmzN8WhlXaWzGRNHH5/QD80Bf9bpSK 4x4b0pAFSPbVZm1OfBgprPTRvZ/b1emDow/I4/iZkV1J9yr/A/76iHjpo+h0coJ/4cEk nRp7h1aQaRfIs7Y+UaorCVI3bU8vcgIDLbrfkUA+0m9KU9Csm8T8vopb6Ky8WDYB4ZRj MUnyNOxiFR4zZas5+N2QLfT3wF4u54V4KGG3RJZ/QNy2TubPA6OofONAnNC130DHWIpY JHBFVmz738dOI9Q4jboCu2KmzLU+qzjNMTOD225IBrQUxKyRq6/g4GAQbD1004yfpWSc Ih1Q==
X-Gm-Message-State: AE9vXwMkUIuj2wOUpbuLPfQ3YKdsBALcfxk37UEHTvPZifnklVG7fPMMZw7JD4b6Atd81QHXf6egAZ2t0gqDdg==
X-Received: by 10.129.92.215 with SMTP id q206mr14613071ywb.8.1472745727477; Thu, 01 Sep 2016 09:02:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.48.193 with HTTP; Thu, 1 Sep 2016 09:01:27 -0700 (PDT)
In-Reply-To: <CAF8qwaAs=EkfVDeT-n_tGYGzec4-OqAY96b2gNryYjNU0Y9Kiw@mail.gmail.com>
References: <6918283.boJRZ9WqjH@pintsize.usersys.redhat.com> <CABcZeBMOyM2v3gt69gHzfW7k5w=OwFqCUiER-bPERfNkLGhpWQ@mail.gmail.com> <6822534.tPWjKYA1SU@pintsize.usersys.redhat.com> <CABcZeBN_TPyYD63u4t41SKn-T6ugZdpxgM8i7-tJ82tU13+yUA@mail.gmail.com> <20160901131521.rjw3jebdjwwizp2z@LK-Perkele-V2.elisa-laajakaista.fi> <CABcZeBMUA8tzsPr_6pC6kRzhPifxuz4YjSRo1KB2V52SiGWstw@mail.gmail.com> <CAF8qwaCwqydWk30875=p1p2NkK+Ju+NtVL6meybYESN6GxCSJw@mail.gmail.com> <20160901152203.hivko6qm2jdguqc6@LK-Perkele-V2.elisa-laajakaista.fi> <CABcZeBM3sk9ROXnnYNdOtcD5T7U68bSBeEbaUzroRUoNOykqrQ@mail.gmail.com> <CAF8qwaAs=EkfVDeT-n_tGYGzec4-OqAY96b2gNryYjNU0Y9Kiw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 1 Sep 2016 09:01:27 -0700
Message-ID: <CABcZeBOddoHhGnOYSePrDeZE8HRAeDZPVznugz6jQ3SqOaeWXQ@mail.gmail.com>
To: David Benjamin <davidben@chromium.org>
Content-Type: multipart/alternative; boundary=001a114d85ceee9dc1053b7455dd
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/0WDv77Mia8GFA5YskfaGu0X5kSo>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] 0-RTT encrypted data limits
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: Thu, 01 Sep 2016 16:02:13 -0000

On Thu, Sep 1, 2016 at 8:46 AM, David Benjamin <davidben@chromium.org>
wrote:

> On Thu, Sep 1, 2016 at 11:25 AM Eric Rescorla <ekr@rtfm.com> wrote:
>
>> On Thu, Sep 1, 2016 at 8:22 AM, Ilari Liusvaara <ilariliusvaara@welho.com
>> > wrote:
>>
>>> On Thu, Sep 01, 2016 at 02:29:00PM +0000, David Benjamin wrote:
>>> > On Thu, Sep 1, 2016 at 10:01 AM Eric Rescorla <ekr@rtfm.com> wrote:
>>> >
>>> > > On Thu, Sep 1, 2016 at 6:15 AM, Ilari Liusvaara <
>>> ilariliusvaara@welho.com>
>>> > >>
>>> > >> Should there be recommendation for clients to cut transfer and send
>>> > >> Finished if the client receives EncryptedExtensions without
>>> > >> early_data extension?
>>> > >>
>>> > >
>>> > > I thought that was implicit, but i'd take a PR that did that.
>>> > >
>>> >
>>> > (s/EncryptedExtensions/ServerHello/, but whatever.)
>>>
>>> According to the table it is EncryptedExtensions (but there have been
>>> errors in it before)...
>>>
>>
>> It goes in EE, because it should be encrypted.
>>
>
> Hrm. Most of the text currently says ServerHello, except for the table
> which says EncryptedExtensions.
>
> ServerHello:
> https://tlswg.github.io/tls13-spec/#rfc.section.4.2.6
> https://tlswg.github.io/tls13-spec/#rfc.section.2.3
>
> EncryptedExtensions:
> https://tlswg.github.io/tls13-spec/#rfc.section.10
>
> I'm a little wary of putting something that tells you the handshake
> "shape" in EncryptedExtensions. Accepting early_data comes with a host of
> constraints  the client must enforce like ALPN not being allowed to change,
> etc. But I think all the current constraints are with EncryptedExtensions,
> so maybe it's fine?
>

ALPN is also in EE. My general principle was that only things that were
required
to decrypt the handshake messages should be in SH. Arguably, btw, this means
that Server.signature_algorithms should be in EE, but I chickened out.

-Ekr




> > At this point the client must do much more than cut transfer anyway. It
>>> > probably should be phrased as starting over and retrying or so.
>>> Everything
>>> > sent has been rejected and all you thought you knew about the
>>> connection
>>> > may have changed, like ALPN. At sufficiently high layers, you should
>>> > probably just pretend you got a fresh connection and are repeating the
>>> > request (or whatever) from scratch.
>>>
>>> So server is supposed to continue on 0-RTT fail, but not client?
>>
>>
>> There are plenty of scenarios where the client can continue. For instance,
>> if the server has forgotten the ticket but is otherwise unchanged.
>>
>
> Right, I mean it's a logical starting over. I imagine most cases one can
> keep affinity with the old transport socket just fine, but data does likely
> need to be reset. (Although in some cases you can't.)
>
> David
>
>
>> -Ekr
>>
>>
>>>
>>> -Ilari
>>>
>>
>>