Secret Session Token Validation for HTTP Hijacking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems, particularly those using HTTP-based applications, face security risks due to the vulnerability of session IDs to hijacking, as they lack effective mechanisms to validate session identifiers, relying heavily on HTTPS and developer diligence.

Innovation Solution

An information handling system with web server functionality generates a secret session token (SST) based on request session ID and header data, validating requests only if the SST matches the provided token, thereby enhancing security by blocking unauthorized requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If session IDs are used for HTTP-based applications, then state management is enabled, but security vulnerability to session hijacking increases

Engineering Contradiction:
Improvesession state managementVSAvoidsession hijacking vulnerability
Core Design Contradiction:
Stability of the object's compositionVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a secret session token (SST) as an intermediary element between the session ID and the application logic. The SST is derived from the session ID through a one-way hash function and is used to validate the authenticity of session-related requests. This intermediary mechanism allows the system to maintain session state while adding a security layer that prevents session hijacking, as attackers cannot easily derive the SST from the session ID alone.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-computing and storing the secret session token (SST) in a secure location before the actual session operations occur. When a session is created, the SST is generated from the session ID using a cryptographic hash function and stored in a secure session store. This preliminary preparation ensures that when validation is needed, the system can quickly verify the SST without compromising security or performance.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If traditional session validation is used, then implementation is simple, but security against session hijacking is insufficient

Engineering Contradiction:
Improvevalidation implementation simplicityVSAvoidsession security
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent extracts the security-critical validation logic from the application layer and implements it in the web server layer. By taking out the session validation responsibility from individual applications and centralizing it in the web server, the system achieves both simplicity and reliability. The web server handles SST generation, storage, and validation centrally, which simplifies the overall implementation while ensuring consistent security across all applications.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system replaces traditional mechanical session validation methods with cryptographic mechanisms. Instead of relying on simple session ID comparison or basic HTTPS enforcement, the patent uses one-way cryptographic hash functions to generate and validate secret session tokens. This substitution provides stronger security guarantees while maintaining ease of implementation through standardized cryptographic operations.

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

3Object-affected harmful factors

If secret session token validation is implemented, then security against session hijacking is improved, but system complexity increases

Engineering Contradiction:
Improvesession hijacking protectionVSAvoidvalidation system complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically generating, storing, and validating secret session tokens without requiring manual intervention or complex configuration. The web server automatically derives the SST from the session ID using a predefined hash function, stores it in the session store, and performs validation transparently for all session-related requests. This automation reduces operational complexity while maintaining strong security.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The secret session token mechanism serves multiple functions simultaneously: it provides session validation, prevents session hijacking, and works across different HTTP methods and protocols. The SST can be used with GET, POST, PUT, DELETE, and other HTTP methods, and can be transmitted through various channels (cookies, URL parameters, request bodies). This multi-functionality reduces the need for separate validation mechanisms for different scenarios, thereby reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10778668B2HTTP session validation module
Publication Date: 2020.09.15 DELL PROD LP
  • US10778668B2 patent drawing
  • US10778668B2 patent drawing
  • US10778668B2 patent drawing

AI summary

A web server receives a packet including a web request from a browser of a client. The request includes a session cookie comprising a client token and a session identifier. A secret session token is calculated based on the session identifier and header data that includes data from one or more packet header fields. The web request is processed if the secret session token matches the client token and blocked otherwise. Determining the secret session token may include hashing the session identifier, at least a portion of a user agent string included in a user agent header of the web request, and at least a portion of a source IP address included in an IP header of the packet. The secret session token may have been provided to the client as a session cookie included in a response to an initial web request from the client.