Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Secure Secret Provisioning SSP is the final step in production programming and is designed to protect the MPU from unwanted access to registers or running unauthorized software. The SSP procedure is to write secret data and keys to the OTP using files properly prepared by the OEM. Elprotronic Gangflasher-ST -Gangflasher software offers the possibility to write OTP according to the SSP procedure developed by STMicroelectronics on many MPUs simultaneously (Gang programming) which is beneficial for the production of a large number of devices.

...

The procedure consists of two main steps:

  • Preparation of files and Hardware Secure Module (HSM) using the source code and the toolkit provided by STMicroelectronics. Three elements are necessary to perform an SSP sequence using Elprotronic Gangflasher-ST:

    • Signed file with secret data (*.ssp)

    • Signed TF-A SSP file (tf-a_ssp<custom board>.stm32)

    • HSM programmed module

  • Programming of the OTP using Elprotronic Gangflasher and the files prepared in the first step.

...

1. Preparing files using the STMicroelectronics toolkit:

  1. Preparation of the keys (private_key.pem, public_key.pem and public_key_hash) using KeyGen Tool STM32MP_KeyGen_CLI

  2. Preparation of Device Tree files (.dts) for the custom board using STM32CubeMX or STM32CubeIDE.

  3. TFA-SSP compilation (tf-a_ssp<custom board>.bin) using Developers Package with SDK and Device Tree files from previous step.

  4. Signing of the TF-A SSP (tf-a_ssp<custom board>.stm32) using STM32MP_SigningTool_CLI

  5. Preparation of a secret data file (*.ssp) using STM32TrustedPackageCreator (SSP tab) or STM32TrustedPackageCreator_CLI (-ssp option)

  6. Programming HSM modules with a limited number of licenses using STM32TrustedPackageCreator (HSM tab) or STM32TrustedPackageCreator_CLI (-hsm option)

2. Programming secrets in OTP using Elprotronic Gangflasher-ST

Info

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@992316da
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ( "pkh" , "ssp" , "stm32mp1" ) and type = "page" and space = "~499168579"
labelsSSP PKH STM32MP1
Page Properties
hiddentrue

Related issues

STMicroelectronics application notes and user manuals:

[1] AN5054 - Secure programming using STM32CubeProgrammer

[2] AN5510 - Overview of the secure secret provisioning (SSP) on STM32MP1 Series

[3] AN5156 - Introduction to STM32 microcontrollers security

[34] AN5275 - USB DFU/USART protocols used in STM32MP1 Series bootloaders

[45] AN5510 - Overview of the secure secret provisioning (SSP) on STM32MP1 Series

[56] UM2238 - STM32 Trusted Package Creator tool software description

[67] UM2543 - STM32MP1 Series Signing Tool software description

STMicroelectronics sites:

[78] STM32Trust

[89] Security Overview

[910] STM32MP1 resources

[11] KeyGen tool