Skip to content

Add plumbing for padding and chaff defenses against traffic analysis - #342

Open
kpodosin wants to merge 2 commits into
mainfrom
kpodosin/privacyChaffAndPadding
Open

kpodosin wants to merge 2 commits into
mainfrom
kpodosin/privacyChaffAndPadding

Conversation

@kpodosin

Copy link
Copy Markdown
Contributor

Adds TrafficAnalysisDefenses, set through QUICConnectionOptions.trafficAnalysisDefenses. Both defenses (padding and chaff) are off by default.

Padding: Pads packets according to three options: up to a fixed size, up to a multiple of a size, or to a random size. Only ACK-eliciting application data packets are padded.

Chaff: after an idle interval, with optional jitter, sends a PING marked as chaff, padded like other packets or to full size. Chaff is held to the congestion window, waits while anything else is pending, and stops after a maximum number in a row. Lost chaff is not retransmitted.

@agnosticdev agnosticdev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

All looks good, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🆕 semver/minor Adds new public API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants