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

generate packet numbers from a single sequence #1782

Merged
merged 1 commit into from
Jan 10, 2025
Merged

generate packet numbers from a single sequence #1782

merged 1 commit into from
Jan 10, 2025

Conversation

ghedo
Copy link
Member

@ghedo ghedo commented May 8, 2024

Instead of keeping separate sequences for each packet number space, use the same sequence.

This is needed to make it easier to support FIPS. This is because FIPS mandates that the crypto module (e.g. BoringCrypto) has to validate that the AEAD counter (which in QUIC corresponds to the packet number) is stricly monotonically increasing (so that counters are not reused).

Because BoringCrypto saves the counter inside its own AEAD context, and because new paths currently require starting from packet number 0 again, the FIPS requirement would require us to maintain separate AEAD contexts for each path, which we currently don't do (and would probably be messy to implement).

This reverts commit 40e2433.

@ghedo ghedo requested a review from a team as a code owner May 8, 2024 12:27
LPardue
LPardue previously approved these changes May 8, 2024
Instead of keeping separate sequences for each packet number space, use
the same sequence.

This is needed to make it easier to support FIPS. This is because FIPS
mandates that the crypto module (e.g. BoringCrypto) has to validate that
the AEAD counter (which in QUIC corresponds to the packet number) is
stricly monotonically increasing (so that counters are not reused).

Because BoringCrypto saves the counter inside its own AEAD context, and
because new paths currently require starting from packet number 0 again,
the FIPS requirement would require us to maintain separate AEAD contexts
for each path, which we currently don't do (and would probably be messy
to implement).

This reverts commit 40e2433.
@ghedo ghedo merged commit 79c366d into master Jan 10, 2025
38 checks passed
@ghedo ghedo deleted the next_pkt_num branch January 10, 2025 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants