cloudflare / cloudflare/quiche
Implement Address Validation Token and send when 0-RTT is enabled
- Dominant language
- Rust
- Stars
- 11.8k
- Forks
- 1.1k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 16
Description
## The problem
The point of anti-amplification is to limit the amount of data sent before validating the address. An address is validated during connection establishment by receiving a Handshake packet.
However, when processing a request in 0-RTT, we could potentially want to send more than anti-amplification limit worth of data. Anti-amplification blocking a 0-RTT request reduces the effectiveness of the feature.
## Proposed fix
> A server MAY provide clients with an address validation token during one connection that can be used on a subsequent connection. Address validation is especially important with 0-RTT because a server potentially sends a significant amount of data to a client in response to 0-RTT data.
As the RFC calls out, we might want to implement [Address validation tokens](https://www.rfc-editor.org/rfc/rfc9000.html#section-8.1.3) and issue then when issuing 0-RTT enabled resumption tickets.
Contributor guide
Research direction
Start with RFC 9000 section 8.1.3, then locate quiche's 0-RTT resumption-ticket issuance and connection-establishment paths. Trace where address validation is handled and define the token flow for a subsequent connection; done should include issuing tokens with 0-RTT-enabled tickets and using them to avoid unnecessary anti-amplification blocking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100