
UM2262 Rev 6
25/94
UM2262
Protection measures and security strategy
93
Protections against outer attacks
Outer attacks refer to attacks triggered by external tools such as debuggers or probes,
trying to access the device. In the SBSFU application example, RDP, tamper, DAP and
IWDG protections are used to protect product against outer attacks:
•
RDP
(Read Protection): Read Protection Level 2 is mandatory to achieve the highest
level of protection and to implement a Root of Trust:
–
External access via the JTAG HW interface to RAM and Flash is forbidden. This
prevents attacks aiming to change SBSFU code and therefore mining the Root of
Trust.
–
Option bytes cannot be changed. This means that other protections such as WRP
and PCROP cannot be changed anymore.
Caution
- RDP level 1 is not proposed for the following reasons:
1. Secure Boot / Root of Trust (single entry point and immutable code) cannot be
ensured, because Option bytes (WRP) can be modified in RDP L1.
2. Device internal flash can be fully reprogrammed (after flash mass erase via RDP L0
regression) with a new FW without any security.
3. Secrets in RAM memory protected by firewall can be accessed by attaching the
debugger via the JTAG HW interface on a system reset.
In case JTAG HW interface access is not possible at customer product, and in case the
customer uses a trusted and reliable user application code, then the above-highlighted
risks are not valid.
•
Tamper
: the anti-tamper protection is used to detect physical tampering actions on the
device and to take related counter measures. In case of tampering detection, the
SBSFU application example forces a reboot.
•
DAP
(Debug Access Port): the DAP protection consists in de-activating the DAP
(Debug Access Port). Once de-activated, JTAG pins are no longer connected to the
STM32 internal bus. DAP is automatically disabled with RDP Level 2.
•
IWDG
(Independent Watchdog): IWDG is a free-running down-counter. Once running,
it cannot be stopped. It must be refreshed periodically before it causes a reset. This
mechanism allows the control of SBSFU execution duration.
Protections against inner attacks
Inner attacks refer to attacks triggered by code running in the STM32. Attacks may be due
to either malicious firmware exploiting bugs or security breaches, or unwanted operations.
In the SBSFU application example, WRP and MPU protections preserve the product from
inner attacks:
•
WRP
(write protection): write protection is used to protect trusted code from external
attacks or even internal modifications such as unwanted writing or erase operations on
critical code or data.
•
MPU
(memory protection unit): the protected environment managing all critical data
and operations (Secure Engine) is isolated from the other software components by
leveraging the MPU. The Secure Engine code and data can be accessed only through
privileged level of software execution. Therefore, a software running in non-privileged
level cannot call the Secure Engine services nor access the critical data. This strict
access control to Secure Engine services and resources is implemented by defining
specific MPU regions as described in
.