IP Library Granted Patent US 8,544,089
Granted Patent B2
US 8,544,089 · App. 12/714,547 · Granted Sep 24, 2013

Auditing a device

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 8,544,089
App. No.
12/714,547
Granted
Sep 24, 2013
Kind
B2
Abstract

The auditing of a device that includes a physical memory is disclosed. One or more hardware parameters that correspond to a hardware configuration is received. Initialization information is also received. The physical memory is selectively read and at least one result is determined. The result is provided to a verifier.

Claims (34)

1. A system, comprising:

a physical memory; and

a processor configured to:

receive one or more hardware parameters that correspond to a hardware configuration and receive initialization information, wherein the one or more hardware parameters include at least one of an amount and a speed of the physical memory;

perform a sequence of operations, wherein the sequence of operations includes at least writing a portion of the physical memory and selectively reading the physical memory;

determine at least one result based at least in part on the performed sequence of operations, wherein the at least one result includes a checksum; and

provide the at least one result to a verifier.

2. The system of claim 1 wherein the initialization information comprises a seed value.

3. The system of claim 1 wherein the initialization information comprises a step value.

4. The system of claim 1 wherein the initialization information is received from a proxy.

5. The system of claim 1 wherein the initialization information is received from an external verifier.

6. The system of claim 1 wherein the initialization information is a representation of a phenomenon.

7. The system of claim 6 wherein the initialization information is received from an accelerometer included in the system.

8. The system of claim 6 wherein the processor is configured to receive the initialization information at least in part by measuring a phenomenon.

9. The system of claim 1 wherein the processor is further configured to determine a portion of the physical memory to be overwritten in accordance with a function.

10. The system of claim 1 wherein the processor is further configured to write a portion of the physical memory in accordance with a function.

11. The system of claim 1 wherein the processor is configured to selectively read the physical memory based at least in part on a step counter.

12. The system of claim 11 wherein the step counter is relatively prime to a measurement of the size of the physical memory.

13. The system of claim 11 further comprising a plurality of processors and wherein the step counter is relatively prime to a measurement of the size of the physical memory multiplied by the number of processors.

14. The system of claim 1 wherein the processor is configured to determine the result at least in part by using a function that is not the identity function and takes as input a portion of the physical memory.

15. The system of claim 1 wherein the processor is configured to determine the result at least in part by using an accumulator.

16. The system of claim 14 wherein the accumulator includes a nonlinear function.

17. The system of claim 14 wherein the accumulator uses an XOR and a rotate.

18. The system of claim 1 wherein the processor is configured to provide the result to the verifier at least in part by providing information to a proxy.

19. A method, comprising:

receiving one or more hardware parameters that correspond to a hardware configuration and receiving initialization information, wherein the one or more hardware parameters include at least one of an amount and a speed of a physical memory;

performing, using a hardware processor, a sequence of operations, wherein the sequence of operations includes at least writing a portion of the physical memory and selectively reading a physical memory;

determining at least one result based at least in part on the performed sequence of operations, wherein the at least one result includes a checksum; and

providing the at least one result to a verifier.

20. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving one or more hardware parameters that correspond to a hardware configuration and receiving initialization information, wherein the one or more hardware parameters include at least one of an amount and a speed of a physical memory;

performing a sequence of operations, wherein the sequence of operations includes at least writing a portion of the physical memory and selectively reading a physical memory and determining at least one result; and

determining at least one result based at least in part on the performed sequence of operations, wherein the at least one result includes a checksum; and

providing the at least one result to a verifier.

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 May 7, 2010
From: JAKOBSSON, BJORN MARKUS; JOHANSSON, KARL-ANDERS R.
To: FATSKUNK, INC.
Reel/Frame 024355/0959 →