Overview The goals of a secure IoT device Security - How can I secure my device? Security - Platform Security Architecture Security - Arm TrustZone technology Security - CryptoCell and CryptoIsland technologies Security - Mitigating against physical attacks Security - Implementing additional security IP - What IP do I need to make a secure IoT device? IP - The processor IP - The AMBA components IP - The CryptoCell IP - Power control, timers, Wi-Fi, and display Build - How does the IP fit together? Build - Starting to develop an example TBSA-M system Build - Select AMBA components to link the IP together Build - Connect to RAM, ROM, and eFlash memory Build - Connect the CryptoCell-312 Build - Add power control to the SoC Build - Add the timers as peripherals Build - Add a theoretical Wi-Fi and display component Build - Integrate the IP into the SoC Build - Add your own registers for the SoC Build - Arm subsystems SSE-123 - Exploring the SSE-123 Example Subsystem SSE-123 - SSE-123 features SSE-123 - Working with the SSE-123 SSE-123 - SSE-123 timers SSE-123 - SSE-123 registers SSE-123 - Debugging with the SSE-123 SSE-123 - The SSE-123 I/O port SSE-123 - Ideas for extending the SSE-123 Related information Next steps
The goals of a secure IoT device
Let's begin by thinking about the goals of a secure IoT device. Many of those goals aim to provide a superior experience to the customer. At the same time, the device must install confidence in relation to security. Achieving both aims requires attention at the software level, the firmware level, and in the design of the System on Chip (SoC) powering the device. This guide focuses on the design of the SoC and demonstrates how hardware functionality helps with security.
Imagine that you have the job of designing an SoC that powers a connected coffee machine. Let us start with the functionality this coffee machine is expected to achieve. First, the device must identify itself and communicate securely to both a cloud server and mobile devices. Communication over the Internet requires the use of cryptography.
In addition, the coffee machine must be able to:
- Securely perform firmware updates that are downloaded from the cloud server. During these updates, the coffee machine must decrypt and authenticate the firmware image.
- Monitor itself. The coffee machine must be able to report any service or refill requirements to either the service company or the owner
- Store user details securely including the preferences of the user
- Send usage data, like coffee selection statistics, to the manufacturers for market research
- Download brewing programs for new ranges of coffee beans
- Display advertising for new coffee blends on the screen of the coffee machine
Although this guide uses a connected coffee machine as an example, the functionality that the device requires could apply to many connected devices. For example, most connected devices are expected to send and receive data over the Internet. They also allow a user to interact with them through an app and can securely update their firmware. In this sense, there would be many similarities in the SoC design journey for any secure IoT device.
The final consideration for any secure IoT device is cost. The secure solution that the end user is going to enjoy must be cost effective for the manufacturer to produce.