In recent years, Android has proved to be one of the driving forces behind the success of the Internet of Things (IoT). The combination of a stable kernel, availability of open source libraries and the absence of license fees has made Android a popular IoT-embedded-as-a-Platform solution.
Concept Reply has gained extensive expertise in developing Android-based IoT embedded systems by creating custom versions of the Android operating system to meet customers' increasingly differentiated demand for connectivity. For these requirements, the competence of the Concept Reply IoT experts ranges from kernel customization to application level development.
One issue always plays a central role in this: Due to the expanding IoT business and the constantly growing network of intelligent devices, the topic of security is inevitably becoming a priority concern for everyone, regardless of whether consumers, market participants or regulatory authorities.
Concept Reply therefore offers its customers professional advice on the most effective security practices to apply throughout the software development lifecycle.
In a recent project, Concept Reply provided two controllers of its IoT embedded platform, housed in two separate Electronic Control Units, with a Bluetooth Personal Area Network (BT-PAN) for a major automotive manufacturer. Thanks to BT-PAN, one of the controllers can act as an internet gateway for the other and ensure communication with the backend.
Such a project is relatively easy to realize on Android in three main steps:
1. Setting the preconditions for the local Bluetooth adapter (radio turned on, enabled, remote address set, etc.)
2. Triggering the traditional pairing process
3. Activating the local PAN service, set the correct role (e.g. PANU or NAP) and connect to the PAN service of the remote device
In Android, the functionality for performing these three steps is available and well documented. While this traditional approach has the advantage of delivering results quickly, there are other options that have proven to be more appropriate for ensuring the highest level of security. The reason for this lies in its core - the pairing process, which is illustrated in the diagram below:
The above scheme is based on two main points:
The authentication part requires device discovery, which in turn demands that the device in question is detectable, meaning that it advertises itself. And this is where the security problem lies: by keeping Bluetooth devices detectable, they provide a point of attack for hackers who want to harm the system.
Concept Reply pursues an own approach to address this security weakness at design level:
However, the alternative approach requires careful analysis and rework of the existing stack. In Android this can be illustrated as follows:
The careful revision of such a large stack (performed in C, C++ and Java) can be summarized as follows:
As described above, this approach to establishing a Bluetooth PAN connection required massive refactoring across the entire stack.
Nevertheless, together with Concept Reply as an experienced partner, the design and implementation challenges were mastered in order to provide the customer with a stable and effective solution on time.