Securing IoT Devices Using arm TrustZone
CEC Archives | CEC Semester Fourteen 2018 | Securing IoT Devices Using arm TrustZone
Security is often misunderstood by embedded systems engineers working with microcontrollers. In this session, we will explore embedded system security concepts that every IoT developer needs to know. We will start with what security is and the potential avenues hackers can use to attack our connected systems. We will examine the general methods and strategies used to protect devices and several architectures that can be used to enhance system security.
Once a developer understands the methods and strategies used to a secure a system, they can more appropriately decide how to use the technology available to them. In this session, we will dig deeper into the armv8-M architecture and the TrustZone security extension and how it fits into the developer's security toolbox. Attendees will become familiar with the new Cortex-M23/33 processors along with the new programmers' model.
In this session, attendees will dive in and learn how to create their first application using TrustZone. Developers will be able to follow along using Keil MDK to simulate their application or they can use available TrustZone hardware. Attendees will learn how to configure the secure and unsecure zones and how they can protect memory regions such as RAM, Flash and even peripheral access.
Security starts with developing a Chain of Trust. In this session, we will walk developers through how a TrustZone application starts and the steps necessary to develop a Chain of Trust. Attendees will also learn how the secure zone affects debugging and the steps developers must take to debug their code. Once this is understood and the Chain of Trust is developed, developers can then execute their user code with more confidence.
RTOSs can still play an important role in TrustZone applications. So how does a developer use an RTOS when there is a secure and unsecure world executing on the processor? In this session, we will explore several different options developers leverage to use an RTOS in a TrustZone application. Attendees will walk away with an understanding on what considerations they need to make and they methods they can employ to use a RTOS.

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.