Guidelines
Secure systems can take advantage of many security supporting hardware feature. Some are useful for any system, and need little change in the application code to be activated and fully functional. It is the case of the RDP feature that prevents basic access to the flash memory by disabling the debug port. Other features must be selected depending on user application and the required security level.
This section helps defining the adapted set of security features, depending on the system use-cases. The use-cases are gathered in four main groups: manufacturing security (1), protection against external (2) and internal (3) threats, security maintenance (4), and other use-cases related to cryptography (5) (see the table below).
| 1. Secure manufacturing: SFI | |||||||
| - | 1.1 Complement existing manufacturing site security with utilization of SFI. | ||||||
| 2.Device protection against external threats: RDP protection, life cycle protection, tamper detection, device monitoring | |||||||
| - | 2.1 Device configuration (option bytes, not supposed to be modified ever) | ||||||
| |||||||
| 2.2 Remove debug capability for the device. | |||||||
| |||||||
| 2.3 Protect a device against a loss of external clock source (crystal). | |||||||
| |||||||
| 2.4 Detect a system-level intrusion. | |||||||
| |||||||
| 2.5 Protect a device from code injection. | |||||||
| |||||||
| 3. Code protection against internal threats: TrustZone, PCROP, MPU, firewall, and HDP | |||||||
| - | 3.1 Protect the code against cloning. | ||||||
| |||||||
| 3.2 Protect secret data from other processes. | |||||||
| |||||||
| 3.3 Protect code and data when not fully verified or trusted libraries are used. | |||||||
| |||||||
| 4. Device security check and maintenance: integrity checks, SB, SFU | |||||||
| - | 4.1 Check code integrity. | ||||||
| |||||||
| 4.2 Security checks or embedded firmware authentication | |||||||
| |||||||
| 4.3 Securely update the firmware in the field. | |||||||
| |||||||
| 5. Communication and authentication: cryptography | |||||||
| - | 5.1 Communicate securely. | ||||||
| |||||||
| 5.2 Use the ST AES/SHA cryptographic functions with STM32 devices. | |||||||
| |||||||
| 5.3 Accelerate AES/SHA cryptographic functions. | |||||||
| |||||||
| 5.4 Generate random data. | |||||||
| |||||||
| 5.5 Uniquely identify ST microcontrollers. | |||||||
| |||||||
| 5.6 Authenticate a product device. | |||||||
| |||||||
| 5.7 Uniquely authenticate a device. | |||||||
| |||||||
| 5.8 Authenticate communication servers. | |||||||
| |||||||
| 5.9 Store keys securely. | |||||||
| |||||||



