1NimBLE Security 2--------------- 3 4The Bluetooth Low Energy security model includes five distinct security 5concepts as listed below. For detailed specifications, see BLUETOOTH 6SPECIFICATION Version 4.2 [Vol 1, Part A]. 7 8- **Pairing**: The process for creating one or more shared secret keys. 9 In LE a single link key is generated by combining contributions from 10 each device into a link key used during pairing. 11 12- **Bonding**: The act of storing the keys created during pairing for 13 use in subsequent connections in order to form a trusted device pair. 14 15- **Device authentication**: Verification that the two devices have the 16 same keys (verify device identity) 17 18- **Encryption**: Keeps message confidential. Encryption in Bluetooth 19 LE uses AES-CCM cryptography and is performed in the *Controller*. 20 21- **Message integrity**: Protects against message forgeries. 22 23Bluetooth LE uses four association models depending on the I/O 24capabilities of the devices. 25 26- **Just Works**: designed for scenarios where at least one of the 27 devices does not have a display capable of displaying a six digit 28 number nor does it have a keyboard capable of entering six decimal 29 digits. 30 31- **Numeric Comparison**: designed for scenarios where both devices are 32 capable of displaying a six digit number and both are capable of 33 having the user enter "yes" or "no". A good example of this model is 34 the cell phone / PC scenario. 35 36- **Out of Band**: designed for scenarios where an Out of Band 37 mechanism is used to both discover the devices as well as to exchange 38 or transfer cryptographic numbers used in the pairing process. 39 40- **Passkey Entry**: designed for the scenario where one device has 41 input capability but does not have the capability to display six 42 digits and the other device has output capabilities. A good example 43 of this model is the PC and keyboard scenario. 44 45Key Generation 46~~~~~~~~~~~~~~ 47 48Key generation for all purposes in Bluetooth LE is performed by the 49*Host* on each LE device independent of any other LE device. 50 51Privacy Feature 52~~~~~~~~~~~~~~~ 53 54Bluetooth LE supports an optional feature during connection mode and 55connection procedures that reduces the ability to track a LE device over 56a period of time by changing the Bluetooth device address on a frequent 57basis. 58 59There are two variants of the privacy feature. 60 61- In the first variant, private addresses are resolved and generated by 62 the *Host*. 63- In the second variant, private addresses are resolved and generated 64 by the *Controller* without involving the Host after the Host 65 provides the Controller device identity information. The Host may 66 provide the Controller with a complete resolving list or a subset of 67 the resolving list. Device filtering becomes possible in the second 68 variant when address resolution is performed in the Controller 69 because the peer’s device identity address can be resolved prior to 70 checking whether it is in the white list. 71 72**Note**: When address resolution is performed exclusively in the Host, 73a device may experience increased power consumption because device 74filtering must be disabled. For more details on the privacy feature, 75refer to BLUETOOTH SPECIFICATION Version 4.2 [Vol 3, Part C] (Published 7602 December 2014), Page 592. 77