SECURING DATABASES AGAINST PIRACY ATTACKS
First Claim
1. A method comprising:
- receiving from a mobile device a request that includes a unique identifier for a location that has an entry in a database and an authorization identifier that is associated with the location;
using the unique identifier to find the entry for the location in the database;
using the authorization identifier to verify that the request is authorized; and
transmitting data to the mobile device after verifying that the request is authorized.
1 Assignment
0 Petitions
Accused Products
Abstract
A database for location or geographic based services is secured by requiring location based requests to include a unique identifier that identifies the location as well as an authorization identifier associated with the location. The authorization identifier is information that is obtained by being physically present at the location, such as information from access points that are at the location or a position fix when present at the location. The authorization identifier may be non-unique but relatively time-invariant, making such information easily crowdsourced, but difficult to obtain unless physically present at the location. For example, the authorization identifier may be an SSID or a Beacon Frame, or a hash thereof from one or more devices at the location or a position fix.
46 Citations
59 Claims
-
1. A method comprising:
-
receiving from a mobile device a request that includes a unique identifier for a location that has an entry in a database and an authorization identifier that is associated with the location; using the unique identifier to find the entry for the location in the database; using the authorization identifier to verify that the request is authorized; and transmitting data to the mobile device after verifying that the request is authorized. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
a database that includes entries for locations identified with unique identifiers and authorization identifiers; an external interface capable of communicating with mobile devices to receive a request from a mobile device that includes a unique identifier for a location that has an entry in the database and an authorization identifier that is associated with the location; and a processor configured to use the unique identifier to find the entry for the location in the database, use the authorization identifier to verify that the request is authorized; and
cause the external interface to transmit data to the mobile device after verifying that the request is authorized. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
means for receiving from a mobile device a request that includes a unique identifier for a location that has an entry in a database and an authorization identifier that is associated with the location; means for using the unique identifier to find the entry for the location in the database; means for using the authorization identifier to verify that the request is authorized; and means for transmitting data to the mobile device after verifying that the request is authorized. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to receive from a mobile device a request that includes a unique identifier for a location that has an entry in a database and an authorization identifier that is associated with the location; program code to use the unique identifier to find the entry for the location in the database; program code to use the authorization identifier to verify that the request is authorized; and program code to transmit data to the mobile device after verifying that the request is authorized. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method comprising:
-
determining a unique identifier for a location and an authorization identifier associated with the location; transmitting a request that includes the unique identifier and the authorization identifier associated with the location; and receiving data from a remote database in response to the request when the remote database has an entry for the location and the authorization identifier associated with the location matches a stored authorization identified in the entry in the database. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A mobile device comprising:
-
a wireless interface capable of receiving wireless signals while the mobile device is present at a location; and a processor configured to determine from the wireless signals a unique identifier for the location and an authorization identifier associated with the location;
transmit with the wireless interface a request to a remote server with a database that that has an entry in the database for the location, the request includes the unique identifier and the authorization identifier associated with the location; and
receive data with the wireless interface from the remote server in response to the request when the authorization identifier associated with the location matches a stored authorization identified in the entry in the database. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
-
44. A mobile device comprising:
-
means for determining a unique identifier for a location and an authorization identifier associated with the location; means for transmitting a request that includes the unique identifier and the authorization identifier associated with the location; and means for receiving data from a remote database in response to the request when the remote database has an entry for the location and the authorization identifier associated with the location matches a stored authorization identified in the entry in the database. - View Dependent Claims (45, 46, 47)
-
-
48. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to determine a unique identifier for a location and an authorization identifier associated with the location; program code to transmit a request that includes the unique identifier and the authorization identifier associated with the location; and program code to receive data from a remote database in response to the request when the remote database has an entry for the location and the authorization identifier associated with the location matches a stored authorization identified in the entry in the database. - View Dependent Claims (49, 50, 51)
-
-
52. A method of crowdsourcing data, the method comprising:
-
receiving crowdsourced data for a location for an entry in a database, the crowdsourced data includes a crowdsourced authorization identifier associated with the location; determining that the database includes the entry for the location; determining that a database authorization identifier associated with the location in the database is in a valid state but does not match the crowdsourced authorization identifier; changing a value of the database authorization identifier to a value of the crowdsourced authorization identifier; and changing the database authorization identifier from the valid state to an awaiting validation state, wherein the database authorization identifier is not used for verification of a request when in the awaiting validation state. - View Dependent Claims (53)
-
-
54. An apparatus for crowdsourcing data, the apparatus comprising:
-
a database that includes entries for locations identified with unique identifiers and authorization identifiers; an external interface capable of communicating with mobile devices to receive crowdsourced data for a location for an entry in the database, the crowdsourced data includes a crowdsourced authorization identifier associated with the location; and a processor configured to determine that the database includes the entry for the location;
determines that a database authorization identifier associated with the location in the database is in a valid state but does not match the crowdsourced authorization identifier;
change a value of the database authorization identifier to a value of the crowdsourced authorization identifier; and
change the database authorization identifier from the valid state to an awaiting validation state, wherein the database authorization identifier is not used for verification of a request when in the awaiting validation state. - View Dependent Claims (55)
-
-
56. An apparatus for crowdsourcing data, the apparatus comprising:
-
means for receiving crowdsourced data for a location for an entry in a database, the crowdsourced data includes a crowdsourced authorization identifier associated with the location; means for determining that the database includes the entry for the location; means for determining that a database authorization identifier associated with the location in the database is in a valid state but does not match the crowdsourced authorization identifier; means for changing a value of the database authorization identifier to a value of the crowdsourced authorization identifier; and means for changing the database authorization identifier from the valid state to an awaiting validation state, wherein the database authorization identifier is not used for verification of a request when in the awaiting validation state. - View Dependent Claims (57)
-
-
58. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to receive crowdsourced data for a location for an entry in a database, the crowdsourced data includes a crowdsourced authorization identifier associated with the location; program code to determine that the database includes the entry for the location; program code to determine that a database authorization identifier associated with the location in the database is in a valid state but does not match the crowdsourced authorization identifier; program code to change a value of the database authorization identifier to a value of the crowdsourced authorization identifier; and program code to change the database authorization identifier from the valid state to an awaiting validation state, wherein the database authorization identifier is not used for verification of a request when in the awaiting validation state. - View Dependent Claims (59)
-
Specification