BLE Authorization Control Service support
-
Dear forum,
We are conceptualizing a connected medical device with wireless connectivity to smartphones. Due to the sensitive nature of the transferred information we need to ensure a properly secured channel. The Bluetooth SIG has recently released a new standard Authorization Control Service (ACS), which aims to provide such secure channel to conform to medical device security standards. Chapter 3.1 describes how secure transfers have to be rerouted through the ACS interface instead of the actual GATT server that presents the secured information.
My questions are the following:
- Is there any planned timeline to add support for ACS to QtConnectivity library? Especially in the GATT server side?
- More importantly, is the current architecture suitable to implement ACS on top of? Specifically I'm worried that the current design doesn't allow dynamically rejecting a GATT characteristic read request from the application side.
-
Hi and welcome to devnet,
You should bring this matter to the development mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.
-
My own investigation showed that the QtConnectivity library isn't providing the necessary API to implement this service. Specifically, I missed two key functionality: returning specific error codes to client read/write requests, and having support for control point characteristics.
We ended up writing our own BLE GATT library that interacts with BlueZ directly over D-Bus instead. The BlueZ D-Bus API offers everything needed for ACS, but I did find one critical bug in BlueZ's implementation that affects this functionality:
https://github.com/bluez/bluez/issues/460We have the Qt BLE framework implemented, but ACS itself is planned at a later stage.