Dynamic Credential Pairs for Bot Request Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Differentiating between legitimate user requests and malicious bot activities in client/server systems is challenging, as bots can mimic browser behavior, leading to unauthorized actions such as content scraping and fraud.

Innovation Solution

Implementing an intermediary computer that intercepts and modifies instructions to include dynamic credentials, which are updated over time, and using challenge-response credential pairs to validate requests, thereby distinguishing between human and bot interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static credentials are used for request validation, then the validation process is simple, but the system is vulnerable to bot attacks and credential stuffing

Engineering Contradiction:
Improverequest validation securityVSAvoidcredential validation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms static credentials into dynamic credentials that change over time. The credential generation module creates time-varying credentials based on previous credentials and generation time, ensuring that each credential is valid only for a specific time window. This dynamic approach prevents bot attacks while maintaining a manageable validation process.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary credential generation and validation setup before actual requests occur. The credential generation module pre-generates credentials with embedded validity periods and sequences, and the validation module is pre-configured with verification algorithms, enabling efficient real-time validation without complex runtime computations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If dynamic credentials are implemented to prevent bot attacks, then security is improved, but the credential management complexity increases

Engineering Contradiction:
Improvebot attack preventionVSAvoidcredential management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The credential generation module operates autonomously, automatically generating new credentials based on previous credentials and current time without manual intervention. The system self-manages the credential lifecycle including generation, validation, and expiration, reducing the need for complex administrative management while maintaining high security standards.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The validation module provides feedback to the generation module about credential usage patterns and validation results. This feedback mechanism allows the system to adapt credential generation parameters, such as validity periods and sequence numbers, based on actual usage, simplifying management while maintaining effective bot prevention.

Inventive Principle:
Principle #23Feedback

3Reliability

If frequent credential updates are performed, then security against credential stuffing is enhanced, but the processing overhead increases

Engineering Contradiction:
Improvecredential stuffing preventionVSAvoidrequest processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements periodic credential updates where credentials are generated and validated at regular time intervals rather than continuously. Each credential has a predetermined validity period, and the validation module checks timestamps to determine validity, enabling efficient batch processing while maintaining strong protection against credential stuffing attacks.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent employs short-lived credentials that are discarded after a single use or short validity period. Each credential is designed to be computationally inexpensive to generate and validate, allowing frequent updates without significant processing overhead. The disposable nature of these credentials effectively prevents credential stuffing while maintaining high processing efficiency.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10225255B1Count-based challenge-response credential pairs for client/server request validation
Publication Date: 2019.03.05 SHAPE SECURITY INC
  • US10225255B1 patent drawing
  • US10225255B1 patent drawing
  • US10225255B1 patent drawing

AI summary

Computer systems and methods in various embodiments are configured for improving the security and efficiency of server computers interacting through an intermediary computer with client computers that may be executing malicious and/or autonomous headless browsers or "bots". In an embodiment, a server computer system that is programmed to validate requests from a client computer to a server computer, the server computer system comprising: a memory persistently storing a set of server instructions; one or more processors coupled to the memory, wherein the one or more processors execute the set of server instructions, which causes the one or more processors to: generate a first challenge credential to be sent to the client computer, wherein the first challenge credential corresponds to a first response credential in a first challenge-response credential pair; render one or more first dynamic-credential instructions, which when executed by the client computer, cause the client computer to generate the first response credential in the first challenge-response credential pair; send, to the client computer, the first challenge credential and the one or more first dynamic-credential instructions, but not the first response credential; receive a first request that includes a first test-challenge credential and a first test-response credential; determine whether the first test-challenge credential and the first test-response credential are the first challenge-response credential pair; in response to determining that the first test-response credential is the first response credential, determine that a first count is associated with the first challenge-response credential pair, and determine whether the first count satisfies a first threshold; in response to determining that the first count does not satisfy the first threshold, determine that the first request is not a replay request and assign a second count to the first challenge-response credential pair.