A couple of days ago it appeared that a company called Renew are trialling tracking smartphones using a device called the Presence Orb (“A cookie for the read world”) placed in recycling bins across the City of London.
The mechanism by which they do this hasn’t been discussed in much detail in the media, so I thought I’d have a go at unpacking it.
Every device that connects to a wired or wireless network has a Media Access Control (MAC) address, that uniquely identifies it. It’s unique worldwide, and written into the read-only memory on a chip.
The MAC address is 48-bit number, usually described as six pairs of hexadecimal digits, such as
01:23:45:67:89:ab. The first three pairs are a manufacturer specific prefix, so Apple has
00:03:93, Google has
00:1A:11 and so on. The list is freely available and many manufacturers have multiple prefixes.
MAC addresses are only used for communicating within devices on the same network, and they’re not visible outside of that (on the wider internet, for example).
Your smartphone, knowing that you prefer to be on a fast wireless network rather than 3G, will regularly ask nearby wireless networks to announce themselves, and if it finds one you’ve saved previously, it’ll connect to it automatically.
This is called a probe request, and like all packets your device sends it contains your MAC address, even if you don’t connect to a network. They’re sent every few seconds if you’re actively using the phone, or every minute or so if it’s on standby with the display off. The frequency varies between hardware and operating system.
By storing the MAC address and tracking the signal strength across a number of different receivers, you can get an estimate of positioning, which will be reasonably accurate along a 1D line like a street, and less so in a more complex 2D space.
Renew claim that during a single day in the trial period they detected 106,629 unique devices across 946,016 data points from 12 receivers. Given the entire working population of the City of London is ~350,000, that seems high, but I guess they’re not mentioning that they pick up everyone in a passing bus, taxi or lorry too.
They make sure to mention that the MAC address doesn’t reveal a name and address or other data about an individual, but because your MAC address never changes, as coverage grows you could be tracked from your bus stop, to your tube station, and out the other side, to your office. And then that could be correlated against store cards using timestamps to tie to a personal identity. Or perhaps you’d like to sign into a hotspot using Facebook? And so on.
Of course, you can opt-out.
But here’s the thing. Even though the MAC address is baked into the hardware, you can change it.
On OS X, you’d do something like this to generate a random MAC address:
openssl rand -hex 6 | sed 's/(..)/1:/g; s/.$//'
And then to change it:
sudo ifconfig en0 ether 00:11:22:33:44:55
00:11:22:33:44:55 with the address you just generated. On most devices it’ll reset back the the default when the machine is restarted.
(This technique will also let you keep using hotspots with a 15 minute free period. Just rotate your MAC and connect again.)
To all intents and purposes, you are now on a different device on the network. And if you didn’t care about using your wireless connection for anything useful, you could run a script to rotate that every few seconds, broadcasting probe requests to spoof any number of devices, from any manufacturer(s) you wish to be.
The same packet that contains your MAC address also contains a sequence number, an incrementing and rotating 12-bit integer used to check ordering of messages. The Presence Orb could use that to discard a series of messages that follow a sequence. In turn, you could randomise that.
They might check signal strength, discarding multiple messages with similar volume. In turn, you’d randomise power output, appearing to be a multitude of distances from the receiver.
Then there’s beam forming antennas, scattering off buildings and so on, to ruin attempts to trilaterate your signal. Stick all this on a Raspberry Pi, put it in a box, plug it to a car battery, tuck it under an alcove, and walk away.
If you ensure your signal strength is kept within bounds, and traffic low enough not to disrupt other genuine users of nearby wireless networks, I believe this is legal, and it’d effectively ruin Renew’s aggregate data, making traffic analysis impossible.
It’s still unclear whether what Renew is doing is legal. I am not a lawyer, but I suspect we’d need a clarification from the ICO as to whether the combination of MAC address and location is personal information and regulated by the Data Protection Act, as is suggested by the EU’s Article 29 Working Party.
It seems likely that the law will be a step behind location tracking technology, for a while at least. And while that’s the case, chaff is going to be an important part of maintaining privacy. The tools are there to provide it, if we want to.