Dual-mode Bluetooth pairing

A verification-based approach secures dual-mode Bluetooth pairing by ensuring only authorized devices can establish both Bluetooth LE and Classic connections, preventing unauthorized overrides and enhancing user experience.

GB2637698APending Publication Date: 2025-08-06DYSON TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
GB2024001167
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2025-08-06

AI Technical Summary

Technical Problem

Existing dual-mode Bluetooth pairing methods are vulnerable to unauthorized devices overriding established connections, particularly when switching between Bluetooth Classic and Bluetooth LE modes, leading to user disruption.

Method used

Implement a verification process that requires verification data from a second electronic device to meet a predetermined criterion before enabling dual-mode Bluetooth pairing, ensuring that only authorized devices can establish both Bluetooth LE and Bluetooth Classic connections simultaneously.

Benefits of technology

Enhances security by preventing unauthorized devices from overriding established connections, maintaining seamless and secure dual-mode Bluetooth pairing without manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device is executed by the first electronic device and comprises: receiving, from the second electronic device: an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first pairing key and applying a key derivation function to an input comprising the first pairing key to generate a second pairing key; and verification data; determining, by the first electronic device, whether the verification data meets a predetermined verification criterion; and in response to a determination that the verification data meets the predetermined verification criterion, enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

B ACKGROUND Bluetooth technology is used to pair electronic devices (Bluetooth is a registered trade mark). There are two main modes of Bluetooth connectivity: Bluetooth Low Energy (referred to herein as “Bluetooth LE” or “BLE"), and Bluetooth “Classic”. Bluetooth Classic is suitable for and most often used for the transmission of audio data, such as audio data or other streaming data. According to the Bluetooth standards developed by the Bluetooth Special Interest Group (SIG), pairing with a device via Bluetooth Classic is generally only possible when the device is in a pairable mode. Bluetooth LE is generally more suitable for the transmission of smaller amounts of data than Bluetooth Classic. Unlike Bluetooth Classic, Bluetooth LE connections are typically always advertised, i.e. there is no need for a device to be in specific discoverable mode (though in some cases, it is possible to switch off the advertising). Electronic devices, such as wireless headphones, are typically able to exchange data via both Bluetooth (BT) Classic and BLE connections, depending on the nature of that data. Inherent to the use of Bluetooth for the exchange of data is the concept of pairing. In order for two electronic devices to exchange data via a Bluetooth connection, those two devices are typically paired before any exchange of data may take place. At a high level, this pairing takes place via the exchange of pairing keys between the two devices in order to establish a link which enables the two devices to communicate with each other via Bluetooth. The security mechanisms for Bluetooth Classic and Bluetooth LE are similar. As explained in Antonioli et al. (2022) [Antonioli, D., Tippenhauer, N. 0., Rasmussen, K., &Payer, M. (2022, May). BLURtooth: exploiting cross-transport key derivation in Bluetooth Classic and Bluetooth LE. In Proceedings of the 2022 ACM on Asia conference on computer and communications security (pp. 196-207)], pairing enables two electronic devices to establish and authenticate a pairing key that acts as a root of trust. The pairing protocols are defined by the Bluetooth specifications. Initially, if there is a request for two electronic devices to exchange data via both Bluetooth Classic and Bluetooth LE connections, both types of connection are typically paired separately, i.e. first to pair the devices via the BT classic connection, and then via the BLE connection, or vice versa. This process was generally manual, requiring a user to manually initiate two separate processes on their device (e.g. smartphone). In order to improve user experience, Bluetooth 4.2 introduced cross transport key derivation (referred to herein as “CTKD”), enabling electronic devices to pair over one of BT classic or BLE, generating the relevant pairing key, and then to derive the pairing key for the other mode (i.e. the other of BT classic or BLE) without having to pair a second time. Advantageously, a Bluetooth LE connection could be established first, and then the Bluetooth Classic connection could be established via the Bluetooth LE connection using CTKD. The CTKD protocol is defined in the Bluetooth specifications, and a high-level explanation may be found in Antonioli et al. (2022). SUMMARY At a high level, there is provided a method of enabling dual-mode Bluetooth pairing between a first electronic device (which in a non-limiting example may be wireless headphones) and a second electronic device (which in a non-limiting example may be a smartphone). In order to provide improved security, dual-mode Bluetooth pairing may only be enabled in response to verification of verification data received from the second electronic device. Dual-mode Bluetooth pairing refers to two modes of Bluetooth pairing. One of the two modes of Bluetooth pairing may be a mode of a first type, such as a Bluetooth pairing mode supporting a relatively high rate of data transfer (for example, Bluetooth Classic). The other one of the two modes of Bluetooth pairing may be a mode of a second type, such as a Bluetooth pairing mode supporting a relatively low rate of data transfer (for example, Bluetooth LE). In the context of the present application, “dual-mode Bluetooth pairing” may be used to refer to a process by which both Bluetooth LE pairing and Bluetooth Classic pairing are established between the first electronic device and second electronic device without having to perform two separate pairing processes (i.e. a Bluetooth LE pairing process and a Bluetooth Classic pairing process). Generally, this is achieved by generating a first pairing key (e.g. a pairing key of the second type of Bluetooth pairing mode, such as a Bluetooth LE pairing key) which enables pairing by a first mode of the two modes, and then deriving a second pairing key (e.g. a pairing key of the first type of Bluetooth pairing mode, such as a Bluetooth Classic pairing key) which enables pairing by a second mode of the two modes from the first pairing key, for example by applying a key derivation function to the first pairing key. Usually, the first pairing key (e.g. the Bluetooth LE pairing key) is generated first, and the second pairing key (e.g. the Bluetooth Classic pairing key) is derived by applying a key derivation function to the first pairing key (e.g. the Bluetooth LE pairing key). Embodiments in which the Bluetooth Classic pairing key is generated first are also envisaged. An example of a scheme via which dual-mode Bluetooth pairing may be performed is the cross-transport key derivation protocol described above. While the aspects described in this disclosure focus on dual-mode Bluetooth pairing between a first electronic device and a second electronic device, other aspects are envisaged in which dual-mode pairing is enabled between a first electronic device and a second electronic device via modes of connection other than Bluetooth. More specifically, a first aspect provides a method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device, the method executed by the first electronic device and comprising: receiving, from the second electronic device: an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first pairing key (e.g. a Bluetooth LE pairing key) and applying a key derivation function to an input comprising the Bluetooth LE pairing key to generate a second pairing key (e.g. a Bluetooth Classic pairing key); and verification data; determining, by the first electronic device, whether the verification data meets a predetermined verification criterion; and in response to a determination that the verification data meets the predetermined verification criterion, enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device. Methods according to the first aspect may address an issue with known dual-mode Bluetooth pairing schemes (such as those employing a cross-transport key derivation protocol), which may allow one user to be overthrown by another when, for example, listening to music on their wireless headphones (naturally, this is also applicable to other forms of first electronic device). Consider an example in which a user is connected to their wireless headphones via a Bluetooth Classic connection. The wireless headphones may also always be advertising the Bluetooth LE connection, too. Another user may then, via the Bluetooth LE connection, attempt to initiate dual-mode Bluetooth pairing with the same wireless headphones. This would first establish the Bluetooth LE pairing, and then a Bluetooth Classic pairing. On establishment of the subsequent Bluetooth Classic pairing, the initial user’s pairing would be overridden, and the initial user would be kicked off their own headphones. However, by requiring that dual-mode Bluetooth pairing only be enabled when verification data received from the second electronic device meets a predetermined verification criterion, an unauthorized second electronic device which does not have, or is not able to generate, the correct verification data, would not be able to initiate a dual-mode Bluetooth pairing process. As discussed above. The first pairing key may be a Bluetooth LE pairing key, and the second pairing key maybe a Bluetooth Classic pairing key. Alternatively, the first pairing key may be a Bluetooth Classic pairing key and the second pairing key may be a Bluetooth LE pairing key. The second electronic device may be configured to control the first electronic device, or more specifically to control an output of the first electronic device via a Bluetooth connection such as a Bluetooth LE connection or Bluetooth Classic connection. The output may be an audio output. Accordingly, the first electronic device may be referred to as an output device, and the second electronic device may be referred to as a control device. As discussed, the bandwidth capabilities of Bluetooth Classic mean that Bluetooth Classic is particularly suitable for the exchange of audio and / or video data. The first electronic device may therefore be or comprise a device which is configured to output audio and / or video data, such as headphones (for example, wireless headphones including over-ear headphones and earbuds), a speaker, a monitor, a screen, a television, a projector, a wearable purifier (for example, wearable on a head or neck of a human), a virtual reality headset, smart glasses, or a smart watch. In some implementations, the first electronic device is or comprises a wearable device configured to be worn by a human, such as the aforementioned headphones, wearable purifier, virtual reality headset, smart glasses, or smart watch. In some implementations, the first electronic device may be or comprise other devices which may be controlled via a Bluetooth connection, including air movement products such as a fan, bladeless fan, air conditioner, heater, air treatment device, humidifier, and air purifier. In some implementations, the first electronic device is or comprises a domestic product, such as a vacuum cleaner. In some implementations, the first electronic device is or comprises a personal device, such as an oral care device (for example, an electronic toothbrush) or a haircare product (for example, a hairdryer or hair Styler). In some implementations, the first electronic device is or comprises a product installed into a building, such as a ceiling fan or room audio device. The second electronic device, or control device, may comprise or be a device which is used to control the output of the first electronic device or output device. For example, the second electronic device or control device may comprise, or be, a smartphone, a tablet, a computer (such as a laptop computer or a desktop computer), or a smart television. The first electronic device may have loaded in a memory thereof an application (e.g. a software application). The first electronic device may further comprise a processor which is configured to retrieve the run the software application. Running the software application stored on the first electronic device may comprise executing any or all of the method steps outlined in this disclosure. The request and the verification data may be received via a Bluetooth connection between the first electronic device and the second electronic device. The Bluetooth connection may be a Bluetooth LE connection or a Bluetooth Classic connection. A Bluetooth LE connection is particularly suitable because Bluetooth LE is designed for exchange of data, rather than e.g. streaming. For the avoidance of doubt, at this point in the method, i.e. the exchange of the verification data can take place via a Bluetooth connection even if the first electronic device and the second electronic device are not yet paired. Alternatively, the verification data may be received, exchanged, or transferred via near-field communication, or by scanning of a QR code, for example. In order further to improve the security of the dual-mode Bluetooth pairing process by presenting a more robust defence against attempts by unauthorized control devices (i.e. first electronic devices), the Bluetooth connection via which the enablement request and the verification data are received from the second electronic device may be a secure Bluetooth connection. Herein, a “secure Bluetooth connection” is used to refer a Bluetooth connection which can only be established between the first electronic device and a preauthorized second electronic device. Herein, a “pre-authorized second electronic device” may refer to a second electronic device, a user of which has successfully completed an authentication protocol in order to authorize them to use the device, and consequently to establish the secure Bluetooth connection. Alternatively, the authentication protocol may confirm that the first electronic device and / or the second electronic device is an authorized or authentic device. More specifically, the authentication protocol may be configured to confirm that the first electronic device is a genuine, authorized, or authentic first electronic device which is permitted to be controlled by the second electronic device. The method comprises receiving, from the second electronic device, a request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device. In some cases, receipt of the verification data may serve as the request for dualmode Bluetooth pairing (i.e. the receipt of the verification data may be indicative of the fact that the second electronic device is requesting that dual-mode Bluetooth pairing be enabled). Alternatively, the method may comprise receiving a message comprising the request and the verification data. Alternatively, the method may comprise receiving a request message comprising the request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, and a verification message comprising the verification data, which is separate from the request message. The method of the first aspect may incorporate an additional security measure. As discussed, Bluetooth-enabled devices typically have a pairable mode and a discoverable mode. In addition to being in a pairable mode (for the first electronic device and the second electronic device to pair with each other, by the nature of Bluetooth), the additional security measure may also require that the first electronic device is also in a discoverable mode, in order for dual-mode Bluetooth pairing to be enabled. Alternatively put, the step of enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device is executable (i.e. can be performed, or is possible) when the first electronic device is in a Bluetooth Classic discoverable mode. More specifically, the step of enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device is executable (i.e. can be performed, or is possible) only when the first electronic device is in a Bluetooth Classic discoverable mode. By ensuring that the first electronic device is in a Bluetooth Classic discoverable mode before enabling dual-mode Bluetooth pairing, the chances of an unauthorized user or other malicious actor being able to establish dual-mode Bluetooth pairing without permission are reduced. In order to ensure that the first electronic device is in the Bluetooth Classic discoverable mode, the method may further comprise determining whether the first electronic device is in Bluetooth Classic discoverable mode. Then, the method may comprise enabling dualmode Bluetooth pairing between the first electronic device and the second electronic device when (or only when) it is determined that the verification data meets the predetermined verification criterion and the first electronic device is in the Bluetooth Classic discoverable mode. While similar, the terms “pairable” and “discoverable” have different meanings in the context of Bluetooth. If a device is discoverable, it means when another device scans for other nearby devices, the discoverable device will be identified to the other device (e.g. because in response to a discovery message, the discoverable device will transmit data such as an identifier and a unique MAC address to the other device). For example, if a user scans for available devices on their smartphone, a discoverable device will appear in the list of available devices, and the user may subsequently pair with that device. A pairable device may still be open to pairing (i.e. the pairable device may respond to pairing requests), but unlike discoverable devices, the pairable device may not be identified to the other device, e.g. the pairable device will not transmit an identifier and unique MAC address to the other device. It is possible for the other device to pair with the pairable device, with knowledge of the address of the pairable device, even if the pairable device is not in discoverable mode. Generally, if an electronic device (such as the first electronic device) is in a discoverable mode, that device is also pairable, but the converse is not true: when a device is in a pairable mode, that device is not necessarily discoverable. In electronic devices which are capable of Bluetooth connectivity, there are typically separate flags dictating whether the electronic device is in a pairable mode and / or a discoverable mode. The method of the first aspect may comprise the steps leading to the first electronic device being in the Bluetooth Classic discoverable mode. Specifically, the method may further comprise activating the Bluetooth Classic discoverable mode of the first electronic device. Activating the Bluetooth Classic discoverable mode may take place in response to an input. For example, activating the Bluetooth Classic discoverable mode may take place in response to a user input, such as pressing a button on the first electronic device. In other cases, rather than a physical input such as pressing a button, the input may be in the form of instructions received from the second electronic device, for example via the same Bluetooth connection as the request and verification data. More specifically, the method may comprise receiving an activation message from the second electronic device, the activation message comprising instructions to activate the Bluetooth Classic discoverable mode. The activation message may further comprise the request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device. The method may subsequently comprise, in response to receiving the activation message, activating the Bluetooth Classic discoverable mode of the first electronic device. Receiving the activation message (or other input) may take place before or after the verification step. Correspondingly, activating the Bluetooth Classic discoverable mode may take place before or after the verification step. Activating the Bluetooth Classic discoverable mode of the first electronic device may comprise activating the Bluetooth Classic discoverable mode of the first electronic device for a predetermined amount of time. By not activating the Bluetooth Classic discoverable mode of the first electronic device indefinitely, it is possible to reduce the likelihood that an unauthorized device will be able to pair with the first electronic device. The predetermined time may be no longer than one minute, no longer than two minutes, no longer than three minutes, no longer than four minutes, or no longer than 5 minutes. The predetermined time may be no less than five seconds, no less than ten seconds, no less than fifteen seconds, no less than twenty seconds, no less than thirty seconds, no less than forty seconds, no less than fifty seconds, or no less than one minute. In some implementations, the predetermined time may be no less than one minute and no more than three minutes, for example the predetermined time may be about two minutes. These durations are generally sufficient to ensure that the pairing process may be completed, while not being so long that other unauthorized devices may have a chance to pair with the first electronic device. In some cases, the verification data must be received while the first electronic device is in the Bluetooth Classic discoverable mode (for example in the verification message). Accordingly, the method may further comprise, after receiving the verification data, determining whether the first electronic device is in the Bluetooth Classic discoverable mode, or determining whether the verification data was received while the first electronic device was (and maybe still is) in the Bluetooth Classic discoverable mode. Then, only in response to a determination that the verification data meets the predetermined verification criterion and that either the first electronic device is in the Bluetooth Classic discoverable mode , or the verification data was received while the first electronic device was (and maybe still is) in the Bluetooth Classic discoverable mode, does the method further comprise enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device. So far, only the consequences of the positive determinations have been considered. We now consider what happens in the case of a negative determination. In response to a determination that the verification data does not meet the predetermined verification criterion, that the first electronic device is no longer in the Bluetooth Classic discoverable mode, and / or that the verification data was not received while the first electronic device was in the Bluetooth Classic discoverable mode, the method may further comprise rejecting the request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device. In practice, this may not be an active step, and the process may simply abort without enabling dual-mode Bluetooth pairing, i.e. the lack of an active step of enabling dual-mode Bluetooth pairing may in itself prevent the dual-mode Bluetooth pairing from taking place. It has been discussed above that the activation message comprises instructions to activate the Bluetooth Classic discoverable mode of the first electronic device. More specifically, the activation message may comprise instructions which when executed by the first electronic device or a component of the first electronic device, cause the first electronic device or the component of the first electronic device to activate the Bluetooth Classic discoverable mode of the first electronic device. Accordingly, the first electronic device may comprise a processor or controller which is configured to execute the instructions thereby activating the Bluetooth Classic discoverable mode of the first electronic device. Accordingly, the instructions may comprise executable code. We now discuss in more detail the nature of the verification data, and the verification process. It has already been explained that the verification data may be received via a secure Bluetooth LE connection between the first electronic device and an authorized second electronic device, a user of which has completed an authentication protocol successfully. The first electronic device may comprise a memory, the memory comprising a dedicated field configured to store the received verification data, and the method may further comprise storing the verification data to the dedicated field. In this sense, the second electronic device may be considered to be writing the verification data to the dedicated field for storage of the verification data. The dedicated field may comprise or have associated therewith one or more properties defining conditions required to execute various actions, such as read action and write actions. More specifically, the properties may define whether or not another device needs to be paired with the first electronic device in order to execute various actions on data in the dedicated field. The properties may define that it is not necessary for an external device to be paired with the first electronic device in order to write data to the dedicated field, i.e. to transmit the verification data to the first electronic device for storage in the dedicated field. The properties may define that it is required for another device to be paired with the first electronic device in order to read data stored in the dedicated field. As discussed later, this latter property may form the basis for a process by which transmission of a pairing request from the second electronic device to the first electronic device is triggered. Determining whether the verification data meets the predetermined verification criterion may comprise determining whether the verification data is identical to expected verification data. The verification data may comprise encrypted data, and the method may further comprise decrypting the encrypted verification data, before determining whether the verification data is identical to the expected verification data. The expected verification data may be stored in a memory of the first electronic device. For example, the expected verification data may be stored in the memory of the first electronic device during manufacture. In some implementations, the expected verification data stored in the memory of the second electronic device may be updated during the lifetime of the second electronic device. The expected verification data may comprise a string of data. The string may be of length 64 bits, 128 bits, 256 bits, or 512 bits, for example. The step of enabling dual-mode Bluetooth pairing of between the first electronic device and the second electronic device may comprise setting or updating a value of a dual-mode Bluetooth pairing flag which may be stored in a memory of the first electronic device. Accordingly, a memory of the first electronic device may comprise a dual-mode Bluetooth pairing flag which may take one of at least two values. The at least two values may comprise a first value which indicates that dual-mode Bluetooth pairing is enabled, and a second value which indicates that dual-mode Bluetooth pairing is not enabled, or is disabled. By way of example, the first value may be “ENABLED”, “TRUE”, “YES” or “1”, and the second value may be “DISABLED”, “FALSE”, “NO”, or “0”, but it will be acknowledged that any appropriate values may be used. After dual-mode Bluetooth pairing between the first electronic device and the second electronic device has been enabled, the method may further comprise notifying the second electronic device that dual-mode Bluetooth pairing between the first electronic device and the second electronic device has been enabled. Notifying may comprise transmitting, for example via a Bluetooth connection such as the connection via which the request and verification data were received, a notification message to the second electronic device, a notification message comprising information indicating that dual-mode Bluetooth pairing between the first electronic device and the second electronic device has been enabled. Once dual-mode Bluetooth pairing is enabled, it becomes possible for the two devices to execute a dual-mode Bluetooth pairing protocol to enable Bluetooth LE pairing and Bluetooth Classic pairing without a user having to manually perform Bluetooth LE pairing and Bluetooth Classic pairing separately. Accordingly, the method may further comprise receiving a dual-mode Bluetooth pairing request from the second electronic device, for example via a Bluetooth connection such as the connection via which the request and verification data were received. In response to receiving the dual-mode Bluetooth pairing request, a dual-mode Bluetooth pairing process may be initiated. Alternatively, the dual-mode Bluetooth pairing process may be initiated automatically in response to enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device. In some cases, the second electronic device may execute, for example via a Bluetooth connection such as the connection via which the request and verification data were received, a read action on the verification data stored in the memory of the first electronic device, for example in the dedicated field, and a pairing request may be transmitted to the first electronic device in response to the read action (or attempted read action, see below), or the dual-mode Bluetooth pairing process may be initiated in response to the read action (or attempted read action, see below). The read action may be considered to represent the pairing request, or alternatively, the method may comprise receiving a pairing request message which comprises the pairing request. It has been discussed earlier in this application that the verification data may be stored in a dedicated field, a property of the dedicated field being that external devices must be paired with the first electronic device in order to read verification data stored in the dedicated field. By virtue of this property, when the second electronic device executes a read action on the verification data stored in the dedicated field, this will prompt the pairing process, because the property defines that the second electronic device must be paired with the first electronic device in order to read the verification data. Initiation of the dual-mode Bluetooth pairing process may comprise displaying, on the second electronic device, a request for confirmation from a user of the second electronic device that they would like to establish Bluetooth pairing via Bluetooth LE and / or Bluetooth Classic between the first electronic device and the second electronic device. Then, the method may further comprise receiving, at the first electronic device, for example via a Bluetooth connection such as the connection via which the request and verification data were received, a confirmation message from the second electronic device, the confirmation message indicating that the user of the second electronic device would like to establish Bluetooth pairing, via Bluetooth LE and / or Bluetooth Classic, between the first electronic device and the second device. In some cases, the user indicates that they would like to establish pairing in one mode (i.e. Bluetooth LE or Bluetooth Classic), which then leads to dual-mode Bluetooth pairing, when the second pairing key is generated based on the first pairing key. In the cases where the dual-mode Bluetooth pairing process is initiated in response to receiving a pairing request, initiating the dual-mode Bluetooth pairing process may comprise determining whether one or more dual-mode Bluetooth pairing criteria are met. Determining whether the one or more dual-mode Bluetooth pairing criteria are met may comprise determining whether dual-mode Bluetooth pairing is enabled. Determining whether dual-mode Bluetooth pairing is enabled may comprise interrogating or reading the dual-mode Bluetooth flag, stored in the memory of the first electronic device, to determine whether dual-mode Bluetooth is enabled. Determining whether the one or more dual-mode Bluetooth pairing criteria are met may, alternatively or additionally, comprise determining whether the first electronic device is in the Bluetooth Classic discoverable mode. In response to a determination that the one or more dual-mode Bluetooth pairing criteria are met, the method may continue to establish dual-mode Bluetooth pairing between the first electronic device and the second electronic device. The step of determining whether the one or more dual-mode Bluetooth pairing criteria are met may also take place when initiation of the dual-mode Bluetooth pairing process takes place automatically in response to enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device. As discussed, the method may comprise establishing the dual-mode Bluetooth pairing between the first electronic device and the second electronic device. Establishing the dualmode Bluetooth pairing between the first electronic device and the second electronic device may first comprise generating a first (e.g. Bluetooth LE) pairing key. Establishing the dual-mode Bluetooth pairing between the first electronic device and the second electronic device may then comprise applying a key derivation function to an input comprising the first (e.g. Bluetooth LE) pairing key to generate a second (e.g. Bluetooth Classic) pairing key. The key derivation function may be a cross-transport key derivation function, for example as prescribed by the Bluetooth specifications. After the first pairing key has been generated, and before the second pairing key has been generated, the method may further comprise deactivating the Bluetooth Classic discoverable mode of the first electronic device. As discussed, the method avoids the need for a separate pairing request to pair via a second mode after the first pairing key has been generated. In order for the dual-mode Bluetooth pairing to be established, the first pairing key and the second pairing key, are typically generated and / or derived on both the first electronic device and the second electronic device. After the dual-mode Bluetooth pairing has been established, i.e. both the first pairing key and the second pairing key, the method may further comprise transmitting a pairing successful message to the second electronic device, for example via the newly established Bluetooth LE connection or Bluetooth Classic connection. The pairing successful message may comprise instructions configured, for example when executed by a processor of the second electronic device, to cause the second electronic device to display a message indicating that dual-mode Bluetooth pairing has been successful. After the dual-mode Bluetooth pairing has been established, the method may further comprise disabling dual-mode Bluetooth pairing, for example by adjusting the value stored in the dual-mode Bluetooth pairing flag to the second value, which indicates that dual- mode Bluetooth pairing is disabled or not enabled. This prevents additional unauthorized devices from successfully attempting dual-mode Bluetooth pairing with the first electronic device. Disabling dual-mode Bluetooth pairing may be executed in response to a disable message received from the second electronic device, for example via the newly established Bluetooth LE connection or Bluetooth Classic connection. A processor of the first electronic device may comprise a mode setting module configured to control a mode of operation of the first electronic device. The mode setting module may be implemented in software or hardware, and in either case may be the component which is configured to execute the instructions in order to activate the Bluetooth Classic discoverable mode of the first electronic device. The mode setting module may also be configured to deactivate the Bluetooth Classic discoverable mode of the first electronic device, for example after the predetermined time has elapsed. Accordingly, the mode setting module, or the processor or controller more generally may comprise a clock or timer to enable the mode setting module to deactivate the Bluetooth Classic discoverable mode of the first electronic device. A second aspect provides a first electronic device configured to execute the method of the first aspect. The optional features set out in respect of the first aspect are equally applicable to the first electronic device of the second aspect, except where clearly technically incompatible, or where context dictates otherwise. A third aspect provides a computer-implemented method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device, the computer-implemented method executable by a processor of the first electronic device and comprising: receiving an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first pairing key and applying a key derivation function to an input comprising the first pairing key to generate a second pairing key, and verification data, the enablement request and verification data originating from the second electronic device; determining whether the verification data meets a predetermined verification criterion; and in response to determination that the verification data meets the predetermined verification criterion, enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device. A fourth aspect provides computer program or computer program product comprising a computer program, the computer program comprising instructions which, when the program is executed by a processor, cause the processor to execute the computer-implemented method of the third aspect. The computer program or computer program product may be loadable onto a first electronic device, thereby enabling it to execute the computer-implemented method of the third aspect of the invention. The optional features set out in respect of the first aspect are equally applicable to the computer-implemented method of the third aspect or the computer program (or computer program product) of the fourth aspect, except where clearly technically incompatible, or where context dictates otherwise. A fifth aspect provides a control system implementing the method of the first aspect, the computer-implemented method of the third aspect, or having loaded thereon the computer program (or computer program product) of the fourth aspect. The optional features set out in respect of the first aspect are equally applicable to the control system of the fifth aspect, except where clearly technically incompatible, or where context dictates otherwise. The method of the first aspect focuses on the steps executed by the first electronic device. A sixth aspect provides a method which is executed by both the first electronic device and the second electronic device. More specifically, a sixth aspect provides a method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device, the method executed by the first electronic device and comprising: transmitting, by the second electronic device, an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first (e.g. Bluetooth LE) pairing key and applying a key derivation function to an input comprising the first (e.g. Bluetooth LE) pairing key to generate a second (e.g. Bluetooth Classic) pairing key; and verification data; receiving, by the first electronic device, from the second electronic device: the enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device; and the verification data; determining, by the first electronic device, whether the verification data meets a predetermined verification criterion; and in response to a determination that the verification data meets the predetermined verification criterion, enabling, by the first electronic device, dual-mode Bluetooth pairing between the first electronic device and the second electronic device. The optional features set out in respect of the first aspect are equally applicable to the first electronic device of the third aspect, except where clearly technically incompatible, or where context dictates otherwise. Some additional optional features, focussing on the actions performed by the second electronic device, are set out below. The method of the sixth aspect may further comprise generating and / or transmitting, for example via a Bluetooth connection, such as the secure Bluetooth connection described in detail with reference to method of the first aspect, one or more of the verification data, the enablement request, the verification message, the activation message, and the request message, as defined with reference to the method of the first aspect. The method may further comprise receiving, by the second electronic device, for example via a Bluetooth connection, such as the secure Bluetooth connection described in detail with reference to method of the first aspect, the notification message from the first electronic device. The method may further comprise displaying the information comprised in the notification message, the information indicating that dual-mode Bluetooth pairing between the first electronic device and the second electronic device has been enabled. The method may further comprise generating and transmitting, by the second electronic device, for example via a Bluetooth connection, such as the secure Bluetooth connection described in detail with reference to method of the first aspect, and for example in response to a user input, the pairing request to the first electronic device. More specifically, the method may comprise executing a read action on the verification data stored in the dedicated field of the memory of the first device. As discussed, the dedicated field may have a property which means that it can only be read by external devices which are paired with the first electronic device. Thus, in response to the attempted read action on the verification data stored in the dedicated field, the method may comprise generating and transmitting the pairing request to the first electronic device. The second electronic device also plays a role in establishing dual-mode Bluetooth pairing between the first electronic device and the second electronic device, since the second electronic device also generates and / or derives a first (e.g. Bluetooth LE) pairing key and a second (e.g. Bluetooth Classic) pairing key in order for the pairing to be successful, and to enable the first electronic device and the second electronic device to communicate via a Bluetooth LE connection and / or a Bluetooth Classic connection. Accordingly, the method of the third aspect may further comprise generating, by the second electronic device, a first (e.g. Bluetooth LE) pairing key. The method of the third aspect may then comprise applying, by the second electronic device, a key derivation function to an input comprising the first (e.g. Bluetooth LE) pairing key to generate a second (e.g. Bluetooth Classic) pairing key. After dual-mode Bluetooth pairing has been established between the first electronic device and the second electronic device, the method may further comprise receiving, by the second electronic device, for example via the newly established Bluetooth LE connection or Bluetooth Classic connection, the pairing successful message from the first electronic device and optionally executing the instructions comprised in the pairing successful message, and displaying a notification on a display component of the second electronic device, the notification indicating to a user of the second electronic device that the pairing request has been accepted and dual-mode Bluetooth pairing between the first electronic device and the second electronic device has been established successfully. The method may further comprise, by the second electronic device, after dual-mode Bluetooth pairing has been established, generating and transmitting the disable message to the first electronic device, for example via the newly established Bluetooth LE connection or Bluetooth Classic connection. A seventh aspect provides a system configured to execute the method of the third aspect, the system comprising a first electronic device and a second electronic device. The optional features set out in respect of the first to sixth aspects are equally applicable to the system of the seventh aspect, except where clearly technically incompatible, or where context dictates otherwise. For the avoidance of doubt, any combination of the aspects and / or features described are envisaged except where such a combination is clearly impermissible or expressly avoided. BRIEF DESCRIPTION OF THE DRAWINGS - Fig. 1A is a schematic diagram showing a system including a first device and a second device. - Fig. IB is a schematic diagram showing the first device of the system of Fig. 1A. - Fig. IC is a schematic diagram showing the second device of the system of Fig. IB. - Fig. 2 is a flowchart illustrating the establishment of a secure Bluetooth LE connection between the first device and the second device of the system of Fig. 1 A. - Fig. 3 is a flowchart illustrating a verification process to enable dual-mode Bluetooth pairing between the first device and the second device of the system of Fig. 1A. - Fig. 4 is a flowchart illustrating a dual-mode Bluetooth pairing process which may take place after dual-mode Bluetooth pairing is enabled according to process of Fig. 3. - Fig. 5 is a flowchart illustrating in more detail a way in which the Bluetooth LE pairing key and the Bluetooth Classic pairing key may be derived. DETAILED DESCRIPTION Fig. 1A shows a system 100 comprising a first device 200 and a second device 300. In the present context, the first device 200 may be an output device, such as wireless headphones or a speaker, which is controlled by the second device 300, which may be referred to as a control device, and may be in the form of a smartphone or tablet. These specific examples are illustrative examples. The features shown in the first device 200 and the second device 300 are only those features which may be used to implement the method which forms the subject of this disclosure, and should not be interpreted as an exhaustive list of the features comprised by the first device 200 and the second device 300. Fig. IB illustrates the first device 200 in more detail. The first device 200 comprises a user interface 202, a processor 204, a memory 206, and a second device interface module 208. The user interface 202 may comprise any component which enables a user of the first device to provide input, such as instructions, to the first device 200. The user interface 202 may comprise a push button or other physical switch. Alternatively, in some cases, the user interface 202 may comprise a touchscreen display, or the like. The processor 204 of the first device 200 comprises a plurality of modules: a mode setting module 2042, a verification module 2044, a flag setting module 2046, and a dual-mode Bluetooth pairing module 2048. The dual-mode Bluetooth pairing module 2048 includes a plurality of sub-modules: a shared secret generation sub-module 20480, a Bluetooth LE pairing key generation sub-module 20482, and a Bluetooth Classic pairing key generation sub-module 20484. These modules may be implemented in the form of specific hardware within the processor 204 of the first device 200. Alternatively, the modules may be in the form of software modules. The software modules may be represented, for example, by computer code comprising instructions which, when executed by the processor 204 of the first device 200, cause the processor 204 to execute the respective function associated with that module. In this sense, the modules may be interpreted as “functional modules”, which may be implemented in any computer-based manner, such that they are able to execute the function with which they are associated. The specific function of each of the modules is discussed in more detail later in this application. The memory 206 of the first device 200 comprises a dual-mode Bluetooth pairing flag 2060, a verification data input field 2061, a verification algorithm 2062, a verification criterion 2064, secure connection data 2066, and dual-mode Bluetooth pairing data 2068. The secure connection data 2066 comprises data which is used to establish an initial secure Bluetooth LE connection between the first device 200 and the second device 300, and comprises an identifier 20660, a MAC 20662, and other metadata 20664. The dual-mode Bluetooth pairing data 2068 comprises data which is used to establish dual-mode Bluetooth pairing between the first device 200 and the second device 300 once dual-mode Bluetooth pairing is enabled. The dual-mode Bluetooth pairing data 2068 comprises a first device private key SKi, a first device public key PKi, a first device nonce value Ni, and a source Bluetooth LE address Ai. The dual-mode Bluetooth pairing data 2068 also comprises a Bluetooth LE pairing key Kble and a Bluetooth Classic pairing key Kbtc. The Bluetooth LE pairing key Kble and a Bluetooth Classic pairing key Kbtc may not be stored on in the dual-mode Bluetooth pairing data 2068 at the outset of the method, as they have not yet been generated. The memory 206 also comprises a Bluetooth LE pairing key derivation function KDFble The second device interface module 208, as the name suggests, is a module via which the first device 200 is able to interact with the second device 300. Given that the focus of this application is on Bluetooth connections between the first device 200 and the second device 300, the second device interface module 208 may comprise a transmitter and a receiver with which, respectively, to transmit and receive RF frequency signals encoding data to be exchanged between the first device 200 and the second device 300. The second device 300 includes a first device interface module 308 serving the same function, described shortly. Fig. IC illustrates the second device 300 in more detail. The second device 300 similarly comprises a user interface 302, a processor 304, a memory 306, a first device interface module 308, and a display component 310. The user interface 302 may comprise any component which enables a user of the first device to provide input, such as instructions, to the second device 300. The user interface 302 may comprise a push button or other physical switch. Alternatively, in some cases, the user interface 302 may comprise a touchscreen display, or the like. The processor 304 of the second device 300 comprises a plurality of modules: a secure connection initiation module 3040, an authentication module 3041, verification data generation module 3042, a dual mode Bluetooth pairing initiation module 3044, and a dual-mode Bluetooth pairing module 3046. The dual-mode Bluetooth pairing module 3046 includes a plurality of sub-modules: a shared secret generation sub-module 30460, a Bluetooth LE pairing key generation submodule 30462, and a Bluetooth Classic pairing key generation sub-module 30464. As before, these modules may be implemented in the form of specific hardware within the processor 304 of the second device 300. Alternatively, the modules may be in the form of software modules. The software modules may be represented, for example, by computer code comprising instructions which, when executed by the processor 304 of the second device 300, cause the processor 304 to execute the respective function associated with that module. In this sense, the modules may be interpreted as “functional modules”, which may be implemented in any computer-based manner, such that they are able to execute the function with which they are associated. The specific function of each of the modules is discussed in more detail later in this application. The memory 306 of the second device 300 stores a software application 3060, authentication protocol 3061, verification data 3062 and dual-mode Bluetooth pairing data 3066. The software application 3060 may comprise the code comprising instructions which, when executed by the processor 304, causes the processor 304 to execute the functions of the secure connection initiation module 3040, the verification data generation module 3042, and the dual-mode Bluetooth pairing initiation module 3044. In that sense, when those modules are implemented in software, as suggested in the previous paragraph, this may be the result of the processor 304 retrieving the software application 3060 from the memory 306 of the second device 300. In some cases, the verification data 3062 may not be stored on the memory 306 of the second device 300 initially, but only be present, for example, after the verification data 3062 is generated by the verification data generation module 3042. The dual-mode Bluetooth pairing data 3068 comprises data which is used to establish dual-mode Bluetooth pairing between the first device 200 and the second device 300 once dual-mode Bluetooth pairing is enabled. The dual-mode Bluetooth pairing data 3068 comprises a first device private key SK2, a first device public key PK2, a first device nonce value N2, and a source Bluetooth LE address A2. The dual-mode Bluetooth pairing data 3068 also comprises a Bluetooth LE pairing key Kble and a Bluetooth Classic pairing key Kbtc. The Bluetooth LE pairing key Kble and a Bluetooth Classic pairing key Kbtc may not be stored on in the dual-mode Bluetooth pairing data 3068 at the outset of the method, as they have not yet been generated. The memory 306 also comprises a Bluetooth LE pairing key derivation function KDFble- The first device interface module 308, as the name suggests, is a module via which the second device 300 is able to interact with the first device 200. Given that the focus of this application is on Bluetooth connections between the first device 200 and the second device 300, the second device interface module 308 may comprise a transmitter and a receiver with which, respectively, to transmit and receive RF frequency signals encoding data to be exchanged between the first device 200 and the second device 300. Figs. 2 to 5 illustrate methods which may be executed by the system 100 comprising the first device 200 and the second device 300, which broadly comprise establishing a secure connection between the first device 200 and the second device 300, enabling dual-mode Bluetooth pairing between the first device 200 and the second device 300, and establishing the dual-mode Bluetooth pairing between the first device 200 and the second device 300. For the avoidance of doubt, we reiterate here that “dual-mode Bluetooth pairing” in the present context is used to refer to pairing between the first device 200 and the second device 300 via both Bluetooth LE and Bluetooth Classic modes, in a manner wherein separate pairing via each mode is avoided, for example, because after the Bluetooth LE pairing key is generated, the Bluetooth Classic pairing key can be generated from the Bluetooth LE pairing key, or vice versa. As discussed elsewhere in this application, this may take place using the cross-transport key derivation (CTKD) protocol. Fig. 2 illustrates a method by which a secure Bluetooth LE connection between the first device 200 and the second device 300 may be established. Before discussing the steps of the method, we discuss the dual-mode Bluetooth pairing flag 2060. An important aspect of the present disclosure is the way in which the dual-mode Bluetooth pairing is enabled, in order to address security concerns identified by the inventors. The dual-mode Bluetooth pairing flag 2060 may comprise a field or other dedicated portion of the memory 206 of the first device 200. The dual-mode Bluetooth pairing flag 2060 may take two values, a first value which is indicative of dual-mode Bluetooth pairing being enabled, and a second value indicative of dual-mode Bluetooth pairing being disabled. In the context of the method of Fig. 2A, it is assumed that the dual-mode Bluetooth pairing flag 2060 takes the second value, i.e. dual-mode Bluetooth pairing is initially disabled. As discussed previously in this patent application, in devices which are Bluetooth LE-enabled, Bluetooth LE is typically always being advertised. There are some cases where it is possible to disable the Bluetooth LE advertising, but for the purposes of our discussion of Fig. 2A, it is to be assumed that the first device 200 is advertising Bluetooth LE, such that the second device 300 is able to see and connect with the first device 200. In a first step S200 of Fig. 2A, a user of the second device 300, via the user interface 302, initiates a secure Bluetooth LE connection process. This may comprise a user generating or providing a secure Bluetooth LE connection request. This may be done e.g. via the software application 3060 stored on the memory 306 of the second device 300. In response to the initiation of the secure Bluetooth LE connection in step S200, the second device 300 may scan for available devices in step S202, i.e. those devices with which a secure Bluetooth LE connection may be established. This scanning process may be initiated by the secure connection initiation module 3040. Scanning for available devices may comprise receiving secure connection data 2068 such as an identifier 20660 of the first device 200, a unique MAC address 20662 of the first device 200 or other metadata 20664. In step S204, the second device 300 may display, on the display component 310, a list of the available devices, including the first device 200, to enable a user to select which of the available devices they wish to connect with. In step S206, the user selects, via the user interface 302, the first device 200. Accordingly, the processor 304 of the second device 300 may receive a signal indicative of the user’s selection of the first device 200. In response to receiving the signal indicative of the user’s selection of the first device 200, in step S208 the authentication module 3041 of the processor 304 of the second device 300 may retrieve and execute the authentication protocol 3061 with the first device 200. In step S210, it is determined whether the authentication protocol 3061 was successfully executed. If so, the secure Bluetooth LE connection between the first device 200 and second device 300 is established in step S212. If not, the process is aborted in step S214. Essentially, the authentication protocol 3061 ensures that only authorized users are able to connect to the first device 200. Fig. 3 illustrates a process by which dual-mode Bluetooth pairing between the first device 200 and the second device 300 is enabled, the secure Bluetooth LE connection between the first device 200 and the second device 300 having been established, for example according to the process shown in Fig. 2A. The secure Bluetooth LE connection between the first device 200 and the second device 300 may be established using an alternative process. Preferably, such an alternative process would also ensure that only authorized users are able to establish the secure Bluetooth LE connection between the first device 200 and the second device 300. In a first step S300, a request for dual-mode Bluetooth pairing between the first device 200 and the second device 300 may be received at the second device 300. This request may be received either by virtue of a user input to the second device 300, e.g. via the user interface 302, or by virtue of a user input to the first device 200, e.g. via the user interface 202. In the latter case, the user input may prompt the first device 200 to transmit the request for dual-mode Bluetooth pairing to the second device 300, eg. via the second device interface module 308. In step S302, in response to the request, the second device 300 may transmit, via the established secure Bluetooth LE connection, an activation message comprising instructions to the first device 200 to activate a Bluetooth Classic discoverable mode of the first device 200. In step S304, in response to receiving the activation message via the secure Bluetooth LE connection, the mode setting module 2042 of the processor 204 of the first device 200 may activate the Bluetooth Classic pairing or discoverable mode of the first device 200. According to this implementation, because the instructions to activate the Bluetooth Classic pairing mode of the first device 200 are transmitted via the secure Bluetooth LE connection, they can only be transmitted by a second device 300 for which the authentication protocol 3061 was successfully executed in steps S208 and S210 of Fig. 2. This prevents unauthorized second devices 300 from initiating dual-mode Bluetooth pairing with the first device 200, preventing unauthorized users from overriding an already established Bluetooth Classic connection. The Bluetooth Classic pairing or discoverable mode may be activated in other ways, e.g. in response to a user pressing a push button on the first device 200. Steps S3 06 to S312 of Fig. 3 relate to a verification process which takes place to enable dual-mode Bluetooth pairing between the first device 200 and the second device 300. Broadly, these steps are handled by the verification module 2044 of the processor 204 of the first device and the verification data generation module 3042 of the processor 304 of the second device 300. In step S306, the verification data generation module 3042 of the processor 304 of the second device 300 generates verification data 3062 which may be stored in the memory 306 of the second device 300. In step S308, the second device 300 retrieves the verification data 3062 from the memory 306, and transmits a verification message comprising the verification data 3062 to the first device 200, e.g. via the first device interface module 308. Correspondingly in step S310, the verification message may be received from the second device 300 via the second device interface module 208 of the first device 200, whereupon the verification data 3062 may be stored in the verification data input field 2061 of the memory 206 of the first device 200. In step S312, the verification module 2044 determines whether the verification data stored in the verification data input field 2061 meets the verification criterion 2064. More specifically, the verification module 2044 may retrieve the verification data from the verification data input field 2061, the verification algorithm 2062, and the verification criterion 2064. Then, the verification module 2044 may apply the verification algorithm 2062 to the verification data stored in the verification data input field 2061 to determine whether the verification data 3062 meets the verification criterion 2064. In one implementation the verification criterion 2064 may require that the verification data stored in the verification data input field 2061 is identical to expected verification data (not show), which is prestored in the memory 206 of the first device 200. If it is determined in step S312 that the verification data stored in the verification data input field 2061 meets the verification criterion 2064, the process proceeds to step S314, in which the flag setting module 2046 of the processor 204 of the first device sets the value of the dual-mode Bluetooth pairing flag 2060 to indicate that dual-mode Bluetooth pairing is enabled. For example, the flag could be set to “TRUE” or “1”, whereas “FALSE” or “0” is indicative of dual-mode Bluetooth being disabled. Once this flag has been set, dual-mode Bluetooth pairing is enabled. Alternatively, though, if it is determined in step S312 that the verification data stored in the verification data input 2061 does not meet the validation criterion 2064, the dual-mode Bluetooth pairing flag 2060 is untouched, and retains the value indicating that dual-mode Bluetooth pairing is disabled (e.g. “FALSE” or “0”). Once dual-mode Bluetooth pairing has been enabled according to the steps shown in Fig. 3, the actual dual-mode Bluetooth pairing can be established. An example of a process by which this takes place is shown in Fig. 4. In step S400, the second electronic device 300, for example the dual-mode Bluetooth pairing module 3044 of the processor 304 of the second device 300, may attempt a read action on the field of the memory 206 of the first device 200 which stores the verification data 2061. As discussed, the of the memory 206 in which the verification data 2061 is stored may require that, in order to execute a read action on data stored therein, an external device must be paired with the first device 200. Accordingly, in attempting to execute the read action, the second device 300 is prompted to pair with the first device 200 and in step S402 displays a message on the display 310 asking the user of the second device 300 to confirm that they wish to initiate pairing between the first device 200 and the second device 300 In step S404, a user input is received via the user interface 302 of the second device 300 indicating that the user does wish to establish pairing between the first device 200 and the second device 300, and as a result, in step S406, the second device 300 transmits, via the first device interface module 308, a pairing request to the first device 200, which is received via the second device interface module 208. In step S408, in response to the pairing request received in step S406, the Bluetooth LE pairing key Kble is established using processes prescribed by the relevant Bluetooth LE standard, which are outlined shortly with reference to Fig. 5. Establishment of the Bluetooth LE pairing key is a collaborative process which is performed by both the Bluetooth LE pairing key generation sub-module 20482 of the dual-mode Bluetooth pairing module 2048 of the processor 204 of the first device 200 and the Bluetooth LE pairing key generation sub-module 30462 of the dual-mode Bluetooth pairing module 3046 of the processor 304 second device 300, involving the secure exchange of various pieces of data. The Bluetooth LE pairing key Kble may then be stored in the memory 206 of the first device 200 as part of the dual-mode Bluetooth pairing data 2068, and in the memory 306 of the second device 300, as part of the dual-mode Bluetooth pairing data 3068. In step S410, the Bluetooth LE pairing key Kble having been established and stored in the memory 206 of the first device 200 and the memory 306 of the second device 200, the mode setting module 2042 disables the Bluetooth Classic discoverable mode of the first device 200. In step S412, the Bluetooth Classic pairing key Kbtc is established. For the purposes of the present disclosure, the Bluetooth Classic pairing key Kbtc is established without the need to perform a separate pairing process. This is established by virtue of the application of a Bluetooth Classic pairing key derivation function KDFbtc to a key derivation function input comprising the established Bluetooth LE pairing key Kble in order to generate the Bluetooth Classic pairing key Kbtc. Each of the Bluetooth Classic pairing key generation sub-module 20484 of the dual-mode Bluetooth pairing module 2048 of the processor 204 of the first device 200 and the Bluetooth Classic pairing key generation sub-module 30464 of the dual-mode Bluetooth pairing module 3046 of the processor 304 of the second device 300 independently derives the Bluetooth Classic pairing key Kbtc using, respectively, the Bluetooth Classic pairing key derivation function KDFbtc stored in the memory 206 of the first device 200 and the Bluetooth Classic pairing key derivation function KDFbtc stored in the memory 306 of the first device 300. In a final step (not shown), the flag setting module 2046 of the processor 204 of the first device may then disable the dual-mode Bluetooth pairing, by adjusting the value of the dual-mode Bluetooth pairing flag 2060. Fig. 5 shows a flowchart illustrating a high-level scheme by which the Bluetooth LE pairing key Kble and the Bluetooth Classic pairing key Kbtc may be established on the first device 200 and the second device 300 using, respectively the dual-mode Bluetooth pairing module 2048 and the dual-mode Bluetooth pairing module 3046. The skilled person will acknowledge, however, that other schemes may be equally suitable. The memory 206 of the first device 200 stores a first device private key SKi and a first device public key PKi, and the memory 306 of the second device 300 stores a second device private key SK2 and second device public key PK2. These may be in the form of elliptic curve keys, though other kinds of keypairs are equally applicable. In a first step S500, the first device 200 and the second device 300 exchange their respective public keys, the first device public key PKi, and the second device public key PK2. In step S502, the first device 200 and the second device 300 may generate a shared secret key DK, based on their own private key and the public key received from the other device. More specifically, the shared secret generation sub-module 20480 of the processor 204 of the first device 200 may generate the shared secret DK based on the first device private key SKi and the second device public key PK2. And, the shared secret generation sub-module 30460 of the processor 304 of the second device 300 may generate the shared secret DK based on the second device private key SK2 and the first device public key PKi. The shared secret DK is generated, on each of the first device 200 and the second device 300, using an algorithm which ensures that the shared secret DK generated on the first device 200 is identical to the shared secret DK generated on the second device 300 (hence “shared”, and the reference “DK” being used for both). A suitable algorithm for ensuring this is a Diffie-Hellman algorithm, though others may be equally viable (Diffie, W. (1976). New direction in cryptography. IEEE Trans. Inform. Theory, 22(6), 644-654; Merkle, R C. (1978). Secure communications over insecure channels. Communications of the ACM, 21(4), 294-299). Each device having generated the shared secret DK, in step S504, the Bluetooth LE pairing key generation sub-module 20482 applies the Bluetooth LE pairing key derivation function KDFble to a key derivation function input comprising the shared secret DK, thereby generating the Bluetooth LE pairing key Kble, which may then be stored in the dual-mode Bluetooth pairing data 2068 of the memory 206 of the first device 200. And, the Bluetooth LE pairing key generation sub-module 30462 applies the Bluetooth LE pairing key derivation function KDFble to a key derivation function input comprising the shared secret DK, thereby generating the Bluetooth LE pairing key Kble, which may then be stored in the dual-mode Bluetooth pairing data 3066 of the memory 306 of the second device 300. Because the shared secret DK generated on the first device 200 is identical to the shared secret DK generated on the second device 300, the Bluetooth LE pairing key Kble generated on the first device 200 is identical to the Bluetooth LE pairing key Kble generated on the second device 300. In each case, the input may comprise additional data such as a source Bluetooth LE address of the first device 200, a source Bluetooth LE address of the second device 300 and a first nonce value Ni associated with the first device 200, and / or a second nonce value N2 associated with the second device 300. In step S506, the Bluetooth Classic pairing key generation sub-module 20484 applies the 5 Bluetooth LE pairing key derivation function KDFble to a key derivation function input comprising the Bluetooth LE pairing key Kbtc, thereby generating the Bluetooth Classic pairing key Kbtc, which may then be stored in the dual-mode Bluetooth pairing data 2068 of the memory 206 of the first device 200. And, the Bluetooth Classic pairing key generation sub-module 30464 applies the Bluetooth Classic pairing key derivation function 10 KDFbtc to a key derivation function input comprising Bluetooth LE pairing key Kble, thereby generating the Bluetooth Classic pairing key Kbtc, which may then be stored in the dual-mode Bluetooth pairing data 3066 of the memory 306 of the second device 300. The Bluetooth Classic pairing key derivation function may be cross-transport key derivation (CTKD) function. 15

Claims

1. A method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device, the method executed by the first electronic device and the method comprising:receiving, from the second electronic device:an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first pairing key and applying a key derivation function to an input comprising the first pairing key to generate a second pairing key; andverification data;determining, by the first electronic device, whether the verification data meets a predetermined verification criterion; andin response to a determination that the verification data meets the predetermined verification criterion, enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device.

2. The method of claim 1, wherein:the first pairing key is a Bluetooth LE pairing key; andthe second pairing key is a Bluetooth Classic pairing key.

3. The method of claim 1 or claim 2, wherein:the enablement request and the verification data are received via a Bluetooth connection between the first electronic device and the second electronic device.

4. The method of claim 3, wherein:the second electronic device is a pre-authorized second electronic device;the Bluetooth connection is a secure Bluetooth connection, which can only be established between a first electronic device and a pre-authorized second electronic device.

5. The method of any one of claims 1 to 4, wherein:the step of enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device is executable only when the first electronic device is in a Bluetooth Classic discoverable mode of the first electronic device.

6. The method of claim 5, further comprising:activating the Bluetooth Classic discoverable mode of the first electronic device.

7. The method of claim 6, further comprising:receiving an activation message from the second electronic device, the activation message comprising instructions to activate the Bluetooth Classic discoverable mode; andin response to receiving the activation message, activating the Bluetooth Classic discoverable mode of the first electronic device.

8. The method of claim 6 or claim 7, wherein:activating the Bluetooth Classic discoverable mode of the first electronic device comprises activating the Bluetooth Classic discoverable mode of the first electronic device for a predetermined amount of time.

9. The method of any one of claims 1 to 8, wherein:the first electronic device comprises a memory having a dedicated field configured to store the received verification data; andthe method further comprises storing the verification data to the dedicated field.

10. The method of claim 9, wherein:the dedicated field has associated therewith or comprises one or more properties defining conditions required for actions to be executed by an external device, on the verification data stored in the dedicated field, wherein a property of one or more properties defines that the external device must be paired with the first electronic device in order to read data stored in the dedicated field.

11. The method of any one of claims 1 to 10, wherein:determining whether the verification data meets the predetermined verification criterion comprises determining whether the verification data is identical to expected verification data.

12. The method of any one of claims 1 to 11, wherein:enabling dual-mode Bluetooth pairing of between the first electronic device and thesecond electronic device comprises setting or updating a value of a dual-mode Bluetooth pairing flag stored in a memory of the first electronic device.

13. The method of claim 12, wherein:a memory of the first electronic device comprises the dual-mode Bluetooth pairing flag which may take one of at least two values, the at least two values comprising: a first value which indicates that dual-mode Bluetooth pairing is enabled, and a second value which indicates that dual-mode Bluetooth pairing is not enabled.

14. The method of any one of claims 1 to 13, further comprising:initiating a dual-mode Bluetooth pairing process in response to one or more of: receiving a pairing request from the second electronic device;the step of enabling dual-mode Bluetooth between the first electronic device and the second electronic device; and / orthe second electronic device executing a read action on the dedicated field of the memory storing the verification data.

15. The method of claim 13, wherein:initiating the dual-mode Bluetooth pairing process comprises determining whether one or more dual-mode Bluetooth pairing criteria are met; andin response to a determination that the one or more dual-mode Bluetooth pairing criteria are met, establishing dual-mode Bluetooth pairing between the first electronic device and the second electronic device.

16. The method of claim 14 or claim 15, wherein:initiating the dual-mode Bluetooth pairing process comprises interrogating or reading the dual-mode Bluetooth flag stored in the memory of the first electronic device to determine whether dual-mode Bluetooth pairing is enabled.

17. The method of claim 15 or claim 16, wherein:establishing dual-mode Bluetooth pairing between the first electronic device and the second electronic device comprises:generating the first pairing key; andapplying a key derivation function to an input comprising the first pairing key to generate a second pairing key.

18. The method of claim 17, further comprising:after the first pairing key has been generated, and before the second pairing key has been generated, deactivating the Bluetooth Classic discoverable mode of the first electronic device.

19. The method of any one of claims 15 to 17, further comprising:after establishing dual-mode Bluetooth pairing between the first electronic device and the second device, disabling dual-mode Bluetooth pairing.

20. The method of any one of claims 1 to 19, wherein:the second electronic device is configured to control an output of the first electronic device via a Bluetooth LE connection or Bluetooth Classic connection.

21. The method of claim 20, wherein:the first electronic device comprises or is: headphones, a speaker, a monitor, a screen, a television, a projector, a virtual reality headset, smart glasses, a smart watch, a wearable purifier, a fan, a bladeless fan, an air conditioner, an air treatment device, a humidifier, an air purifier, a vacuum cleaner, an oral care device, or a haircare product; and / orthe second electronic device comprises: a smartphone, a tablet, a laptop computer, a desktop computer, a smart hub, or a smart television.

22. A first electronic device configured to execute the method of any one of claims 1 to 21.

23. A control system for implementing the method of any one of claims 1 to 22.

24. A computer-implemented method of enabling dual-mode Bluetooth pairing between a first electronic device and a second electronic device, the computer-implemented method executable by a processor of the first electronic device and the method comprising: receiving an enablement request to enable dual-mode Bluetooth pairing between the first electronic device and the second electronic device, wherein dual-mode Bluetooth pairing comprises generating a first pairing key and applying a key derivation function toan input comprising the first pairing key to generate a second pairing key, and verification data, the enablement request and verification data originating from the second electronic device;determining whether the verification data meets a predetermined verification criterion; andin response to determination that the verification data meets the predetermined verification criterion, enabling dual-mode Bluetooth pairing between the first electronic device and the second electronic device.

25. A computer program comprising instructions which, when the program is executed by a processor, cause the processor to execute the computer-implemented method of claim 24.

Citation Information

Patent Citations

  • Bluetooth Communication Method and Dual-Mode Bluetooth Terminal

    US20220030403A1

  • Secured seamless authentication for bluetooth just works pairing

    US20220369109A1