Patent ID: 8793496

Claim:
A method for secure authentication, comprising: receiving, by a constrained device, a random string transmitted from a server; determining, by the constrained device, a responsive output by evaluating a first deterministic function including first inputs to the first deterministic function, the first inputs comprising the received random string, a locally generated string, and a first private key stored on the constrained device; transmitting at least one portion of the responsive output and the locally generated string from the constrained device to a server; determining, by the server, a validation output by evaluating a second deterministic function including second inputs to the second deterministic function, the second inputs comprising the random string, the locally generated string, and a second private key of a plurality of private keys stored on the server; and authenticating the constrained device based upon the server matching the transmitted at least one portion of the responsive output to at least a portion of the validation output; transmitting a server answer component of the validation output to the constrained device; matching, at the constrained device, the received server answer component to a server answer component of the responsive output; and updating the first private key and the second private key; wherein the first private key is updated based upon a new private key of the responsive output, and wherein the second private key is updated based upon a new private key of the validation output.