Table of Contents

How do MCUs and Secure Elements differ? How do these two components work together, and why is each part important? In this article, I will explain it in simple terms for everyone to understand.

What is an MCU?

An MCU (Microcontroller Unit) is a "self-contained" processing chip. A single chip includes a CPU, RAM, and communication interfaces (USB, SPI, I2C).

The devices we use in everyday life, such as microwaves, air conditioner remotes, washing machines – all these household appliances use MCUs as a component.

Suitability of MCU in Trezor One

The reason the first hardware wallet, Trezor One, chose to use only one MCU was because of its simple design. There was no data transfer between chips, which meant no inter-chip communication that could be intercepted or interfered with. Using an MCU was also cost-effective and allowed for faster development, as the chips were readily available. At that time, the main challenge was to separate the Private Key from the computer constantly connected to the internet.

Limitations of MCU in Hardware Wallets

However, a serious limitation of general MCUs is that they are not designed to protect against physical attacks. If an attacker gains physical access to the hardware, they can use various tools and techniques to extract the Private Key.

This led to the idea of integrating a Secure Element Chip to enhance the existing architecture that only used a Microcontroller Unit.

Trezor
Loading products...

What is a Secure Element (SE)?

It is a chip specifically designed to store secrets. It is designed to physically protect against various physical attacks, addressing the weaknesses of MCUs mentioned earlier.

The functions of an SE are few but very important:

  • Generate and store Private Keys
  • Perform cryptographic calculations
  • Sign transactions

Most importantly, the key cannot be read from the chip by any means. This makes it a component that enhances the security of hardware wallets.

How Secure Elements differ from MCUs

Secure Elements are designed to protect against various types of attacks. They can detect attacks, and if necessary, a Secure Element has a process to instantly destroy the data within itself.

Trezor
Loading products...

How can we trust a Secure Element?

How can we be sure that the Secure Element won't do anything unusual or communicate with other things outside the chip within the device?

The answer lies in its operating protocol and architecture, and its specifically designed working conditions.

It has its own operating system, encrypted memory at all times, and circuits to detect various anomalies. Its protocol, or simply its working language, is written to perform only necessary functions.


This means it only understands the tasks it needs to do: sign transactions and protect keys. To communicate with anything outside the chip, such as receiving transactions to sign them,

the MCU will always be the one to send it. The MCU acts as the "front door" that cannot be bypassed, and the Secure Element is like a safe that can detect when it's being attacked and will only listen to what the MCU tells it to do.


It uses Secure Channel Protocol (SCP03) for communication between the MCU and the Secure Element to prevent eavesdropping. This is a specific protocol that only they understand.

Before communication:

  • MCU and Secure Element must authenticate each other.
  • A new Session Key is created each time.

During communication:

  • Data is encrypted.
  • Data integrity is checked.

Even if you connect a wire to listen on the board, you will only see encrypted data due to the specialized protocol. The main concept behind the design:

“The MCU can be compromised, but the SE remains secure.”

Hardware wallet manufacturers design with the assumption that:

One day, the MCU might be compromised.

Therefore:

The MCU is merely a "messenger."

All critical logic resides in the SE.

The SE decides for itself whether a transaction is valid.

Even if the MCU firmware is modified, it still cannot request the key from the SE.

MCUs excel at communication and user experience but are not suitable for storing secrets due to their physical chip vulnerabilities.

Secure Elements are designed to directly protect against hardware-level attacks, so they are used specifically for protecting confidential data.


In this era, all hardware wallets now include a Secure Element. Popular hardware wallets like the Trezor One, which used only MCUs, have announced that they will no longer be produced. Therefore, including a Secure Element in hardware wallets and having it work together with the MCU is now the minimum standard for every manufacturer.

Leave a comment

Please note, comments need to be approved before they are published.

This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.