On Mon, Dec 12, 2016 at 5:54 PM, David Benjamin <david...@chromium.org>
wrote:

> On Mon, Dec 12, 2016 at 8:45 PM Martin Thomson <martin.thom...@gmail.com>
> wrote:
>
>> On 13 December 2016 at 12:43, Nick Harper <nhar...@google.com> wrote:
>> > Right now, I believe it's legal for a client to send ClientHello, early
>> > data, and end_of_early_data alert without reading any messages from the
>> > server. This change would require a client to wait for the ServerHello
>> > before sending (or not) EndOfEarlyData, but that seems quite reasonable.
>>
>> It's legal to send EndOfEarlyData at any time as long as it follows
>> the (first) ClientHello, but you are right in observing that it would
>> be difficult to send it at a different time than when you are entering
>> it into the transcript.
>>
>> p.s., It's the Server Finished that you have to wait for, not just
>> ServerHello.
>>
>
> I think sending EndOfEarlyData/end_of_early_data late is desirable
> anyway, even if you know you won't be sending more 0-RTT data. That forces
> servers to get the processing order right:
> https://tlswg.github.io/tls13-spec/#rfc.section.4.2.8.1
>
> If by including it in the transcript, we make it more likely that clients
> will send in a way that forces correct server behavior, that sounds like a
> good thing for the ecosystem.
>
> It also shouldn't be any more complexity for the client to send it later
> because the client must already have logic to change keys and send a
> Finished message after receiving ServerHello..Finished. The EndOfEarlyData
> just tacks before that (as I expect most clients would have implemented the
> alert version anyway).
>

FWIW, this is how NSS behaves.

-Ekr


>
> To add to the motivations: EKR mentioned end_of_early_data is the only
> place where we transition keys on an alert. Conversely, it's also the only
> alert that does not terminate the connection. (The document even currently
> claims end_of_early_data is a "closure alert" and signals "that the
> connection is ending". This is false.)
>
> David
>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to