microsoft / microsoft/demikernel
[inetstack] Initial Sequence Number Selection is not RFC 6528 Compliant
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Description
Context
RFC 6528 recommends using a cryptographic hash function, along with a (temporally constant) secret key, in the generation of a TCP connection's initial sequence number (ISN). Our current implementation (isn_generator.rs) doesn't appear to do either (the nonce it uses changes with each new ISN calculation, while the secret key shouldn't, see the RFC for the full explanation).
Proposed Solution
Fix our implementation to (a) use an actual cryptographic hash function, along with (b) an appropriate secret key.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with isn_generator.rs and compare its current nonce and secret-key behavior with the requirements in RFC 6528. Trace how TCP initial sequence numbers are generated, then verify that the implementation uses a cryptographic hash and an appropriate temporally constant secret key. Done means the generator follows the RFC’s stated requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100