Dynamic Credential Pairs for Bot Request Validation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If dynamic credentials are implemented to prevent bot attacks, then security is improved, but the credential management complexity increases
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.
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.
3Reliability
If frequent credential updates are performed, then security against credential stuffing is enhanced, but the processing overhead increases
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.
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.
Data Source
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.


