cloudflare / cloudflare/quiche

Implement Address Validation Token and send when 0-RTT is enabled

Open
#2,395 2 comments 2 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.