Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document request forgery #3996

Merged
merged 13 commits into from Sep 8, 2020
10 changes: 5 additions & 5 deletions draft-ietf-quic-transport.md
Expand Up @@ -6390,8 +6390,8 @@ attacks and describes countermeasures that can be implemented by QUIC
endpoints. These actions are described on the assumption that potential targets
for request forgery attacks take no action to protect against these attacks.
While target services are encouraged to implement better protections, such as
strong authentication that does not rely on implicit signals, the goal of this
section is to describe mitigations that can be employed unilaterally by a QUIC
strong authentication that does not rely on implicit signals, this section
describes mitigations that can be employed unilaterally by a QUIC
implementation or deployment.


Expand Down Expand Up @@ -6448,9 +6448,9 @@ other types of packet to a destination that does not understand QUIC or is not
willing to accept a QUIC connection.

Initial packet protection (Section 5.2 of {{QUIC-TLS}}) makes it difficult for
servers to control the content of Initial packets. A client choosing an
unpredictable Destination Connection ID ensures that servers are unable to
control any of the encrypted portion of Initial packets from clients.
servers to control the content of Initial packets sent by clients. A client
choosing an unpredictable Destination Connection ID ensures that servers are
unable to control any of the encrypted portion of Initial packets from clients.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe that this is correct as written if there is a Retry because the server gets to control the next DCID. I don't think that this is relevant because you would need a round trip to make it work (I think!) but...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is mentioned in the last paragraph of this section. Perhaps we just need to reference that here?


However, the Token field is open to server control and does allow a server to
use clients to mount request forgery attacks. Use of tokens provided with the
Expand Down