title: Bluetooth Low Energy GATT Security Levels
body: <p>I am investigating the types of security available in Bluetooth Low Energy (BLE) related to GATT. More specifically, what kind of operations are done when using gatttool with different security levels specified (low, med, high)? My understanding is that the Security Manager in BLE supports 4 different security properties: </p>
  
  <ul>
  <li>no pairing</li>
  <li>pairing with an association model that doesn't support man-in-the-middle (MitM) protections (JustWorks)</li>
  <li>pairing with MitM protections (passkey entry, numeric comparison, OOB)</li>
  <li>LE Secure Connections pairing. </li>
  </ul>
  
  <p>Are these security properties related to the security levels specified with gatttool or is there some other security feature I missed while reading the Bluetooth Specification? </p>
  
  <p>Edit: I would like to extend my question in order to clarify the issue. How does the 4.2 Bluetooth stack determine whether to use legacy pairing or not? That is to say, if I have a packet capture of two BLE 4.2 devices pairing, how can I tell whether legacy pairing is being used vs pairing that uses ECDH? Does the Secure Connections flag indicate that legacy pairing should not be used or is it just its own mode that ensures FIPS approved algorithms are used?</p>