Systems and methods for authenticating requests from a client running trialware through a proof of work protocol
AssigneeSymantec Corporation
InventorsZulfikar Ramzan, Walter Bogorad, Vijay Seshadri, Vadim Antonov, Pieter Viljoen
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for authenticating requests from a client running trialware through a proof of work protocol is described. A request received from a client running trialware is analyzed. A cryptographic puzzle is generated if an authentication token is not included with the request. The cryptographic puzzle is transmitted to the client. A solution to the cryptographic puzzle received from the client is analyzed. A response to the request is generated if the received solution to the puzzle is validated.
Claims18
A computer-implemented method for authenticating requests from a client running trialware through a proof of work protocol, comprising:
- analyzing, by a hardware processor, a request received from a client running trialware;
- determining, by the hardware processor, whether the request is successfully authenticated using an authentication token;
- upon determining that the authentication of the request is unsuccessful, generating, by the hardware processor, a cryptographic puzzle;
- transmitting the cryptographic puzzle to the client;
- receiving state information as at least a part of a solution to the cryptographic puzzle to determine whether a state has been maintained since the cryptographic puzzle was generated;
- upon determining that the state has altered since the cryptographic puzzle was generated, recomputing a hash function to validate the received solution to the puzzle;
- analyzing, by the hardware processor, the solution to the cryptographic puzzle received from the client;
- and
- generating, by the hardware processor, a response to the request if the received solution to the puzzle is validated.
A computer system configured to authenticate requests from a client running trialware through a proof of work protocol, comprising:
- a processor;
- memory in electronic communication with the processor;
- a request analyzer configured to analyze a request received from a client running trialware, wherein the request analyzer determines whether the request is successfully authenticated using an authentication token;
- a puzzle generator configured to generate a cryptographic puzzle upon determining that the authentication of the request is unsuccessful;
- a communication interface configured to transmit the cryptographic puzzle to the client;
- a solution analyzer configured to receive state information as at least a part of a solution to the cryptographic puzzle to determine whether a state has been maintained since the cryptographic puzzle was generated;
- upon determining that the state has altered since the cryptographic puzzle was generated, the solution analyzer is configured to recompute a hash function to validate the received solution to the puzzle;
- the solution analyzer configured to analyze the solution to the cryptographic puzzle received from the client;
- and
- a response generator configured to generate a response to the request if the received solution to the puzzle is validated.
A computer-program product for authenticating requests from a client running trialware through a proof of work protocol, the computer-program product comprising a non-transitory computer-readable storage medium having instructions thereon, the instructions comprising:
- code programmed to receive a request from a client running trialware;
- code programmed to determine whether the request is successfully authenticated using an authentication token;
- upon determining that the authentication of the request is unsuccessful, code programmed to generate a cryptographic puzzle;
- code programmed to transmit the cryptographic puzzle to the client;
- code programmed to receive state information as at least a part of a solution to the cryptographic puzzle to determine whether a state has been maintained since the cryptographic puzzle was generated;
- upon determining that the state has altered since the cryptographic puzzle was generated, code programmed to recompute a hash function to validate the received solution to the puzzle;
- code programmed to analyze the solution to the cryptographic puzzle received from the client;
- and
- code programmed to generate a response to the request if the received solution to the puzzle is validated.
Dependencies are inferred from the claim text.