Secure ISN Generation Using Hashed Connection Identifiers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current initial sequence number generators for data transport protocols are vulnerable to attacks due to predictable sequence numbers, leading to potential data collisions and hijacking, as they either generate fully random or monotonically increasing numbers without considering the uniqueness and unpredictability required for each connection identifier.
Innovation Solution
A secure random number generator that uses a combination of a private key based on local server timing and state conditions, a hash function with connection identifier information, and a monotonically increasing counter to generate initial sequence numbers, ensuring uniqueness and unpredictability while preventing data collisions and attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fully random initial sequence numbers are generated, then unpredictability is improved, but data collisions from competing sequence numbers increase
Solution Approach 1:
The sequence number generation is segmented into multiple components: a random portion derived from connection identifier information through hash functions, and a monotonically increasing counter portion. This segmentation allows each component to fulfill its specific function - the random portion provides unpredictability while the counter portion prevents collisions.
Solution Approach 2:
The initial sequence number is constructed as a composite value combining multiple elements: random data from hash functions of connection identifiers, timing information, and a monotonically increasing counter. This composite structure leverages the strengths of each component to achieve both unpredictability and collision-free generation.
2Object-affected harmful factors
If monotonically increasing initial sequence numbers are generated, then data collisions are reduced, but unpredictability decreases making the system vulnerable to attacks
Solution Approach 1:
The sequence number is divided into segments where the lower bits contain the monotonically increasing counter (providing collision prevention) and the upper bits contain random data from hash functions (providing unpredictability). This segmentation allows both requirements to be satisfied simultaneously.
Solution Approach 2:
Different parts of the sequence number have different qualities: the counter portion provides local monotonicity for collision prevention while the hash-derived portion provides local randomness for unpredictability. Each part optimizes for its specific function.
3Reliability
If random number generators are used to choose TCP initial sequence numbers, then unpredictability is improved, but the complexity of the generation mechanism increases
Solution Approach 1:
The system uses readily available information (connection identifiers, timing data) and standard cryptographic functions (hash functions) that are already present in most systems. This self-service approach generates secure sequence numbers without requiring external random number generators or complex additional hardware.
Solution Approach 2:
The patent replaces traditional mechanical or hardware-based random number generators with a software-based cryptographic hash function approach. This substitution maintains security while reducing hardware complexity and leveraging existing software infrastructure.
Data Source
AI summary
An initial sequence number generator is provided that prevents the local server from being attacked while maintaining reliable data transfer. A random intermediate value is created that is unique to each connection identifier and is combined with a random value created from a global counter to generate the initial sequence number. The counter capable of monotonically increasing by both a fixed and variable amount for ensuring that the same connection identifier does not have data collisions from competing sequence numbers within a predetermined period of time, and also to ensures randomness of the initial sequence number on a per connection basis for preventing attacks on the local server.


