Systems and methods for validating client authentication using protected timing data
AssigneeSymantec Corporation
InventorsPaul Cook, Scott Hopwood, Anthony Langsworth
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for validating client authentication using timing data is described. A connection request is received from a client. Data are transmitted to the client. The client is instructed to retransmit the data. The retransmitted data are received from the client. Timing data that indicates a time to transmit the data to the client and receive the retransmitted data from the client are calculated. A protective element is applied to the timing data.
Claims11
A computer-implemented method to validate client authentication using timing data, comprising:
- authenticating credentials entered by a user on a client;
- upon authenticating the credentials entered by the user, validating the client authentication using timing data, comprising:
- receiving, by a processor, a connection request from the client, the connection request comprising a request to connect the client to an Internet-based resource, the credentials being authenticated and the client authentication being validated using timing data to determine whether to allow the client to connect to the Internet-based resource;
- receiving, by the processor, a validation token with the connection request;
- verifying, by the processor, the received validation token with an issuing server by matching the received validation token with a validation token generated by the issuing server;
- calculating, by the processor, timing data that indicate a time to transmit the data to the client and receive the retransmitted data from the client;
- applying, by the processor, a protective element to the timing data, wherein the protective element comprises a digital signature;
- transmitting, by the processor, data to the client, wherein the client retransmits the data, and wherein the data comprises the digitally signed timing data;
- receiving, by the processor, the retransmitted data from the client;
- and
- transmitting the digitally signed timing data to a timing verification server, wherein the timing verification server determines whether the timing data fall within a predetermined range of timing data.
A computing device configured to validate client authentication using timing data, comprising:
- a processor;
- memory in electronic communication with the processor;
- and
- instructions stored in the memory, the instructions being executable by the processor to:
- authenticate credentials entered by a user on a client;
- upon authenticating the credentials entered by the user, validate the client authentication using timing data, comprising:
- receive a connection request from the client, the connection request comprising a request to connect the client to an Internet-based resource, the credentials being authenticated and the client authentication being validated using timing data to determine whether to allow the client to connect to the Internet-based resource;
- receive a validation token with the connection request;
- verify the received validation token with an issuing server by matching the received validation token with a validation token generated by the issuing server;
- calculate timing data that indicate a time to transmit the data to the client and receive the retransmitted data from the client;
- apply a protective element to the timing data;
- transmit data to the client, wherein the client retransmits the data, and wherein the data comprises the digitally signed timing data;
- receive the retransmitted data from the client;
- and
- transmit the digitally signed timing data to a timing verification server, wherein the timing verification server determines whether the timing data fall within a predetermined range of timing data.
A computer-program product to validate client authentication using timing data, the computer-program product comprising a non-transitory computer-readable medium having instructions thereon, the instructions being executable by a processor to:
- authenticate credentials entered by a user on a client;
- upon authenticating the credentials entered by the user, validate the client authentication using timing data, comprising:
- receive a connection request from the client, the connection request comprising a request to connect the client to an Internet-based resource, the credentials being authenticated and the client authentication being validated using timing data to determine whether to allow the client to connect to the Internet-based resource;
- receive a validation token with the connection request;
- verify the received validation token with an issuing server by matching the received validation token with a validation token generated by the issuing server;
- calculate timing data that indicate a time to transmit the data to the client and receive the retransmitted data from the client;
- apply a protective element to the timing data;
- transmit data to the client, wherein the client retransmits the data, and wherein the data comprises the digitally signed timing data;
- receive the retransmitted data from the client;
- and
- transmit the digitally signed timing data to a timing verification server, wherein the timing verification server determines whether the timing data fall within a predetermined range of timing data.
Dependencies are inferred from the claim text.