IP protected secure memory
(Bank 0 of flash main memory)
Unsecure zone
Unsecure region
Unsecure region
JTAG, SWD, or
data accesses
from other zones
IP protected secure zone 0
IP protected secure zone 1
IP protected secure zone 2
IP protected secure zone 3
Device Security
317
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
System Controller A (SYSCTL_A)
5.8.4 IP Protection Through Secure Memory Zones
If IP protection is enabled, sections of Bank 0 of flash main memory can be configured as
secure zones
.
These zones can help single or multiple vendors to achieve a higher level of protection to store sensitive
or proprietary data. IP protection helps protecting some flash regions while a third party user can develop
code and debug it in another part of the flash. An IP protected region provides a higher level of protection
against running code outside of that region and against a user accessing the device through debug. Any
access to an IP protected secure memory zone is filtered based on the following criteria:
•
Instruction fetches to an IP protected secure zone are always permitted.
•
Data fetches from the secure zone are permitted only if both of the following conditions are satisfied:
–
The instruction causing the data fetch lies within the same secure zone.
–
The secure zone being accessed has been unlocked for data accesses. This is a configurable
feature and is described in more detail in
.
•
Any data access that violates this requirement is considered unauthorized and returns an error
response.
•
All debugger (JTAG or SWD) or bootloader (BSL) accesses to secure memory zones are treated as
unauthorized and return an error response.
An error response generated in the system results in an exception condition to the processor and must be
handled as described in
shows the IP protected secure zones within the device when all of the four IP protection secure
zones are configured.
Figure 5-2. IP Protected Secure Zones Representation
NOTE:
MSP432P4xx devices prevent instruction fetches to the SBUS space when security features
(JTAG and SWD lock or IP protection) are enabled. This is to ensure that IP protection
features are not compromised through the flash patching feature of the Cortex-M4 core.
When device security is enabled, any instruction fetch on SBUS space results in the
SYSCTL_A initiating a reboot of the device.
5.8.4.1
Execution of IP Protected Secure Zone Code
Protected execution deals with the case when the device implements IP protection and a secure function
is called. During the execution of the secure code, if the debugger connection is kept active, attempts can
be made to halt the processor and reverse engineer code contents by accessing the CPU registers (with
single-step iterations). Disabling the debugger connection whenever execution is inside a secure zone can
help making attacks against an IP Protected Secure Zone harder.