Provisioning, managing and securing devices in an IoT product requires careful planning at the very start of the process. Rigorous evaluation of options, then a Proof of Concept helps determine the right solution. Once the POC has been approved, the IoT product moves to production. Then the real fun starts and many strategic considerations come into play. We can list them as follows:
Robust and secure OTA software updates
Security by design
Remote terminal management
Device configuration, monitoring & troubleshooting
Robust and secure OTA software updates
Robust and secure OTA software updates are essential for keeping IoT devices secure as the software on these devices will become outdated during their lifetime and vulnerabilities are certain to arise if left in their initial states. Therefore a secure, risk-tolerant, and efficient update mechanism must be at the core of each product development team from the inception of the project to the end of its life.
How about a homegrown solution?
Homegrown solutions are less likely to be best-of-breed, can be hard to scale, can suffer from over customisation and scope creep, come at an inherently high cost and can be left in trouble if the star developers behind their creation suddenly jump ship and leave the organisation. They also often lack the requirements needed to ensure security and robustness of software updates. Various open source solutions exist, but none provide an end-to-end solution and lack the overall functionality to make them enterprise-grade. Generic public cloud IoT stacks wish to cater to the entire IoT value chain but fail to deliver a purpose-built solution for software updates. Proprietary and platform solutions cause lock-in to specific cloud infrastructure, operating system, or development tools.
The common thread among all of these solutions is the lack of a fully optimized end-to-end OTA software update and device management infrastructure that can minimize risk, increase efficiency and enhance security and uptime.
Security by design
A device security breach incident can interrupt operations, damage systems, and negatively impact both virtual and physical processes. This translates into unhappy customers and lost business. As Colin Duggan, the Founder and CEO at BG Networks says in an interview with the Device Chronicle, “It is difficult to add security after the design has been completed. There are a number of reasons for this. Embedded systems have limited MHz, memory, and limitations of network interfaces on embedded processors. Security features can be added after the fact but usually will not close off all the vulnerabilities.” That is why it is so important to ensure security by design, in the very early stages of the product’s lifecycle.
IoT product security should be approached holistically with a framework that addresses the people, devices and process. To help IoT professionals make the right decisions concerning their product development, we designed a simple framework based on these factors and called it the Triangle of Trust:
There’s a significant difference between managing a small number of embedded devices and having thousands or even millions of devices deployed in the field. Microsoft’s new IoT Signals report found lack of scalability as a leading cause for IoT project failures. Complexity is one of the greatest scalability issues. As such, choosing the right solution with the right architecture is important to safeguard the long-term management viability of your fleet of connected devices. More on the topic of IoT scalability can be read here.
When one of the arms of the Triangle of Trust fails, the other two are endangered. To prevent any risks arising from human mistakes, automating some of the processes is a solution that might save your business thousands of dollars. Mender.io is an OTA software update manager for Linux-based embedded devices, and it also offers a wide range of automations to securely manage these devices. One of the features that Mender offers is automatic retry of failed device deployments. Deployments to devices might fail for various intermittent reasons like loss of power, network or device usage. Automatic retry upon failures reduces device deployment error rates up to 90%. This translates to time and money savings managing deployments, and also leads to customers receiving the updates faster.
Remote management is a necessity for any kind of embedded device. Any company rolling out its IoT products needs to have control of its systems from a central location. SSH, secure tunneling and remote terminal access is preferred by service providers to VPN access as they can assure their customers of security when accessing and troubleshooting devices. Furthermore, the management involves grouping and accessing embedded devices, provisioning, configuring, and monitoring remotely and securely.
Seeing the necessity for not only secure over-the-air processes, but also for reliable ways of monitoring, provisioning, configuring, grouping, and accessing the embedded devices, the team behind Mender decided to expand their offering by the mentioned remote management features. Mender is open source software meaning there are many contributors to make it better and support a variety of customer hardware and software such as NVIDIA Jetson and NXP's family of iMX processors. It provides flexibility in choosing your infrastructure, software, and hardware from prototyping to production which means there is no vendor lock-in. Mender supports all device software updates from a full disk image to application updates with the freedom to customize the update and installation process to fit your workflow. It is also integrated with Google Cloud and Microsoft Azure IoT for easy device authentication.
Device configuration, troubleshooting and monitoring
A proper device management set up should never be overlooked. Robust and secure device management is a necessary cornerstone for an IoT product and therefore you need to find a high quality solution. Once you deploy thousands or millions of devices into the field you’ll need to be able to configure them properly, gather the data, and quickly troubleshoot any arising problems. Many organisations treat these capabilities as an afterthought. Engineers realize that they need some kind of device management solution right before their deadlines and product releases, which results in rushed fixes being made, that may have serious implications for the robustness and security of connected devices.
In order to roll out a successful, secure, and robust IoT product a few things have to be taken into consideration before the release. To ensure security by design from the earliest stages of the product life cycle, the team behind the IoT product needs to find a solution for deploying secure and robust OTA updates, remotely monitor, configure, and troubleshoot the devices, and automate necessary processes in order to avoid human-made mistakes.