Skip to content

Commit a8ac925

Browse files
privacy doxygen overview
1 parent 7e69444 commit a8ac925

File tree

1 file changed

+21
-0
lines changed
  • features/FEATURE_BLE/ble

1 file changed

+21
-0
lines changed

features/FEATURE_BLE/ble/Gap.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,27 @@ class GapAdvertisingData;
121121
* gap.startAdvertising();
122122
* @endcode
123123
*
124+
* @par Privacy
125+
*
126+
* Privacy is a feature that allows a device to avoid being tracked by other
127+
* (untrusted) devices. The device achieves it by periodically generating a
128+
* new random address. The random address may be a resolvable random address,
129+
* enabling trusted devices to recognise it as belonging to the same
130+
* device. These trusted devices receive an Identity Resolution Key (IRK)
131+
* during pairing. This is handled by the SecurityManager and relies on the
132+
* other device accepting and storing the IRK.
133+
*
134+
* Privacy needs to be enabled by calling enablePrivacy() after having
135+
* initialised the SecurityManager since privacy requires SecurityManager
136+
* to handle IRKs. The behaviour of privacy enabled devices is set by
137+
* using setCentralPrivacyConfiguration() which specifies what the device
138+
* should be with devices using random addresses. Random addresses
139+
* generated by privacy enabled device can be of two types: resolvable
140+
* (by devices who have the IRK) and unresolvable. Unresolvable addresses
141+
* can't be used for connecting and connectable advertising therefore a
142+
* resolvable one will be used for these regardless of the privacy
143+
* configuration.
144+
*
124145
* @par Scanning
125146
*
126147
* Scanning consist of listening for peer advertising packets. From a scan, a

0 commit comments

Comments
 (0)