Client Environment Fingerprinting for CSRF Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cross-site request forgery (CSRF) attacks occur when unauthorized requests are sent to a server using a user's credentials, allowing unauthorized operations to be executed without their knowledge, posing a significant threat to internet security.

Innovation Solution

A method and system that generate and store a unique environment fingerprint based on local terminal information, which is included in access requests to verify the authenticity of the client, rejecting unauthorized requests and preventing CSRF attacks by ensuring only authorized terminals can pass server authentication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional CSRF protection methods (cookies, session identifiers) are used, then user authentication is maintained, but the system remains vulnerable to CSRF attacks where forged requests can execute unauthorized operations

Engineering Contradiction:
Improveauthentication securityVSAvoidCSRF attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary action by generating and storing an environment fingerprint for each client before any access requests are processed. This fingerprint, derived from terminal information, is saved on the server and subsequently used to verify the authenticity of all incoming requests, preventing CSRF attacks before they can execute unauthorized operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The environment fingerprint acts as an intermediary verification mechanism between the client and server. Instead of relying solely on traditional authentication credentials that can be forged, the system introduces this fingerprint as an additional layer of verification that binds the request to the specific client environment, making CSRF attacks ineffective

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If environment fingerprint verification is implemented, then CSRF protection is achieved, but additional authentication steps are required for each access request

Engineering Contradiction:
ImproveCSRF attack preventionVSAvoidauthentication process complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The client device performs self-service by automatically generating its own environment fingerprint based on its terminal information and including it in access requests without requiring user intervention. The server automatically verifies this fingerprint against stored values, making the authentication process transparent to users while maintaining security

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The environment fingerprint serves multiple functions: it uniquely identifies the client, verifies authentication, and prevents CSRF attacks all in a single verification step. This multi-functionality reduces the overall complexity by consolidating multiple security concerns into one mechanism rather than requiring separate solutions for each

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

Data Source

PatentUS10419431B2Preventing cross-site request forgery using environment fingerprints of a client device
Publication Date: 2019.09.17 ADVANCED NOVA TECH (SINGAPORE) HLDG PTE LTD
  • US10419431B2 patent drawing
  • US10419431B2 patent drawing
  • US10419431B2 patent drawing

AI summary

Disclosed is a method and apparatus for preventing cross-site request forgery. The recommendation method comprises storing a first environment fingerprint associated with a client, wherein the first environment fingerprint uniquely identifies the client based on local terminal information associated with the client; receiving an access request message from the client, the access request message including at least one operation and a second environment fingerprint generated by the client; determining whether the second environment fingerprint matches the first environmental fingerprint; rejecting the access request message if it is determined that the second environment fingerprint does not match the first environment fingerprint; and executing the operation included with the access request message if it is determined that the second environment fingerprint matches the first environment fingerprint.