Subject: [quicwg/base-drafts] 51423d: Add a blanket 3x anti-amplification limit

From: Martin Thomson <[email-masked]>
Date: Wed, 09 Dec 2020 20:53:18 -0800

Branch: refs/heads/master
  Home:   https://github.com/quicwg/base-drafts
  Commit: 51423d014aa3f4c9674126a6ed038282f8fde366
      https://github.com/quicwg/base-drafts/commit/51423d014aa3f4c9674126a6ed038282f8fde366
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Add a blanket 3x anti-amplification limit

This touches a lot of places in the document, but I think that the
changes are all fairly minor.

The major cnahge here is a move to a uniform 3x limit on sending
packets toward unvalidated addresses.  Specifically, this applies when
the packets are sent in response to another packet.  In practice, this
means that only servers are affected by this.

The consequence of this change is that PATH_CHALLENGE won't always be
padded, as previously agreed.  That also means that PATH_RESPONSE might
not be as well (if the client migrates, it can send PATH_CHALLENGE in
that packet; though we require that to be padded, we specifically don't
require enforcement, so...).  Address validation using this packet
works, but this doesn't also provide MTU validation.  To fix that, I
have recommended that a second validation be performed when the address
is valid, or there are enough bytes available that the
anti-amplification limit is not a barrier.

The nice part about this is that unifies the response.  We no longer
have weird carve-outs for rate limiting or minimum congestion window
(both of which I removed as part of this).

Closes #4257.

  Commit: 3bf6b2f3f7945496f351c2cb713c068f703a1e48
      https://github.com/quicwg/base-drafts/commit/3bf6b2f3f7945496f351c2cb713c068f703a1e48
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Some stuff I missed

  Commit: 97ba8a6cc37b9149f02ce35c7eabc1f0af461059
      https://github.com/quicwg/base-drafts/commit/97ba8a6cc37b9149f02ce35c7eabc1f0af461059
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  MUST be consistent

  Commit: 59f5a3a97613f8e5eaf41018a294cdcdebbdc3c0
      https://github.com/quicwg/base-drafts/commit/59f5a3a97613f8e5eaf41018a294cdcdebbdc3c0
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Small corrections

Co-authored-by: Eric Kinnear <[email-masked]>

  Commit: 2df832a7d1953af100084436d86d4ec8ec1c31f7
      https://github.com/quicwg/base-drafts/commit/2df832a7d1953af100084436d86d4ec8ec1c31f7
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Reword the second validation requirement slightly

  Commit: 549564f9c325fae5567e1b1bcccf3e72883282a6
      https://github.com/quicwg/base-drafts/commit/549564f9c325fae5567e1b1bcccf3e72883282a6
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Make it clearer

Co-authored-by: Mike Bishop <[email-masked]>

  Commit: 8c0c1f9fc9352eb96ca64f333574d5e14d91f4dd
      https://github.com/quicwg/base-drafts/commit/8c0c1f9fc9352eb96ca64f333574d5e14d91f4dd
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Wrap stuff

  Commit: fb033df77a488b9dba18ec17d324715b941cea69
      https://github.com/quicwg/base-drafts/commit/fb033df77a488b9dba18ec17d324715b941cea69
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Jana's comments

  Commit: fb253e978fc614de238f2f599460d130b271007a
      https://github.com/quicwg/base-drafts/commit/fb253e978fc614de238f2f599460d130b271007a
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M draft-ietf-quic-invariants.md
    M draft-ietf-quic-recovery.md
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Merge branch 'master' into migration-amplification

  Commit: 66b7c2a40813602f33eb180160311f0595ed1a15
      https://github.com/quicwg/base-drafts/commit/66b7c2a40813602f33eb180160311f0595ed1a15
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M draft-ietf-quic-tls.md

  Log Message:
  -----------
  Merge branch 'master' into migration-amplification

  Commit: 593d5527ff8f12dbe741dff6f3a72e901751da58
      https://github.com/quicwg/base-drafts/commit/593d5527ff8f12dbe741dff6f3a72e901751da58
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Reword and use addresses, not paths

  Commit: 4769dbea68fe7bfdc70a70d64f141f58f0a4c7f3
      https://github.com/quicwg/base-drafts/commit/4769dbea68fe7bfdc70a70d64f141f58f0a4c7f3
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Add an error code for when the path fails

This is a bit of a niche code, as it is only narrowly useful for
signaling loss of paths.  But people wanted it and it doesn't code that
much.

For #4257.

  Commit: 352797227bdd9e6228c296707c97aeff4abc8e00
      https://github.com/quicwg/base-drafts/commit/352797227bdd9e6228c296707c97aeff4abc8e00
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  moar

Co-authored-by: Jana Iyengar <[email-masked]>

  Commit: 2ffb2abe1ad95f333f7d1b52d125644760fc06c0
      https://github.com/quicwg/base-drafts/commit/2ffb2abe1ad95f333f7d1b52d125644760fc06c0
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Fewer words = good

Co-authored-by: Mike Bishop <[email-masked]>

  Commit: bbc0711e5fc4c8bda1be34b52b5a99e68defd284
      https://github.com/quicwg/base-drafts/commit/bbc0711e5fc4c8bda1be34b52b5a99e68defd284
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Merge pull request #4331 from quicwg/no-viable-path

Add an error code for when the path fails

  Commit: 54f48ce601be4c5b8be2af72db380f58a4b7aca3
      https://github.com/quicwg/base-drafts/commit/54f48ce601be4c5b8be2af72db380f58a4b7aca3
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  use parentheses for adjunct citations

Co-authored-by: Jana Iyengar <[email-masked]>

  Commit: fae20ab16577e27c7391cbac865242bf4b7b8737
      https://github.com/quicwg/base-drafts/commit/fae20ab16577e27c7391cbac865242bf4b7b8737
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-16 (Mon, 16 Nov 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  A section reference is all we really need here.

  Commit: 3e5b0fd79e99bc1dfef884234b2699240ced1a3a
      https://github.com/quicwg/base-drafts/commit/3e5b0fd79e99bc1dfef884234b2699240ced1a3a
  Author: Martin Thomson <[email-masked]>
  Date:   2020-11-17 (Tue, 17 Nov 2020)

  Changed paths:
    M draft-ietf-quic-recovery.md
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Merge branch 'master' into migration-amplification

  Commit: 8324d829dbf4add57887e10ce7cdb829b6afde3f
      https://github.com/quicwg/base-drafts/commit/8324d829dbf4add57887e10ce7cdb829b6afde3f
  Author: Martin Thomson <[email-masked]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  No-enforcement clause for path validation datagram size

  Commit: c549aeee5d2ddb9814c920e554c468d42761e70d
      https://github.com/quicwg/base-drafts/commit/c549aeee5d2ddb9814c920e554c468d42761e70d
  Author: Martin Thomson <[email-masked]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  gramma

Co-authored-by: David Schinazi <[email-masked]>

  Commit: 07989a2b43ce5bd09f6e5606584cef2bcfdc0970
      https://github.com/quicwg/base-drafts/commit/07989a2b43ce5bd09f6e5606584cef2bcfdc0970
  Author: Martin Thomson <[email-masked]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Suggestion

  Commit: afa9b9acf49adde0e476bd1dc6ab9ecc14ff1442
      https://github.com/quicwg/base-drafts/commit/afa9b9acf49adde0e476bd1dc6ab9ecc14ff1442
  Author: Martin Thomson <[email-masked]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Merge pull request #4264 from quicwg/migration-amplification

Apply the 3x amplification-limit to migration too

Compare: https://github.com/quicwg/base-drafts/compare/8afa57048208...afa9b9acf49a