Instead of putting 0-RTT data in a ClientHello extension, the current draft
has the client send extra records in the first flight, right? (I see an
early_data extension, but it seems only be an indicator. There's also
mention of requiring trial decryption which only makes sense if it were
appended.) Was there a reason not to put it into an extension? It's uglier,
but the current scheme has compatibility risks and may force clients into a
fallback dance.

Although a TLS 1.3 client won't make 0-RTT handshakes to a service until
it's managed to speak TLS 1.3 to it once, services aren't made of one
machine. Many services span multiple machines, changes are deployed
incrementally, etc. Even single-machine services may need to roll back a
change. This kind of statefulness means that one cannot enable 0-RTT on
*any* machine until *all* machines in the fleet have enabled TLS 1.3. And
TLS 1.3 may not be rolled back once 0-RTT is enabled (at least not until
all server configs have expired).

I would not expect all deployments to get this right. Large companies with
TLS experts might, but most people will idly take updates from their
operating system with (hopefully!) TLS 1.3 and 0-RTT enabled by default.
They won't realize fleets must "set" at TLS 1.3 without 0-RTT before
enabling TLS 1.3 with 0-RTT.

This is the same flavor of problems in session resumption that motivated
https://github.com/tlswg/tls13-spec/issues/136. That bug wasn't
hypothetical. At the time I filed that issue, https://www.debian.org was
two wildly different servers. One spoke up to TLS 1.0 and the other up to
TLS 1.2. OpenSSL on the client has some bugs around resumption which gives
similar version stickiness effects. Until I reworked the version
negotiation code, Chrome + BoringSSL would fail to connect sometimes.

Having the 0-RTT data delimited in the ClientHello should hopefully also
avoid the trial decryption step on 0-RTT miss which seems kind of silly.

David
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to