Pacchettu di Software X-CUBE-STSE01

Introduzione
Stu manuale d'usu descrive cumu principià cù u pacchettu di software X-CUBE-STSE01.
U pacchettu di software X-CUBE-STSE01 hè un cumpunente di software chì furnisce parechji codici di dimostrazione, chì utilizanu e caratteristiche di i dispositivi STSAFE-A110 è STSAFE-A120 da un microcontrollore host.
Questi codici di dimostrazione utilizanu u STSELib (middleware Secured Element) custruitu nantu à a tecnulugia di u software STM32Cube per facilità a purtabilità trà diversi microcontrollori STM32. Inoltre, hè agnosticu da MCU per a purtabilità à altri MCU.
Questi codici di dimostrazione illustranu e seguenti caratteristiche:
- Autentificazione.
- Archiviazione sicura di dati.
- Contatore d'usu sicuru.
- Abbinamentu.
- Stabilimentu chjave.
- Imballaggio di buste lucale.
- Generazione di coppie di chjave.
infurmazione generale
- U pacchettu di software X-CUBE-STSE01 hè una riferenza per integrà i servizii di elementi sicuri STSAFE-A110 è STSAFE-A120 in u sistema operativu (OS) di un MCU host è a so applicazione.
- Cuntene i driver STSAFE-A110 è STSAFE-A120 è i codici di dimostrazione da eseguisce nantu à i microcontrollori STM32 à 32 bit basati nantu à u processore Arm® Cortex®-M.
- Arm hè una marca registrata di Arm Limited (o i so filiali) in i Stati Uniti è / o in altrò.
- U pacchettu di software X-CUBE-STSE01 hè sviluppatu in ANSI C. Eppuru, l'architettura indipendente da a piattaforma permette una facile purtabilità à una varietà di piattaforme diverse.
- A tavula quì sottu prisenta a definizione di l'acronimi chì sò pertinenti per una megliu capiscitura di stu documentu.
Elementu sicuru STSAFE-A1x0
L'STSAFE-A110 è l'STSAFE-A120 sò suluzioni altamente sicure chì agiscenu cum'è un elementu sicuru chì furnisce servizii d'autentificazione è di gestione di dati à un host lucale o remoto. Si compone di una suluzione cumpleta "chiavi in manu" cù un sistema operativu sicuru chì funziona nantu à l'ultima generazione di microcontrollori sicuri.
L'STSAFE-A110 è l'STSAFE-A120 ponu esse integrati in dispositivi IoT (Internet di e cose), applicazioni di casa intelligente, cità intelligenti è industriali, dispositivi elettronichi di cunsumu, consumabili è accessori. E so caratteristiche principali sò
- Autentificazione (di periferiche, IoT è dispositivi USB Type-C®).
- Stabilimentu sicuru di u canale cù un host remoto, cumprese l'handshake di sicurezza di u livellu di trasportu (TLS).
- Serviziu di verificazione di firma (avvio sicuru è aghjurnamentu di firmware).
- Monitoraghju di l'usu cù cuntatori sicuri.
- Accoppiamentu è canale sicuru cù u processore di l'applicazione ospitante.
- Imballaggio è scartamentu di buste di host lucali o remoti.
- Generazione di coppie di chjave in chip.
Descrizzione di a biblioteca STSecureElement (STSELib)
Questa sezione detalla u cuntenutu di u pacchettu di software middleware STSELib è u modu per aduprà lu.
Descrizzione generale
U middleware STSELib hè un inseme di cumpunenti software cuncepiti per:
- interfaccia u dispusitivu di l'elementu sicuru STSAFE-A110 è STSAFE-A120 cù un MCU.
- implementà i casi d'usu STSAFE-A110 è STSAFE-A120 più generici.
- U middleware STSELib hè cumpletamente integratu in i pacchetti software ST cum'è un cumpunente middleware per aghjunghje funzioni di elementi sicuri.
- U middleware STSELib furnisce un inseme cumpletu di funzioni di l'interfaccia di prugrammazione di l'applicazione di altu livellu à u sviluppatore di sistemi embedded. Stu Middleware astrae a custruzzione è a sequenza di i cumandamenti richiesti per assicurà a prutezzione di a marca di dispositivi, accessori è cunsumabili utilizendu a famiglia di elementi sicuri STSAFE-A di STMicroelectronics.
- Stu middleware permette una integrazione perfetta di unu o più STSAFE-A in diversi ecosistemi MCU/MPU host.
- Consultate e note di liberazione dispunibili in u cartulare radicale di u pacchettu per infurmazione nantu à e versioni IDE supportate.
Architettura
U middleware STSELib hè cumpostu da trè moduli software cum'è illustratu in a figura quì sottu. Ogni stratu furnisce un livellu differente di astrazione di u sistema à u sviluppatore di u sistema embedded.

A figura quì sottu mostra u middleware STSELib integratu in una applicazione standard STM32Cube, chì funziona nantu à una scheda d'espansione X-NUCLEO-SAFEA1 o X-NUCLEO-ESE01A1 muntata nantu à una scheda STM32 Nucleo.
Figura 2. Diagramma à blocchi di l'applicazione X-CUBE-STSE01

Per furnisce a megliu indipendenza da hardware è piattaforma, u middleware STSELib ùn hè micca cunnessu direttamente à l'HAL STM32Cube, ma per mezu di l'interfaccia. fileimplementatu à livellu di l'applicazione
- Stratu di l'interfaccia di prugrammazione di l'applicazione (API)
Stu stratu di software hè u puntu d'entrata per l'applicazione di u sistema. Fornisce un inseme di funzioni d'altu livellu chì permettenu l'interazzione cù l'elementi sicuri di STMicroelectronics. U stratu Api furnisce l'astrazione per diverse applicazioni cum'è a gestione di l'elementi sicuri, l'autenticazione, l'archiviazione di dati, a gestione di e chjave. - Stratu di serviziu
U stratu SERVIZIU furnisce un inseme di servizii di produttu chì furmattanu tutti i cumandamenti supportati da l'elementu sicuru miratu è riportanu a risposta à l'API / Applicazione di strati superiori. Stu stratu pò esse adupratu direttamente da l'Applicazione (per l'utilizatori avanzati). - Stratu centrale
Cuntene una definizione generica per l'elementu sicuru ST è e funzioni per cumunicà cù l'elementu sicuru di destinazione.
U stratu core gestisce l'inquadramentu di i missaghji è furnisce ancu l'astrazione di a piattaforma per i strati sopra.
Struttura di cartulare
A figura quì sottu presenta a struttura di cartulare di l'X-CUBE-STSE01.

Software di dimostrazione
Questa sezione illustra un software di dimostrazione basatu annantu à u middleware STSELib.
Autentificazione
Questa dimostrazione illustra u flussu di cumandamenti induve u STSAFE-A110/STSAFE-A120 hè muntatu nantu à un dispositivu chì s'autentica à un host remoto (casu di dispositivu IoT), l'host lucale essendu utilizatu cum'è pass-through versu u servitore remoto.
U scenariu induve u STSAFE-A110/STSAFE-A120 hè muntatu nantu à una periferica chì s'autentica à un host lucale, per esempiuample per ghjochi, accessori mobili o consumabili, hè esattamente u listessu.
Per scopi di dimustrazione, l'ospiti lucali è remoti sò u listessu dispusitivu quì.
- Estrae, analizà è verificà u certificatu publicu di STSAFE-A110/STSAFE-A120 almacenatu in a zona di partizione di dati 0 di u dispusitivu per ottene a chjave publica:
- Leghjite u certificatu aduprendu u middleware STSLib attraversu a zona 0 di STSAFE-A110/STSAFE-A120.
- Analizà u certificatu aduprendu l'analizatore di a biblioteca crittografica.
- Leghjite u certificatu CA (dispunibule per mezu di u codice).
- Analizà u certificatu CA aduprendu l'analizatore di a biblioteca crittografica.
- Verificate a validità di u certificatu aduprendu u certificatu CA per mezu di a biblioteca crittografica.
- Uttene a chjave publica da u certificatu STSAFE-A110/STSAFE-A120 X.509.
- Generà è verificà a firma annantu à un numeru di sfida:
- Generà un numeru di sfida (numeru aleatoriu).
- Ripigliate a sfida.
- Ritruvà una firma annantu à a sfida hashed aduprendu u slot 0 di a chjave privata STSAFE-A110/STSAFE-A120 attraversu u middleware STSELib.
- Analizà a firma generata aduprendu a biblioteca crittografica.
- Verificate a firma generata aduprendu a chjave publica di STSAFE-A110/STSAFE-A120 per mezu di a biblioteca crittografica.
- Quandu questu hè validu, l'ospite sà chì u perifericu o l'IoT hè autenticu.
Accoppiamentu (Provisioning di a Chjave Ospite)
Stu codice example stabilisce un accoppiamentu trà un dispusitivu è u MCU à u quale hè cunnessu. L'accoppiamentu permette di autenticà (vale à dì, firmà è verificà) i scambii trà u dispusitivu è u MCU. U dispusitivu STSAFE-A110 diventa utilizabile solu in cumbinazione cù u MCU cù u quale hè accoppiatu.
L'accoppiamentu consiste in l'MCU host chì manda una chjave MAC host è una chjave cifrata host à u STSAFE-A110. E duie chjave sò almacenate in a NVM prutetta di u STSAFE-A110 è devenu esse almacenate in a memoria flash di u dispusitivu STM32.
Per difettu, in questu exampvale à dì, l'MCU ospitante manda chjave ben cunnisciute à u STSAFE-A110 (vede u flussu di cumanda quì sottu) chì sò assai cunsigliate per aduprà per scopi di dimostrazione. U codice permette ancu a generazione di chjave aleatorie.
Inoltre, u codice example genera una chjave di busta lucale quandu u slot currispundente ùn hè micca digià pupulatu in u STSAFE-A110. Quandu u slot di busta lucale hè pupulatu, u dispusitivu STSAFE-A110 permette à l'MCU host di imballà/sballà una busta lucale per almacenà in modu sicuru una chjave da u latu di l'MCU host.
Nota: U codice di accoppiamentu example deve esse eseguitu bè prima di eseguisce tutti i seguenti codice examples.
Flussu di cumanda
- Genera a chjave di l'inviluppu lucale in u STSAFE-A110 aduprendu u middleware STSELib.
Per difettu, stu cumandamentu hè attivatu
Questa operazione si faci solu se u slot di chjave di busta locale di STSAFE-A110 ùn hè micca digià populatu. - Definite dui numeri di 128 bit da aduprà cum'è a chjave MAC di l'ospite è a chjave di cifratura di l'ospite.
Per difettu, e chjave d'oru cunnisciute sò aduprate. Anu i valori seguenti:- Chjave MAC di l'ospite
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF - Chjave di cifratura di l'ospite 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
- Chjave MAC di l'ospite
- Archivia a chjave MAC di l'ospite è a chjave di cifratura di l'ospite in i so rispettivi slot in u STSAFE-A110/STSAFE-A120.
- Archivia a chjave MAC di l'ospite è a chjave di cifratura di l'ospite in a memoria flash di u STM32.
Stabilimentu di chjave (Chjave simmetrica AES-128 CMAC)
Questa dimostrazione illustra u casu induve u dispusitivu STSAFE-A110 hè muntatu nantu à un dispositivu (cum'è un dispositivu IoT), chì cumunicà cù un servitore remotu, è hà bisognu di stabilisce un canale sicuru per scambià dati cun ellu.
In questu example, u dispusitivu STM32 ghjoca u rolu di u servore luntani (ospiti remota) è u òspite lucale chì hè culligatu à u dispusitivu STSAFE-A110.
L'obiettivu di questu casu d'usu hè di mustrà cumu stabilisce un sicretu spartutu trà l'ospite lucale è u servitore remoto utilizendu u schema Diffie-Hellman à curva ellittica cù una chjave statica (ECDH) o effimera (ECDHE) in u STSAFE-A110.
U sicretu spartutu deve esse ulteriormente derivatu à una o più chjave di travagliu (micca illustrata quì). Queste chjavi di travagliu ponu esse aduprate in protokolli di cumunicazione cum'è TLS, per esempiuample per a prutezzione di a cunfidenzialità, l'integrità è l'autenticità di e dati chì sò scambiati trà l'ospite lucale è u servitore remoto.
Flussu di cumanda
A Figura 4. U flussu di cumanda di creazione di chjave illustra u flussu di cumanda:
- E chjave private è publiche di l'ospite remoto sò codificate in u codice example.
- L'ospite lucale manda u cumandamentu Generate Keypair à u STSAFE-A110/STSAFE-A120 per generà a coppia di chjave in u so slot effimeru (slot 0xFF).
- U STSAFE-A110 manda a chjave publica (chì currisponde à u slot 0xFF) à u STM32 (chì rapprisenta l'ospite remoto).
- U STM32 calcula u sicretu di l'ospite remoto (usendu a chjave publica di u dispusitivu STSAFE è a chjave privata di l'ospite remoto).
- U STM32 manda a chjave publica di l'ospite remoto à u STSAFE-A110/STSAFE-A120 è dumanda à u STSAFE-A110/STSAFE-A120 di calculà u sicretu di l'ospite lucale aduprendu l'API.
- U STSAFE-A110/STSAFE-A120 manda u sicretu di l'ospite lucale à u STM32.
- U STM32 paraguna i dui sicreti è stampa u risultatu. Sè i sicreti sò listessi, a creazione di u sicretu hè riesciuta.

Avvolgi / sbulicà i buste lucali
- Questa dimostrazione illustra u casu induve l'STSAFE-A110/STSAFE-A120 avvolge/sblocca l'involucro lucale per almacenà in modu sicuru un sicretu in qualsiasi memoria non volatile (NVM).
- E chjave di crittografia/decrittografia ponu esse almacenate in modu sicuru in questu modu in una memoria supplementaria o in a memoria di dati di l'utente di STSAFE-A110/STSAFE-A120.
- U mecanismu di wrapping hè adupratu per prutege un testu sicretu o chjaru. L'output di u wrapping hè una busta criptata cù un algoritmu di wrapping di chjave AES, è chì cuntene a chjave o u testu chjaru da prutege. Flussu di cumanda
- L'ospiti lucali è remoti sò u listessu dispusitivu quì.
- Generà dati aleatorii assimilati à un inviluppu lucale.
- Avvolgi l'involu lucale aduprendu l'API middleware STSELib.
- Conservate a busta imballata.
- Scartate a busta imballata aduprendu u middleware STSELIB.
- Paragunate a busta senza imballaggio cù a busta lucale iniziale. Devenu esse uguali.
Generazione di coppia di chjave
Questa dimostrazione illustra u flussu di cumandamenti induve u dispusitivu STSAFE-A110/STSAFE-A120 hè muntatu nantu à un host lucale. Un host remoto dumanda à questu host lucale di generà una coppia di chjave (una chjave privata è una chjave publica) in u slot 1 è dopu di firmà una sfida (numeru aleatoriu) cù a chjave privata generata.
L'ospite remotu hè allora capace di verificà a firma cù a chjave publica generata.
Questa dimostrazione hè simile à a dimostrazione di l'autenticazione cù duie differenze:
- A coppia di chjave in a dimostrazione di l'autenticazione hè digià generata (in slot 0), mentre chì in questu exampvale à dì, generemu a coppia di chjave in u slot 1. U dispusitivu STSAFE-A110/STSAFE-A120 pò ancu generà a coppia di chjave in u slot 0xFF, ma solu per scopi di creazione di chjave.
- A chjave publica in a dimostrazione di Autentificazione hè estratta da u certificatu in a zona 0. In questu exampvale à dì, a chjave publica hè mandata in daretu cù a risposta STSAFE-A110/STSAFE-A120 à u cumandamentu Generate Keypair.
Flussu di cumanda
Per scopi di dimustrazione, l'ospiti lucali è remoti sò u listessu dispusitivu quì.
- L'ospite manda u cumandamentu Generate Keypair à u STSAFE-A110/STSAFE-A120 chì rinvia a chjave publica à u MCU di l'ospite.
- L'ospite genera una sfida (numeru aleatoriu di 48 byte) aduprendu l'API Generate Random. L'STSAFE-A110 manda u numeru aleatoriu generatu.
- L'ospite calcula u hash di u numeru generatu aduprendu a biblioteca crittografica.
- L'ospite dumanda à u STSAFE-A110/STSAFE-A120 di generà una firma di u hash calculatu aduprendu u
Genera API di firma. L'STSAFE-A110/STSAFE-A120 manda a firma generata. - L'ospite verifica a firma generata cù a chjave publica mandata da STSAFE-A110/STSAFE-A120 in u passu 1.
- U risultatu di a verificazione di a firma hè stampatu.
Glossariu
| Abbreviazione | Sensu |
| AES | Standard di crittografia avanzata |
| ANSI | Istitutu Naziunale Americanu di Standards |
| API | Interfaccia di prugrammazione di l'applicazione |
| BSP | Pacchettu di supportu di bordu |
| CA | Autorità di Certificazione |
| CC | Criterium cumuni |
| C-MAC | Codice d'autentificazione di u missaghju di cumanda |
| ECC | Criptografia a curva ellittica |
| ECDH | Curva ellittica Diffie-Hellman |
| ECDHE | Curva ellittica Diffie-Hellman - effimera |
| EWARM | Bancu di travagliu integratu IAR® per Arm® |
| HAL | Stratu di astrazione di hardware |
| I/O | Input/output |
| IAR Systems® | Leader mundiale in strumenti software è servizii per u sviluppu di sistemi embedded. |
| IDE | Ambiente di sviluppu integratu. Un'applicazione software chì furnisce facilità cumplete à i prugrammatori di computer per u sviluppu di software. |
| IoT | Internet di e cose |
| I²C | Circuitu interintegratu (IIC) |
| LL | Driver di bassu livellu |
| MAC | Codice d'autentificazione di u missaghju |
| MCU | Unità di microcontroller |
| MDK-ARM | Kit di sviluppu di microcontrollori Keil® per Arm® |
| MPU | Unità di prutezzione di memoria |
| NVM | Memoria non volatile |
| OS | Sistema upirativu |
| SE | Elementu sicuru |
| SHA | Algoritmu di Hash sicuru |
| SLA | Accordu di licenza di software |
| ST | STMicroelectronics |
| TLS | Sicurezza di u Stratu di Trasportu |
| USB | Bus seriale universale |
Storia di rivisione
| Data | Revisione | Cambiamenti |
| 23-ghjugnu-2025 | 1 | Liberazione iniziale. |
AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE
- STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.
- I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.
- Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
- A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.
- ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
- L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.
- © 2025 STMicroelectronics - Tutti i diritti riservati
Documenti / Risorse
![]() |
Pacchettu di Software ST X-CUBE-STSE01 [pdfManuale d'usu Pacchettu di Software X-CUBE-STSE01, Pacchettu di Software, Software |

