Introduction#
Security is mandatory in Bluetooth mesh and cannot be switched off or reduced in any way. The network security, application security, and device security are all addressed independently. Security in Bluetooth mesh networking protects against various threats and issues, including:
Replay attacks, which are prevented by judicious use of sequence numbers.
Man-in-the-middle attacks, which are protected against by using asymmetrical cryptography, such as the Elliptic Curve Diffie-Hellman (ECDH) key agreement protocol, during provisioning of a new device into the network.
Trash-can attacks, which exploit discarded devices, by ensuring security keys get refreshed when necessary.
A replay attack is a technique whereby an eavesdropper intercepts and captures one or more messages and simply retransmits them later, with the goal of tricking the recipient into carrying out something which the attacking device is not authorized to do. An example, commonly cited, is that of a car’s keyless entry system being compromised by an attacker, intercepting the authentication sequence between the car’s owner and the car, and later replaying those messages to gain entry to the car and steal it.
Bluetooth mesh has protection against replay attacks. The basis for this protection is the use of two cryptographic values in the mesh network called the Sequence Number (SEQ) and IV Index, respectively. Nodes keep track of the sequence numbers in the messages they receive, and together with the IV index of the network can detect and discard replayed messages.
Prerequisites#
You should have:
A general understanding of Bluetooth mesh concepts such as nodes and elements.
Installed and be familiar with using the following:
Simplicity Studio v5.0.0 or above
Bluetooth Mesh SDK v2.0.0 or above
If you need to familiarize yourself with any of these concepts, the following may be useful: