Professional Documents
Culture Documents
Threat-Based Analysis Method For IoT Devices - Cypress and Arm
Threat-Based Analysis Method For IoT Devices - Cypress and Arm
Jack Ogawa, Senior Director, Marketing, Microcontroller Business Unit, Cypress Semiconductor Corp.
Berenice Mann, Senior Marketer, Architecture and Technology Group, Arm
Introduction
By all accounts, Internet of Things (IoT) devices are forecasted to become ubiquitous. These devices, powered by
semiconductors, will make every imaginable process smart. From simply turning on a light to more complex processes such as
outpatient care or factory control, IoT devices utilizing sensing, processing, and cloud connectivity will dramatically improve their
efficiency. The applications are diverse, and their promise and impact are unbounded.
However, the growing “smartness” of connected devices introduces security challenges. For example, traditional lighting control
is relatively primitive – it’s a power circuit with a physical switch. Operating the switch requires physical proximity. Securing this
process against unauthorized use simply requires physical protection of the switch. Now consider lighting control in its smart
incarnation as an IoT device. The physical switch is replaced by light and proximity sensors, logic (typically implemented in a
microcontroller), and wireless connectivity to a cloud-based application. In becoming smart, a light switch is transformed into an
embedded client that works with an application server through a network. Securing the smart light switch has become much
more complicated. This added complexity will present challenges to all IoT device designers. The good news is that secure
microcontrollers can greatly enhance the security of the IoT device and accelerate the design cycle.
This paper offers a case study to determine the security requirements of a network-camera IoT device. This device is, by
definition, already connected and is used widely in a number of applications, from cheap home web-cams to complex industry
systems. By defining the relevant threats against the network camera and determining the security objectives to defend against
those threats, the security requirements for the device will be established. It presents Cypress’ PSoC® 6 MCU, based on Arm®
technology, as a solution that meets these requirements. The methodology can be applied to other IoT devices as well.
Arm offers the Platform Security Architecture (PSA) to help designers get started. By utilizing PSA’s holistic set of threat models
and security analyses, hardware and firmware architecture specifications, and Trusted Firmware-M reference implementation, IoT
designers can quickly and easily implement secure designs.
Cypress’ PSoC 6 MCUs achieve the highest-level of protection defined by the PSA through the use of dual Arm Cortex®-M cores,
combined with configurable memory and peripheral protection units. This paper takes the PSA Network Camera Threat Model
and Security Analysis (TMSA) and applies it to PSoC 6 MCUs to demonstrate how to assess a network camera application for
security.
The objective of any attack is to gain access to an IoT device’s data and somehow exploit it. Figure 1 shows that the first step
in the analysis process is to identify data assets handled by the IoT device and their security properties.
!
Identify Data Identify Define Security Requirements
Assets Threats Objectives
The next steps are to identify threats that target these assets, define security objectives to resist these threats, and decide on
the requirements to satisfy the security objectives. By meeting these requirements, a microcontroller-based design supports the
security objectives and ultimately preserves the security properties of the assets. Finally, the design should be evaluated to
determine if it achieves the objectives. Typically, this evaluation utilizes threat models applied to the design to assess the attack
resistance of the device.
Data Assets
The value of every IoT device is built on data, and how that data is managed. Data assets take various forms in an embedded
system. For example, firmware defines the behavior of the device. Other examples include unique ID, passwords, and encryption
keys that are used to control the device. Also, there is the data generated by the IoT device, such as image data from a
webcam, or environmental data from sensors. Regardless of its form, each data asset has security properties. Security
properties are inherent characteristics of the data asset that the system relies on as the basis of trusting that data asset.
There are three security properties: confidentiality, integrity, and authenticity.
Confidentiality
/känfədenSHēˈalədē/ noun: the state of keeping or being kept secret or private.
Confidentiality requires that only authorized people can read the data asset. In other words, it is kept secret or private.
Passwords are a common example of a data asset with a confidentiality security property. Others might be personal data
generated by the IoT device, such as heart rate or perhaps location.
Integrity
/inˈteɡrədē/ noun: the state of being whole and undivided
Integrity requires that a data asset remains unchanged through its use or transferal. Integrity is typically associated with data
that establishes a reference, such as boot firmware. Boot firmware ensures that the MCU configures to a known initial state
from which applications can execute. Changes to the boot firmware can affect this initial state and present an operational or
security risk.
Authenticity
/ˌôTHenˈtisədē/ noun: the quality of being authentic (of undisputed origin; not a copy; genuine)
Authenticity requires that only a trusted actor has established the current state of a data asset. When combined with integrity,
authenticity establishes trust, and therefore it is a critical cornerstone of a secure IoT device. In the prior boot firmware
example, a digital signature can be used to evaluate authenticity and integrity when upgrading firmware to ensure that only
trusted firmware is used.
It is critical to comprehensively identify data assets in the IoT device, since each subsequent step relies on this step.
To illustrate, a web camera will have the following data assets:
Camera ID Integrity
Firmware Confidentiality (optional), Integrity, Authenticity
Firmware Credentials Integrity
Credentials Confidentiality, Integrity
Logs Integrity
Images Confidentiality, Integrity
Configuration Confidentiality (optional), Integrity
Threats
The objective of a threat is to compromise the security properties of a data asset and utilize it for unauthorized purposes.
To identify threats, the use of the data asset in the IoT device must be evaluated. For example, credentials might be used to
gain access to an IoT device’s network. If the confidentiality of credentials is compromised, then they can be used by
unauthorized actors to gain access to the network. This type of attack is called impersonation. By methodically evaluating each
data asset, a list of potential threats can be created.
Continuing with the illustration, a web camera may face the following threats against its data assets:
Security Objectives
With threats identified, security objectives can now be defined. Security objectives are defined at an application level, in
essence providing implementation requirements. Some security objectives can be implemented as Trusted Applications (TAs)
that execute in an isolated execution environment provided by the secure MCU. The isolated execution environment
comprehensively protects the TAs and the data that they use/process. The IoT device application itself operates in an unsecure
execution environment and communicates with TAs in the isolated execution environment through an API that uses an
inter-processor communication (IPC) channel. The TAs in turn utilize the resources available (such as crypto accelerators and
secure memory) in the hardware to support the objective.
Continuing with the example, the threats identified previously can be countered by the following security objectives:
Threats
Firmware Abuse
Impersonation
Tamper
MitM
Access Control X X
Secure Storage X
Security Objectives Firmware Authenticity X
Communication X
Secure State X X
Access Control: The IoT device authenticates all actors (human or machine) attempting to access data assets. Prevents
unauthorized access to data assets. Counters spoofing and malware threats where the attacker modifies firmware or installs an
outdated flawed version.
Secure Storage: The IoT device maintains confidentiality (as required) and integrity of data assets. Counters tamper threats.
Firmware Authenticity: The IoT device verifies firmware authenticity prior to boot and prior to upgrade. Counters malware threats.
Communication: The IoT device authenticates remote servers and provides confidentiality (as required) and maintains integrity of
exchanged data. Counters Man in the Middle (MitM) threats.
Secure State: Ensures that the device maintains a secure state even in case of failure of verification of firmware integrity and
authenticity. Counters malware and tamper threats.
Requirements
At this point, the analysis provides a logically connected model of data assets, threats, and security objectives. From this
picture, a list of required capabilities or features for a secure MCU can be compiled. This list can of course then be used as
solution implementation criteria for the particular IoT device application.
Lifecycle matters
Note that the requirements for a security objective may change according to the lifecycle stage (design, manufacturing,
inventory, end use, and termination) of the IoT device and should be considered as well.
Each data asset will have security properties associated with it:
Isolated execution environment for trusted applications: While the preceding analysis has focused on secure data assets, every
IoT device also has unsecure tasks/applications with unsecured data assets. The MCU should provide a strong method of
keeping unsecure and secure processing isolated. The concept is similar to an airport: the boarding areas are secured and
isolated. Only authenticated individuals are allowed to do things (e.g. board) in the secure area. It is important for the MCU to
offer strong, hardware-based isolation between unsecure and secure execution environments.
Secure element functionality: Within the isolated execution environment, further isolation is needed to store data assets such as
encryption keys that are foundational to security. Continuing with the airport analogy, each passenger maintains secure
possession of their credentials. MCUs must provide further isolation for root of trust storage and associated secure services.
Encryption: MCUs with dedicated hardware accelerator blocks with controlled access are preferred. Accelerator blocks help with
performance. Access control (isolation) of the blocks protects against access by unauthorized programs, ensuring that encryption
keys remain in a secured environment.
Digital signature: The authenticity and integrity of data assets can be assessed by using digital signature algorithms such as
ECDSA and RSA. MCU firmware is the most-apparent use case of digital signatures. The MCU should provide hardware-based
support of hash and signing to evaluate firmware images prior to loading.
eFuses: Immutable data assets are important for securing a design. They are typically used as references for system behavior.
Typical examples are lifecycle designation, unique identification numbers (UID), manufacturer numbers, and other references that
persist through the life of IoT device.
Conclusion
This paper presents an analysis method for determining the requirements of a secure IoT device. By creating a logically
connected model of data assets, threats against these assets, and security objectives to counter the threats, a list of
requirements can be derived that can be used as criteria for implementation solutions.
The vast majority of IoT devices will be built upon MCU-based embedded systems. This growth opportunity is attracting a new
breed of MCUs that offer security features and capabilities to maintain the security properties of data assets. Cypress’ PsoC 6
secure MCUs are one of the first of such new MCUs. The PSoC 6 MCU architecture was designed for IoT device applications,
offering ultra-low power for extended battery life, efficient processing capacity, and hardware-based security features that
support security objectives:
Isolated execution environment: PSoC 6 secure MCUs isolate secure operations from unsecure operations through the use of
hardware isolation technology:
• Configurable protection units are used to isolate memory, cryptography, and peripherals
• Inter-Processor Communication (IPC) channels between the Arm Cortex-M4 and Cortex-M0+ cores are provided to support
isolated API-based interaction
• Ideal for implementing Trusted Applications that support the security objective of an IoT device
Integrated secure element functionality: The hardware isolation technology in PSoC 6 supports isolated key storage and crypto
operations, delivering secure element functionality in addition to the isolated execution environment.
• Ideal for secure key storage
• Supports a pre-installed root of trust to anchor secure boot with a chain of trust
Isolated, hardware-accelerated cryptographic operations: Includes AES, 3DES, RSA, ECC, SHA-256 and SHA-512, and True
Random Number Generator (TNRG).
Lifecycle management: eFuse-based lifecycle management capability ensures secure behavior in the event of security errors
such as firmware hash check failures.
Rich Execution Isolated Execution
Environment Environment
1 3 2
RTOS
Secure OS / Root-of-Trust
The forecasted explosion of IoT devices will be driven by the availability of cost effective, easy to design, and easy to use
wireless connectivity to the Cloud. The ability for an embedded system to send and receive data is a fundamental enabler for
smartness. Unfortunately, this ability is also an enabler for threats against the very data that makes an IoT device valuable.
The more valuable the data, the more critical that IoT devices implement security capabilities that protect this data. Secure
MCUs such as Cypress’ PSoC 6 MCUs address the needs of secure IoT devices.
002-23149 **