Subject: [quicwg/base-drafts] Don't reset an active connection (#3894)

From: Martin Thomson <[email-masked]>
Date: Sun, 12 Jul 2020 20:51:31 -0700

It&#39;s not that great that this text never said this so directly before.

Closes #3832.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3894

-- Commit Summary --

  * Don&#39;t reset an active connection

-- File Changes --

    M draft-ietf-quic-transport.md (13)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3894.patch
https://github.com/quicwg/base-drafts/pull/3894.diff

-- 
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/pull/3894

---

From: Igor Lubashev <[email-masked]>
Date: Sun, 12 Jul 2020 21:00:35 -0700

@igorlord commented on this pull request.

> @@ -6369,14 +6369,17 @@ endpoints that share a static key for stateless reset (see {{reset-token}}) MUST
 be arranged so that packets with a given connection ID always arrive at an
 instance that has connection state, unless that connection is no longer active.
 
+More generally, servers MUST NOT generate a stateless reset if a connection with

So we choose to omit saying "_valid_ stateless reset", assuming this is implied?  I.e. a server may generate a stateless reset for a connection handled by a different server, but it is ok if they do not share stateless reset secret, since the resulting stateless reset will be invalid.

-- 
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/pull/3894#pullrequestreview-446967475

---

From: Marten Seemann <[email-masked]>
Date: Sun, 12 Jul 2020 21:01:19 -0700

@marten-seemann approved this pull request.

-- 
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/pull/3894#pullrequestreview-446967642

---

From: Martin Thomson <[email-masked]>
Date: Sun, 12 Jul 2020 21:09:34 -0700

@martinthomson commented on this pull request.

Yes, I think that "valid" is implied.  In the case of one server generating a stateless reset based on a connection ID that came from another server, that wouldn't affect that other connection. It would only affect the connection that the server generating the stateless reset might have created, if there was such a connection.

-- 
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/pull/3894#discussion_r453424371

---

From: Igor Lubashev <[email-masked]>
Date: Sun, 12 Jul 2020 21:23:52 -0700

Ok.  Just to be clear, it is not about servers that generate connection IDs.  It is about _sets of servers that share the same Stateless Reset secrets_.  Servers MUST NOT send a stateless reset for a connection ID, if it is possible that this connection ID is active on any server that is still able to handle this connection and shares the same Stateless Reset secret.

-- 
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/pull/3894#discussion_r453427320

---

From: Martin Thomson <[email-masked]>
Date: Sun, 12 Jul 2020 21:34:23 -0700

Yes (with the exception noted in the paragraph that follows, which won't affect your 5-tuple-based load balancer).

-- 
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/pull/3894#discussion_r453429523

---

From: Igor Lubashev <[email-masked]>
Date: Sun, 12 Jul 2020 21:43:26 -0700

The following paragraph is a bit misleading in case of 5-tuple load balancers.  It is talking about routing of "**the** packet".  The specific packet might have a fixed routing due to its 5-tuple.  An attacker can rewrite the packet's source address to replace it with its own, causing the forged packet to be routed to a different server.  What matters is a possibility that routing of packets with this CID -- can their routing be affected by the attacker?

-- 
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/pull/3894#discussion_r453431355

---

From: Mike Bishop <[email-masked]>
Date: Mon, 13 Jul 2020 12:25:07 -0700

@MikeBishop approved this pull request.

+More generally, servers MUST NOT generate a stateless reset if a connection with
+the corresponding connection ID could be active.

```suggestion
the corresponding connection ID could be active on any endpoint using the same static key.
```
Obviously this isn't intended to be a global statement, so let's make the scope clear.

-- 
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/pull/3894#pullrequestreview-447535272

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:48:55 -0700

@martinthomson pushed 1 commit.

c197894db65f3611f97f25fadaabf986e504634b  Scope this more.

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3894/files/e9dd5b8eb51639e39ff3a88466dbcc9e81f9e237..c197894db65f3611f97f25fadaabf986e504634b

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:49:56 -0700

Well, I consider this to be implicit.  After all, your deployment can mint the same connection ID as mine and they would be different.  But it's a fine clarification.

-- 
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/pull/3894#discussion_r454049359

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:50:31 -0700

f91ecf0bffcc5fd34a1070c90fbd56c8b266c4d1  wrap

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3894/files/c197894db65f3611f97f25fadaabf986e504634b..f91ecf0bffcc5fd34a1070c90fbd56c8b266c4d1

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:50:39 -0700

Merged #3894 into master.

-- 
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/pull/3894#event-3542080534