Patent ID: 8745710

Claim:
A computer-implemented method for proactively renegotiating a shared secret, comprising: receiving a request from a client device, the request including a shared secret generated using a seed and a client time value determined using a clock of the client device; analyzing the shared secret to determine whether the seed used to generate the shared secret matches an expected seed value for the request; comparing the client time value, used to generate the shared secret, against a current time of a local clock and a client time value offset; in response to the seed being determined to match the expected seed value within an acceptable amount of variation, and the client time value falling inside a window of time with respect to the current time as modified by the client time value offset: authenticating an identity of the client device and processing the request; automatically updating at least one of (a) the expected seed value to match the seed used to generate the shared secret or (b) the client time value offset to account for the client time value; and sending an amount of time variation to the client device to be used for generating a subsequent shared secret, wherein the time variation is determined based on a difference between the client time value and the current time of the local clock.