Secure ISN Generation Using Hashed Connection Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If fully random initial sequence numbers are generated, then unpredictability is improved, but data collisions from competing sequence numbers increase

Engineering Contradiction:
Improveunpredictability of sequence numbersVSAvoiddata collisions
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #40Composite materials

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

Engineering Contradiction:
Improvedata collisionsVSAvoidunpredictability of sequence numbers
Core Design Contradiction:
Object-affected harmful factorsVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveunpredictability of sequence numbersVSAvoidcomplexity of sequence number generator
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7503068B2Secure ISN generation
Publication Date: 2009.03.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7503068B2 patent drawing
  • US7503068B2 patent drawing
  • US7503068B2 patent drawing

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.