cancel
Showing results for 
Search instead for 
Did you mean: 

What will be the rough estimate to implement SBSFU complete solution on STM32H753 MCU..?? Also, can you please let me know the right point of contact to know about SBSFU solution details for STM32H753 .??

SPati.7
Associate III
 
18 REPLIES 18

Hi @SPati.7​ 

Yes, SBSFU will managed the Secure Boot with the STM32H7 security feature describe by @Jocelyn RICARD​ 

For the STSAFE-A110, this is a secure element with ECC support.

For the TLS integration, STSAFE-A110 can be used for the authentication with the private key managed by the STSAFE-A110.

In term of TLS stack, I know that WolfSSL has already an implementation of STSAFE-A100 (previous version) but should be compatible with STSAFE-A110 (https://www.wolfssl.com/wolfssl-support-stsafe-a100-crypto-coprocessor/)

For MbedTLS, the integration can be done by pk structure overload for the signature management.

Both stacks are suitable for your application.

Best Regards,

Benjamin

@Benjamin BARATTE​  Thanks for your quick reply.

is there any training or material to understand on implementation details of STSAFE-A110 with WolfSSL or mbedTLS ..?? any thing is fine to understand, how complex the implementation and effort estimate to achieve the same.

Please help with materials. I found good SBSFU online trainings, but not STSAFE.

@Benjamin BARATTE​  I will specific question related to STSAFE-A110.

If we want to use STSAFE-A110 in our product, what is the process in terms of configuring SAFE with our own Root CA chain of certificates to implement TLS.

Can you please share any info you have regarding this..?? as we are more concern on storage of certificate mechanism like whether it is done by ST .?? or OEM can do it on SAFE directly ..??

Please provide any detail you have on the usage of A110 on OEM.

Thanks

Subbu

Baxter

Hi @SPati.7​ ,

For WolfSSL, you can check with them if they provide training on this feature.

For MbedTLS, I don't have training at the moment.

I can provide you this structure to overload Mbedtls mbedtls_pk_info_t :

static const mbedtls_pk_info_t mbedtls_stsafe_info = {

  MBEDTLS_PK_ECDSA,

  "ECDSA-STSAFE-A110",

  stsafea_get_bitlen,

  stsafea_can_do,

#if defined(MBEDTLS_ECDSA_C)

  NULL,

  stsafea_sign_wrap,

#if defined(MBEDTLS_ECP_RESTARTABLE)

  NULL,

  NULL,

#endif

#else /* MBEDTLS_ECDSA_C */

  NULL,

  NULL,

#endif /* MBEDTLS_ECDSA_C */

  NULL,

  NULL,

  NULL,

  NULL,

  NULL,

#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)

  NULL,

  NULL,

#endif

  NULL,

};

here you have the minimal function to implement on STSAFE-A wrapper.

Then to use in TLS context, you have to provide to ssl context a private key, you can create the private key with the following code :

mbedtls_pk_context pk;

mbedtls_pk_init(&pk);

pk->pk_info = &mbedtls_stsafe_info ;

I will try to compile everything in a wiki article but not in a near future.

Regarding the personalization of the STSAFE-A product, you have to contact your local ST support to discuss this topic.

if you are in EMEA region, I'm your entrypoint, otherwise you will need to contact your local ST support.

Best Regards,

Benjamin

Thanks @Benjamin BARATTE​ for your reply. I will check with local ST Support.

Hi @Jocelyn RICARD​ I have some more questions raised during our deep understanding of SBSFU Solution details. Can you please help with these or refer links to find same ??

  1. What is the size reserved for Secure Boot loader (STM32H7)..??
  2. How many Public keys can be stored in Secure Boot area ??
  3. is Secure Boot loader source can be modified ..?? or only configuration based SB can be generated ..??
  4. How Encryption/Decryption of Firmware with AES works on Device level ?? it means, to decrypt what is the process in Device context.??
  5. If Verification of Application image failed in the Device, then what is the state of SB ?? Also, is there any Recovery Mechanism exist to enable Device again to be normal..??

I really appreciate your @Jocelyn RICARD​  help in getting these answers asap.

Thanks for your support.

Regards

Subbu

@Jocelyn RICARD​ Can you please reply to the above queries ..??

@Jocelyn RICARD​ Can you please reply to my queries ..??

Hello Subbu,

I was OoO last week.

1. There is no specific reserved size for bootloader. Now on STM32H7, the sector size is 128KB. So, the bootloader is using the first sector even if the whole size is not needed.

Usually bootloader is taking less than 64KB actually,

2. The SBSFU example stored only one public key.

3. The SBSFU is an implementation example. It is provided as a working base that you adapt to your own constraints.

4. I don't fully catch your question. At device level, only decryption occurs when you install a new encrypted firmware.

5. When you install a new firmware and this new firmware verification fails, the firmware is simply not installed. If you want to be able to recover whatever happens (for instance part of the firmware is erased for any reason) then you need to keep the local loader that will allow transfering a new firmware.

You have lots of details in the documentation.

Please read

UM2262

Getting started with the X-CUBE-SBSFU STM32Cube Expansion Package

AN5056

Integration guide for the X-CUBE-SBSFU STM32Cube Expansion Package

Best regards

Jocelyn

AN