As Martin mentions, we had a number of issues opened recently in the GitHub repo managed by the authors (https://github.com/huitema/dnsoquic/). A lot of them have been opened after reviews by members of the QUIC working group. We have a bit of a culture clash here. The QUIC WG used GitHub intensely, but DPRIVE is usually more cautious, using it for coordination between the authors of the draft and possibly for straightforward editorial issues. here is a short list of the issues that are definitely not editorial:

* Error code extensibility, and greasing of error codes. Several QUIC frames carry application defined error codes: reset stream, stop sending and close connection. The draft specifies a small set of error codes to use with these frames, and also specifies an extension mechanism to register more error codes. Issues https://github.com/huitema/dnsoquic/issues/80 and https://github.com/huitema/dnsoquic/issues/81, by Lucas Pardue, request to specify that receiving an "unknown" error code is not an error, and suggest that implementations can test the extensibility mechanism by sometimes sending different error codes, a.k.a., greasing. Proposed resolution in https://github.com/huitema/dnsoquic/pull/108.

* Request to specify what happens if a node receives data in unexpected QUIC streams, issue https://github.com/huitema/dnsoquic/issues/82 by Lucas Pardue. DoQ only uses bidirectional QUIC streams opened by the client when sending a query, but QUIC permits other type of streams, such as unidirectional streams opened by the client or the server, or bidirectional streams open by the server. The spec did not specify how to handle data received in such streams. The proposed resolution is to treat that as a protocol error.

* Getting rid of the text about not deliberately avoiding middle-boxes, issue https://github.com/huitema/dnsoquic/issues/90 by Martin Thomson. While the text is correct, it does not discuss potential usage of SNI encryption or Encrypted Client Hello (ECH), both of which can be used to "armor" a TLS based protocol and make it harder to block by middle-boxes. Adding a discussion of such mechanism is likely to be contentious. The discussion of middle-boxes in section 4.3. is not essential in the document, and the simplest solution is to just remove it.

* Clarifying what happens if the client sends a query on a stream but fails to close the stream, issue https://github.com/huitema/dnsoquic/issues/93 by Martin Thomson. The draft specifies that adding a new query after the first one is an error, but is silent about failure to close the stream. Waiting for a proposed resolution.

* Details on connection closure and client abandoning connections before the idle timeout elapses, issue https://github.com/huitema/dnsoquic/issues/98. Proposed resolution is that the client can always "walk away", and to only require explicitly clsoing the connection if transactions are pending.

* Details on usage of 0-RTT with XFR QUERY, issue https://github.com/huitema/dnsoquic/issues/99 by Martin Thomson. The current text is wrong, because 0-RTT resumption includes carry over of the authentication negotiated in the previous connection. We may want to not consider XFR Queries as replayable, and ask servers to wait until the handshake is complete before processing them.

* Details on the 0-RTT mitigation text, issue https://github.com/huitema/dnsoquic/issues/102 by Martin Thomson. The current text is based on the original analysis done by DKG years ago, which pointed out the risks of replaying 0-RTT packets at attacker chosen times. That attack is largely mitigated by the replay protection in TLS 1.3, which is mandatory to implement. 0-RTT packets can only be replayed within a narrow window, which is only wide enough to account for variations in clock skew and network transmission.Need to update the text and account for that.

* Comparison of privacy effects of long duration session and session resumption, issue https://github.com/huitema/dnsoquic/issues/103 by Martin Thomson. If the client address did not change, session resumption and long duration sessions have similar effects on client privacy, and the text needs to reflect that.

DPRIVE members may want to discuss these issues on the mailing list.

-- Christian Huitema




On 10/14/2021 7:38 PM, Martin Thomson wrote:
I've reviewed this document (straight from GitHub in this case).

I've opened a few issues:  
https://github.com/huitema/dnsoquic/issues/created_by/martinthomson

You will observe that some of these issues are old and remain unaddressed.  It 
is my opinion that the document is not ready and it needs another pass to 
improve a number of problems.

To be clear, I think that the core protocol definition is good.

I found a large number of editorial issues when I was reviewing it.  I provided 
pull requests for some, but there are a great many more that would benefit from 
a careful proof read and cleanup.  Martin Duke found several issues to add to 
this; those also need to be addressed.

However, there are a number of substantive problems in the supporting material 
that I think need to be fixed.  For instance, some of these are false or 
misleading claims about security properties.  There are enough of these that I 
don't think that this document is fit to give to the IESG.  I don't think that 
any of these are hard to address, but there are rather a lot of them.

Regards,
Martin

On Wed, Oct 13, 2021, at 22:30, Brian Haberman wrote:
DPRIVE & QUIC WG Participants,

       This starts a 2-week DPRIVE WG Last Call for advancing
draft-ietf-dprive-dnsoquic-05 as a Proposed Standard. Please send all
substantive comments to the DPRIVE mailing list. Editorial comments
should be directed to the document editors. This last call will end
11:59pm UTC on Oct. 27, 2021.

Regards,
Brian & Tim

_______________________________________________
dns-privacy mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dns-privacy

Attachments:
* OpenPGP_signature
_______________________________________________
dns-privacy mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dns-privacy

_______________________________________________
dns-privacy mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dns-privacy

Reply via email to