Using an NP-complete problem to deter malicious clients
AssigneePaypal, Inc.
InventorJohn Franco
Life of this patent
Estimating the term…
Abstract
Methods and systems for using a challenge-response problem to deter malicious clients are described. A login attempt from a computing device with an associated identity profile is detected. A reputation score is determined based on the identity profile, and a strength of a challenge-response problem for use with the login attempt is set based on the determined reputation score. The challenge-response problem with the set strength is then sent to the computing device. The login attempt is permitted to proceed when a solution to the challenge-response problem received from the computing device is verified.
Claims20
A system for authenticating a user, comprising:
- a non-transitory memory storing instructions;
- and
- one or more hardware processors coupled to the non-transitory memory and configured to execute the instructions to cause the system to perform operations comprising:
- receiving, from a computing device, a first login request for logging into an account;
- retrieving an identity profile associated with the computing device;
- determining a first reputation score for the first login request based on the identity profile;
- determining a first number of terms for a first challenge-response problem based on the first reputation score, wherein the first challenge-response problem comprises a first NP-complete problem;
- configuring the first challenge-response problem to use the first number of terms determined based on the first reputation score;
- sending the first challenge-response problem to the computing device;
- denying the first login request based on at least one of a first login credential or a first solution to the first challenge-response problem received from the computing device;
- subsequent to denying the first login request, receiving, from the computing device, a second login request for logging in to the account;
- determining a second reputation score for the second login request based on the first reputation score and a determination that the first login request has been denied;
- determining a second number of terms for a second challenge-response problem based on the second reputation score, wherein the second challenge-response problem comprises a second NP-complete problem;
- configuring the second challenge-response problem to use the second number of terms determined based on the second reputation score;
- sending the second challenge-response problem to the computing device;
- and
- authorizing the second login request in response to verifying a second login credential and a second solution to the second challenge-response problem received from the computing device.
A method comprising:
- detecting a first login attempt for logging into a user account made through a computing device;
- determining a first reputation score for the computing device based on attributes associated with the computing device;
- determining a first number of terms for a first challenge-response problem based on the first reputation score, wherein every additional number of terms in the challenge-response problem causes (i) a non-linear increase in computing power required to produce a response for the challenge-response problem and (ii) a linear increase in computing power required to verify the response;
- configuring the first challenge-response problem to use the first number of terms determined based on the first reputation score;
- denying the first login attempt from proceeding in response to receiving a wrong solution to the first challenge-response problem or determining that a response was not provided within a predetermined period of time;
- subsequent to denying the first login attempt, detecting a second login attempt for logging in to the user account made through the computing device;
- determining a second reputation score for the second login attempt based on the first reputation score and a determination that the first login attempt has been denied;
- determining a second number of terms for a second challenge-response problem based on the second reputation score;
- configuring the second challenge-response problem to use the second number of terms determined based on the second reputation score;
- sending the second challenge-response problem to the computing device;
- and
- processing the second login attempt in response to verifying a solution to the second challenge-response problem received from the computing device.
A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:
- detecting a first login attempt for logging into an account made through a computing device having an associated identity profile;
- determining a first reputation score based on the associated identity profile;
- determining a first number of terms for a first NP-complete problem based on the first reputation score;
- configuring the first NP-complete problem to use the first number of terms determined based on the first reputation score;
- sending the first NP-complete problem to the computing device;
- denying the first login attempt from proceeding based on at least one of a first login credential or a first solution to the first challenge-response problem received from the computing device;
- subsequent to denying the first login attempt, detecting a second login attempt for logging into the account made through the computing device;
- determining a second reputation score for the second login attempt based on the first reputation score and a determination that the first login attempt has been denied;
- determining a second number of terms for a second NP-complete problem based on the second reputation score;
- configuring the second NP-complete problem to use the second number of terms determined based on the second reputation score;
- sending the second NP-complete problem to the computing device;
- and
- authorizing the second login attempt in response to verifying a second solution to the second NP-complete problem received from the computing device.
Dependencies are inferred from the claim text.