SSZT556 January 2019
Over-the-air (OTA) updates enable remote patching of bugs or security flaws and are an important asset to connected devices. A poorly implemented OTA process, however, introduces significant risk to both original equipment manufacturers (OEMs) and consumers. Because a flawed update can “brick” (render nonfunctional) a connected device, OTA updates offer an opportunity for the introduction of malware that can compromise security for both consumers and the OEM.
I recently had an OTA update go wrong when my Android phone hung during the early stages of an update. There was no way to force a reset manually, and I had to wait 12 hours until the battery died. After resetting, my phone began correctly using the previously installed version of Android.
Fortunately I was at home at the time, so having a phone was not critical. However, had I been out meeting engineers and relying on my phone’s navigation to get around, I would have been in serious trouble. I was thankful that my phone had one key OTA safety-net feature built-in: the ability to revert to the previous software version so that my device worked again. I would just rather not have had to wait 12 hours for that reversion to occur!
There have been publicized cases of Internet of Things (IoT) products such as smartlocks that were rendered permanently unusable by OTA updates unless they were sent back to the manufacturer to be fixed. So when designing a connected device, it’s important to implement OTA updates in a manner that avoids reliability or security problems.
SimpleLink Wi-Fi MCUs and the associated SimpleLink software development kit (SDK) include wireless networking, security, storage, bootloader and OTA image-management software. Amazon FreeRTOS uses these SimpleLink software components to implement its OTA update mechanism (see Figure 1).
SimpleLink Wi-Fi devices offer a complete Transmission Control Protocol/Internet Protocol and Wi-Fi stack with Transport Layer Security to enable a secure, encrypted Message Queuing Telemetry Transport connection to the AWS cloud. SimpleLink Wi-Fi on-chip cryptographic accelerators enable the AWS OTA agent to efficiently authenticate the origin and integrity of the OTA image and guard against man-in-the-middle attacks attempting to substitute malware.
The OTA agent uses the SimpleLink Wi-Fi file system to securely store OTA images so hackers cannot access them and enables a test boot of the OTA image. In cases where the OTA image hangs or fails its self-test, the device automatically reverts to the previous image version available, thus preventing a bricked device.
SimpleLink Wi-Fi MCUs also include special pins for use in your design that enable consumers to force the IoT product to boot using its original factory image. This would have been very useful for my phone to have, as I could have had it working again immediately rather than waiting 12 hours.
Download the white paper, “A more secure and reliable OTA update architecture for IoT devices.”
Access detailed documentation for Amazon FreeRTOS OTA updates and get started with Amazon FreeRTOS and SimpleLink Wi-Fi devices.
Navigate to the SimpleLink Wi-Fi SDK and documentation.