Explaining Common Semiconductor Hardware Security Features (Secure Element, Secure Enclave, TPM, HSM, TEE, TrustZone, etc.) (Japanese blog) Introduction
This article provides an overview of the security features built into semiconductor hardware and the types of technologies and products that implement them (secure elements, secure enclaves, TPMs, HSMs, TEEs, TrustZones, etc.).
The role of security features
The purpose of security functions is to isolate confidential information (e.g., encryption keys) and the cryptographic processes that directly handle them (hereafter referred to as "security processes") from other software, etc.
Please refer to the diagram below. When security processing is actually performed, only (1) processing requests and (2) results are received from outside the area protected by security functions. This isolation prevents information leaks because user applications cannot directly access confidential information even if a vulnerability occurs outside the protected area.
Security Function Classification
Different companies refer to security functions by different names, but we have broadly classified them into three categories based on where the security processing is performed.
Below are examples of product and feature names for the three categories, along with their advantages and disadvantages.
"Security processing" execution location
Examples of product and function names
advantage
Disadvantages
①Application CPU
(Access Control Isolation)
・*TEE
・ARM TrustZone
・Firmware *TPM
・Cryptographic accelerator (without key isolation)
・HW costs are lower than ②③
・High flexibility
・Users must prepare their own "security processing" software
・Compared to ② and ③, more complex software implementation is required
・Application CPUs generally prioritize processing speed, and tamper resistance is a low priority (or is not considered at all)
②Built-in MCU/MPU
Security Block
・Cryptographic accelerator (with key isolation function)
EdgeLock ® Secure Enclave
*HSM
Integrated TPM
・"Security processing" has been implemented
- A certain degree of tamper resistance due to security-conscious H/W design
・Generally, encryption processing is faster than with software
・Generally, flexibility is inferior to ① and ③
③External IC
Secure Element
Secure Authenticator
・HSM
・Discrete *TPM
・Same advantages as ② except for processing speed
- High tamper resistance thanks to security-focused HW design
・Product security can be strengthened without changing the MCU/MPU
・Security implementation can be standardized between systems using different MCUs/MPUs
・Generally, communication interfaces are slower than the MCU/MPU internal bus, so processing speed is inferior to ②
・HW costs are higher than ① and ②
*TEE: Trusted Execution Environment *HSM: Hardware Security Module *TPM: Trusted Platform Module
As mentioned above, there are advantages and disadvantages to each location where "security processing" is performed, but you do not have to choose just one of ①, ②, or ③; you can use them in combination.
For example, if only some of the functions of the overall security software (e.g., symmetric key cryptography, public key cryptography) are implemented as hardware in ②, the missing parts may need to be executed by the application CPU in ①. In that case, the entire security processing will be built using a combination of ① and ②.
For example, in a TLS connection, server/client authentication is the most important process in terms of security, and the keys used must be stored without being changed for a relatively long period of time. In contrast, performance is also important for encrypted communication after authentication, and a short-lived session key is used. Therefore, it is possible to use method ③ for the former and method ② for the latter.
From a cost perspective, the order of hardware component costs is ①<②<③, but from the perspective of the costs required for handling them (e.g., the man-hours required for software implementation and verification, the man-hours required for obtaining security standard certification for the final product, the risk of vulnerability occurrence, etc.), it can also be said that the order of ③<②<①. It is important to select the appropriate method depending on the product implementation and expected risks.
In fact, many users are considering external ICs because of the advantage that they can strengthen product security without changing the MCU/MPU.
NXP's EdgeLock Secure Enclave-embedded MCU/MPU, Secure Element/Authenticator has additional features that will be discussed in more detail in a separate article.
Product and function names
The names of security functions and NXP products are explained below.
Name
explanation
・Cryptographic accelerator
Hardware-based cryptographic processing functions (symmetric key cryptography, public key cryptography, etc.) implemented within an MCU/MPU . Some have a key isolation function that processes the cryptographic keys used in a way that makes them inaccessible to the application CPU. Cryptographic accelerators that are designed solely for processing speed may not have a key isolation function, in which case the cryptographic keys must be protected by other functions.
EdgeLock Secure Enclave
Secure enclave is a general term for a secure execution environment.
The EdgeLock Secure Enclave is a security block implemented within NXP MCUs/MPUs (e.g., i.MX 9 series, i.MX RT, MCX N, etc.) that integrates numerous advanced security functions, including cryptographic accelerators, key management, SoC-wide monitoring, and access privilege management.
Secure Element Secure Authenticator
A dedicated external security IC with advanced tamper resistance that can perform encryption and authentication processing
・ARM TrustZone
ARM CPU security function. Can be used to implement TEE (True Entity Engine), which will be described later.
・TEE (Trusted Execution Environments)
A standard for security functions defined by GlobalPlatform. OP-TEE and other implementations use TrustZone. https://globalplatform.wpengine.com/wp-content/uploads/2018/05/Introduction-to-Trusted-Execution-Environment-15May2018.pdf
・HSM (Hardware Security Module)
There is no set definition, and it refers to any hardware with security functions. Boards and devices that provide HSM functions are also called HSMs.
・TPM (Trusted Platform Module)
A security function that provides an interface that complies with the standards established by the TCG (Trusted Computing Group). In the following document, the TCG classifies TPM implementation methods into four types: Software TPM, Firmware TPM, Integrated TPM, and Discrete TPM. (Software TPM is not listed in the security function classification table because it is implemented for testing purposes and does not use security functions.)
https://trustedcomputinggroup.org/wp-content/uploads/TPM-2.0-A-Brief-Introduction.pdf
Related articles
The benefits of choosing products with NXP security features (Japanese blog)
NXP's hardware security solutions simplify security implementation and reduce man-hours (Japanese blog)
=========================
We are currently unable to respond to comments in the " Comment " section of this post . We apologize for the inconvenience, but when making inquiries, please refer to " How to contact NXP with technical questions ( Japanese blog ) " . (If you are already an NXP distributor or have a relationship with NXP , you may ask the person in charge directly.) This article provides an overview of the security features built into semiconductor hardware and the types of technologies and products that implement them (secure elements, secure enclaves, TPMs, HSMs, TEEs, TrustZones, etc.).
(Reading time: 10 minutes) General Purpose Microcontrollers i.MX RT Processors i.MX Processors Security Japanese Blog
查看全文