See How Google Collects WiFi Data

After Germany’s Federal Commissioner for Data Protection criticized Google for using Street View cars to scan wireless networks, Google posted a detailed answer that explains how Google collects data about WiFi networks to improve location based services like Google Maps for Mobile. Google says that collecting WiFi network information is not illegal and many other companies collect this data.

Visibly attached to the roof of each vehicle is a commercially available Maxrad BMMG24005 omnidirectional radio antenna. This antennae receives publicly broadcast wifi radio signals within range of the vehicle.

The vehicle travels at normal road speeds, and so spends only a very short amount of time within the range of any given wifi access point.

The signals are initially processed onboard in the car, using software including the standard Kismet open source application. The data is then further processed when transferred to servers within a Google Data Centre, and used to compile the Google location based services database.

The equipment within the vehicle operates passively, receiving signals broadcast to it but not actively seeking or initiating a communication with the access point.

The information visible to the equipment is that which is publicly broadcast over the radio network, using the 802.11 standard. This includes the 802.11 b/g/n protocols.

The equipment is able to receive data from all broadcast frames. This includes, from the header data, SSID and MAC addresses. (…) The equipment also separately records the signal strength and channel of the broadcast at the point at which it was received by our equipment, and is able to establish the protocol used (i.e. 802.11b/g/n).

The data which we collect is used to provide location based services within Google products and to users of the Geolocation API. For example, users of Google Maps for Mobile can turn on My Location to identify their approximate location based on cell towers and wifi access points which are visible to their device. (…) Google currently uses 2 pieces of the data collected during the driving operation to build its database and provide location based services – the MAC address of the access point and the GPS co-ordinates of the vehicle at the point at which the access point was visible. This data is stored in aggregate form, and is used to provide the location based service.

Google location based services using wifi access point data work as follows:

* The user’s device sends a request to the Google location server with a list of MAC addresses which are currently visible to the device;
* The location server compares the MAC addresses seen by the user’s device with its list of known MAC addresses, and identifies associated geocoded locations (i .e. latitude / longitude);
* The location server then uses the geocoded locations associated with visible MAC address to triangulate the approximate location of the user;
* This approximate location is geocoded and sent back to the user’s device.

Now that Motorola decided to replace Google’s location services for Android with Skyhook, Google needs to improve the accuracy of the results.

{ Photo licensed as Creative Commons by mgroot. }