IP Library Granted Patent US 9,621,549
Granted Patent B2
US 9,621,549 · App. 14/341,703 · Granted Apr 11, 2017

Integrated circuit for determining whether data stored in external nonvolative memory is valid

Inventors: Olivier Jean Benoit (San Diego, CA); Laurence Geoffrey Lundblade (San Diego, CA); Asaf Ashkenazi (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04L63/0869G06F17/30371G06F21/645G06F21/79H04L63/1466
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,621,549
App. No.
14/341,703
Granted
Apr 11, 2017
Kind
B2
Abstract

An integrated circuit may comprise a secure volatile memory configured to store first data-validity information associated with first data stored in an external nonvolatile memory; and a secure processor configured to: retrieve the first data-validity information from a secure remote server over a secure communication channel, wherein the secure processor uses mutual authentication with the secure remote server to secure the secure communication channel; store the first data-validity information in the secure volatile memory; retrieve the first data from the external nonvolatile memory; obtain second data-validity information associated with the first data; compare the first data-validity information stored in the secure volatile memory with the second data-validity information to generate a comparison value; and determine, based on the comparison value, whether the first data is valid.

Claims (84)

1. An integrated circuit, comprising:

a processor configured to:

retrieve first data-validity information, associated with first data stored in an external nonvolatile memory, from a secure remote server over a secure communication channel, wherein the processor uses mutual authentication with the secure remote server to secure the secure communication channel;

retrieve the first data from the external nonvolatile memory without using the secure communication channel;

obtain second data-validity information associated with the first data;

compare the first data-validity information with the second data-validity information to generate a comparison value; and

determine, based on the comparison value, whether the first data is valid.

2. The integrated circuit of claim 1 , wherein to obtain the second data-validity information comprises to retrieve the second data-validity information from the external nonvolatile memory with the first data.

3. The integrated circuit of claim 2 , wherein:

the processor is further configured to:

verify an integrity of the first data and the second data-validity information using an authentication code stored in the external nonvolatile memory and retrieved with the first data and the second data-validity information.

4. The integrated circuit of claim 2 , wherein the first data-validity information comprises a count value, and the second data-validity information comprises a count value.

5. The integrated circuit of claim 2 , wherein the first data-validity information comprises a timestamp value, and the second data-validity information comprises a timestamp value.

6. The integrated circuit of claim 1 , wherein to obtain the second data-validity information comprises to calculate the second data-validity information from the first data.

7. The integrated circuit of claim 6 , wherein:

to calculate the second data-validity information from the first data comprises to calculate a hash based on the first data stored in the external nonvolatile memory; and

the first data-validity information comprises a hash based on the first data.

8. The integrated circuit of claim 1 , further comprising:

a secure volatile memory configured to store the first data-validity information;

wherein the processor is a secure processor further configured to:

store the first data-validity information in the secure volatile memory.

9. The integrated circuit of claim 8 , wherein the secure processor is further configured to:

update the first data-validity information;

write second data to the non-volatile memory over the first data;

write the updated first data-validity information to the secure volatile memory; and

forward the updated first data-validity information to the secure remote server over the secure communication channel.

10. The integrated circuit of claim 9 , wherein the secure processor is further configured to:

update the second data-validity information.

11. A remote station, comprising:

an external nonvolatile memory; and

a processor configured to:

retrieve first data-validity information, associated with first data stored in the external nonvolatile memory, from a secure remote server over a secure communication channel, wherein the processor uses mutual authentication with the secure remote server to secure the secure communication channel;

retrieve the first data from the nonvolatile memory without using the secure communication channel;

obtain second data-validity information associated with the first data;

compare the first data-validity information with the second data-validity information to generate a comparison value; and

determine, based on the comparison value, whether the first data is valid.

12. The remote station of claim 11 , wherein to obtain the second data-validity information comprises to retrieve the second data-validity information from the nonvolatile memory with the first data.

13. The remote station of claim 12 , wherein the processor is further configured to:

verify an integrity of the first data and the second data-validity information using an authentication code stored in the nonvolatile memory and retrieved with the first data and the second data-validity information.

14. The remote station of claim 11 , wherein to obtain the second data-validity information comprises to calculate the second data-validity information from the first data.

15. The remote station of claim 14 , wherein:

to calculate the second data-validity information from the first data comprises to calculate a hash based on the first data stored in the nonvolatile memory; and

the first data-validity information comprises a hash based on the first data.

16. The remote station of claim 11 , further comprising:

a secure volatile memory configured to store the first data-validity information;

wherein the processor is a secure processor further configured to:

store the first data-validity information in the secure volatile memory.

17. The remote station of claim 16 , wherein the secure processor is further configured to:

update the first data-validity information;

write second data to the non-volatile memory over the first data;

write the updated first data-validity information to the secure volatile memory; and

forward the updated first data-validity information to the secure remote server over the secure communication channel.

18. The remote station of claim 17 , wherein the secure processor is further configured to:

update the second data-validity information.

19. A remote station, comprising:

means for retrieving first data-validity information, associated with first data stored in a nonvolatile memory, from a secure remote server over a secure communication channel, wherein mutual authentication with the secure remote server is used to secure the secure communication channel;

means for retrieving the first data from the nonvolatile memory without using the secure communication channel;

means for obtaining second data-validity information associated with the first data;

means for comparing the first data-validity information with the second data-validity information to generate a comparison value; and

means for determining, based on the comparison value, whether the first data is valid.

20. The remote station of claim 19 , further comprising:

means for storing the first data-validity information.

21. The remote station of claim 19 , wherein the means for obtaining the second data-validity information comprises means for retrieving the second data-validity information from the nonvolatile memory with the first data.

22. The remote station of claim 21 , further comprising:

means for verifying an integrity of the first data and the second data-validity information using an authentication code stored in the nonvolatile memory and retrieved with the first data and the second data-validity information.

23. The remote station of claim 19 , wherein the means for obtaining the second data-validity information comprises means for calculating the second data-validity information from the first data.

24. The remote station of claim 23 , wherein:

the means for calculating the second data-validity information from the first data comprises means for calculating a hash based on the first data stored in the nonvolatile memory; and

the first data-validity information comprises a hash based on the first data.

25. A non-transitory computer-readable medium, comprising:

code for causing a computer to retrieving first data-validity information, associated with first data stored in an external nonvolatile memory, from a secure remote server over a secure communication channel, wherein mutual authentication with the secure remote server is used to secure the secure communication channel;

code for causing the computer to retrieve the first data from the external nonvolatile memory without using the secure communication channel;

code for causing the computer to obtain second data-validity information associated with the first data;

code for causing the computer to compare the first data-validity information with the second data-validity information to generate a comparison value; and

code for causing the computer to determine, based on the comparison value, whether the first data is valid.

26. The non-transitory computer-readable medium of claim 25 , further comprising:

code for causing the computer to store the first data-validity information in volatile memory.

27. The non-transitory computer-readable medium of claim 25 , wherein the code for causing the computer to obtain the second data-validity information comprises code for causing the computer to retrieve the second data-validity information from the external nonvolatile memory with the first data.

28. The non-transitory computer-readable medium of claim 27 , further comprising:

code for causing the computer to verify an integrity of the first data and the second data-validity information using an authentication code stored in the external nonvolatile memory and retrieved with the first data and the second data-validity information.

29. The non-transitory computer-readable medium of claim 25 , wherein the code for causing the computer to obtain the second data-validity information comprises code for causing the computer to calculate the second data-validity information from the first data.

30. The non-transitory computer-readable medium of claim 29 , wherein:

the code for causing the computer to calculate the second data-validity information from the first data comprises code for causing the computer to calculate a hash based on the first data stored in the external nonvolatile memory; and

the first data-validity information comprises a hash based on the first data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2015
From: LUNDBLADE, LAURENCE GEOFFREY
To: QUALCOMM INCORPORATED
Reel/Frame 034664/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2014
From: BENOIT, OLIVIER JEAN; ASHKENAZI, ASAF
To: QUALCOMM INCORPORATED
Reel/Frame 033396/0969 →
Continuity (1)
Related Publication 20160028725A1 · Jan 28, 2016