Platform that facilitates preservation of user privacy
First Claim
1. A method executed at a server device, the method comprising:
- receiving a location-based query from a location-based application executing on a first computing device of a first user, the location-based query comprising an encrypted location constraint and an encrypted identity of a second user of a second computing device;
receiving a data packet from a second computing device that comprises the encrypted identity of the second user and an encrypted location of the second computing device;
responsive to receiving the data packet from the second computing device, comparing the encrypted location constraint with the encrypted location of the second computing device;
determining a response to the location-based query based upon the comparing of the encrypted location constraint with the encrypted location of the second computing device, the response determined without decrypting the location constraint and the encrypted location of the second computing device; and
causing a processor on the server to transmit the response to the location-based query to the first computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein are technologies pertaining to preserving privacy of users of mobile computing devices. Two users of two mobile computing devices share a quantization scheme for quantizing location data using a predefined quantization interval. The two users additionally share a private key that is utilized to encrypt locations obtained by the two computing devices that have been quantized using the shared quantization scheme. Encrypted, quantized locations are compared in a cloud computing service in connection with answering location-based queries, where the comparison is undertaken without the cloud computing service decrypting the encrypted, quantized locations.
7 Citations
20 Claims
-
1. A method executed at a server device, the method comprising:
-
receiving a location-based query from a location-based application executing on a first computing device of a first user, the location-based query comprising an encrypted location constraint and an encrypted identity of a second user of a second computing device; receiving a data packet from a second computing device that comprises the encrypted identity of the second user and an encrypted location of the second computing device; responsive to receiving the data packet from the second computing device, comparing the encrypted location constraint with the encrypted location of the second computing device; determining a response to the location-based query based upon the comparing of the encrypted location constraint with the encrypted location of the second computing device, the response determined without decrypting the location constraint and the encrypted location of the second computing device; and causing a processor on the server to transmit the response to the location-based query to the first computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising a plurality of components, the components comprising:
-
a receiver component that receives; a location-based query from a first computing device of a first user, the location-based query comprising an encrypted identity of a second user and a location constraint that comprises a first encrypted geographic location; and a data packet from a second computing device of the second user that includes the encrypted identity of the second user and a second encrypted geographic location, the second encrypted geographic location representing one of a current geographic location of the second user or a historic geographic location of the second user; and a responder component that performs a comparison between the first encrypted geographic location and the second encrypted geographic location and transmits a response to the location-based query to the first computing device based at least in part upon the comparison without decrypting the first encrypted geographic location or the second encrypted geographic location. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. Computer-readable data storage comprising instructions that, when executed by a processor, cause the processor to perform acts, comprising:
-
receiving a location-based query from a first computing device of a first user, the location-based query comprising an encrypted identity of a second user and a location constraint that comprises a first encrypted geographic location that is representative of a first quantized location; receiving a data packet from a second computing device of the second user, the data packet comprising the encrypted identity of the second user and a second encrypted geographic location that is representative of a second quantized current location of the second user; responsive to receiving the data packet from the second computing device, comparing the first encrypted geographic location with the second encrypted geographic location without decrypting the encrypted identity of the second user, the first encrypted geographic location, or the second decrypted geographic location; and outputting a signal to the first computing device that indicates that the location-constraint of the location-based query has been satisfied when the first encrypted geographic location is equal to the second encrypted geographic location.
-
Specification