IP Library › Granted Patent US 9,910,659
Granted Patent B2
US 9,910,659 · App. 13/670,932 · Granted Mar 6, 2018

Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory

Inventors: Srilekha Krishnamurthy (San Diego, CA); Jeremy R. O'Donoghue (Wokingham, GB); Neeraj Bhatia (San Francisco, CA)
Assignee: QUALCOMM Incorporated
G06F8/65G06F21/572G06F11/1433G06F21/575
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,910,659
App. No.
13/670,932
Granted
Mar 6, 2018
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for providing anti-rollback protection in a device which has no internal non-volatile memory are presented. One embodiment is a device for providing anti-rollback protection. The device may obtain a firmware version number associated with a first firmware installation for the device, wherein the device is implemented on a substrate that includes no non-volatile memory. The device may obtain a lowest acceptable firmware version number, wherein the lowest acceptable firmware version number is stored in a secure element environment, wherein the secure element environment utilizes memory separated from the substrate. The device may compare the firmware version number and the lowest acceptable firmware version number, wherein if the firmware version number is less than the lowest acceptable firmware version number, then disallow the first firmware installation.

Claims (70)

1. A method for providing anti-rollback protection in a near field communication (NFC) device comprising:

obtaining a firmware version number (FVN) associated with a first firmware installation for a NFC controller of the NFC device, wherein the NFC controller is implemented on a first substrate of the NFC device that includes no non-volatile memory and a geometry of the first substrate does not support non-volatile memory, and wherein the first firmware installation includes a first firmware;

obtaining a lowest acceptable firmware version number (LAFVN), wherein the LAFVN is a separate firmware version number from the FVN associated with the first firmware installation for the NFC controller of the NFC device, wherein the LAFVN is stored in a secure element environment within the NFC device that cannot be accessed from outside of the NFC device, wherein the secure element environment utilizes memory of a second substrate of the NFC device separated from the first substrate, wherein a geometry of the second substrate does support non-volatile memory, wherein the LAFVN is associated with a current firmware installed on the NFC controller, and wherein the geometry of the first substrate and the geometry of the second substrate are different;

comparing the FVN and the LAFVN;

replacing the current firmware with the first firmware in response to determining that the FVN is greater than or equal to the LAFVN; and

updating the LAFVN with the FVN in the secure element environment in response to determining that the FVN is greater than or equal to the LAFVN.

2. The method of claim 1 , further comprising replacing the current firmware with the first firmware in response to the NFC controller determining that the FVN is equal to the LAFVN.

3. The method of claim 1 , wherein the secure element environment is a standalone Secure Execution Environment (SEE) that protects against software and hardware attacks.

4. The method of claim 1 , wherein the secure element environment is a Trusted Execution Environment (TEE) in a hardware-protected partition of a System-on-a-Chip (SoC).

5. The method of claim 1 , wherein the LAFVN is updated using GlobalPlatform mechanisms.

6. The method of claim 1 , wherein the LAFVN is updated by a controlling authority.

7. The method of claim 1 , wherein the LAFVN is stored in an application in the secure element environment.

8. The method of claim 1 , further comprising authenticating the first firmware installation based on a digital signature associated with the first firmware installation.

9. The method of claim 1 , further comprising:

in response to determining that the FVN is less than the LAFVN, requesting an upload of a second firmware installation with a version number greater than the LAFVN.

10. A near field communication (NFC) device for providing anti-rollback protection comprising:

one or more processors; and

memory storing computer-readable instructions that, when executed by the one or more processors, cause the NFC device to:

obtain a firmware version number (FVN) associated with a first firmware installation for a NFC controller of the NFC device, wherein the NFC controller is implemented on a first substrate of the NFC device that includes no non-volatile memory and a geometry of the first substrate does not support non-volatile memory, and wherein the first firmware installation includes a first firmware;

obtain a lowest acceptable firmware version number (LAFVN), wherein the LAFVN is a separate firmware version number from the FVN associated with the first firmware installation for the NFC controller within the NFC device that cannot be accessed from outside of the NFC device, wherein the LAFVN is stored in a secure element environment of the NFC device, wherein the secure element environment utilizes memory of a second substrate of the NFC device separated from the first substrate, wherein a geometry of the second substrate does support non-volatile memory, wherein the LAFVN is associated with a current firmware installed on the NFC device, and wherein the geometry of the first substrate and the geometry of the second substrate are different;

compare the FVN and the LAFVN;

replace the current firmware with the first firmware in response to determining that the FVN is greater than or equal to the LAFVN; and

update the LAFVN with the FVN in the secure element environment in response to determining that the FVN is greater than or equal to the LAFVN.

11. The NFC device of claim 10 , wherein the instructions, when executed by the one or more processors, additionally cause the NFC device to replace the current firmware with the first firmware in response to determining that the FVN is equal to the LAFVN.

12. The NFC device of claim 10 , wherein the secure element environment is a stand-alone Secure Execution Environment (SEE) that protects against software and hardware attacks.

13. The NFC device of claim 10 , wherein the secure element environment is a Trusted Execution Environment (TEE) in a hardware-protected partition of a System-on-a-Chip (SoC).

14. The NFC device of claim 10 , wherein the LAFVN is updated using GlobalPlatform mechanisms.

15. The NFC device of claim 10 , wherein the LAFVN is updated by a controlling authority.

16. The NFC device of claim 10 , wherein the LAFVN is stored in an application in the secure element environment.

17. The NFC device of claim 10 , wherein the instructions, when executed by the one or more processors, additionally cause the NFC device to authenticate the first firmware installation based on a digital signature associated with the first firmware installation.

18. The NFC device of claim 10 , wherein the instructions, when executed by the one or more processors, additionally cause the NFC device to request an upload of a second firmware installation with a version number greater than the LAFVN in response to determining that the FVN is less than the LAFVN.

19. A non-transitory computer-readable media storing computer executable instructions that, when executed, cause a near field communication (NFC) device to:

obtain a firmware version number (FVN) associated with a first firmware installation for a NFC controller of the NFC device, wherein the NFC controller is implemented on a first substrate of the NFC device that includes no non-volatile memory and a geometry of the first substrate does not support non-volatile memory, and wherein the first firmware installation includes a first firmware;

obtain a lowest acceptable firmware version number (LAFVN), wherein the LAFVN is a separate firmware version number from the FVN associated with the first firmware installation for the NFC controller of the NFC device, wherein the LAFVN is stored in a secure element environment within the NFC device that cannot be accessed from outside of the NFC device, wherein the secure element environment utilizes memory of a second substrate of the NFC device separated from the first substrate, wherein a geometry of the second substrate does support non-volatile memory, wherein the LAFVN is associated with a current firmware installed on the NFC device, and wherein the geometry of the first substrate and the geometry of the second substrate are different;

compare the FVN and the LAFVN;

replace the current firmware with the first firmware in response to determining that the FVN is greater than or equal to the LAFVN; and

update the LAFVN with the FVN in the secure element environment in response to determining that the FVN is greater than or equal to the LAFVN.

20. The computer-readable media of claim 19 , wherein the instructions, when executed, additionally cause the NFC device to replace the current firmware with the first firmware in response to determining that the FVN is equal to the LAFVN.

21. The computer-readable media of claim 19 , wherein the secure element environment is a stand-alone Secure Execution Environment (SEE) that protects against software and hardware attacks.

22. The computer-readable media of claim 19 , wherein the secure element environment is a Trusted Execution Environment (TEE) in a hardware-protected partition of a System-on-a-Chip (SoC).

23. The computer-readable media of claim 19 , wherein the LAFVN is updated using GlobalPlatform mechanisms.

24. The computer-readable media of claim 19 , wherein the LAFVN is updated by a controlling authority.

25. The computer-readable media of claim 19 , wherein the LAFVN is stored in an application in the secure element environment.

26. The computer-readable media of claim 19 , wherein the instructions, when executed, additionally cause the NFC device to authenticate the first firmware installation based on a digital signature associated with the first firmware installation.

27. The computer-readable media of claim 19 , wherein the instructions, when executed, additionally cause the NFC device to request an upload of a second firmware installation with a version number greater than the LAFVN in response to determining that the FVN is less than the LAFVN.

28. A near field communication (NFC) device for providing anti-rollback protection comprising:

one or more processors;

means for obtaining a firmware version number (FVN) associated with a first firmware installation for a NFC controller of the NFC device, wherein the NFC controller is implemented on a first substrate of the NFC device that includes no non-volatile memory and a geometry of the first substrate does not support non-volatile memory, and wherein the first firmware installation includes a first firmware;

means for obtaining a lowest acceptable firmware version number (LAFVN), wherein the LAFVN is a separate firmware version number from the FVN associated with the first firmware installation for the NFC controller within the NFC device that cannot be accessed from outside of the NFC device, wherein the LAFVN is stored in a secure element environment of the NFC device, wherein the secure element environment utilizes memory of a second substrate of the NFC device separated from the first substrate, wherein a geometry of the second substrate does support non-volatile memory, wherein the LAFVN is associated with a current firmware installed on the NFC device, and wherein the geometry of the first substrate and the geometry of the second substrate are different;

means for comparing the FVN and the LAFVN;

means for replacing the current firmware with the first firmware in response to determining that the FVN is greater than or equal to the LAFVN; and

means for updating the LAFVN with the FVN in the secure element environment in response to determining that the FVN is greater than or equal to the LAFVN.

29. The NFC device of claim 28 , further comprising means for replacing the current firmware with the first firmware in response to determining that the FVN is equal to the LAFVN.

30. The NFC device of claim 28 , wherein the secure element environment is a stand-alone Secure Execution Environment (SEE) that protects against software and hardware attacks.

31. The NFC device of claim 28 , wherein the secure element environment is a Trusted Execution Environment (TEE) in a hardware-protected partition of a System-on-a-Chip (SoC).

32. The NFC device of claim 28 , wherein the LAFVN is updated using GlobalPlatform mechanisms.

33. The NFC device of claim 28 , wherein the LAFVN is updated by a controlling authority.

34. The NFC device of claim 28 , wherein the LAFVN is stored in an application in the secure element environment.

35. The NFC device of claim 28 , further comprising means for authenticating the first firmware installation based on a digital signature associated with the first firmware installation.

36. The NFC device of claim 28 , further comprising means for requesting an upload of a second firmware installation with a version number greater than the LAFVN in response to determining that the FVN is less than the LAFVN.

37. The method of claim 1 , wherein the second substrate comprises a SIM card.

38. The NFC device of claim 10 , wherein the second substrate comprises a SIM card.

39. The computer-readable media of claim 19 , wherein the NFC device comprises a plurality of secure element environments, and obtaining the LAFVN comprises obtaining the LAFVN from each of the plurality of secure element environments.

40. The computer-readable media of claim 19 , wherein the second substrate comprises a SIM card.

41. The NFC device of claim 28 , wherein the NFC device comprises a plurality of secure element environments, and the means for obtaining the LAFVN comprises means for obtaining the LAFVN from each of the plurality of secure element environments.

42. The NFC device of claim 28 , wherein the second substrate comprises a SIM card.

43. The method of claim 1 , wherein the geometry of the first substrate is less than 65 nanometers.

44. The method of claim 43 , wherein the geometry of the second substrate is greater than 65 nanometers.

45. The computer-readable media of claim 39 , wherein the NFC device further probes each of the plurality of the secure element environment for the LAFVN using a different communication mechanism to obtain the LAFVN.

46. The NFC device of claim 41 , wherein the NFC device further comprises means for probing each of the plurality of the secure element environment for the LAFVN using a different communication mechanism to obtain the LAFVN.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2013
From: KRISHNAMURTHY, SRILEKHA; O'DONOGHUE, JEREMY R.; BHATIA, NEERAJ
To: QUALCOMM INCORPORATED
Reel/Frame 029580/0912 →
Continuity (1)
Related Publication 20140130151A1 · May 8, 2014