huitema / dnsoquic

DNS over QUIC
10 stars 7 forks source link

Martin Duke's ballot comments #153

Open huitema opened 2 years ago

huitema commented 2 years ago

Martin Duke has entered the following ballot position for draft-ietf-dprive-dnsoquic-10: No Objection

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)

Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ for more information about how to handle DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-dprive-dnsoquic/


COMMENT:

Thanks for this draft! It was very easy to read.

(4.3) says:

"Using QUIC might allow a protocol to disguise its purpose from devices on the network path using encryption and traffic analysis resistance techniques like padding. This specification does not include any measures that are designed to avoid such classification."

but then Sec 6.4 has a detailed, normative discussion of how to use padding to avoid classification. I suggest you delete or edit the bit in 4.3.

(5.3.1) Clients are allowed to send STOP_SENDING and servers are allowed to send RESET_STREAM. Servers sending STOP_SENDING break the connection. Given the prescriptiveness of these rules, it's odd that you don't address clients sending RESET_STREAM. IMO this should be allowed, but either way it should be specified.

(6.5.4) and (9.4) I hesitate to write this, as Christian is as well aware as anyone, but IMO QUIC address migration is not quite as privacy-destroying as this draft suggests. RFC9000 has a number of normative requirements to reduce linkability, and work is ongoing to reduce it further. Granted, no anti-linkability mitigation is perfect, and if this is a primary goal of DoQ it's OK to discourage migration as you've done here.

saradickinson commented 2 years ago

I think the first point is already addresses in a PR.

On the second point, the cases I can see for a client using STREAM_RESET are:

Do you have an opinion on the last point?

huitema commented 2 years ago

The QUIC protocol allows peers to send STREAM RESET or STOP SENDING frames at any time. The basic rules:

In our case, since messages are short, that means the server has hardly any option to send a valid stop sending frame: the stream opens after the client sends something, the server learns about it and receives everything. But yes, it could happen if the client leaves the stream dangling. In the other direction, STOP SENDING is meaningful. It means "not interested in that query anymore", and can be sent before receiving the first bits of the reply.