A few weeks ago, the Bluetooth Special Interest Group (SIG) released the new Bluetooth® 4.2 core specification. This new release is the most connected, most secure, and most power-efficient specification to date. Bluetooth 4.2 contains feature updates in security, privacy, and extended data packet length. In this blog post, we introduce you to the security feature and show you how to leverage it in your product design.
What Does Bluetooth 4.2 Mean to Developers?
Bluetooth LE Secure Connections
Bluetooth 4.2 introduced a new security model, Bluetooth Low Energy (LE) Secure connections. Bluetooth LE Secure Connections uses an algorithm called Elliptic curve Diffie–Hellman (ECDH) for key generation and a new pairing procedure for the key exchange.
The main goal of the Bluetooth Security Manager is to set up tools and procedures to enable secure connections and protect the communication from passive eavesdropping and man-in-the-middle attacks.
Using Bluetooth LE Secure Connections, with the ECDH algorithms to generate public/private key pairs, the Security Manager protects the communication from passive eavesdropping regardless of the I/O capabilities and pairing methods (numeric comparison, just works, passkey entry, and out of band) you will be using in your applications. It will provide protections from man-in-the-middle (MITM) attacks if the application uses numeric comparison, passkey entry, and out of band as the pairing method.
Adding Bluetooth LE Secure Connections to Your Products
You need to upgrade the security manager in your Bluetooth stack to support the following:
- Generation and management of ECDH keys
- Bluetooth LE Secure Connection pairing requests
- Generation of ECDH keys and long-term keys (LTK)
- Generation and exchange of cross transport keys
Once the pairing initiator and responder implement support for Bluetooth LE Secure Connections, the pairing can be started by the master sending out a pairing request, or the Slave sending out a security request. The new Secure Connection bit in the Authentication Requirement Flags will indicate to the receiver that a secure connection is being requested for the existing connection.
Pairing is the process of generating and exchanging several keys for encryption and authentication.Then you could move to Phase 2, based on the I/O capabilities of both sides, and establish an encrypted connection.
For technical details, please refer to Bluetooth Core Specification version 4.2 Volume 3 Part H.
Bluetooth 5: Go Faster, Go Further
Download this comprehensive overview to discover how Bluetooth 5 significantly increases the range, speed, and broadcast messaging capacity of Bluetooth applications, making use cases in smart home automation, enterprise, and industrial markets a reality.