Privacy-preserving location tracking for devices
First Claim
1. A system for uploading and storing a plurality of information data files on a remote storage in association with a corresponding plurality of different indices, wherein each information data file includes location information that is indicative of a location of an electronic device, comprising:
- (a) a location module configured to be executed on the electronic device and to determine the location information for the electronic device;
(b) a core module configured to be executed on the electronic device and to perform actions comprising;
determining a plurality of different states over time, each state including a different seed;
using a seed of a current state to determine an index associated with the current state, wherein the index identifies a storage location for a current information data file, and wherein the index does not reveal any other storage locations used for storing other information data files;
storing the current information data file on the remote storage at the storage location identified by the index; and
using the seed to determine a subsequent seed for a subsequent state; and
(c) a retrieval module configured to be executed on a different device, wherein the retrieval module is configured to perform actions comprising;
using an initial state to determine the plurality of different states determined by the core module;
using the seeds of the plurality of different states to determine a plurality of different indices; and
using indices of the plurality of different indices to retrieve information data files including information indicative of the location of the electronic device from the remote storage.
2 Assignments
0 Petitions
Accused Products
Abstract
A privacy-preserving device-tracking system and method to assist in the recovery of lost or stolen Internet-connected mobile devices. The function of such a system seem contradictory, since it is desirable to hide a device'"'"'s legitimately-visited locations from third-party services and other parties to achieve location privacy, while still enabling recovery of the device'"'"'s location(s) after it goes missing by tracking the device to determine its location. An exemplary embodiment uses a DHT for storing encrypted location information and other forensic information in connection with indices that are successively determined based on initial pseudorandom seed information (i.e., state) that is retained by the owner of the device. Using the seed information, the software can determine indices mapped to location information stored after the device went missing, enabling the device to be located. Numerous extensions are discussed for the basic exemplary design that increase its suitability for particular deployment environments.
-
Citations
49 Claims
-
1. A system for uploading and storing a plurality of information data files on a remote storage in association with a corresponding plurality of different indices, wherein each information data file includes location information that is indicative of a location of an electronic device, comprising:
-
(a) a location module configured to be executed on the electronic device and to determine the location information for the electronic device; (b) a core module configured to be executed on the electronic device and to perform actions comprising; determining a plurality of different states over time, each state including a different seed; using a seed of a current state to determine an index associated with the current state, wherein the index identifies a storage location for a current information data file, and wherein the index does not reveal any other storage locations used for storing other information data files; storing the current information data file on the remote storage at the storage location identified by the index; and using the seed to determine a subsequent seed for a subsequent state; and (c) a retrieval module configured to be executed on a different device, wherein the retrieval module is configured to perform actions comprising; using an initial state to determine the plurality of different states determined by the core module; using the seeds of the plurality of different states to determine a plurality of different indices; and using indices of the plurality of different indices to retrieve information data files including information indicative of the location of the electronic device from the remote storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable memory medium on which is stored machine readable instructions for carrying out a plurality of functions to store a plurality of information data files on a remote storage in association with a corresponding plurality of different indices, wherein each information data file includes location information that is indicative of a location of an electronic device on which the machine readable instructions are being executed, the plurality of functions including:
-
(a) determining location information indicative of a current location of the electronic device; (b) determining a plurality of different states over time, each state including a different seed; (c) using a seed of a current state to determine an index associated with the current state, wherein the index identifies a storage location for a current information data file, and wherein the index does not reveal any other storage locations used for storing other information data files; (d) storing the current information data file on the remote storage at the storage location identified by the index; and (e) using the seed to determine a subsequent seed for a subsequent state. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A computer-implemented method for uploading and storing a plurality of information data files on a remote storage in association with a corresponding plurality of different indices, wherein each information data file includes location information that is indicative of a location of an electronic device, the method comprising:
-
(a) determining, by the electronic device, location information indicative of a current location of the electronic device; (b) determining, by the electronic device, a plurality of different states over time, each state including a different seed; (c) using, by the electronic device, a seed of a current state to determine an index associated with the current state, wherein the index identifies a storage location for a current information data file, and wherein the index does not reveal any other storage locations used for storing other information data files; (d) storing, by the electronic device, the current information data file on the remote storage at the storage location identified by the index; and (e) using, by the electronic device, the seed to determine a subsequent seed for a subsequent state. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. Apparatus for storing location information for the apparatus on a remote storage in connection with a succession of indices, each index in the succession of indices being associated with a different information data file, comprising:
-
(a) a memory in which are stored machine executable instructions; (b) a network interface for communicating over a network; (c) a processor in communication with the memory and the network interface, the processor configured to execute the machine executable instructions to carry out a plurality of functions, including; (i) determining location information indicative of a current location of the electronic device; (ii) determining a plurality of states over time, each state including a different seed, wherein the seed for each state is used to determine an index associated with the state and to determine a subsequent seed for a subsequent state, wherein the index identifies a storage location for an information data file, and wherein the index does not reveal any other storage locations used for storing other information data files; and (iii) communicating with the remote storage using the network interface to store, for each state of the plurality of states, an information data file on the remote storage in the storage location identified by the index associated with the state, wherein the information data file includes the location information. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49)
-
Specification