Subject: [quicwg/base-drafts] Method for associating stateless resets with connections is unclear (#2591)

From: Benjamin Saunders <[email-masked]>
Date: Sun, 07 Apr 2019 18:43:43 -0700

Relevant sections:
[§10.4](https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#stateless-reset):
> An endpoint that receives a packet where removal of packet protection fails MUST check the last 16 bytes of that packet

[§10.4.1](https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#detecting-a-stateless-reset)
> An endpoint detects a potential stateless reset when a incoming packet with a short header either cannot be associated with a connection, cannot be decrypted, or is marked as a duplicate packet. The endpoint then compares the last 16 bytes of the packet with the Stateless Reset Token provided by its peer

There is no single token that a packet which cannot be associated with a connection can be compared against, and although §10.4 could be read as a suggestion that decryption should be attempted first, this is impossible if the associated connection is unknown. Connections with non-zero-length IDs cannot be identified by remote address, as multiple connections may share the same remote address.

The obvious approach here is to maintain a look-up table mapping stateless reset tokens to connections, and consult it on receipt of a packet that cannot be associated with a connection, perhaps after first ensuring that the packet originates from a known remote address. Should this be made explicit?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2591

---

From: Martin Thomson <[email-masked]>
Date: Sun, 07 Apr 2019 18:56:17 -0700

Adding text to 10.4.1 to describe the use of a table is reasonable.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2591#issuecomment-480657022

---

From: Lars Eggert <[email-masked]>
Date: Sun, 07 Apr 2019 23:53:46 -0700

FWIW, quant has been implementing this lookup table already

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2591#issuecomment-480706866