Hybrid JWT and HTTPOnly Cookie Authentication for XSS CSRF Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern cloud applications face vulnerabilities in securing client-side web authentication tokens from cross-site scripting (XSS) attacks, as long-lived JSON Web Tokens (JWTs) can be exploited, and traditional HTTPOnly cookies are not applicable due to the need for client-side API access, which also exposes servers to CSRF attacks.

Innovation Solution

A mechanism is introduced where a client-side credential, such as a JWT, is paired with a server-side credential, a random value, which is hashed and stored in an HTTPOnly cookie inaccessible to the client, ensuring the token's validity by reapplying the one-way function to verify the hash value, thus protecting against XSS attacks without exposing the server to CSRF risks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If JWT tokens are stored in client-side storage (LocalStore), then client-side API access is enabled and CSRF protection is improved, but XSS attack vulnerability increases

Engineering Contradiction:
ImproveCSRF protectionVSAvoidXSS attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The authentication system is segmented into two separate credentials: a client-side accessible JWT token for API authentication and a server-side only HTTPOnly cookie for security verification. This segmentation allows each credential to serve its specific purpose while mitigating the vulnerabilities of storing all credentials in client-side storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server-side credential (HTTPOnly cookie) acts as an intermediary security layer that the server uses to verify the legitimacy of client-side tokens. This intermediary mechanism enables the server to distinguish between legitimate tokens and those stolen via XSS attacks without requiring client-side code to handle sensitive security logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If HTTPOnly cookies are used for authentication, then XSS attack protection is improved, but client-side API access and CSRF protection deteriorate

Engineering Contradiction:
ImproveXSS attack protectionVSAvoidCSRF protection
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The system merges the advantages of both authentication methods by combining client-side accessible JWT tokens (enabling API access and CSRF protection) with server-side only HTTPOnly cookies ( providing XSS protection). The server validates both credentials together, creating a hybrid authentication system that leverages the strengths of each approach.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If additional security mechanisms are implemented to protect against XSS attacks, then security reliability is improved, but server complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidserver complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The complex security verification logic is extracted from the client-side code and relocated to the server-side. The server independently verifies the relationship between client-side tokens and server-side credentials without requiring client-side implementation of security algorithms, simplifying the client codebase while maintaining strong security.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The server performs self-verification by using its own stored credentials (in HTTPOnly cookies) to validate client-side tokens. This self-service approach eliminates the need for complex third-party security services or intricate client-server negotiation protocols, reducing overall system complexity while maintaining security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11165890B2Secure client-server communication
Publication Date: 2021.11.02 WORKDAY INC
  • US11165890B2 patent drawing
  • US11165890B2 patent drawing
  • US11165890B2 patent drawing

AI summary

A secure client-server connection method compatible with RESTful (REpresentational State Transfer) APIs (Application Programming Interface) that is resistant to cross-site scripting (XSS) and cross-site request forgery (CSRF) attacks. The server generates a token for the client and a random value which it pairs with the token. The random value is hashed. The hash value is transmitted to the client contained in the token and the random value is transmitted to the client contained in an HTTPOnly cookie. Even if an attacker steals the token and/or the hash, security is maintained, since the server verifies communications from the client by validating the token on the basis of its hash value. Validation is performed by the server hashing the random value contained in the HTTPOnly cookie paired with the token to obtain a further hash value, and checking that this further hash value matches the token's hash value.