@@ -1093,7 +1093,7 @@ language from Section 3 of {{!I-D.ietf-tls-tls13}}.
1093
1093
case new_session_ticket :
1094
1094
struct {};
1095
1095
};
1096
- TransportParameter parameters<30 ..2^16-1>;
1096
+ TransportParameter parameters<22 ..2^16-1>;
1097
1097
} TransportParameters;
1098
1098
~~~
1099
1099
{: # figure-transport-parameters title="Definition of TransportParameters"}
@@ -2740,24 +2740,24 @@ that it sends.
2740
2740
Strategies and implications of the frequency of generating acknowledgments are
2741
2741
discussed in more detail in {{QUIC-RECOVERY}}.
2742
2742
2743
-
2744
2743
# # Packet Size {#packet-size}
2745
2744
2746
2745
The QUIC packet size includes the QUIC header and integrity check, but not the
2747
2746
UDP or IP header.
2748
2747
2749
- Clients MUST ensure that any Initial packet it sends has a QUIC packet size of
2750
- least 1200 octets.
2751
-
2752
- An Initial packet MUST be padded to at least 1200 octets unless the client knows
2753
- that the Path Maximum Transmission Unit (PMTU) supports the size that it
2754
- chooses. Sending an Initial packet of this size ensures that the network path
2755
- supports an MTU of this size and helps reduce the amplitude of amplification
2756
- attacks caused by server responses toward an unverified client address.
2748
+ Clients MUST pad any Initial packet it sends to have a QUIC packet size of at
2749
+ least 1200 octets. Sending an Initial packet of this size ensures that the
2750
+ network path supports a reasonably sized packet, and helps reduce the amplitude
2751
+ of amplification attacks caused by server responses toward an unverified client
2752
+ address.
2757
2753
2758
- A server MUST NOT allow receipt of a packet that is smaller than 1200 octets to
2759
- start a new connection .
2754
+ An Initial packet MAY exceed 1200 octets if the client knows that the Path
2755
+ Maximum Transmission Unit (PMTU) supports the size that it chooses .
2760
2756
2757
+ A server MAY send a CONNECTION_CLOSE frame with error code PROTOCOL_VIOLATION in
2758
+ response to an Initial packet smaller than 1200 octets. It MUST NOT send any
2759
+ other frame type in response, or otherwise behave as if any part of the
2760
+ offending packet was processed as valid.
2761
2761
2762
2762
# # Path Maximum Transmission Unit
2763
2763
@@ -3644,12 +3644,13 @@ transport to cancel a stream in response to receipt of a STOP_SENDING frame.
3644
3644
3645
3645
# # Spoofed ACK Attack
3646
3646
3647
- An attacker receives an STK from the server and then releases the IP address on
3648
- which it received the STK. The attacker may, in the future, spoof this same
3647
+ An attacker might be able to receive an address validation token
3648
+ ({{address-validation}}) from the server and then release the IP address it
3649
+ used to acquire that token. The attacker may, in the future, spoof this same
3649
3650
address (which now presumably addresses a different endpoint), and initiate a
3650
- 0-RTT connection with a server on the victim's behalf. The attacker then spoofs
3651
- ACK frames to the server which cause the server to potentially drown the victim
3652
- in data.
3651
+ 0-RTT connection with a server on the victim's behalf. The attacker can then
3652
+ spoof ACK frames to the server which cause the server to send excessive amounts
3653
+ of data toward the new owner of the IP address .
3653
3654
3654
3655
There are two possible mitigations to this attack. The simplest one is that a
3655
3656
server can unilaterally create a gap in packet-number space. In the non-attack
0 commit comments