mbed-os/connectivity/FEATURE_BLE
Vincent Coubard c34640495f
Bluetooth: Inform privacy risk of using signed writes.
The Cordio stack uses a single CSRK. It can be used by a
malicious device to track the Mbed OS application if signed
writes are used.

Signed-off-by: Vincent Coubard <vincent.coubard@arm.com>
2022-05-06 13:44:33 +01:00
..
include/ble Merge pull request #14824 from paul-szczepanek-arm/persistence-fix 2021-07-12 13:51:50 +02:00
libraries fix CORDIO not passing the conn id in param for adv stop event 2021-06-09 18:50:17 +01:00
source Greentea: Remove deprecated APIs and use chrono 2021-07-29 14:06:27 +01:00
tests/UNITTESTS cmake: Avoid linking to gcov 2021-07-22 15:41:49 +01:00
.gitignore remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
.mbedignore remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
CMakeLists.txt CMake: connectivity: Guard unit test directories 2021-09-20 16:28:54 +01:00
DOXYGEN_FRONTPAGE_BLE.md remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
LICENSE remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
README.md Bluetooth: Inform privacy risk of using signed writes. 2022-05-06 13:44:33 +01:00
apache-2.0.txt remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
ble.doxyfile remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00
mbed_lib.json add information about privacy refresh to config option 2021-06-02 12:06:12 +01:00

README.md

mbed Bluetooth Low Energy Stack

This is the Github repository for the BLE_API. Please see the Mbed OS Example BLE GitHub Repo for all code examples, and the Mbed OS BLE API page for all code documentation and general help.

Getting Started

Privacy notice

The Cordio Bluetooth stack only stores one single signing key. This key is then shared across all bonded devices. If a malicious device bonds with the Mbed OS application it then gains knowledge of the shared signing key of the Mbed OS device. The malicious device can then track the Mbed OS device whenever a signing write is issued from it.

To overcome this privacy issue do not issue signed writes from the Mbed OS device. A signed write occurs when the member function write of GattClient is called with its cmd argument set to GATT_OP_SIGNED_WRITE_CMD.

Instead of using signed writes, enable encryption on the connection. This is achieved by calling the function setLinkEncryption of the SecurityManager. Set the encryption to at least ENCRYPTED.