IP Library Granted Patent US 10,678,924
Granted Patent B2
US 10,678,924 · App. 15/233,478 · Granted Jun 9, 2020

Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory

Inventors: Vincent Pierre Le Roy (San Diego, CA); Ivan McLean (San Diego, CA)
Assignee: Qualcomm Incorporated
G06F21/567G06F1/30G06F3/0619G06F3/0653G06F3/0685G06F21/6245G06F21/79G06F2221/034
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 10,678,924
App. No.
15/233,478
Granted
Jun 9, 2020
Kind
B2
Abstract

Various features relate to the providing Software-Resilient User Privacy within smartphones or other devices by storing and processing all pertinent values needed for user privacy—such as security keys and access attempt counters—in hardware, such as within a System-on-a-Chip (SoC) processor formed on an integrated circuit (IC). For example, an on-die ephemeral Volatile Memory (eVM) device may be employed for storing access attempt counters or other parameters used to control malicious attack countermeasures. In one example, the eVM employs static random-access memory (SRAM) formed on the die and exploits capacitive remanence to recover stored counter values even if power is disconnected, then reconnected. On-chip NVM may be used for permanent storage of other privacy values, such as a device-unique secret key that is generated locally on the device and not known to the chip vendor, the device Original Equipment Manufacturer (OEM)) or the owner/user of the device.

Claims (41)

1. A method operational in a processor formed on an integrated circuit (IC) die, the method comprising:

storing a parameter in a volatile memory on the IC die, wherein the volatile memory receives power from a power source, the parameter stored using a storage controller configured to store the parameter in the volatile memory for an amount of time to achieve an amount of remanence to retain the parameter ephemerally following a loss of power at the volatile memory, with the amount of time set based, at least in part, on an expected interval of the loss of power, wherein the volatile memory is a static random access memory (SRAM) capable of providing the amount of remanence to retain the parameter ephemerally following the loss of power during the period of time;

retrieving the parameter from the volatile memory following the loss of power at the volatile memory during which the volatile memory receives no power; and

controlling an attack countermeasure based on the parameter retrieved from the volatile memory following a reactivation of power, wherein the parameter represents a power-loss resistant value used in connection with the attack countermeasure.

2. The method of claim 1 , wherein the remanence of the volatile memory is one or more of capacitive remanence and magnetic remanence.

3. The method of claim 1 , wherein the attack countermeasure comprises delaying a user access attempt based on a value of the parameter.

4. The method of claim 1 , wherein the parameter is stored in the volatile memory using error-correcting codes (ECCs).

5. The method of claim 1 , further including generating a device-unique secret key using the processor of the IC die and storing the device-unique secret key in a non-volatile memory (NVM) portion of memory on the IC die, the device-unique secret key not accessible to any entity or component external to the IC die.

6. The method of claim 5 , wherein software running on the processor lacks access to the device-unique secret key and wherein hardware components of the processor generate an end-key from the device-unique secret key.

7. A device, comprising:

a power source; and

an integrated circuit (IC) die including a processor and a volatile memory configured to receive power from the power source, the processor configured to

store a parameter in the volatile memory on the IC die using a storage controller configured to store the parameter in the volatile memory for an amount of time to achieve an amount of remanence to retain the parameter ephemerally following a loss of power at the volatile memory, with the amount of time set based, at least in part, on an expected interval of the loss of power, wherein the volatile memory is a static random access memory (SRAM) capable of providing the amount of remanence to retain the parameter ephemerally following the loss of power during the period of time;

retrieve the parameter from the volatile memory following a loss of power at the volatile memory during which the volatile memory receives no power; and

control an attack countermeasure based on the parameter retrieved from the volatile memory following a reactivation of power, wherein the parameter represents a power-loss resistant value used in connection with the attack countermeasure.

8. The device of claim 7 , wherein the remanence is one or more of capacitive remanence and magnetic remanence.

9. The device of claim 7 , wherein the attack countermeasure comprises delaying a user access attempt based on a value of the parameter.

10. The device of claim 7 , wherein the parameter is stored by the processor in the volatile memory using error-correcting codes (ECCs).

11. The device of claim 7 , further including generating a device-unique secret key using the processor of the IC die and storing the device-unique secret key in a non-volatile memory (NVM) portion of memory on the IC die, the device-unique secret key not accessible to any entity or component external to the IC die.

12. The device of claim 11 , wherein software running on the processor lacks access to the device-unique secret key and wherein hardware components of the processor generate an end-key from the device-unique secret key.

13. A device comprising:

means for storing a parameter in a volatile memory on an integrated circuit (IC) die, wherein the volatile memory receives power from a power source, the means for storing the parameter in the volatile memory for an amount of time to achieve an amount of remanence to retain the parameter ephemerally following a loss of power at the volatile memory, with the amount of time set based, at least in part, on an expected interval of the loss of power, wherein the volatile memory is a static random access memory (SRAM) capable of providing the amount of remanence to retain the parameter ephemerally following the loss of power during the period of time;

means for retrieving the parameter from the volatile memory following a loss of power at the volatile memory during which the volatile memory receives no power; and

means for controlling an attack countermeasure based on the parameter retrieved from the volatile memory following a reactivation of power, wherein the parameter represents a power-loss resistant value used in connection with the attack countermeasure.

14. The device of claim 13 , wherein the remanence is one or more of capacitive remanence and magnetic remanence.

15. The device of claim 13 , wherein the means for controlling the attack countermeasure comprises means for delaying a user access attempt based on a value of the parameter.

16. The device of claim 13 , wherein the parameter is stored in the volatile memory using error-correcting codes (ECCs).

17. The device of claim 13 , further including means for generating a device-unique secret key using the processor of the IC die and means for storing the device-unique secret key in a non-volatile memory (NVM) portion of memory on the IC die, the device-unique secret key not accessible to any entity or component external to the IC die.

18. The method of claim 1 , wherein the parameter is retrieved using a read controller configured to read information retained ephemerally within the volatile memory despite the power loss to the volatile memory.

19. The method of claim 1 , further comprising: receiving an access request from a user following the loss of power; and

delaying responding to the access request based on a delay value derived from the parameter retrieved from the volatile memory following the loss of power.

20. The method of claim 1 , wherein the parameter is stored in the volatile memory for an amount of time set based on one or more of an expected device temperature and an expected time-delay for power-cycling.

21. The device of claim 7 , wherein the processor is further configured to retrieve the parameter using a read controller configured to read information retained ephemerally within the volatile memory despite the power loss to the volatile memory.

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

receive an access request from a user following the loss of power; and

delay responding to the access request based on a delay value derived from the parameter retrieved from the volatile memory following the loss of power.

23. The device of claim 7 , wherein the processor is further configured to store the parameter in the volatile memory for an amount of time set based on one or more of an expected device temperature and an expected time-delay for power-cycling.

24. The device of claim 13 , further comprising: means for receiving an access request from a user following the loss of power; and means for delaying responding to the access request based on a delay value derived from the parameter retrieved from the volatile memory following the loss of power.

25. The device of claim 13 , wherein the means for storing the parameter in the volatile memory is configured to store the parameter for an amount of time set based on one or more of an expected device temperature and an expected time-delay for power-cycling.

26. The method of claim 20 , wherein the amount of time is set based on both the expected time-delay for power-cycling and the expected device temperature.

27. The device of claim 23 , wherein the processor is further configured to set the amount of time based on both the expected time-delay for power-cycling and the expected device temperature.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 1ST INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 40305 FRAME: 251. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 29, 2020
From: LE ROY, VINCENT PIERRE; MCLEAN, IVAN
To: QUALCOMM INCORPORATED
Reel/Frame 052530/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2016
From: LE ROY, VICTOR PIERRE; MCLEAN, IVAN
To: QUALCOMM INCORPORATED
Reel/Frame 040305/0251 →
Continuity (1)
Related Publication 20180046805A1 · Feb 15, 2018
Cited By (1)
US 12,554,897