Client-Side Request Confirmation for CSRF Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions fail to effectively prevent combined Cross-Site Script (XSS) and Cross-Site Request Forgery (CSRF) attacks in web applications, as they either do not address CSRF or require user intervention that compromises security and user experience.

Innovation Solution

An apparatus and method that includes a request pre-submitting component sending a unique identifier to a server, accompanied by an alarm message, and a request confirmation component generating a confirmation message using a key inaccessible to other components, which is used to verify the legality of requests, thereby preventing malicious scripts from forging requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Object-affected harmful factors

If server-side input validation is performed to prevent XSS attacks, then malicious scripts are filtered, but CSRF attacks cannot be prevented as no script injection is required

Engineering Contradiction:
ImproveXSS attack preventionVSAvoidCSRF attack prevention capability
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The security mechanism is divided into two independent segments: XSS prevention through server-side input validation and CSRF prevention through token-based authentication. Each segment addresses a specific attack vector independently, allowing the system to prevent both XSS and CSRF attacks simultaneously without interference between the two mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A CSRF token acts as an intermediary element between the user's session and the server's validation process. The token is embedded in the request and verified by the server, serving as a mediator that prevents CSRF attacks while allowing legitimate requests to pass through. This intermediary mechanism complements the existing XSS prevention framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a security defense tool is installed at the client side to identify legal and fraudulent scripts, then XSS and CSRF attacks can be detected, but users may be reluctant to install new plug-ins and potential plug-in conflicts may occur

Engineering Contradiction:
Improveattack detection capabilityVSAvoiduser installation willingness
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The CSRF protection mechanism is extracted from the client-side browser environment and implemented through server-side validation of tokens. This extraction eliminates the need for users to install additional client-side security plug-ins, as the security functionality is provided by the server through token verification, thereby maintaining reliability while improving ease of operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system provides security services automatically through server-side token validation without requiring user intervention or installation of additional client-side tools. The browser's existing cookie storage mechanism is utilized to store CSRF tokens, and the server automatically verifies these tokens, making the security mechanism self-serving and transparent to the user.

Inventive Principle:
Principle #25Self-service

3Object-affected harmful factors

If an unpredictable parameter or secret token is adopted to prevent CSRF attacks, then request forging difficulty increases, but the token may be obtained by XSS attacks

Engineering Contradiction:
ImproveCSRF attack preventionVSAvoidtoken security
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The security architecture segments the XSS prevention and CSRF prevention functions into separate layers. XSS prevention is handled by server-side input validation, while CSRF prevention uses token-based authentication. This segmentation ensures that the CSRF token remains secure from XSS attacks, as the token verification occurs at the server level independent of script injection attempts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The CSRF token is generated and stored in advance before the attack can occur. The token is embedded in the user's session cookies prior to any potential XSS or CSRF attacks. This preliminary action ensures that when a request is made, the token is already in place for verification, preventing both XSS and CSRF attacks without requiring real-time token generation during the attack window.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If a user is required to input their password for each request, then request security is enhanced, but user experience becomes very bad and password theft possibility increases

Engineering Contradiction:
Improverequest authenticationVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

Authentication is performed preliminarily during the session establishment phase, where the user provides their password once to establish a secure session. Subsequent requests within this session use pre-generated CSRF tokens that are automatically included in the request headers, eliminating the need for repeated password input while maintaining security. This preliminary authentication action resolves the contradiction between security and user experience.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs automatic authentication and token generation without requiring user intervention for each request. The browser automatically includes CSRF tokens in outgoing requests, and the server automatically verifies these tokens, making the authentication process self-serving and transparent to the user. This eliminates the need for manual password re-entry while maintaining strong request authentication.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8386784B2Apparatus and method for securely submitting and processing a request
Publication Date: 2013.02.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8386784B2 patent drawing
  • US8386784B2 patent drawing
  • US8386784B2 patent drawing

AI summary

An apparatus and a method for securely submitting a request and an apparatus and a method for securely processing a request. The apparatus for securely submitting a request includes a request pre-submitting component and a request confirmation component. The request pre-submitting component sends a request with a unique identifier to a server and sends an alarm message containing the unique identifier and a request description to the request confirmation component. The request confirmation component contains a key inaccessible to other components in a client. It pops up a request confirmation window, on which the request description is displayed, in response to the alarm message and generates a request confirmation message associated with the request by using the key and the unique identifier.