Anonymization and Randomisation of IoT identities in the context of industrial applications

Eliott Teissonniere
3 min readSep 16, 2019

--

It is known that in IoT the ‘S’ stands for security and the ‘P’ for privacy… This article introduces a new, secure and private way to identify IoT devices.

When operating an IoT network one may classify all of the IoT devices in two distinct classes: the ones that don’t need to be uniquely identified and the ones that need to be identified. For the last class the common way to identify such device is to use its MAC Address which is defined inside the device’s hardware (most commonly in the Bluetooth chipset), while this solution works it brings some major downsides with it:

  • Identifying a device by its MAC Address means that this same address cannot be randomized in order to avoid the device from being tracked, this might cause lots of issues for wearable devices such as watches that would then allow to track their owner simply by checking where the IoT device is.
  • The MAC Address of a device can be easily spoofed by another device external to the network with the right software and hardware (which is available off the shelves on the Internet).

This is why we can say that MAC Addresses are not a good way to identify IoT devices: they are not secure (easy to spoof) and a privacy nightmare (easy to track). Ideally a good IoT identifier would be hard to spoof and seemingly random to third parties while linkable to the network’s IoT devices for the network’s operator only. Additionally it should be easy and fast to compute (not too many operations) as IoT devices often rely on small batteries and use extremely low performances (and low power) hardware.

Thus, we introduce a new way to identify IoT devices on any network, this solution comes in two variants depending on the needs of the network operator.

Sharing the ID with a limited number of semi trusted parties

One of the most trivial cases would be when sharing a Unique Static ID (USID) specific to each devices with a limited number of semi trusted parties (such as an IoT connectivity provider like Nodle). In that case the IoT network’s operator will want a Unique ID that is not understandable by the third parties but that can be easily linked to the devices by the same operator.

To do so we propose the following scheme: id = hash(operatorSecret, deviceMacAddress). Where id is the device’s ID shared with third parties, hash is an hashing algorithm like SHA, operatorSecret is a secret known by the operator and deviceMacAddress is the MAC Address of the IoT device’s hardware (the device is still free to use a randomized MAC Address when sending packets to the public).

With this scheme the semi trusted parties only see a Unique Static ID but they are not able to get the operator’s secret or even get the device’s MAC Address. However, the operator knows the secret it defined and the MAC Address of its devices (they could have been given by the manufacturer of the devices for instance). Based on that it can recompute the Unique Static ID of each of its devices and retrieve their associated data on the third parties’ tools.

Sharing the ID with an unlimited number of untrusted parties

In the event the ID we defined previously need to be advertised publicly (for instance by being embedded inside a Bluetooth Beacon for geolocation purposes), the IoT device could use an algorithm to rotate the operator secret using a pre-defined algorithm. The algorithm and the associated parameters being known to the network operator only, the broadcasted ID still looks random to outside observers and yet stays understandable to the device’s operators or owners.

About Nodle.io | The Citizen Network:

Nodle.io is an IoT and connectivity network provider with a presence in over 50 countries. Founded in 2017 by serial entrepreneur, Micha Benoliel, the Nodle network dramatically reduces the costs of IoT device-to-device communications and makes internet access available everywhere. The company has built a network for connecting and collecting data from remote devices that do not have regular internet connections. Remote devices connect to The Citizen Network, an internet network made of crowdsourced smartphones currently comprised of 100s of thousands of devices and smartphones collaborating to provide internet access. More information can be found at https://www.nodle.io/#/landing.

--

--

No responses yet