Access control in bluetooth® low energy devices
View Patent ↗A computer readable medium comprising instructions which, when executed, cause performance of operations comprising: successfully establishing a Bluetooth connection between a Bluetooth Low Energy (BLE) device and another device, receiving, by the BLE device from the other device, a request for a change in a configuration, determining, by the BLE device, if the BLE device is in a configuration-changes-enabled state, responsive to determining that the BLE device is in a configuration-changes-enabled state, changing the configuration based on the request, and responsive to determining that the BLE device is not in a configuration-changes-enabled state, refraining from changing the configuration.
1. A non-transitory computer readable medium comprising instructions which, when executed by a hardware processor, causes performance of operations comprising:
establishing a Bluetooth connection between a Bluetooth Low Energy (BLE) beacon and a BLE device;
determining, by the BLE beacon, if the BLE beacon is in a configuration-changes-enabled state that enables configuration write access by the BLE device;
responsive to determining that the BLE beacon is in a configuration-changes-enabled state, sending a notification from the BLE beacon to the BLE device that the BLE beacon is in the configuration-changes-enabled state;
receiving, by the BLE beacon from the BLE device, a request for a change in a configuration of the BLE beacon in response to receipt of the notification;
responsive to receiving the request, changing the configuration based on the request; and
responsive to determining that the BLE beacon is not in a configuration-changes-enabled state, refraining from changing the configuration.
2. The medium of claim 1 , wherein the operations further comprise: prior to receiving the request:
receiving, by the BLE beacon a particular code from the BLE device while the BLE beacon is in a configuration-changes-disabled state;
determining that the particular code is valid for setting the configuration-changes-enabled state; responsive to determining that the particular code is valid: modifying the configuration-changes-disabled state to the configuration-changes-enabled state.
3. The medium of claim 2 , wherein modifying the configuration-changes-disabled state to the configuration-changes-enabled state is further responsive to determining that the particular code is received from the BLE device within a particular period of time from establishing the Bluetooth connection between the BLE beacon and the BLE device.
4. The medium of claim 1 , wherein the BLE beacon is to exchange messages with the BLE device when the BLE beacon is in the configuration-changes-enabled state and when the BLE beacon is not in the configuration-changes-enabled state.
5. A non-transitory computer readable medium comprising instructions which, when executed by a hardware processor, causes performance of operations comprising:
establishing a Bluetooth connection between a Bluetooth Low Energy (BLE) beacon and a BLE device;
responsive to determining that a particular access code is received within a particular period of time from establishing the Bluetooth connection: at least temporarily maintaining the Bluetooth connection;
responsive to determining that the particular access code is received within the particular period of time, sending a notification from the BLE beacon to the BLE device that the BLE beacon is in a configuration-changes-enabled state that enables configuration write access by the BLE device;
receiving, by the BLE beacon from the BLE device, a request for a change in a configuration of the BLE beacon;
responsive to receiving the request, changing the configuration of the BLE beacon; and
responsive to determining that the particular access code is not received within the particular period of time from establishing the Bluetooth connection: terminating, by the BLE beacon, the Bluetooth connection between the BLE beacon and the BLE device.
6. The medium of claim 5 , wherein the operation further comprise: responsive to determining that the particular access code is received within the particular period of time, extending or initiating a timer for the terminating of the Bluetooth connection.
7. The medium of claim 5 , wherein determining that the particular access code is received within the particular period of time comprises determining that the particular access code is received before expiration of a time that was initiated upon establishing the Bluetooth connection.
8. The medium of claim 7 , wherein the operations further comprise, responsive to determining that the particular access code is received before expiration of the timer, stopping the timer.
9. The medium of claim 7 , wherein the operations further comprise, responsive to determining that the particular access code is received before expiration of the timer, storing information indicating that the Bluetooth connection is authorized.
10. A system comprising:
a Bluetooth Low Energy (BLE) beacon configured to:
establish a Bluetooth connection with a BLE device;
determine if the BLE beacon is in a configuration-changes-enabled state that enables configuration write access by the BLE device;
responsive to determining that the BLE beacon is in the configuration-changes-enabled state, sending a notification to the BLE device that the BLE beacon is in a configuration-changes-enabled state;
responsive to receiving a request from the BLE device, change the configuration based on the request;
responsive to determining that the BLE beacon is not in a configuration-changes-enabled state, refrain from changing the configuration; and
the BLE device, configured to:
establish the Bluetooth connection with the BLE beacon;
receive the notification from the BLE beacon; and
send, in response to receipt of the notification, a first Bluetooth signal comprising the request for the change in the configuration of the BLE beacon.
11. The system of claim 10 , wherein the BLE beacon is further configured to: prior to receiving the request:
receive a particular code from the BLE device while in a configuration-changes-disabled state;
determine that the particular code is valid for setting the configuration-changes-enabled state; and
responsive to determining that the particular code is valid: modify the configuration-changes-disabled state to the configuration-changes-enabled state.
12. The system of claim 11 , wherein modifying the configuration-changes-disabled state to the configuration-changes-enabled state is further responsive to the determining that the particular code is received from the BLE device within a particular period of time from successfully establishing the Bluetooth connection between the BLE beacon and the BLE device.
13. The system of claim 10 , wherein the BLE beacon is configured to exchange messages with the BLE device when the BLE beacon is in the configuration-changes-enabled state and when the BLE beacon is not in the configuration-changes-enabled state.
14. The system of claim 10 , wherein the BLE beacon is further configured to:
responsive to determining that a particular access code is received within a particular period of time from establishing the Bluetooth connection: at least temporarily maintain the Bluetooth connection;
responsive to determining that the particular access code is not received within the particular period of time from establishing the Bluetooth connection: terminate the Bluetooth connection between the BLE beacon and the BLE device.
15. The system of claim 14 , the BLE beacon is further configured to:
responsive to determining that the particular access code is received within the particular period of time, extend or initiate a timer for the termination of the Bluetooth connection.
16. The system of claim 14 , wherein determining that the particular access code is received within the particular period of time comprises determining that the particular access code is received before expiration of a timer that was initiated upon establishing the Bluetooth connection.
17. The system of claim 16 , wherein the BLE beacon is further configured to:
responsive to determining that the particular access code is received before expiration of the timer, stop the timer.
18. The system of claim 16 , wherein the BLE beacon is further configured to:
responsive to determining that the particular access code is received before expiration of the timer, store information indicating that the Bluetooth connection is authorized.