Based on the github version.

Comments are in order of spotting, not seriousness. I understand
Martin Thompson has a clever way to format these emails I have tried
to follow but with little success. This is almost all editorial nits.

# Introduction

I would reorder the 3 and 4th paragraphs, with appropriate
modifications. Currently what the draft does is buried pretty far
down, and I think pulling it up is better. YMMV.

# Overview

I think we can say a little bit more to prepare the reader for the
Topology section, happy to suggest text.

## Topologies

"These are the same entity in Shared Mode, but in Split Mode, the
client-facing and backend servers are physically separated." - I think
we want to say in Split Mode the client-facing and backend servers are
logically separated and may be physically separated. The concept of
server and physical is a very messy one.

## encrypted-client-hello

It might be worth saying the rational for including the empty
extension in ClientHelloInner. I think the payload field description
might need tweaking: Should it say "EncodedClientHelloInner " instead
of "ClientHelloInner"?

## encoding-inner

I find the last paragraph a bit confusing. Instead of "Implementations
SHOULD bound the time to compute a ClientHelloInner proportionally to
the ClientHelloOuter size.", can we be more explicit alnogn the lines
of "Implementations SHOULD construct the ClientHelloInner in linear
time. Quadratic time implementations (such as may happen via naive
copying) create a denial of service risk"

## authenticating-outer

Reader isn't prepared for this bit IMHO. More to follow.

## real-ech

Here I have my first more crosscutting issue. After
#authenticating-outer the reader might have an idea that AAD is going
to be used here with HPKE. There's a bunch of material here that could
be moved back to {{authenticating-outer}} to make this one flow better
and keep the flow of topics, and we might also want to say that the
ClientHelloOuter is going to be authenticated back in
{{encrypted-client hello}}.

## grease-psk

Should we use RFC 2119 language for the server as well? Right now we
only say what the client must do when the server violates the rules.

## padding

I found this section very confusing. On a casual read it's not clear
if the ClientHelloInner is having its extensions padded, or, as is
actually intended, we're adding to the size of EncodedClientHello
inner based on estimating the size of each extension. I think part of
this is due to my confusion about what we're trying to hide from whom.
A little more text can solve this

# server behavior.

I'm confused by this section, which seems to imply the client picks
what role the server plays, not the configuration of the server. This
text also plays badly with the shared-mode topology, where the same
server plays both roles. Yeah, I knew what was probably meant, but a
little bit of TLC can clear this up.

## client-facing server

Some uncapitalized RFC 2119 language

## misconfiguration

I think either here or in {{rejected-configs}} we need to say a little
bit more about the way servers are supposed to do rollouts. In
particular the retry configuration needs to be supported on all
servers where the connection might hit, so it's not the most recent
that the server has.

# Security considerations
## goals

I think we should have a doc about split mode security or some
indication about how to set this up. Otherwise it won't work. Not
saying this RFC should be it, but without something no one will be
able to get interoperability.

For a very complex protocol that's taken quite some years to develop
this document is in pretty good shape.

Sincerely,
Watson Ladd

-- 
Astra mortemque praestare gradatim

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

Reply via email to