Skip to content

Commit 3efc0d3

Browse files
author
Amanda Butler
authored
Merge pull request #450 from ARMmbed/AnotherButler-patch-5
Create SecurityManager.md
2 parents 9dc3b60 + 156e433 commit 3efc0d3

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## SecurityManager
2+
3+
SecurityManager deals with authentication and encryption for the Bluetooth Low Energy link. The process of pairing and optionally bonding provides this. The SecurityManager achieves bonding by saving the pairing information and reusing it on subsequent reconnections in order to save time by not having to perform pairing again.
4+
5+
The process of pairing may produce a set of keys to be used during current or later connections. The SecurityManager and include the Long Term Encryption Key (LTK), the Identity Resolving Key (IRK) and the Connection Signature Resolving Key (CSRK) handle these. The SecurityManager uses the LTK to encrypt subsequent connections without having to pair again. The Link Controller uses IRK to identify peers who use random resolvable addresses. The application uses CSRK to sign and authenticate signed data.
6+
7+
The pairing process may provide man-in-the-middle protection (MITM). The SecurityManager achieves this through various means, including out of band communication, depending on the capabilities of the local and peer device.
8+
9+
The SecurityManager stores the keys, permanently if possible, to speed security requests on subsequent connections.
10+
11+
Security requests may come explicitly from the user application or implicitly from the GATT server based on attribute requirements.
12+
13+
### SecurityManager class reference
14+
15+
[![View code](https://www.mbed.com/embed/?type=library)](http://os.mbed.com/docs/v5.7/mbed-os-api-doxy/class_security_manager.html)
16+
17+
### SecurityManager example
18+
19+
The SecurityManager example demonstrates both a central and a peripheral connecting and performing basic pairing and setting up link security.
20+
21+
[![View code](https://www.mbed.com/embed/?url=https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-SM/)](https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-SM/file/fcb1e0b995a9/source/main.cpp/)

0 commit comments

Comments
 (0)