Skip to content

Commit

Permalink
typos
Browse files Browse the repository at this point in the history
  • Loading branch information
michael committed Dec 16, 2018
1 parent 3297701 commit 9abbbfa
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions multilateration.ipynb
Expand Up @@ -4,31 +4,31 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Multilateration in 2D: IoT/LorRaWAN Mass Surveillance\n",
"# Multilateration in 2D: IoT/LoRaWAN Mass Surveillance\n",
"\"*Multilateration (MLAT) is a surveillance technique based on the measurement of the difference in distance to two stations at known locations by broadcast signals at known times.*\" - [en.wikipedia.org/wiki/Multilateration](http://en.wikipedia.org/wiki/Multilateration)\n",
"\n",
"## Abstract\n",
"A single motivated individual with several hundred USD and a hobbyist level of competency in electronics and programming would be able to set up a mass surveillance system to track individual LoRa IoT devices on the scale of a small city, provided that the geography of the city is accomadating to the placement of receiving devices (e.g. surrounded by hills).\n",
"A single motivated individual with several hundred USD and a hobbyist level of competency in electronics and programming would be able to set up a mass surveillance system to track individual LoRa IoT devices on the scale of a small city, provided that the geography of the city is accommodating to the placement of receiving devices (e.g. surrounded by hills).\n",
"\n",
"## Locating the source of a signal transmission\n",
"\n",
"When a signal is transmitted by a radio device it propogates through the atmosphere at approximately the speed of light - that is, approximately v = 3e8m/s. \n",
"When a signal is transmitted by a radio device it propagates through the atmosphere at approximately the speed of light - that is, approximately v = 3e8m/s. \n",
"\n",
"If this signal is received by two receivers (towers), the time difference of arrival (TDOA) between the first and second tower can be determined. TDOA = t<sub>1</sub> - t<sub>0</sub> where t<sub>0</sub> is the time the signal is received first and t<sub>1</sub> is the time the signal is recieved second. The towers require synchronized high accuracy clocks, which can be achieved in practice with a GPS clock on each tower.\n",
"If this signal is received by two receivers (towers), the time difference of arrival (TDOA) between the first and second tower can be determined. TDOA = t<sub>1</sub> - t<sub>0</sub> where t<sub>0</sub> is the time the signal is received first and t<sub>1</sub> is the time the signal is received second. The towers require synchronized high accuracy clocks, which can be achieved in practice with a GPS clock on each tower.\n",
"\n",
"The below animation shows a signal propagating from a transmitter \"Tx\" and being received by two towers at different times, allowing the TDOA to be calculated.\n",
"\n",
"![](animations/tdoa.gif)\n",
"\n",
"This TDOA can be used to determine the *difference* in distance that the transmitter is located from the towers. For example, assume that the transmitter is on a circle of radius d metres from tower 1, where the signal was received first. Then it must also be on a circle of radius d+v\\*TDOA metres from tower 0, where the signal was received second. The device must then lie at the intsersection of the two circles, giving two possible locations (or one if the circles only touch).\n",
"This TDOA can be used to determine the *difference* in distance that the transmitter is located from the towers. For example, assume that the transmitter is on a circle of radius d metres from tower 1, where the signal was received first. Then it must also be on a circle of radius d+v\\*TDOA metres from tower 0, where the signal was received second. The device must then lie at the intersection of the two circles, giving two possible locations (or one if the circles only touch).\n",
"\n",
"By iterating over a range of values for d and at each iteration finding the intersection of the two circles, a locus of possible transmitter locations can be determined. This produces a hyperbolic curve on which the transmitter lies. Notably, it is not required to know *when* the signal was first transmitted - as you would with trilateration - and so no communication with the transmitter is required beyond simply identifying the signal.\n",
"\n",
"The below animation shows circles of increasing radius around the two towers and the resulting hyperbolic locus of intersections as d is increased. The circle around tower 1 has a radius of r1=d, and the circle around tower 0 has a radius of r0=d+TDOA\\*v (noting TDOA\\*v is constant and TDOA comes fromt the previous animation). \n",
"The below animation shows circles of increasing radius around the two towers and the resulting hyperbolic locus of intersections as d is increased. The circle around tower 1 has a radius of r1=d, and the circle around tower 0 has a radius of r0=d+TDOA\\*v (noting TDOA\\*v is constant and TDOA comes from the previous animation). \n",
"\n",
"![](animations/locus.gif)\n",
"\n",
"With n towers, this process can be repeated between the tower that first received the message and every other tower to produce n-1 loci. In general, with three towers the device location can be narrowed down to at least two positions and with four towers to exactly one position. There are some cases, depending on the relative geometry of the towers and transitter and the error in the timestamping, where this is not the case.\n",
"With n towers, this process can be repeated between the tower that first received the message and every other tower to produce n-1 loci. In general, with three towers the device location can be narrowed down to at least two positions and with four towers to exactly one position. There are some cases, depending on the relative geometry of the towers and transmitter and the error in the timestamping, where this is not the case.\n",
"\n",
"![](animations/loci.gif)\n",
"\n",
Expand All @@ -42,16 +42,16 @@
"\n",
"Furthermore, if one transmitter's signal contains a persistent and unencrypted transmitter ID then it will be possible to track the location of that device.\n",
"\n",
"One emerging IoT technology, LoRa/LoRaWAN, allows these requirements to be satisfied cheaply with hobbyist equipment while also transmitting a psuedo-persistent unencrypted device ID. Every device in a LoRaWAN network is given a 32-bit device address - akin to an IPv4 or IPv6 address - that uniquely identifies it on a network. This address is not globally unique, but is unique within a single LoRaWAN network. This address is assigned by the network operator and can be re-assigned at any time, though typically the same address is used for a substantial length of time, making the address psuedo-persistent - again akin to an IPv4 or IPv6 address. In cases where the device is activated by personalization, the device will always use the same address.\n",
"One emerging IoT technology, LoRa/LoRaWAN, allows these requirements to be satisfied cheaply with hobbyist equipment while also transmitting a pseudo-persistent unencrypted device ID. Every device in a LoRaWAN network is given a 32-bit device address - akin to an IPv4 or IPv6 address - that uniquely identifies it on a network. This address is not globally unique, but is unique within a single LoRaWAN network. This address is assigned by the network operator and can be re-assigned at any time, though typically the same address is used for a substantial length of time, making the address pseudo-persistent - again akin to an IPv4 or IPv6 address. In cases where the device is activated by personalization, the device will always use the same address.\n",
"\n",
"Sections 4.3.1.6, 4.3.3, and 4.4.2 of the LoRaWAN [specification](./lorawantm_specification_-v1.1.pdf) specify the encryption of uplink messages (messages sent from an IoT device to the network). Notably, the device address (DevAddr) is never encrypted; in fact it is required that the address be known (unencrypted) in order to decrypt the encrypted portions of the message. Any person listening for LoRa transmissions will receive these messages and will be able to read the device address.\n",
"\n",
"LoRa transmissions can typically travel at least 1km, and distances of up to at least 15km can be attained in real-world conditions. As a result, only a low density of receivers need be installed in order to receive all messages over a large geographical area. For example the city of Wellington, New Zealand, is surrounded by hills. A handful of receivers atop, or partway up, some of the hills would be sufficient to cover the entire city. To cover the main portion of the city with three or four overlapping receivers, as required for multilateration, would not be difficult.\n",
"\n",
"LoRa receivers with GPS are cheap - the Dragino LoRa/GPS Shield for Arduino comes with a LoRa module and a GPS module with 10ns timing accuracy and typically sells for about 50 USD. This device is additionally easy to configure and use, with an abundance of resources availabe online.\n",
"LoRa receivers with GPS are cheap - the Dragino LoRa/GPS Shield for Arduino comes with a LoRa module and a GPS module with 10ns timing accuracy and typically sells for about 50 USD. This device is additionally easy to configure and use, with an abundance of resources available online.\n",
"\n",
"## Summary\n",
"Given these three points - LoRa messages contain a psuedo-persistent unique ID, LoRa messages can be received over large distances, and LoRa messages can be received and accurately timestamped with cheap hobbyist equipment - there is a very real possibility to create a passive mass surveillance network that tracks individual LoRa devices. This is a severe privacy concern for applications such as vehicle, person (e.g. elderly), and goods tracking.\n",
"Given these three points - LoRa messages contain a pseudo-persistent unique ID, LoRa messages can be received over large distances, and LoRa messages can be received and accurately timestamped with cheap hobbyist equipment - there is a very real possibility to create a passive mass surveillance network that tracks individual LoRa devices. This is a severe privacy concern for applications such as vehicle, person (e.g. elderly), and goods tracking.\n",
"\n",
"## This notebook\n",
"\n",
Expand Down

0 comments on commit 9abbbfa

Please sign in to comment.