Deterministic Client/Server State Reproduction via Challenge Nonces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for protecting server computers from attacks, such as bot-generated requests, often require excessive storage for mapping or countermeasure implementation, leading to memory constraints and debugging difficulties.

Innovation Solution

A deterministic approach involving challenge nonces and response states, where a server generates a challenge nonce and state, sends it to a client, and validates requests without persistently storing the challenge state or response, allowing for efficient and reproducible security measures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server computer stores mappings for each instance of modified web pages to protect from attacks, then security against bot-generated requests is improved, but storage requirements increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoidstorage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the security verification data (mappings) from server-side storage and relocates it to client-side storage. The client computer stores the mappings locally after receiving them from the server, eliminating the need for the server to maintain large storage for mapping data while still enabling security verification against bot attacks.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the server computer adds countermeasure instructions to modify web pages for security, then protection against attacks is improved, but functionality of web pages may be broken and debugging becomes difficult

Engineering Contradiction:
ImprovesecurityVSAvoiddebugging
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The patent extracts countermeasure instructions from the server-side web page modification process and relocates them to client-side execution. The server provides the countermeasure instructions to the client, which then executes them locally, allowing security measures to be implemented without requiring server-side debugging infrastructure and reducing the impact on web page functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of repair

If the server computer stores copies of each instance of web page for debugging countermeasures, then ease of debugging is improved, but storage requirements increase significantly

Engineering Contradiction:
ImprovedebuggingVSAvoidstorage
Core Design Contradiction:
Ease of repairVSQuantity of substance

Solution Approach 1:

The patent extracts debugging capabilities from server-side storage of web page instances and relocates them to client-side storage. The client computer stores received web pages locally, enabling debugging of countermeasure instructions without requiring the server to maintain large storage for web page instances.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3424178B1Deterministic reproduction of client/server computer state or output sent to one or more client computers
Publication Date: 2020.05.20 SHAPE SECURITY INC
  • EP3424178B1 patent drawingFigure 1
  • EP3424178B1 patent drawingFigure 2
  • EP3424178B1 patent drawingFigure 3

AI summary

Computer systems and methods for improving security or performance of client computers interacting with a plurality of server computers. In an embodiment, a computer system comprises a first server computer and a second server computer; wherein the first server computer is configured to: generate a challenge nonce, wherein the challenge nonce corresponds to a challenge state; generate the challenge state based on the challenge nonce, wherein the challenge state corresponds to a response state; send, to a first client computer, the challenge nonce and the challenge state, but not the response state; wherein the second server computer is configured to: receive, from the first client computer, a test nonce and a test response state; determine whether the test response state matches the response state based on the test nonce, without: receiving the challenge state from the first server computer; receiving the challenge state from the first client computer.