mbed-os/connectivity/FEATURE_BLE
Mathieu Camélique 3746f5af68 change type in ScanParameters getters 2024-05-22 08:52:42 +02:00
..
include/ble change type in ScanParameters getters 2024-05-22 08:52:42 +02:00
libraries Fix null pointer dereferencing 2023-04-20 00:54:47 -04:00
source Fix null pointer dereferencing 2023-04-20 00:54:47 -04: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.