IP Library Granted Patent US 9,442,833
Granted Patent B1
US 9,442,833 · App. 13/187,319 · Granted Sep 13, 2016

Managing device identity

Inventor: Karl-Anders R. Johansson (Malmo, SE)
Assignee: QUALCOMM Incorporated
G06F12/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,442,833
App. No.
13/187,319
Granted
Sep 13, 2016
Kind
B1
Abstract

Enrolling a device identity is disclosed. A determination is made as to whether one or more areas of a storage device has a sufficient number of faults. If an insufficient number of faults is present, additional faults are generated. Verifying a device identity is also disclosed. A fingerprint based on the presence of one or more permanent faults in a storage device is received. The received fingerprint is compared with one or more stored fingerprints to determine an identity of the device.

Claims (49)

1. A device, comprising:

a storage device including blocks of storage cells; and

a processor coupled to the storage device, the processor configured to:

select a first bad block of the storage device, from a bad blocks list identifying blocks that should not be used in the storage device, wherein the first bad block already has storage cells with faults;

perform repeated write and erase operations to storage cells in the first bad block to generate an intentionally induced permanent fault;

designate the first bad block as a non-usable data area; and

generate a device identifier based on a fault location map that includes storage cell locations of faults, including the intentionally induced permanent fault, in the first bad block.

2. The device of claim 1 , wherein the processor is further configured to determine whether an excessive number of permanent faults is present in the first bad block, and when an excessive number of faults is present, generate the device identifier based on generated intentionally induced permanent faults present in an alternate area of the storage device.

3. The device of claim 1 , wherein the processor is further configured to erase the device identifier at least in part by repeatedly performing write and erase operations to generate additional intentionally induced permanent faults in the first bad block.

4. The device of claim 1 , wherein the device identifier comprises a list of storage cell locations in the first bad block that do not include intentionally induced permanent faults generated in the storage cells in the first bad block.

5. The device of claim 1 , wherein the processor is further configured to perform a software-based attestation prior to generating the device identifier.

6. The device of claim 1 , wherein the processor is further configured to generate the device identifier in response to a request from a remote verifier.

7. A device, comprising;

a processor configured to:

receive a device identifier generated by a remote device; and

determine identity information associated with the remote device at least in part by matching the received device identifier against one or more stored device identifiers,

wherein the received device identifier is based on a fault location map that includes storage cell locations of faults, including a generated intentionally induced permanent fault in a selected first bad block of the remote device, where the first bad block was selected from a bad blocks list, identifying blocks that should not be used in the remote device, where repeated write and erase operations to storage cells in the selected first bad block were performed to generate the intentionally induced permanent fault; and

a memory coupled to the processor and configured to provide the processor with instructions.

8. The device of claim 7 wherein the processor is further configured to match the received device identifier at least in part by applying a threshold.

9. The device of claim 8 wherein the threshold allows for an increasing number of permanent faults.

10. The device of claim 7 wherein the processor is further configured to grant access to a resource based on a result of the determination.

11. The device of claim 7 wherein the matching is based on at least one of a presence and an absence of a fault in a specific storage cell location.

12. The device of claim 7 , wherein the identity information indicates a group of potential devices of which the device is a member.

13. The device of claim 1 , wherein the processor is further configured to select the first bad block from the bad blocks list based on a random selection.

14. The device of claim 1 , wherein the processor is further configured to select the first bad block from the bad blocks list based on a pre-determined rule.

15. A method of managing an identity of a device, comprising:

selecting, from a storage device including blocks of storage cells, a first bad block of the storage device, from a bad blocks list identifying blocks that should not be used in the storage device, wherein the first bad block already has storage cells with faults;

performing repeated write and erase operations to storage cells in the first bad block to generate an intentionally induced permanent fault;

designating the first bad block as a non-usable data area; and

generating a device identifier based on a fault location map that includes storage cell locations of faults, including the intentionally induced permanent fault in the first bad block.

16. The method of claim 15 , further comprising determining whether an excessive number of permanent faults is present in the first bad block, and when an excessive number of permanent faults is present, generating the device identifier based on generated intentionally induced permanent faults present in an alternate area of the storage device.

17. The method of claim 15 , further comprising erasing the device identifier at least in part by repeatedly performing write and erase operations to generate additional intentionally induced permanent faults in the first bad block.

18. The method of claim 15 , wherein the device identifier comprises a list of storage cell locations in the first bad block that do not include intentionally induced permanent faults generated in the storage cells in the first bad block.

19. The method of claim 15 , further comprising performing a software-based attestation prior to generating the device identifier.

20. The method of claim 15 , further comprising generating the device identifier in response to a request from a remote verifier.

21. The device of claim 1 , wherein the processor is further configured to:

determine if a second bad block, different from the first bad block, is required to be selected, and if the second bad block is required:

select the second bad block from the bad blocks list, wherein the second bad block already has storage cells with faults;

perform repeated write and erase operations to storage cells in the second bad block to generate a second intentionally induced permanent fault; and

generate the device identifier based on a second fault location map that includes storage cell locations of faults, including the intentionally induced permanent fault in the first bad block and the second intentionally induced permanent fault in the second bad block.

22. The device of claim 1 , wherein the intentionally induced permanent fault is distinct from a fault that occurs during manufacture or normal use subsequent to manufacture.

23. The device of claim 1 , wherein the processor is further configured to identify the intentionally induced permanent fault, which cannot be removed, and which is distinct from temporary faults that can be removed.

24. The device of claim 1 , wherein the intentionally induced permanent fault is added and cannot disappear.

25. The device of claim 1 , wherein the processor is configured to generate the intentionally induced permanent fault in response to a first use of the device by an end user, or in response to an end user taking a pre-defined action.

26. The device of claim 7 , wherein the processor is further configured to:

correctly identify the remote device when the device identifier generated by the remote device is different from the one or more stored device identifiers due to an addition of temporary errors to the fault location map that includes storage cell locations of faults, including the generated intentionally induced permanent fault in the selected first bad block of the remote device.

27. The method of claim 15 , wherein the intentionally induced permanent fault, which cannot be removed, is distinct from temporary faults that can be removed.

28. The method of claim 15 , wherein the intentionally induced permanent fault is added and cannot disappear.

29. The method of claim 15 , further comprising, generating the intentionally induced permanent fault in response to a first use of the device by an end user, or in response to an end user taking a pre-defined action.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2014
From: FATSKUNK, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 034291/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2011
From: JOHANSSON, KARL-ANDERS R.
To: FATSKUNK, INC.
Reel/Frame 026929/0119 →
Continuity (1)
Provisional Application 61365858 · Jul 20, 2010