Patent ID: 8316421

Claim:
A method for building tolerance into authentication of a device, comprising: receiving and storing a first digital fingerprint of the device during a first boot of an authenticating software on the device, the first digital fingerprint being based on a first set of device components; receiving a second digital fingerprint from the device at a subsequent time; comparing the second digital fingerprint with a plurality of stored digital fingerprints of known devices; in response to the comparison indicating a mismatch between the second digital fingerprint and the plurality of stored digital fingerprints, generating a request code comprising instructions for the device to generate a third digital fingerprint using the first set of device components; sending the request code to the remote device; receiving the third digital fingerprint from the remote device in response to the request code; generating a control metric by encoding one or more differences between the first and second digital fingerprints; generating a second metric by encoding one or more differences between the first and third digital fingerprints, wherein each metric comprises data identifying, for each of the one or more differences encoded, a fingerprint portion and associated component portion, the associated component portion identifying a device component that caused a difference to occur during comparison of digital fingerprints, and authenticating the device based on a comparison between the control metric and the second metric, wherein the device is validly authenticated when the comparison between the control metric and the second metric determines that an acceptable percentage of the associated components of the control metric and the associated components of the second metric match.